KieronQuinn / ClassicPowerMenu

Power Menu Replacement for Android
Apache License 2.0
675 stars 22 forks source link

Crashes when Muzei wallpaper changes #1

Closed coggy9 closed 2 years ago

coggy9 commented 2 years ago

Whenever a Muzei source changes the wallpaper image, the replacement menu will fail to open when holding the power button, and is replaced with the system power menu if I try holding the power button again immediately after opening the system power menu. Waiting a few seconds after the initial attempt will sometimes bring the CPM menu back, but usually the accessibility service has to be toggled off and back on, as the system detected that CPM was malfunctioning and seems to disable the service.

Here is the relevant crash info from a logcat taken from a OnePlus 7T, running an AOSP based Android 11 custom ROM. Crashed as I held the power button to open the menu, did not appear on the screen. This happens with the Xposed module both enabled and disabled.


09-26 16:04:11.930  6815  6815 I LSPosed-Bridge: Crash unexpectedly: java.lang.IllegalStateException: should never call auto-cleared-value get when it might not be available
09-26 16:04:11.930  6815  6815 I LSPosed-Bridge:    at AutoClearedValue.getValue(AutoClearedValue.kt:46)
09-26 16:04:11.930  6815  6815 I LSPosed-Bridge:    at com.kieronquinn.app.classicpowermenu.ui.base.BoundFragment.getBinding$app_release(BoundFragment.kt:17)
09-26 16:04:11.930  6815  6815 I LSPosed-Bridge:    at com.kieronquinn.app.classicpowermenu.ui.screens.powermenu.main.PowerMenuFragment$setupAppbar$1.invokeSuspend$lambda-0(PowerMenuFragment.kt:178)
09-26 16:04:11.930  6815  6815 I LSPosed-Bridge:    at com.kieronquinn.app.classicpowermenu.ui.screens.powermenu.main.PowerMenuFragment$setupAppbar$1.$r8$lambda$gBoclz8D0Sw4h8q_jCrCZt6n9Ww(Unknown Source:0)
09-26 16:04:11.930  6815  6815 I LSPosed-Bridge:    at com.kieronquinn.app.classicpowermenu.ui.screens.powermenu.main.PowerMenuFragment$setupAppbar$1$$ExternalSyntheticLambda0.run(Unknown Source:2)
09-26 16:04:11.930  6815  6815 I LSPosed-Bridge:    at android.os.Handler.handleCallback(Handler.java:938)
09-26 16:04:11.930  6815  6815 I LSPosed-Bridge:    at android.os.Handler.dispatchMessage(Handler.java:99)
09-26 16:04:11.930  6815  6815 I LSPosed-Bridge:    at android.os.Looper.loop(Looper.java:223)
09-26 16:04:11.930  6815  6815 I LSPosed-Bridge:    at android.app.ActivityThread.main(ActivityThread.java:7665)
09-26 16:04:11.930  6815  6815 I LSPosed-Bridge:    at java.lang.reflect.Method.invoke(Native Method)
09-26 16:04:11.930  6815  6815 I LSPosed-Bridge:    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:594)
09-26 16:04:11.930  6815  6815 I LSPosed-Bridge:    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
09-26 16:04:11.930  6815  6815 E AndroidRuntime: FATAL EXCEPTION: main
09-26 16:04:11.930  6815  6815 E AndroidRuntime: Process: com.kieronquinn.app.classicpowermenu, PID: 6815
09-26 16:04:11.930  6815  6815 E AndroidRuntime: java.lang.IllegalStateException: should never call auto-cleared-value get when it might not be available
09-26 16:04:11.930  6815  6815 E AndroidRuntime:    at AutoClearedValue.getValue(AutoClearedValue.kt:46)
09-26 16:04:11.930  6815  6815 E AndroidRuntime:    at com.kieronquinn.app.classicpowermenu.ui.base.BoundFragment.getBinding$app_release(BoundFragment.kt:17)
09-26 16:04:11.930  6815  6815 E AndroidRuntime:    at com.kieronquinn.app.classicpowermenu.ui.screens.powermenu.main.PowerMenuFragment$setupAppbar$1.invokeSuspend$lambda-0(PowerMenuFragment.kt:178)
09-26 16:04:11.930  6815  6815 E AndroidRuntime:    at com.kieronquinn.app.classicpowermenu.ui.screens.powermenu.main.PowerMenuFragment$setupAppbar$1.$r8$lambda$gBoclz8D0Sw4h8q_jCrCZt6n9Ww(Unknown Source:0)
09-26 16:04:11.930  6815  6815 E AndroidRuntime:    at com.kieronquinn.app.classicpowermenu.ui.screens.powermenu.main.PowerMenuFragment$setupAppbar$1$$ExternalSyntheticLambda0.run(Unknown Source:2)
09-26 16:04:11.930  6815  6815 E AndroidRuntime:    at android.os.Handler.handleCallback(Handler.java:938)
09-26 16:04:11.930  6815  6815 E AndroidRuntime:    at android.os.Handler.dispatchMessage(Handler.java:99)
09-26 16:04:11.930  6815  6815 E AndroidRuntime:    at android.os.Looper.loop(Looper.java:223)
09-26 16:04:11.930  6815  6815 E AndroidRuntime:    at android.app.ActivityThread.main(ActivityThread.java:7665)
09-26 16:04:11.930  6815  6815 E AndroidRuntime:    at java.lang.reflect.Method.invoke(Native Method)
09-26 16:04:11.930  6815  6815 E AndroidRuntime:    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:594)
09-26 16:04:11.930  6815  6815 E AndroidRuntime:    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)

