koreader icon indicating copy to clipboard operation
koreader copied to clipboard

Onyx Boox Nova Air Warmth & Backlight settings not working on 2404.03.1

Open arooni opened this issue 1 year ago • 18 comments

  • KOReader version 2404.03.1
  • Device: Boox Nova Air

Issue: Warmth and backlight settings do not seem to work

Steps to reproduce

Open backlight dialog, change brightness or warmth, neither has any effect.

crash.log (if applicable)

crash.log is a file that is automatically created when KOReader crashes. It can normally be found in the KOReader directory:

apologies for not filtering these better, I couldn't figure out how to get the kodev script running, ran ./kodev log -d android without getting it to work :(

Logcat log adjusting brightness:

``` 04-26 18:28:47.861 24380 24380 W System.err: at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:7564) 04-26 18:28:47.861 24380 24380 W System.err: at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:7501) 04-26 18:28:47.861 24380 24380 W System.err: at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:7720) 04-26 18:28:47.861 24380 24380 W System.err: at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:189) 04-26 18:28:47.861 24380 24380 W System.err: at android.view.InputEventReceiver.nativeConsumeBatchedInputEvents(Native Method) 04-26 18:28:47.861 24380 24380 W System.err: at android.view.InputEventReceiver.consumeBatchedInputEvents(InputEventReceiver.java:179) 04-26 18:28:47.861 24380 24380 W System.err: at android.view.ViewRootImpl.doConsumeBatchedInput(ViewRootImpl.java:7671) 04-26 18:28:47.861 24380 24380 W System.err: at android.view.ViewRootImpl$ConsumeBatchedInputRunnable.run(ViewRootImpl.java:7744) 04-26 18:28:47.861 24380 24380 W System.err: at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1029) 04-26 18:28:47.861 24380 24380 W System.err: at android.view.Choreographer.doCallbacks(Choreographer.java:852) 04-26 18:28:47.861 24380 24380 W System.err: at android.view.Choreographer.doFrame(Choreographer.java:780) 04-26 18:28:47.861 24380 24380 W System.err: at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1014) 04-26 18:28:47.861 24380 24380 W System.err: at android.os.Handler.handleCallback(Handler.java:883) 04-26 18:28:47.861 24380 24380 W System.err: at android.os.Handler.dispatchMessage(Handler.java:100) 04-26 18:28:47.861 24380 24380 W System.err: at android.os.Looper.loop(Looper.java:214) 04-26 18:28:47.861 24380 24380 W System.err: at android.app.ActivityThread.main(ActivityThread.java:7583) 04-26 18:28:47.861 24380 24380 W System.err: at java.lang.reflect.Method.invoke(Native Method) 04-26 18:28:47.861 24380 24380 W System.err: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492) 04-26 18:28:47.861 24380 24380 W System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:935) 04-26 18:28:47.862 24380 24380 W System.err: Caused by: android.system.ErrnoException: open failed: ENOENT (No such file or directory) 04-26 18:28:47.862 24380 24380 W System.err: at libcore.io.Linux.open(Native Method) 04-26 18:28:47.862 24380 24380 W System.err: at libcore.io.ForwardingOs.open(ForwardingOs.java:167) 04-26 18:28:47.862 24380 24380 W System.err: at libcore.io.BlockGuardOs.open(BlockGuardOs.java:252) 04-26 18:28:47.862 24380 24380 W System.err: at libcore.io.ForwardingOs.open(ForwardingOs.java:167) 04-26 18:28:47.862 24380 24380 W System.err: at android.app.ActivityThread$AndroidOs.open(ActivityThread.java:7482) 04-26 18:28:47.862 24380 24380 W System.err: at libcore.io.IoBridge.open(IoBridge.java:482) 04-26 18:28:47.862 24380 24380 W System.err: ... 65 more 04-26 18:28:47.917 24380 24380 V Lights : Setting brightness to 131 04-26 18:28:47.918 24380 24380 W System.err: java.io.FileNotFoundException: /sys/class/backlight/white/brightness: open failed: ENOENT (No such file or directory) 04-26 18:28:47.918 24380 24380 W System.err: at libcore.io.IoBridge.open(IoBridge.java:496) 04-26 18:28:47.918 24380 24380 W System.err: at java.io.FileOutputStream.(FileOutputStream.java:235) 04-26 18:28:47.918 24380 24380 W System.err: at java.io.FileOutputStream.(FileOutputStream.java:186) 04-26 18:28:47.919 24380 24380 W System.err: at androidx.core.app.AppOpsManagerCompat.writeText$default(AppOpsManagerCompat.java:5) 04-26 18:28:47.919 24380 24380 W System.err: at org.koreader.launcher.extensions.FileExtensionsKt.write(FileExtensions.kt:1) 04-26 18:28:47.919 24380 24380 W System.err: at org.koreader.launcher.device.lights.OnyxWarmthController.setBrightness(OnyxWarmthController.kt:2) 04-26 18:28:47.919 24380 24380 W System.err: at org.koreader.launcher.dialog.LightDialog$show$1$1.onProgressChanged(LightDialog.kt:1) 04-26 18:28:47.919 24380 24380 W System.err: at android.widget.SeekBar.onProgressRefresh(SeekBar.java:98) 04-26 18:28:47.919 24380 24380 W System.err: at android.widget.ProgressBar.doRefreshProgress(ProgressBar.java:1553) 04-26 18:28:47.919 24380 24380 W System.err: at android.widget.ProgressBar.refreshProgress(ProgressBar.java:1609) 04-26 18:28:47.919 24380 24380 W System.err: at android.widget.ProgressBar.setProgressInternal(ProgressBar.java:1675) 04-26 18:28:47.919 24380 24380 W System.err: at android.widget.AbsSeekBar.trackTouchEvent(AbsSeekBar.java:977) 04-26 18:28:47.919 24380 24380 W System.err: at android.widget.AbsSeekBar.onTouchEvent(AbsSeekBar.java:886) 04-26 18:28:47.919 24380 24380 W System.err: at android.view.View.dispatchTouchEvent(View.java:13469) 04-26 18:28:47.919 24380 24380 W System.err: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3083) 04-26 18:28:47.919 24380 24380 W System.err: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2775) 04-26 18:28:47.919 24380 24380 W System.err: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3083) 04-26 18:28:47.919 24380 24380 W System.err: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2775) 04-26 18:28:47.919 24380 24380 W System.err: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3083) 04-26 18:28:47.919 24380 24380 W System.err: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2775) 04-26 18:28:47.919 24380 24380 W System.err: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3083) 04-26 18:28:47.919 24380 24380 W System.err: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2775) 04-26 18:28:47.919 24380 24380 W System.err: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3083) 04-26 18:28:47.920 24380 24380 W System.err: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2775) 04-26 18:28:47.920 24380 24380 W System.err: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3083) 04-26 18:28:47.920 24380 24380 W System.err: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2775) 04-26 18:28:47.920 24380 24380 W System.err: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3083) 04-26 18:28:47.920 24380 24380 W System.err: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2775) 04-26 18:28:47.920 24380 24380 W System.err: at com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:468) 04-26 18:28:47.920 24380 24380 W System.err: at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1854) 04-26 18:28:47.920 24380 24380 W System.err: at android.app.Dialog.dispatchTouchEvent(Dialog.java:864) 04-26 18:28:47.920 24380 24380 W System.err: at com.android.internal.policy.DecorView.dispatchTouchEvent(DecorView.java:426) 04-26 18:28:47.920 24380 24380 W System.err: at android.view.View.dispatchPointerEvent(View.java:13731) 04-26 18:28:47.920 24380 24380 W System.err: at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:5540) 04-26 18:28:47.920 24380 24380 W System.err: at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:5343) 04-26 18:28:47.920 24380 24380 W System.err: at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4846) 04-26 18:28:47.920 24380 24380 W System.err: at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4899) 04-26 18:28:47.920 24380 24380 W System.err: at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4865) 04-26 18:28:47.920 24380 24380 W System.err: at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:5005) 04-26 18:28:47.920 24380 24380 W System.err: at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4873) 04-26 18:28:47.920 24380 24380 W System.err: at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:5062) 04-26 18:28:47.920 24380 24380 W System.err: at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4846) 04-26 18:28:47.920 24380 24380 W System.err: at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4899) 04-26 18:28:47.920 24380 24380 W System.err: at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4865) 04-26 18:28:47.920 24380 24380 W System.err: at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4873) 04-26 18:28:47.920 24380 24380 W System.err: at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4846) 04-26 18:28:47.920 24380 24380 W System.err: at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:7595) 04-26 18:28:47.920 24380 24380 W System.err: at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:7564) 04-26 18:28:47.920 24380 24380 W System.err: at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:7501) 04-26 18:28:47.920 24380 24380 W System.err: at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:7720) 04-26 18:28:47.920 24380 24380 W System.err: at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:189) 04-26 18:28:47.920 24380 24380 W System.err: at android.view.InputEventReceiver.nativeConsumeBatchedInputEvents(Native Method) 04-26 18:28:47.920 24380 24380 W System.err: at android.view.InputEventReceiver.consumeBatchedInputEvents(InputEventReceiver.java:179) 04-26 18:28:47.920 24380 24380 W System.err: at android.view.ViewRootImpl.doConsumeBatchedInput(ViewRootImpl.java:7671) 04-26 18:28:47.920 24380 24380 W System.err: at android.view.ViewRootImpl$ConsumeBatchedInputRunnable.run(ViewRootImpl.java:7744) 04-26 18:28:47.920 24380 24380 W System.err: at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1029) 04-26 18:28:47.920 24380 24380 W System.err: at android.view.Choreographer.doCallbacks(Choreographer.java:852) 04-26 18:28:47.920 24380 24380 W System.err: at android.view.Choreographer.doFrame(Choreographer.java:780) 04-26 18:28:47.920 24380 24380 W System.err: at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1014) 04-26 18:28:47.920 24380 24380 W System.err: at android.os.Handler.handleCallback(Handler.java:883) 04-26 18:28:47.920 24380 24380 W System.err: at android.os.Handler.dispatchMessage(Handler.java:100) 04-26 18:28:47.920 24380 24380 W System.err: at android.os.Looper.loop(Looper.java:214) 04-26 18:28:47.921 24380 24380 W System.err: at android.app.ActivityThread.main(ActivityThread.java:7583) 04-26 18:28:47.921 24380 24380 W System.err: at java.lang.reflect.Method.invoke(Native Method) 04-26 18:28:47.921 24380 24380 W System.err: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492) 04-26 18:28:47.921 24380 24380 W System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:935) 04-26 18:28:47.921 24380 24380 W System.err: Caused by: android.system.ErrnoException: open failed: ENOENT (No such file or directory) 04-26 18:28:47.921 24380 24380 W System.err: at libcore.io.Linux.open(Native Method) 04-26 18:28:47.921 24380 24380 W System.err: at libcore.io.ForwardingOs.open(ForwardingOs.java:167) 04-26 18:28:47.921 24380 24380 W System.err: at libcore.io.BlockGuardOs.open(BlockGuardOs.java:252) 04-26 18:28:47.921 24380 24380 W System.err: at libcore.io.ForwardingOs.open(ForwardingOs.java:167) 04-26 18:28:47.921 24380 24380 W System.err: at android.app.ActivityThread$AndroidOs.open(ActivityThread.java:7482) 04-26 18:28:47.921 24380 24380 W System.err: at libcore.io.IoBridge.open(IoBridge.java:482) 04-26 18:28:47.922 24380 24380 W System.err: ... 65 more 04-26 18:28:47.932 24380 24380 V Lights : Setting brightness to 132 04-26 18:28:47.932 24380 24380 W System.err: java.io.FileNotFoundException: /sys/class/backlight/white/brightness: open failed: ENOENT (No such file or directory) 04-26 18:28:47.933 24380 24380 W System.err: at libcore.io.IoBridge.open(IoBridge.java:496) 04-26 18:28:47.933 24380 24380 W System.err: at java.io.FileOutputStream.(FileOutputStream.java:235) 04-26 18:28:47.933 24380 24380 W System.err: at java.io.FileOutputStream.(FileOutputStream.java:186) 04-26 18:28:47.933 24380 24380 W System.err: at androidx.core.app.AppOpsManagerCompat.writeText$default(AppOpsManagerCompat.java:5) 04-26 18:28:47.933 24380 24380 W System.err: at org.koreader.launcher.extensions.FileExtensionsKt.write(FileExtensions.kt:1) 04-26 18:28:47.933 24380 24380 W System.err: at org.koreader.launcher.device.lights.OnyxWarmthController.setBrightness(OnyxWarmthController.kt:2) 04-26 18:28:47.933 24380 24380 W System.err: at org.koreader.launcher.dialog.LightDialog$show$1$1.onProgressChanged(LightDialog.kt:1) 04-26 18:28:47.933 24380 24380 W System.err: at android.widget.SeekBar.onProgressRefresh(SeekBar.java:98) 04-26 18:28:47.933 24380 24380 W System.err: at android.widget.ProgressBar.doRefreshProgress(ProgressBar.java:1553) 04-26 18:28:47.933 24380 24380 W System.err: at android.widget.ProgressBar.refreshProgress(ProgressBar.java:1609) 04-26 18:28:47.933 24380 24380 W System.err: at android.widget.ProgressBar.setProgressInternal(ProgressBar.java:1675) 04-26 18:28:47.933 24380 24380 W System.err: at android.widget.AbsSeekBar.trackTouchEvent(AbsSeekBar.java:977) 04-26 18:28:47.933 24380 24380 W System.err: at android.widget.AbsSeekBar.onTouchEvent(AbsSeekBar.java:886) 04-26 18:28:47.933 24380 24380 W System.err: at android.view.View.dispatchTouchEvent(View.java:13469) 04-26 18:28:47.933 24380 24380 W System.err: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3083) 04-26 18:28:47.933 24380 24380 W System.err: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2775) 04-26 18:28:47.933 24380 24380 W System.err: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3083) 04-26 18:28:47.933 24380 24380 W System.err: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2775) 04-26 18:28:47.933 24380 24380 W System.err: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3083) 04-26 18:28:47.933 24380 24380 W System.err: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2775) 04-26 18:28:47.933 24380 24380 W System.err: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3083) 04-26 18:28:47.933 24380 24380 W System.err: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2775) 04-26 18:28:47.933 24380 24380 W System.err: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3083) 04-26 18:28:47.933 24380 24380 W System.err: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2775) 04-26 18:28:47.933 24380 24380 W System.err: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3083) 04-26 18:28:47.933 24380 24380 W System.err: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2775) 04-26 18:28:47.933 24380 24380 W System.err: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3083) 04-26 18:28:47.933 24380 24380 W System.err: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2775) 04-26 18:28:47.933 24380 24380 W System.err: at com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:468) 04-26 18:28:47.933 24380 24380 W System.err: at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1854) 04-26 18:28:47.933 24380 24380 W System.err: at android.app.Dialog.dispatchTouchEvent(Dialog.java:864) 04-26 18:28:47.934 24380 24380 W System.err: at com.android.internal.policy.DecorView.dispatchTouchEvent(DecorView.java:426) 04-26 18:28:47.934 24380 24380 W System.err: at android.view.View.dispatchPointerEvent(View.java:13731) 04-26 18:28:47.934 24380 24380 W System.err: at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:5540) 04-26 18:28:47.934 24380 24380 W System.err: at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:5343) 04-26 18:28:47.934 24380 24380 W System.err: at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4846) 04-26 18:28:47.934 24380 24380 W System.err: at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4899) 04-26 18:28:47.934 24380 24380 W System.err: at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4865) 04-26 18:28:47.934 24380 24380 W System.err: at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:5005) 04-26 18:28:47.934 24380 24380 W System.err: at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4873) 04-26 18:28:47.934 24380 24380 W System.err: at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:5062) 04-26 18:28:47.934 24380 24380 W System.err: at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4846) 04-26 18:28:47.934 24380 24380 W System.err: at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4899) 04-26 18:28:47.934 24380 24380 W System.err: at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4865) 04-26 18:28:47.934 24380 24380 W System.err: at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4873) 04-26 18:28:47.934 24380 24380 W System.err: at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4846) 04-26 18:28:47.934 24380 24380 W System.err: at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:7595) 04-26 18:28:47.934 24380 24380 W System.err: at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:7564) 04-26 18:28:47.934 24380 24380 W System.err: at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:7501) 04-26 18:28:47.934 24380 24380 W System.err: at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:7720) 04-26 18:28:47.934 24380 24380 W System.err: at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:189) 04-26 18:28:47.934 24380 24380 W System.err: at android.view.InputEventReceiver.nativeConsumeBatchedInputEvents(Native Method) 04-26 18:28:47.934 24380 24380 W System.err: at android.view.InputEventReceiver.consumeBatchedInputEvents(InputEventReceiver.java:179) 04-26 18:28:47.934 24380 24380 W System.err: at android.view.ViewRootImpl.doConsumeBatchedInput(ViewRootImpl.java:7671) 04-26 18:28:47.934 24380 24380 W System.err: at android.view.ViewRootImpl$ConsumeBatchedInputRunnable.run(ViewRootImpl.java:7744) 04-26 18:28:47.934 24380 24380 W System.err: at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1029) 04-26 18:28:47.934 24380 24380 W System.err: at android.view.Choreographer.doCallbacks(Choreographer.java:852) 04-26 18:28:47.934 24380 24380 W System.err: at android.view.Choreographer.doFrame(Choreographer.java:780) 04-26 18:28:47.934 24380 24380 W System.err: at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1014) 04-26 18:28:47.934 24380 24380 W System.err: at android.os.Handler.handleCallback(Handler.java:883) 04-26 18:28:47.934 24380 24380 W System.err: at android.os.Handler.dispatchMessage(Handler.java:100) 04-26 18:28:47.934 24380 24380 W System.err: at android.os.Looper.loop(Looper.java:214) 04-26 18:28:47.934 24380 24380 W System.err: at android.app.ActivityThread.main(ActivityThread.java:7583) 04-26 18:28:47.934 24380 24380 W System.err: at java.lang.reflect.Method.invoke(Native Method) 04-26 18:28:47.934 24380 24380 W System.err: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492) 04-26 18:28:47.934 24380 24380 W System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:935) 04-26 18:28:47.934 695 695 I SDM : update_to_display[0/1] -- marker[113032] waveform_mode = 255, update_mode = 0, Rect[0 0 1872 1404], flags = 0 04-26 18:28:47.935 24380 24380 W System.err: Caused by: android.system.ErrnoException: open failed: ENOENT (No such file or directory) 04-26 18:28:47.935 24380 24380 W System.err: at libcore.io.Linux.open(Native Method) 04-26 18:28:47.935 24380 24380 W System.err: at libcore.io.ForwardingOs.open(ForwardingOs.java:167) 04-26 18:28:47.935 24380 24380 W System.err: at libcore.io.BlockGuardOs.open(BlockGuardOs.java:252) 04-26 18:28:47.935 24380 24380 W System.err: at libcore.io.ForwardingOs.open(ForwardingOs.java:167) 04-26 18:28:47.935 24380 24380 W System.err: at android.app.ActivityThread$AndroidOs.open(ActivityThread.java:7482) 04-26 18:28:47.935 24380 24380 W System.err: at libcore.io.IoBridge.open(IoBridge.java:482) 04-26 18:28:47.935 24380 24380 W System.err: ... 65 more 04-26 18:28:48.018 695 695 I SDM : update_to_display[0/1] -- marker[113033] waveform_mode = 255, update_mode = 0, Rect[0 0 1872 1404], flags = 0 04-26 18:28:48.223 24380 24380 V Lights : Setting brightness to 131 04-26 18:28:48.225 24380 24380 W System.err: java.io.FileNotFoundException: /sys/class/backlight/white/brightness: open failed: ENOENT (No such file or directory) 04-26 18:28:48.226 24380 24380 W System.err: at libcore.io.IoBridge.open(IoBridge.java:496) 04-26 18:28:48.227 24380 24380 W System.err: at java.io.FileOutputStream.(FileOutputStream.java:235) 04-26 18:28:48.227 24380 24380 W System.err: at java.io.FileOutputStream.(FileOutputStream.java:186) 04-26 18:28:48.227 24380 24380 W System.err: at androidx.core.app.AppOpsManagerCompat.writeText$default(AppOpsManagerCompat.java:5) 04-26 18:28:48.227 24380 24380 W System.err: at org.koreader.launcher.extensions.FileExtensionsKt.write(FileExtensions.kt:1) 04-26 18:28:48.227 24380 24380 W System.err: at org.koreader.launcher.device.lights.OnyxWarmthController.setBrightness(OnyxWarmthController.kt:2) 04-26 18:28:48.227 24380 24380 W System.err: at org.koreader.launcher.dialog.LightDialog$show$1$1.onProgressChanged(LightDialog.kt:1) 04-26 18:28:48.227 24380 24380 W System.err: at android.widget.SeekBar.onProgressRefresh(SeekBar.java:98) 04-26 18:28:48.227 24380 24380 W System.err: at android.widget.ProgressBar.doRefreshProgress(ProgressBar.java:1553) 04-26 18:28:48.227 24380 24380 W System.err: at android.widget.ProgressBar.refreshProgress(ProgressBar.java:1609) 04-26 18:28:48.227 24380 24380 W System.err: at android.widget.ProgressBar.setProgressInternal(ProgressBar.java:1675) 04-26 18:28:48.227 24380 24380 W System.err: at android.widget.AbsSeekBar.trackTouchEvent(AbsSeekBar.java:977) 04-26 18:28:48.227 24380 24380 W System.err: at android.widget.AbsSeekBar.onTouchEvent(AbsSeekBar.java:886) 04-26 18:28:48.227 24380 24380 W System.err: at android.view.View.dispatchTouchEvent(View.java:13469) 04-26 18:28:48.227 24380 24380 W System.err: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3083) 04-26 18:28:48.227 24380 24380 W System.err: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2775) 04-26 18:28:48.227 24380 24380 W System.err: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3083) 04-26 18:28:48.227 24380 24380 W System.err: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2775) 04-26 18:28:48.227 24380 24380 W System.err: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3083) 04-26 18:28:48.227 24380 24380 W System.err: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2775) 04-26 18:28:48.227 24380 24380 W System.err: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3083) 04-26 18:28:48.228 24380 24380 W System.err: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2775) 04-26 18:28:48.228 24380 24380 W System.err: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3083) 04-26 18:28:48.228 24380 24380 W System.err: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2775) 04-26 18:28:48.228 24380 24380 W System.err: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3083) 04-26 18:28:48.228 24380 24380 W System.err: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2775) 04-26 18:28:48.228 24380 24380 W System.err: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3083) 04-26 18:28:48.228 24380 24380 W System.err: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2775) 04-26 18:28:48.228 24380 24380 W System.err: at com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:468) 04-26 18:28:48.228 24380 24380 W System.err: at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1854) 04-26 18:28:48.228 24380 24380 W System.err: at android.app.Dialog.dispatchTouchEvent(Dialog.java:864) 04-26 18:28:48.228 24380 24380 W System.err: at com.android.internal.policy.DecorView.dispatchTouchEvent(DecorView.java:426) 04-26 18:28:48.228 24380 24380 W System.err: at android.view.View.dispatchPointerEvent(View.java:13731) 04-26 18:28:48.228 24380 24380 W System.err: at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:5540) 04-26 18:28:48.228 24380 24380 W System.err: at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:5343) 04-26 18:28:48.229 24380 24380 W System.err: at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4846) 04-26 18:28:48.229 24380 24380 W System.err: at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4899) 04-26 18:28:48.229 24380 24380 W System.err: at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4865) 04-26 18:28:48.229 24380 24380 W System.err: at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:5005) 04-26 18:28:48.229 24380 24380 W System.err: at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4873) 04-26 18:28:48.229 24380 24380 W System.err: at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:5062) 04-26 18:28:48.229 24380 24380 W System.err: at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4846) 04-26 18:28:48.229 24380 24380 W System.err: at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4899) 04-26 18:28:48.229 24380 24380 W System.err: at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4865) 04-26 18:28:48.229 24380 24380 W System.err: at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4873) 04-26 18:28:48.229 24380 24380 W System.err: at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4846) 04-26 18:28:48.229 24380 24380 W System.err: at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:7595) 04-26 18:28:48.229 24380 24380 W System.err: at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:7564) 04-26 18:28:48.229 24380 24380 W System.err: at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:7501) 04-26 18:28:48.229 24380 24380 W System.err: at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:7720) 04-26 18:28:48.229 24380 24380 W System.err: at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:189) 04-26 18:28:48.229 24380 24380 W System.err: at android.view.InputEventReceiver.nativeConsumeBatchedInputEvents(Native Method) 04-26 18:28:48.229 24380 24380 W System.err: at android.view.InputEventReceiver.consumeBatchedInputEvents(InputEventReceiver.java:179) 04-26 18:28:48.231 24380 24380 W System.err: at android.view.ViewRootImpl.doConsumeBatchedInput(ViewRootImpl.java:7671) 04-26 18:28:48.231 24380 24380 W System.err: at android.view.ViewRootImpl$ConsumeBatchedInputRunnable.run(ViewRootImpl.java:7744) 04-26 18:28:48.231 24380 24380 W System.err: at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1029) 04-26 18:28:48.231 24380 24380 W System.err: at android.view.Choreographer.doCallbacks(Choreographer.java:852) 04-26 18:28:48.231 24380 24380 W System.err: at android.view.Choreographer.doFrame(Choreographer.java:780) 04-26 18:28:48.231 24380 24380 W System.err: at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1014) 04-26 18:28:48.231 24380 24380 W System.err: at android.os.Handler.handleCallback(Handler.java:883) 04-26 18:28:48.231 24380 24380 W System.err: at android.os.Handler.dispatchMessage(Handler.java:100) 04-26 18:28:48.231 24380 24380 W System.err: at android.os.Looper.loop(Looper.java:214) 04-26 18:28:48.231 24380 24380 W System.err: at android.app.ActivityThread.main(ActivityThread.java:7583) 04-26 18:28:48.231 24380 24380 W System.err: at java.lang.reflect.Method.invoke(Native Method) 04-26 18:28:48.232 24380 24380 W System.err: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492) 04-26 18:28:48.232 24380 24380 W System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:935) 04-26 18:28:48.232 24380 24380 W System.err: Caused by: android.system.ErrnoException: open failed: ENOENT (No such file or directory) 04-26 18:28:48.232 24380 24380 W System.err: at libcore.io.Linux.open(Native Method) 04-26 18:28:48.232 24380 24380 W System.err: at libcore.io.ForwardingOs.open(ForwardingOs.java:167) 04-26 18:28:48.232 24380 24380 W System.err: at libcore.io.BlockGuardOs.open(BlockGuardOs.java:252) 04-26 18:28:48.232 24380 24380 W System.err: at libcore.io.ForwardingOs.open(ForwardingOs.java:167) 04-26 18:28:48.232 24380 24380 W System.err: at android.app.ActivityThread$AndroidOs.open(ActivityThread.java:7482) 04-26 18:28:48.233 24380 24380 W System.err: at libcore.io.IoBridge.open(IoBridge.java:482) 04-26 18:28:48.233 24380 24380 W System.err: ... 65 more 04-26 18:28:48.316 695 695 I SDM : update_to_display[0/1] -- marker[113034] waveform_mode = 255, update_mode = 0, Rect[0 0 1872 1404], flags = 0 04-26 18:28:48.733 695 695 I SDM : update_to_display[0/1] -- marker[113035] waveform_mode = 255, update_mode = 0, Rect[0 0 1872 1404], flags = 0 ^C⏎
</details>

* `/mnt/private/koreader` for Cervantes
* `koreader/` directory for Kindle
* `.adds/koreader/` directory for Kobo
* `applications/koreader/` directory for Pocketbook

Android logs are kept in memory. Please go to [Menu] → Help → Bug Report to save these logs to a file.

Please try to include the relevant sections in your issue description.
You can upload the whole `crash.log` file (zipped if necessary) on GitHub by dragging and dropping it onto this textbox.

If your issue doesn't directly concern a Lua crash, we'll quite likely need you to reproduce the issue with *verbose* debug logging enabled before providing the logs to us.
To do so, from the file manager, go to [Tools] → More tools → Developer options, and tick both `Enable debug logging` and `Enable verbose debug logging`.
You'll need to restart KOReader after toggling these on.

If you instead opt to inline it, please do so behind a spoiler tag:
<details>
  <summary>crash.log</summary>

```