09-26 16:04:11.931  1638  7145 I DropBoxManagerService: add tag=data_app_crash isTagEnabled=true flags=0x2
09-26 16:04:11.931  1638  4010 W ActivityTaskManager:   Force finishing activity com.kieronquinn.app.classicpowermenu/.ui.activities.PowerMenuActivity

09-26 16:04:11.939  6815  6815 I Process : Sending signal. PID: 6815 SIG: 9

09-26 16:04:11.967   791   791 I Zygote  : Process 6815 exited due to signal 9 (Killed)

09-26 16:04:11.985   744  6848 D Magisk  : su: return code=[0]

09-26 16:04:11.988  1638  7917 I WindowManager: WIN DEATH: Window{6fd9980 u0 com.kieronquinn.app.classicpowermenu/com.kieronquinn.app.classicpowermenu.ui.activities.PowerMenuActivity}
09-26 16:04:11.988  1638  7917 W InputDispatcher: Attempted to unregister already unregistered input channel '6fd9980 com.kieronquinn.app.classicpowermenu/com.kieronquinn.app.classicpowermenu.ui.activities.PowerMenuActivity (server)'
09-26 16:04:11.988  1638  2741 I ActivityManager: Process com.kieronquinn.app.classicpowermenu (pid 6815) has died: vis TOP 
09-26 16:04:11.988  6855  6855 I com.kieronquinn.app.classicpowermenu:root: System.exit called, status: 0
09-26 16:04:11.988  6855  6855 I AndroidRuntime: VM exiting with result code 0.

09-26 16:04:11.992  1638  3971 W WindowManager: Cannot find window which accessibility connection is added to

09-26 16:04:12.002  1638  6078 W ActivityTaskManager: Bad activity token: android.os.BinderProxy@9234132
09-26 16:04:12.002  1638  6078 W ActivityTaskManager: java.lang.ClassCastException: android.os.BinderProxy cannot be cast to com.android.server.wm.ActivityRecord$Token
09-26 16:04:12.002  1638  6078 W ActivityTaskManager:   at com.android.server.wm.ActivityRecord.forTokenLocked(ActivityRecord.java:1461)
09-26 16:04:12.002  1638  6078 W ActivityTaskManager:   at com.android.server.wm.ActivityRecord.isInStackLocked(ActivityRecord.java:5666)
09-26 16:04:12.002  1638  6078 W ActivityTaskManager:   at com.android.server.wm.ActivityTaskManagerService.setTaskDescription(ActivityTaskManagerService.java:3097)
09-26 16:04:12.002  1638  6078 W ActivityTaskManager:   at android.app.IActivityTaskManager$Stub.onTransact(IActivityTaskManager.java:2513)
09-26 16:04:12.002  1638  6078 W ActivityTaskManager:   at android.os.Binder.execTransactInternal(Binder.java:1154)
09-26 16:04:12.002  1638  6078 W ActivityTaskManager:   at android.os.Binder.execTransact(Binder.java:1123)

09-26 16:04:12.004  1638  1667 W ActivityManager: setHasOverlayUi called on unknown pid: 6815```
KieronQuinn commented 2 years ago

Should be fixed in 1.1, thanks!