and trying to set warmth:

``` 04-26 18:33:15.047 24380 24380 V Lights : Setting warmth to 135 04-26 18:33:15.048 24380 24380 W System.err: java.io.FileNotFoundException: /sys/class/backlight/warm/brightness: open failed: ENOENT (No such file or directory) 04-26 18:33:15.048 24380 24380 W System.err: at libcore.io.IoBridge.open(IoBridge.java:496) 04-26 18:33:15.048 24380 24380 W System.err: at java.io.FileOutputStream.(FileOutputStream.java:235) 04-26 18:33:15.048 24380 24380 W System.err: at java.io.FileOutputStream.(FileOutputStream.java:186) 04-26 18:33:15.048 24380 24380 W System.err: at androidx.core.app.AppOpsManagerCompat.writeText$default(AppOpsManagerCompat.java:5) 04-26 18:33:15.048 24380 24380 W System.err: at org.koreader.launcher.extensions.FileExtensionsKt.write(FileExtensions.kt:1) 04-26 18:33:15.048 24380 24380 W System.err: at org.koreader.launcher.device.lights.OnyxWarmthController.setWarmth(OnyxWarmthController.kt:2) 04-26 18:33:15.048 24380 24380 W System.err: at org.koreader.launcher.dialog.LightDialog$show$1$2.onProgressChanged(LightDialog.kt:1) 04-26 18:33:15.048 24380 24380 W System.err: at android.widget.SeekBar.onProgressRefresh(SeekBar.java:98) 04-26 18:33:15.049 24380 24380 W System.err: at android.widget.ProgressBar.doRefreshProgress(ProgressBar.java:1553) 04-26 18:33:15.049 24380 24380 W System.err: at android.widget.ProgressBar.refreshProgress(ProgressBar.java:1609) 04-26 18:33:15.049 24380 24380 W System.err: at android.widget.ProgressBar.setProgressInternal(ProgressBar.java:1675) 04-26 18:33:15.049 24380 24380 W System.err: at android.widget.AbsSeekBar.trackTouchEvent(AbsSeekBar.java:977) 04-26 18:33:15.049 24380 24380 W System.err: at android.widget.AbsSeekBar.onTouchEvent(AbsSeekBar.java:886) 04-26 18:33:15.049 24380 24380 W System.err: at android.view.View.dispatchTouchEvent(View.java:13469) 04-26 18:33:15.049 24380 24380 W System.err: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3083) 04-26 18:33:15.049 24380 24380 W System.err: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2775) 04-26 18:33:15.049 24380 24380 W System.err: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3083) 04-26 18:33:15.049 24380 24380 W System.err: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2775) 04-26 18:33:15.049 24380 24380 W System.err: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3083) 04-26 18:33:15.049 24380 24380 W System.err: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2775) 04-26 18:33:15.049 24380 24380 W System.err: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3083) 04-26 18:33:15.049 24380 24380 W System.err: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2775) 04-26 18:33:15.049 24380 24380 W System.err: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3083) 04-26 18:33:15.049 24380 24380 W System.err: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2775) 04-26 18:33:15.049 24380 24380 W System.err: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3083) 04-26 18:33:15.049 24380 24380 W System.err: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2775) 04-26 18:33:15.049 24380 24380 W System.err: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3083) 04-26 18:33:15.049 24380 24380 W System.err: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2775) 04-26 18:33:15.049 24380 24380 W System.err: at com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:468) 04-26 18:33:15.049 24380 24380 W System.err: at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1854) 04-26 18:33:15.049 24380 24380 W System.err: at android.app.Dialog.dispatchTouchEvent(Dialog.java:864) 04-26 18:33:15.049 24380 24380 W System.err: at com.android.internal.policy.DecorView.dispatchTouchEvent(DecorView.java:426) 04-26 18:33:15.049 24380 24380 W System.err: at android.view.View.dispatchPointerEvent(View.java:13731) 04-26 18:33:15.049 24380 24380 W System.err: at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:5540) 04-26 18:33:15.049 24380 24380 W System.err: at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:5343) 04-26 18:33:15.049 24380 24380 W System.err: at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4846) 04-26 18:33:15.049 24380 24380 W System.err: at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4899) 04-26 18:33:15.049 24380 24380 W System.err: at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4865) 04-26 18:33:15.049 24380 24380 W System.err: at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:5005) 04-26 18:33:15.049 24380 24380 W System.err: at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4873) 04-26 18:33:15.049 24380 24380 W System.err: at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:5062) 04-26 18:33:15.049 24380 24380 W System.err: at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4846) 04-26 18:33:15.049 24380 24380 W System.err: at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4899) 04-26 18:33:15.049 24380 24380 W System.err: at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4865) 04-26 18:33:15.049 24380 24380 W System.err: at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4873) 04-26 18:33:15.049 24380 24380 W System.err: at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4846) 04-26 18:33:15.049 24380 24380 W System.err: at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:7595) 04-26 18:33:15.049 24380 24380 W System.err: at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:7564) 04-26 18:33:15.049 24380 24380 W System.err: at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:7501) 04-26 18:33:15.049 24380 24380 W System.err: at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:7720) 04-26 18:33:15.049 24380 24380 W System.err: at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:189) 04-26 18:33:15.049 24380 24380 W System.err: at android.view.InputEventReceiver.nativeConsumeBatchedInputEvents(Native Method) 04-26 18:33:15.049 24380 24380 W System.err: at android.view.InputEventReceiver.consumeBatchedInputEvents(InputEventReceiver.java:179) 04-26 18:33:15.050 24380 24380 W System.err: at android.view.ViewRootImpl.doConsumeBatchedInput(ViewRootImpl.java:7671) 04-26 18:33:15.050 24380 24380 W System.err: at android.view.ViewRootImpl$ConsumeBatchedInputRunnable.run(ViewRootImpl.java:7744) 04-26 18:33:15.050 24380 24380 W System.err: at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1029) 04-26 18:33:15.050 24380 24380 W System.err: at android.view.Choreographer.doCallbacks(Choreographer.java:852) 04-26 18:33:15.050 24380 24380 W System.err: at android.view.Choreographer.doFrame(Choreographer.java:780) 04-26 18:33:15.050 24380 24380 W System.err: at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1014) 04-26 18:33:15.050 24380 24380 W System.err: at android.os.Handler.handleCallback(Handler.java:883) 04-26 18:33:15.050 24380 24380 W System.err: at android.os.Handler.dispatchMessage(Handler.java:100) 04-26 18:33:15.050 24380 24380 W System.err: at android.os.Looper.loop(Looper.java:214) 04-26 18:33:15.050 24380 24380 W System.err: at android.app.ActivityThread.main(ActivityThread.java:7583) 04-26 18:33:15.050 24380 24380 W System.err: at java.lang.reflect.Method.invoke(Native Method) 04-26 18:33:15.050 24380 24380 W System.err: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492) 04-26 18:33:15.050 24380 24380 W System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:935) 04-26 18:33:15.050 24380 24380 W System.err: Caused by: android.system.ErrnoException: open failed: ENOENT (No such file or directory) 04-26 18:33:15.050 24380 24380 W System.err: at libcore.io.Linux.open(Native Method) 04-26 18:33:15.050 24380 24380 W System.err: at libcore.io.ForwardingOs.open(ForwardingOs.java:167) 04-26 18:33:15.050 24380 24380 W System.err: at libcore.io.BlockGuardOs.open(BlockGuardOs.java:252) 04-26 18:33:15.050 24380 24380 W System.err: at libcore.io.ForwardingOs.open(ForwardingOs.java:167) 04-26 18:33:15.050 24380 24380 W System.err: at android.app.ActivityThread$AndroidOs.open(ActivityThread.java:7482) 04-26 18:33:15.050 24380 24380 W System.err: at libcore.io.IoBridge.open(IoBridge.java:482) 04-26 18:33:15.050 24380 24380 W System.err: ... 65 more 04-26 18:33:15.075 24380 24380 V Lights : Setting warmth to 133 04-26 18:33:15.076 24380 24380 W System.err: java.io.FileNotFoundException: /sys/class/backlight/warm/brightness: open failed: ENOENT (No such file or directory) 04-26 18:33:15.077 24380 24380 W System.err: at libcore.io.IoBridge.open(IoBridge.java:496) 04-26 18:33:15.077 24380 24380 W System.err: at java.io.FileOutputStream.(FileOutputStream.java:235) 04-26 18:33:15.077 24380 24380 W System.err: at java.io.FileOutputStream.(FileOutputStream.java:186) 04-26 18:33:15.077 24380 24380 W System.err: at androidx.core.app.AppOpsManagerCompat.writeText$default(AppOpsManagerCompat.java:5) 04-26 18:33:15.077 24380 24380 W System.err: at org.koreader.launcher.extensions.FileExtensionsKt.write(FileExtensions.kt:1) 04-26 18:33:15.077 24380 24380 W System.err: at org.koreader.launcher.device.lights.OnyxWarmthController.setWarmth(OnyxWarmthController.kt:2) 04-26 18:33:15.077 24380 24380 W System.err: at org.koreader.launcher.dialog.LightDialog$show$1$2.onProgressChanged(LightDialog.kt:1) 04-26 18:33:15.077 24380 24380 W System.err: at android.widget.SeekBar.onProgressRefresh(SeekBar.java:98) 04-26 18:33:15.077 24380 24380 W System.err: at android.widget.ProgressBar.doRefreshProgress(ProgressBar.java:1553) 04-26 18:33:15.077 24380 24380 W System.err: at android.widget.ProgressBar.refreshProgress(ProgressBar.java:1609) 04-26 18:33:15.077 24380 24380 W System.err: at android.widget.ProgressBar.setProgressInternal(ProgressBar.java:1675) 04-26 18:33:15.077 24380 24380 W System.err: at android.widget.AbsSeekBar.trackTouchEvent(AbsSeekBar.java:977) 04-26 18:33:15.077 24380 24380 W System.err: at android.widget.AbsSeekBar.onTouchEvent(AbsSeekBar.java:886) 04-26 18:33:15.077 24380 24380 W System.err: at android.view.View.dispatchTouchEvent(View.java:13469) 04-26 18:33:15.077 24380 24380 W System.err: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3083) 04-26 18:33:15.077 24380 24380 W System.err: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2775) 04-26 18:33:15.077 24380 24380 W System.err: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3083) 04-26 18:33:15.077 24380 24380 W System.err: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2775) 04-26 18:33:15.077 24380 24380 W System.err: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3083) 04-26 18:33:15.077 24380 24380 W System.err: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2775) 04-26 18:33:15.077 24380 24380 W System.err: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3083) 04-26 18:33:15.077 24380 24380 W System.err: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2775) 04-26 18:33:15.077 24380 24380 W System.err: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3083) 04-26 18:33:15.077 24380 24380 W System.err: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2775) 04-26 18:33:15.077 24380 24380 W System.err: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3083) 04-26 18:33:15.077 24380 24380 W System.err: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2775) 04-26 18:33:15.077 24380 24380 W System.err: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3083) 04-26 18:33:15.077 24380 24380 W System.err: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2775) 04-26 18:33:15.077 24380 24380 W System.err: at com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:468) 04-26 18:33:15.077 24380 24380 W System.err: at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1854) 04-26 18:33:15.077 24380 24380 W System.err: at android.app.Dialog.dispatchTouchEvent(Dialog.java:864) 04-26 18:33:15.077 24380 24380 W System.err: at com.android.internal.policy.DecorView.dispatchTouchEvent(DecorView.java:426) 04-26 18:33:15.077 24380 24380 W System.err: at android.view.View.dispatchPointerEvent(View.java:13731) 04-26 18:33:15.077 24380 24380 W System.err: at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:5540) 04-26 18:33:15.077 24380 24380 W System.err: at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:5343) 04-26 18:33:15.077 24380 24380 W System.err: at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4846) 04-26 18:33:15.077 24380 24380 W System.err: at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4899) 04-26 18:33:15.077 24380 24380 W System.err: at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4865) 04-26 18:33:15.077 24380 24380 W System.err: at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:5005) 04-26 18:33:15.077 24380 24380 W System.err: at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4873) 04-26 18:33:15.077 24380 24380 W System.err: at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:5062) 04-26 18:33:15.077 24380 24380 W System.err: at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4846) 04-26 18:33:15.078 24380 24380 W System.err: at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4899) 04-26 18:33:15.078 24380 24380 W System.err: at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4865) 04-26 18:33:15.078 24380 24380 W System.err: at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4873) 04-26 18:33:15.078 24380 24380 W System.err: at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4846) 04-26 18:33:15.078 24380 24380 W System.err: at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:7595) 04-26 18:33:15.078 24380 24380 W System.err: at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:7564) 04-26 18:33:15.078 24380 24380 W System.err: at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:7501) 04-26 18:33:15.078 24380 24380 W System.err: at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:7720) 04-26 18:33:15.078 24380 24380 W System.err: at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:189) 04-26 18:33:15.078 24380 24380 W System.err: at android.view.InputEventReceiver.nativeConsumeBatchedInputEvents(Native Method) 04-26 18:33:15.078 24380 24380 W System.err: at android.view.InputEventReceiver.consumeBatchedInputEvents(InputEventReceiver.java:179) 04-26 18:33:15.078 24380 24380 W System.err: at android.view.ViewRootImpl.doConsumeBatchedInput(ViewRootImpl.java:7671) 04-26 18:33:15.078 24380 24380 W System.err: at android.view.ViewRootImpl$ConsumeBatchedInputRunnable.run(ViewRootImpl.java:7744) 04-26 18:33:15.078 24380 24380 W System.err: at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1029) 04-26 18:33:15.078 24380 24380 W System.err: at android.view.Choreographer.doCallbacks(Choreographer.java:852) 04-26 18:33:15.078 24380 24380 W System.err: at android.view.Choreographer.doFrame(Choreographer.java:780) 04-26 18:33:15.078 24380 24380 W System.err: at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1014) 04-26 18:33:15.078 24380 24380 W System.err: at android.os.Handler.handleCallback(Handler.java:883) 04-26 18:33:15.078 24380 24380 W System.err: at android.os.Handler.dispatchMessage(Handler.java:100) 04-26 18:33:15.078 24380 24380 W System.err: at android.os.Looper.loop(Looper.java:214) 04-26 18:33:15.078 24380 24380 W System.err: at android.app.ActivityThread.main(ActivityThread.java:7583) 04-26 18:33:15.078 24380 24380 W System.err: at java.lang.reflect.Method.invoke(Native Method) 04-26 18:33:15.078 24380 24380 W System.err: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492) 04-26 18:33:15.078 24380 24380 W System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:935) 04-26 18:33:15.078 24380 24380 W System.err: Caused by: android.system.ErrnoException: open failed: ENOENT (No such file or directory) 04-26 18:33:15.078 24380 24380 W System.err: at libcore.io.Linux.open(Native Method) 04-26 18:33:15.078 24380 24380 W System.err: at libcore.io.ForwardingOs.open(ForwardingOs.java:167) 04-26 18:33:15.078 24380 24380 W System.err: at libcore.io.BlockGuardOs.open(BlockGuardOs.java:252) 04-26 18:33:15.079 24380 24380 W System.err: at libcore.io.ForwardingOs.open(ForwardingOs.java:167) 04-26 18:33:15.079 24380 24380 W System.err: at android.app.ActivityThread$AndroidOs.open(ActivityThread.java:7482) 04-26 18:33:15.079 24380 24380 W System.err: at libcore.io.IoBridge.open(IoBridge.java:482) 04-26 18:33:15.079 24380 24380 W System.err: ... 65 more
</details

arooni avatar Apr 26 '24 23:04 arooni

Well,

It seems there's no permission on the file anymore: java.io.FileNotFoundException: /sys/class/backlight/warm/brightness: open failed: ENOENT (No such file or directory).

I made some changes some time ago that I asked the OP to improve/test.

https://github.com/koreader/android-luajit-launcher/pull/471#issuecomment-1975328826

I built your device on top of that, who knows, you might have some luck. Also assuming this is OK: https://github.com/koreader/koreader/wiki/Android-tips-and-tricks#onyx-devices

APK: https://we.tl/t-xzeUZlqLuV

hugleo avatar Apr 27 '24 11:04 hugleo

Thank you for the build @hugleo and your help in the past and now!

I tried your build today, and the app crashed on startup. Log is below. Happy to help test any other releases you might have for me.

--------- beginning of main
04-27 19:08:59.770 I/.launcher.debu( 4070): Late-enabling -Xcheck:jni
04-27 19:08:59.796 E/.launcher.debu( 4070): Unknown bits set in runtime_flags: 0x8000
04-27 19:08:59.889 I/EInkHelper( 4070): initImpl takes: 58 ms!
04-27 19:08:59.927 I/Perf    ( 4070): Connecting to perf service.
04-27 19:08:59.944 I/MultiDex( 4070): VM with version 2.1.0 has multidex support
04-27 19:08:59.944 I/MultiDex( 4070): Installing application
04-27 19:08:59.944 I/MultiDex( 4070): VM has multidex support, MultiDex support library is disabled.
04-27 19:09:00.068 I/MainActivity( 4070): loading libluajit
04-27 19:09:00.100 I/SystemUIConfig( 4070): the context is null, init mAppContext from ActivityThread::org.koreader.launcher.MainApp@c650a20
04-27 19:09:00.101 E/.launcher.debu( 4070): Invalid ID 0x00000000.
04-27 19:09:00.103 I/ConfigLoader( 4070): load json config by : systemui
04-27 19:09:00.136 D/NativeGlue( 4070): Creating: 0x75019ee340
04-27 19:09:00.138 V/NativeGlue( 4070): User FIFO already exists at `/data/user/0/org.koreader.launcher.debug/files/alooper.fifo`
04-27 19:09:00.139 D/NativeThread( 4070): Starting
04-27 19:09:00.139 V/NativeThread( 4070): waiting for activity
04-27 19:09:00.139 I/Assets  ( 4070): loading lib7z
04-27 19:09:00.147 I/EPD     ( 4070): Using Onyx/Qualcomm driver
04-27 19:09:00.147 I/Lights  ( 4070): Using Onyx Adb driver
04-27 19:09:00.152 V/Surface ( 4070): Using SurfaceView implementation
04-27 19:09:00.153 V/MainActivity( 4070): native orientation: portrait
04-27 19:09:00.154 V/EventReceiver( 4070): Filtering 3 events: 
04-27 19:09:00.154 V/EventReceiver( 4070): android.intent.action.ACTION_POWER_CONNECTED
04-27 19:09:00.154 V/EventReceiver( 4070): android.intent.action.ACTION_POWER_DISCONNECTED
04-27 19:09:00.154 V/EventReceiver( 4070): android.intent.action.DOWNLOAD_COMPLETE
04-27 19:09:00.160 V/NativeGlue( 4070): Start: 0x75019ee340
04-27 19:09:00.161 D/NativeGlue( 4070): activityState=10
04-27 19:09:00.163 V/NativeGlue( 4070): Resume: 0x75019ee340
04-27 19:09:00.164 D/NativeGlue( 4070): activityState=11
04-27 19:09:00.164 D/NativeGlue( 4070): Post APP_CMD_RESUME
04-27 19:09:00.166 V/Timeout ( 4070): onResume: updating system timeout: 30
04-27 19:09:00.166 V/Timeout ( 4070): onResume
04-27 19:09:00.182 V/NativeGlue( 4070): InputQueueCreated: 0x75019ee340 -- 0x75019eefc0
04-27 19:09:00.182 D/NativeGlue( 4070):  APP_CMD_INPUT_CHANGED
04-27 19:09:00.183 D/NativeGlue( 4070): Attaching input queue to looper
04-27 19:09:00.192 D/Surface ( 4070): onAttachedToWindow()
04-27 19:09:00.221 I/AdrenoGLES( 4070): QUALCOMM build                   : b7efb54, I285e059637
04-27 19:09:00.221 I/AdrenoGLES( 4070): Build Date                       : 10/31/19
04-27 19:09:00.221 I/AdrenoGLES( 4070): OpenGL ES Shader Compiler Version: EV031.27.05.02
04-27 19:09:00.221 I/AdrenoGLES( 4070): Local Branch                     : 
04-27 19:09:00.221 I/AdrenoGLES( 4070): Remote Branch                    : 
04-27 19:09:00.221 I/AdrenoGLES( 4070): Remote Branch                    : 
04-27 19:09:00.221 I/AdrenoGLES( 4070): Reconstruct Branch               : 
04-27 19:09:00.221 I/AdrenoGLES( 4070): Build Config                     : S L 8.0.12 AArch64
04-27 19:09:00.230 I/AdrenoGLES( 4070): PFP: 0x005ff112, ME: 0x005ff066
04-27 19:09:00.233 W/AdrenoUtils( 4070): <ReadGpuID_from_sysfs:194>: Failed to open /sys/class/kgsl/kgsl-3d0/gpu_model
04-27 19:09:00.233 W/AdrenoUtils( 4070): <ReadGpuID:218>: Failed to read chip ID from gpu_model. Fallback to use the GSL path
04-27 19:09:00.223 W/RenderThread( 4070): type=1400 audit(0.0:283): avc: denied { search } for name="kgsl-3d0" dev="sysfs" ino=28972 scontext=u:r:untrusted_app:s0:c161,c256,c512,c768 tcontext=u:object_r:sysfs_kgsl:s0 tclass=dir permissive=0
04-27 19:09:00.269 V/NativeGlue( 4070): NativeWindowCreated: 0x75019ee340 -- 0x7512b41010
04-27 19:09:00.270 D/NativeGlue( 4070): APP_CMD_INIT_WINDOW
04-27 19:09:00.270 V/NativeThread( 4070): Activity window ready.
04-27 19:09:00.280 W/Gralloc3( 4070): mapper 3.x is not supported
04-27 19:09:00.298 V/Surface ( 4070): surface changed {
04-27 19:09:00.298 V/Surface ( 4070):   width:  1404
04-27 19:09:00.298 V/Surface ( 4070):   height: 1872
04-27 19:09:00.298 V/Surface ( 4070):  format: TRANSPARENT
04-27 19:09:00.298 V/Surface ( 4070): }
04-27 19:09:00.298 V/NativeGlue( 4070): NativeWindowResized: 0x75019ee340 -- 0x7512b41010
04-27 19:09:00.325 V/NativeGlue( 4070): NativeWindowRedrawNeeded: 0x75019ee340 -- 0x7512b41010
04-27 19:09:00.370 V/NativeGlue( 4070): WindowFocusChanged: 0x75019ee340 -- 1
04-27 19:09:00.371 V/NativeThread( 4070): Activity gained focus.
04-27 19:09:00.372 V/NativeThread( 4070): Launching LuaJIT assets
04-27 19:09:00.415 I/Assets  ( 4070): Skip installation for revision v2024.03.1-75-gf5be04a73_2024-04-24
04-27 19:09:00.425 D/KOReader( 4070): try to load module [libs/libkoreader-lfs.so](http://libs/libkoreader-lfs.so)
04-27 19:09:00.426 E/Perf    ( 4070): Fail to get file list alooper.fifo
04-27 19:09:00.427 E/Perf    ( 4070): getFolderSize() : Exception_1 = java.lang.NullPointerException: Attempt to get length of null array
04-27 19:09:00.429 I/dlopen  ( 4070): dl.dlopen - [libs/libkoreader-lfs.so](http://libs/libkoreader-lfs.so) => [/data/user/0/org.koreader.launcher.debug/files/libs/libkoreader-lfs.so](http://data/user/0/org.koreader.launcher.debug/files/libs/libkoreader-lfs.so)
04-27 19:09:00.430 V/dlopen  ( 4070):     dl.dlopen - needed => [libluajit.so](http://libluajit.so/) (1 of 2) <= [/data/user/0/org.koreader.launcher.debug/files/libs/libkoreader-lfs.so](http://data/user/0/org.koreader.launcher.debug/files/libs/libkoreader-lfs.so)
04-27 19:09:00.430 V/dlopen  ( 4070):     dl.dlopen - [libluajit.so](http://libluajit.so/) => [/data/app/org.koreader.launcher.debug-MC3RW8bACmirBG1BGBt2Qw==/lib/arm64/libluajit.so](http://data/app/org.koreader.launcher.debug-MC3RW8bACmirBG1BGBt2Qw==/lib/arm64/libluajit.so)
04-27 19:09:00.431 V/dlopen  ( 4070):         dl.dlopen - needed => [libm.so](http://libm.so/) (1 of 5) <= [/data/app/org.koreader.launcher.debug-MC3RW8bACmirBG1BGBt2Qw==/lib/arm64/libluajit.so](http://data/app/org.koreader.launcher.debug-MC3RW8bACmirBG1BGBt2Qw==/lib/arm64/libluajit.so)
04-27 19:09:00.432 V/dlopen  ( 4070):         dl.dlopen - [libm.so](http://libm.so/) => [/system/lib64/libm.so](http://system/lib64/libm.so)
04-27 19:09:00.432 V/dlopen  ( 4070):         dl.dlopen - skipping [/system/lib64/libm.so](http://system/lib64/libm.so) (system lib)
04-27 19:09:00.432 V/dlopen  ( 4070):         dl.dlopen - needed => [libdl.so](http://libdl.so/) (2 of 5) <= [/data/app/org.koreader.launcher.debug-MC3RW8bACmirBG1BGBt2Qw==/lib/arm64/libluajit.so](http://data/app/org.koreader.launcher.debug-MC3RW8bACmirBG1BGBt2Qw==/lib/arm64/libluajit.so)
04-27 19:09:00.433 V/dlopen  ( 4070):         dl.dlopen - [libdl.so](http://libdl.so/) => [/system/lib64/libdl.so](http://system/lib64/libdl.so)
04-27 19:09:00.433 V/dlopen  ( 4070):         dl.dlopen - skipping [/system/lib64/libdl.so](http://system/lib64/libdl.so) (system lib)
04-27 19:09:00.434 V/dlopen  ( 4070):         dl.dlopen - needed => [libandroid.so](http://libandroid.so/) (3 of 5) <= [/data/app/org.koreader.launcher.debug-MC3RW8bACmirBG1BGBt2Qw==/lib/arm64/libluajit.so](http://data/app/org.koreader.launcher.debug-MC3RW8bACmirBG1BGBt2Qw==/lib/arm64/libluajit.so)
04-27 19:09:00.434 V/dlopen  ( 4070):         dl.dlopen - [libandroid.so](http://libandroid.so/) => [/system/lib64/libandroid.so](http://system/lib64/libandroid.so)
04-27 19:09:00.434 V/dlopen  ( 4070):         dl.dlopen - skipping [/system/lib64/libandroid.so](http://system/lib64/libandroid.so) (system lib)
04-27 19:09:00.434 V/dlopen  ( 4070):         dl.dlopen - needed => [liblog.so](http://liblog.so/) (4 of 5) <= [/data/app/org.koreader.launcher.debug-MC3RW8bACmirBG1BGBt2Qw==/lib/arm64/libluajit.so](http://data/app/org.koreader.launcher.debug-MC3RW8bACmirBG1BGBt2Qw==/lib/arm64/libluajit.so)
04-27 19:09:00.435 V/dlopen  ( 4070):         dl.dlopen - [liblog.so](http://liblog.so/) => [/system/lib64/liblog.so](http://system/lib64/liblog.so)
04-27 19:09:00.435 V/dlopen  ( 4070):         dl.dlopen - skipping [/system/lib64/liblog.so](http://system/lib64/liblog.so) (system lib)
04-27 19:09:00.435 V/dlopen  ( 4070):         dl.dlopen - needed => [libc.so](http://libc.so/) (5 of 5) <= [/data/app/org.koreader.launcher.debug-MC3RW8bACmirBG1BGBt2Qw==/lib/arm64/libluajit.so](http://data/app/org.koreader.launcher.debug-MC3RW8bACmirBG1BGBt2Qw==/lib/arm64/libluajit.so)
04-27 19:09:00.436 V/dlopen  ( 4070):         dl.dlopen - [libc.so](http://libc.so/) => [/system/lib64/libc.so](http://system/lib64/libc.so)
04-27 19:09:00.436 V/dlopen  ( 4070):         dl.dlopen - skipping [/system/lib64/libc.so](http://system/lib64/libc.so) (system lib)
04-27 19:09:00.436 V/dlopen  ( 4070):     sys_dlopen - loading library [/data/app/org.koreader.launcher.debug-MC3RW8bACmirBG1BGBt2Qw==/lib/arm64/libluajit.so](http://data/app/org.koreader.launcher.debug-MC3RW8bACmirBG1BGBt2Qw==/lib/arm64/libluajit.so) (in local namespace)
04-27 19:09:00.437 V/dlopen  ( 4070):     dl.dlopen - needed => [libc.so](http://libc.so/) (2 of 2) <= [/data/user/0/org.koreader.launcher.debug/files/libs/libkoreader-lfs.so](http://data/user/0/org.koreader.launcher.debug/files/libs/libkoreader-lfs.so)
04-27 19:09:00.438 V/dlopen  ( 4070):     dl.dlopen - [libc.so](http://libc.so/) => [/system/lib64/libc.so](http://system/lib64/libc.so)
04-27 19:09:00.438 V/dlopen  ( 4070):     dl.dlopen - skipping [/system/lib64/libc.so](http://system/lib64/libc.so) (system lib)
04-27 19:09:00.438 V/dlopen  ( 4070): sys_dlopen - loading library [/data/user/0/org.koreader.launcher.debug/files/libs/libkoreader-lfs.so](http://data/user/0/org.koreader.launcher.debug/files/libs/libkoreader-lfs.so) (in local namespace)
04-27 19:09:00.438 W/linker  ( 4070): Warning: "[/data/data/org.koreader.launcher.debug/files/libs/libkoreader-lfs.so](http://data/data/org.koreader.launcher.debug/files/libs/libkoreader-lfs.so)" unused DT entry: DT_RPATH (type 0xf arg 0x2a6) (ignoring)
04-27 19:09:00.445 D/KOReader( 4070): ffi.load rt.so.1
04-27 19:09:00.448 W/dlopen  ( 4070): could not find library rt.so.1
04-27 19:09:00.469 E/Perf    ( 4070): Fail to get file list oat
04-27 19:09:00.469 E/Perf    ( 4070): getFolderSize() : Exception_1 = java.lang.NullPointerException: Attempt to get length of null array
04-27 19:09:00.478 D/KOReader( 4070): ffi.load libs/libutf8proc.so.3
04-27 19:09:00.480 I/dlopen  ( 4070): dl.dlopen - libs/libutf8proc.so.3 => /data/user/0/org.koreader.launcher.debug/files/libs/libutf8proc.so.3
04-27 19:09:00.482 V/dlopen  ( 4070):     dl.dlopen - needed => [libc.so](http://libc.so/) (1 of 1) <= /data/user/0/org.koreader.launcher.debug/files/libs/libutf8proc.so.3
04-27 19:09:00.483 V/dlopen  ( 4070):     dl.dlopen - [libc.so](http://libc.so/) => [/system/lib64/libc.so](http://system/lib64/libc.so)
04-27 19:09:00.483 V/dlopen  ( 4070):     dl.dlopen - skipping [/system/lib64/libc.so](http://system/lib64/libc.so) (system lib)
04-27 19:09:00.483 V/dlopen  ( 4070): dl.dlopen - load_func -> /data/user/0/org.koreader.launcher.debug/files/libs/libutf8proc.so.3
04-27 19:09:00.484 W/linker  ( 4070): Warning: "/data/data/org.koreader.launcher.debug/files/libs/libutf8proc.so.3" unused DT entry: DT_RPATH (type 0xf arg 0x28a) (ignoring)
04-27 19:09:00.526 D/KOReader( 4070): ffi.load blitbuffer
04-27 19:09:00.527 W/dlopen  ( 4070): could not find library blitbuffer
04-27 19:09:00.527 D/KOReader( 4070): ffi.load ./libs/libblitbuffer.so
04-27 19:09:00.528 I/dlopen  ( 4070): dl.dlopen - ./libs/libblitbuffer.so => [/data/user/0/org.koreader.launcher.debug/files/./libs/libblitbuffer.so](http://data/user/0/org.koreader.launcher.debug/files/libs/libblitbuffer.so)
04-27 19:09:00.530 V/dlopen  ( 4070):     dl.dlopen - needed => [libc.so](http://libc.so/) (1 of 1) <= [/data/user/0/org.koreader.launcher.debug/files/./libs/libblitbuffer.so](http://data/user/0/org.koreader.launcher.debug/files/libs/libblitbuffer.so)
04-27 19:09:00.531 V/dlopen  ( 4070):     dl.dlopen - [libc.so](http://libc.so/) => [/system/lib64/libc.so](http://system/lib64/libc.so)
04-27 19:09:00.531 V/dlopen  ( 4070):     dl.dlopen - skipping [/system/lib64/libc.so](http://system/lib64/libc.so) (system lib)
04-27 19:09:00.531 V/dlopen  ( 4070): dl.dlopen - load_func -> [/data/user/0/org.koreader.launcher.debug/files/./libs/libblitbuffer.so](http://data/user/0/org.koreader.launcher.debug/files/libs/libblitbuffer.so)
04-27 19:09:00.532 W/linker  ( 4070): Warning: "[/data/data/org.koreader.launcher.debug/files/libs/libblitbuffer.so](http://data/data/org.koreader.launcher.debug/files/libs/libblitbuffer.so)" unused DT entry: DT_RPATH (type 0xf arg 0x1be) (ignoring)
04-27 19:09:00.545 V/KOReader( 4070): fts: Preferred MONOTONIC clock source is CLOCK_MONOTONIC
04-27 19:09:00.545 V/KOReader( 4070): fts: Preferred REALTIME clock source is CLOCK_REALTIME
04-27 19:09:00.546 V/KOReader( 4070): fts: BOOTTIME clock source is supported
04-27 19:09:00.558 I/KOReader( 4070): Android 10 - Q (API 29) - flavor: rocks
04-27 19:09:00.584 W/.launcher.debu( 4070): Accessing hidden method Landroid/onyx/hardware/DeviceController;->setLightValue(II)V (blacklist, reflection, denied)
04-27 19:09:00.585 W/Lights  ( 4070): java.lang.NoSuchMethodException: android.onyx.hardware.DeviceController.setLightValue [int, int]
04-27 19:09:00.585 W/.launcher.debu( 4070): Accessing hidden method Landroid/onyx/hardware/DeviceController;->getLightValue(I)I (blacklist, reflection, denied)
04-27 19:09:00.585 W/Lights  ( 4070): java.lang.NoSuchMethodException: android.onyx.hardware.DeviceController.getLightValue [int]
04-27 19:09:00.585 W/.launcher.debu( 4070): Accessing hidden method Landroid/onyx/hardware/DeviceController;->getMaxLightValue(I)I (blacklist, reflection, denied)
04-27 19:09:00.585 W/Lights  ( 4070): java.lang.NoSuchMethodException: android.onyx.hardware.DeviceController.getMaxLightValue [int]
04-27 19:09:00.585 W/.launcher.debu( 4070): Accessing hidden method Landroid/onyx/hardware/DeviceController;->checkCTM()Z (blacklist, reflection, denied)
04-27 19:09:00.585 W/Lights  ( 4070): java.lang.NoSuchMethodException: android.onyx.hardware.DeviceController.checkCTM []
04-27 19:09:00.587 E/NativeThread( 4070): Failed to run script: frontend/device/generic/powerd.lua:34: assertion failed!

arooni avatar Apr 28 '24 00:04 arooni

Is adb shell settings get global hidden_api_policy equal to 1?

hugleo avatar Apr 28 '24 00:04 hugleo

Is adb shell settings get global hidden_api_policy equal to 1?

[I]  ~/b/revanced  adb shell
NovaAir:/ $ settings get global hidden_api_policy
null
NovaAir:/ $

arooni avatar Apr 28 '24 00:04 arooni

Then set as instructed in: https://github.com/koreader/koreader/wiki/Android-tips-and-tricks#onyx-devices

hugleo avatar Apr 28 '24 00:04 hugleo

Wow wow wow! That makes it work great! You're amazing! Secret hidden APIs? Very cool.

arooni avatar Apr 28 '24 00:04 arooni

Now that this works; is there a way you could submit a pull request for whatever change(s) are that you made? BTW what were those? Looks like #471 is still waiting to be incorporated into the codebase.

arooni avatar Apr 28 '24 03:04 arooni

Wait a minute, maybe we don't need any of that. Since you've set the hidden_api_policy, run the e-ink test again. Make sure that the warmth and brightness reflect the maximum supported on your device.

EDIT: Never mind, should be merged in the next bump.

hugleo avatar Apr 28 '24 12:04 hugleo

I did try the latest stable version release and it didn't seem to let me control backlight or warmth settings. Yay your change got merged! I assume those were the changes that allowed the backlight/warmth settings to work on the Nova Air.

Very much appreciate your help!!

arooni avatar Apr 29 '24 16:04 arooni

Still need to bump https://github.com/koreader/android-luajit-launcher in https://github.com/koreader/koreader since no one has done that yet.

hugleo avatar Apr 29 '24 18:04 hugleo

Bump the version of the launcher? Doesn't that get done on each stable release as part of the build process?

arooni avatar Apr 29 '24 18:04 arooni

No, and this will need a bump to the corresponding android docker image since this include a Gradle update to support Java 17.

@Frenzie: do you want that luajit-launcher bump for the next release?

benoit-pierre avatar Apr 29 '24 18:04 benoit-pierre

Yeah sure.

Frenzie avatar Apr 29 '24 18:04 Frenzie

Sorry, did you say image bump. Then nope.

Frenzie avatar Apr 29 '24 18:04 Frenzie

So this change won't be making it into stable anytime soon?

arooni avatar Apr 29 '24 19:04 arooni

I imagine it'll make it into a nightly soon, but not this stable, no.

Frenzie avatar Apr 29 '24 19:04 Frenzie

Well I can keep using this version that @hugleo made so generously for me in the meantime.

I'd imagine it gets on a stable by July? I have an upcoming John Muir trail hike I'm considering bringing my nova air along with as a luxury item

arooni avatar Apr 29 '24 19:04 arooni

I don't see why not. :-)

Frenzie avatar Apr 29 '24 19:04 Frenzie