Open ghost opened 10 years ago
Thanks. I only tested it on AOSP-like ROM. That error looks pretty weird though. I hope CM devs haven't seriously refactored SystemUI... Sadly, there is no CM for my device, so I can't test it.
Wait, the class is there: https://github.com/CyanogenMod/android_frameworks_base/blob/cm-11.0/packages/SystemUI/src/com/android/systemui/statusbar/policy/RotationLockController.java
Can you send me your SystemUI apk?
Sure! http://www.wuala.com/Micks/Divers/SystemUI.apk/ Thanks for your quick reply, I hope you will find a workaround!
Hmm, really no RotationLockController. I assume your tablet doesn't support rotation? In this case I'll just disable it if there is no class.
Oh it's for tablet only? I thought it was to turn phone (or tablet) into tablet mode!...I me feel stupid lol.
No, it isn't. Actually, I developed it on my phone. :D However, be sure to lower DPI. I lowered it to 160 from native 294. //This is not related to the bug. As for it, I just copied RotationLockController to TabletKat, so it'll work, if there aren't any other issues.
It's just a replacement for default 4.2+ awkward UI on 10" tablets. (And on any other devices, but there default UI is fine) I'm going a buy a tablet soon, and I want to have proper tablet mode before I got it. :)
Google Nexus 10 screenshots if you don't understand what I'm talking about.
Ok I've lowered DPI and the navbar appears nothing else. Thanks for explanation anyway!
That's not related to the bug, as I've already said. As for it, try this: https://dl.dropboxusercontent.com/u/36782044/tabletkat-cm-test.apk If it works, the fix will be in the next version.
So, does it work?
No still buggy, log:
TabletKatModule: Loaded SystemUI
java.lang.NoSuchMethodError: com.android.systemui.statusbar.tv.TvStatusBar#getExpandedViewMaxHeight()#exact
at de.robv.android.xposed.XposedHelpers.findMethodExact(XposedHelpers.java:179)
at de.robv.android.xposed.XposedHelpers.findAndHookMethod(XposedHelpers.java:129)
at org.exalm.tabletkat.statusbar.tablet.TabletStatusBarMod.addHooks(TabletStatusBarMod.java:1299)
at org.exalm.tabletkat.TabletKatModule.handleLoadPackage(TabletKatModule.java:130)
at de.robv.android.xposed.IXposedHookLoadPackage$Wrapper.handleLoadPackage(IXposedHookLoadPackage.java:20)
at de.robv.android.xposed.callbacks.XC_LoadPackage.call(XC_LoadPackage.java:34)
at de.robv.android.xposed.callbacks.XCallback.callAll(XCallback.java:70)
at de.robv.android.xposed.XposedBridge$3.afterHookedMethod(XposedBridge.java:252)
at de.robv.android.xposed.XposedBridge.handleHookedMethod(XposedBridge.java:645)
at android.app.LoadedApk.
Sorry for late reply.
Fixed this too: https://dl.dropboxusercontent.com/u/36782044/tabletkat-cm-test2.apk Does it work now? Update: https://dl.dropboxusercontent.com/u/36782044/tabletkat-cm-test3.apk (See #3)
Also marked as experimental in Xposed repo. I couldn't even imagine that it won't work on so many devices...
Tabletkat-cm-test3.apk works, good job man!!
What about tapping home button? It crashes SystemUI in #3... In general, test every button please. And can I have a screenshot of open Recents and notification panel, so I can make sure there are no visual bugs?
I've SystemUI FC when I want open Recents same thing for notification panel when I receive a notification but nothing related with these issues in log. That's all for today my battery is very low now sorry! Thanks for support!
Well, when you get online, post LogCat log please. You can get it through ADB or with various LogCat viewer tools. Edit: And before you do that, try this: https://dl.dropboxusercontent.com/u/36782044/tabletkat-cm-test4.apk Edit: https://dl.dropboxusercontent.com/u/36782044/tabletkat-cm-test5.apk
Same issues with Tabletkat-cm-test5.apk, logcat: http://www.wuala.com/Micks/Divers/Log_2014-08-25_23-45-08.txt/ Screenshots: http://img15.hostingpics.net/pics/987538Screenshot20140825234205.png http://img15.hostingpics.net/pics/661628Screenshot20140825234232.png http://img15.hostingpics.net/pics/675460Screenshot20140825234804.png
System UI is also crashing for me on CM11 when activating the recent activities button.
I got these via adb:
I/ActivityManager( 521): START u0 {act=com.android.systemui.recent.action.TOGGLE_RECENTS flg=0x10800000 cmp=com.android.systemui/.recent.RecentsActivity} from pid 3217
D/AndroidRuntime( 3217): Shutting down VM
W/dalvikvm( 3217): threadid=1: thread exiting with uncaught exception (group=0x4199ece0)
E/AndroidRuntime( 3217): FATAL EXCEPTION: main
E/AndroidRuntime( 3217): Process: com.android.systemui, PID: 3217
E/AndroidRuntime( 3217): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.android.systemui/com.android.systemui.recent.RecentsActivity}: java.lang.NullPointerException
E/AndroidRuntime( 3217): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2212)
E/AndroidRuntime( 3217): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2271)
E/AndroidRuntime( 3217): at android.app.ActivityThread.access$800(ActivityThread.java:144)
E/AndroidRuntime( 3217): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1205)
E/AndroidRuntime( 3217): at android.os.Handler.dispatchMessage(Handler.java:102)
E/AndroidRuntime( 3217): at android.os.Looper.loop(Looper.java:136)
E/AndroidRuntime( 3217): at android.app.ActivityThread.main(ActivityThread.java:5146)
E/AndroidRuntime( 3217): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime( 3217): at java.lang.reflect.Method.invoke(Method.java:515)
E/AndroidRuntime( 3217): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:732)
E/AndroidRuntime( 3217): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:566)
E/AndroidRuntime( 3217): at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:132)
E/AndroidRuntime( 3217): at dalvik.system.NativeStart.main(Native Method)
E/AndroidRuntime( 3217): Caused by: java.lang.NullPointerException
E/AndroidRuntime( 3217): at com.android.systemui.recent.RecentsPanelView.showImpl(RecentsPanelView.java:357)
E/AndroidRuntime( 3217): at de.robv.android.xposed.XposedBridge.invokeOriginalMethodNative(Native Method)
E/AndroidRuntime( 3217): at de.robv.android.xposed.XposedBridge.handleHookedMethod(XposedBridge.java:631)
E/AndroidRuntime( 3217): at com.android.systemui.recent.RecentsPanelView.showImpl(Native Method)
E/AndroidRuntime( 3217): at com.android.systemui.recent.RecentsPanelView.showIfReady(RecentsPanelView.java:333)
E/AndroidRuntime( 3217): at com.android.systemui.recent.RecentsPanelView.refreshViews(RecentsPanelView.java:647)
E/AndroidRuntime( 3217): at com.android.systemui.recent.RecentsActivity.onStart(RecentsActivity.java:134)
E/AndroidRuntime( 3217): at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1171)
E/AndroidRuntime( 3217): at android.app.Activity.performStart(Activity.java:5241)
E/AndroidRuntime( 3217): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2178)
E/AndroidRuntime( 3217): ... 12 more
W/ActivityManager( 521): Force finishing activity com.android.systemui/.recent.RecentsActivity
I also saw these in the logs, but they might be errors you already worked around?
I/Xposed ( 3390): TabletKatModule: Loaded SystemUI
I/Xposed ( 3390): de.robv.android.xposed.XposedHelpers$ClassNotFoundError: java.lang.ClassNotFoundException: com.android.systemui.statusbar.phone.QuickSettings
I/Xposed ( 3390): at de.robv.android.xposed.XposedHelpers.findClass(XposedHelpers.java:52)
I/Xposed ( 3390): at org.exalm.tabletkat.TabletKatModule.handleLoadPackage(TabletKatModule.java:259)
I/Xposed ( 3390): at de.robv.android.xposed.IXposedHookLoadPackage$Wrapper.handleLoadPackage(IXposedHookLoadPackage.java:20)
I/Xposed ( 3390): at de.robv.android.xposed.callbacks.XC_LoadPackage.call(XC_LoadPackage.java:34)
I/Xposed ( 3390): at de.robv.android.xposed.callbacks.XCallback.callAll(XCallback.java:70)
I/Xposed ( 3390): at de.robv.android.xposed.XposedBridge$3.afterHookedMethod(XposedBridge.java:252)
I/Xposed ( 3390): at de.robv.android.xposed.XposedBridge.handleHookedMethod(XposedBridge.java:645)
I/Xposed ( 3390): at android.app.LoadedApk.<init>(Native Method)
I/Xposed ( 3390): at android.app.ActivityThread.getPackageInfo(ActivityThread.java:1664)
I/Xposed ( 3390): at android.app.ActivityThread.getPackageInfo(ActivityThread.java:1628)
I/Xposed ( 3390): at android.app.ActivityThread.getPackageInfo(ActivityThread.java:1601)
I/Xposed ( 3390): at android.app.ContextImpl.createPackageContextAsUser(ContextImpl.java:1957)
I/Xposed ( 3390): at android.app.ContextImpl.createPackageContext(ContextImpl.java:1938)
I/Xposed ( 3390): at android.content.ContextWrapper.createPackageContext(ContextWrapper.java:637)
I/Xposed ( 3390): at android.app.ActivityThread.installProvider(ActivityThread.java:4892)
I/Xposed ( 3390): at android.app.ActivityThread.installContentProviders(ActivityThread.java:4514)
I/Xposed ( 3390): at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4454)
I/Xposed ( 3390): at de.robv.android.xposed.XposedBridge.invokeOriginalMethodNative(Native Method)
I/Xposed ( 3390): at de.robv.android.xposed.XposedBridge.handleHookedMethod(XposedBridge.java:631)
I/Xposed ( 3390): at android.app.ActivityThread.handleBindApplication(Native Method)
I/Xposed ( 3390): at android.app.ActivityThread.access$1500(ActivityThread.java:144)
I/Xposed ( 3390): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1265)
I/Xposed ( 3390): at android.os.Handler.dispatchMessage(Handler.java:102)
I/Xposed ( 3390): at android.os.Looper.loop(Looper.java:136)
I/Xposed ( 3390): at android.app.ActivityThread.main(ActivityThread.java:5146)
I/Xposed ( 3390): at java.lang.reflect.Method.invokeNative(Native Method)
I/Xposed ( 3390): at java.lang.reflect.Method.invoke(Method.java:515)
I/Xposed ( 3390): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:732)
I/Xposed ( 3390): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:566)
I/Xposed ( 3390): at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:132)
I/Xposed ( 3390): at dalvik.system.NativeStart.main(Native Method)
I/Xposed ( 3390): Caused by: java.lang.ClassNotFoundException: com.android.systemui.statusbar.phone.QuickSettings
I/Xposed ( 3390): at java.lang.Class.classForName(Native Method)
I/Xposed ( 3390): at java.lang.Class.forName(Class.java:251)
I/Xposed ( 3390): at external.org.apache.commons.lang3.ClassUtils.getClass(ClassUtils.java:823)
I/Xposed ( 3390): at de.robv.android.xposed.XposedHelpers.findClass(XposedHelpers.java:50)
I/Xposed ( 3390): ... 30 more
I/Xposed ( 3390): Caused by: java.lang.NoClassDefFoundError: com/android/systemui/statusbar/phone/QuickSettings
I/Xposed ( 3390): ... 34 more
I/Xposed ( 3390): Caused by: java.lang.ClassNotFoundException: Didn't find class "com.android.systemui.statusbar.phone.QuickSettings" on path: DexPathList[[zip file "/system/priv-app/SystemUI.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]]
I/Xposed ( 3390): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
I/Xposed ( 3390): at java.lang.ClassLoader.loadClass(ClassLoader.java:497)
I/Xposed ( 3390): at java.lang.ClassLoader.loadClass(ClassLoader.java:457)
I/Xposed ( 3390): ... 34 more
I/Xposed ( 3390): TabletKatModule: Replacing SystemUI resources
Let me know if I might have omitted something. And thank you so much for your effort. Having Tablet UI back would be a dream.
When disabling tablet UI in the settings screen, System UI still crashes when triggering recent activities. HTH:
11-30 17:08:07.460 E/AndroidRuntime( 3743): FATAL EXCEPTION: main
11-30 17:08:07.460 E/AndroidRuntime( 3743): Process: com.android.systemui, PID: 3743
11-30 17:08:07.460 E/AndroidRuntime( 3743): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.android.systemui/com.android.systemui.recent.RecentsActivity}: java.lang.NullPointerException
11-30 17:08:07.460 E/AndroidRuntime( 3743): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2212)
11-30 17:08:07.460 E/AndroidRuntime( 3743): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2271)
11-30 17:08:07.460 E/AndroidRuntime( 3743): at android.app.ActivityThread.access$800(ActivityThread.java:144)
11-30 17:08:07.460 E/AndroidRuntime( 3743): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1205)
11-30 17:08:07.460 E/AndroidRuntime( 3743): at android.os.Handler.dispatchMessage(Handler.java:102)
11-30 17:08:07.460 E/AndroidRuntime( 3743): at android.os.Looper.loop(Looper.java:136)
11-30 17:08:07.460 E/AndroidRuntime( 3743): at android.app.ActivityThread.main(ActivityThread.java:5146)
11-30 17:08:07.460 E/AndroidRuntime( 3743): at java.lang.reflect.Method.invokeNative(Native Method)
11-30 17:08:07.460 E/AndroidRuntime( 3743): at java.lang.reflect.Method.invoke(Method.java:515)
11-30 17:08:07.460 E/AndroidRuntime( 3743): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:732)
11-30 17:08:07.460 E/AndroidRuntime( 3743): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:566)
11-30 17:08:07.460 E/AndroidRuntime( 3743): at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:132)
11-30 17:08:07.460 E/AndroidRuntime( 3743): at dalvik.system.NativeStart.main(Native Method)
11-30 17:08:07.460 E/AndroidRuntime( 3743): Caused by: java.lang.NullPointerException
11-30 17:08:07.460 E/AndroidRuntime( 3743): at com.android.systemui.recent.RecentsPanelView.showImpl(RecentsPanelView.java:357)
11-30 17:08:07.460 E/AndroidRuntime( 3743): at de.robv.android.xposed.XposedBridge.invokeOriginalMethodNative(Native Method)
11-30 17:08:07.460 E/AndroidRuntime( 3743): at de.robv.android.xposed.XposedBridge.handleHookedMethod(XposedBridge.java:631)
11-30 17:08:07.460 E/AndroidRuntime( 3743): at com.android.systemui.recent.RecentsPanelView.showImpl(Native Method)
11-30 17:08:07.460 E/AndroidRuntime( 3743): at com.android.systemui.recent.RecentsPanelView.showIfReady(RecentsPanelView.java:333)
11-30 17:08:07.460 E/AndroidRuntime( 3743): at com.android.systemui.recent.RecentsPanelView.refreshViews(RecentsPanelView.java:647)
11-30 17:08:07.460 E/AndroidRuntime( 3743): at com.android.systemui.recent.RecentsActivity.onStart(RecentsActivity.java:134)
11-30 17:08:07.460 E/AndroidRuntime( 3743): at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1171)
11-30 17:08:07.460 E/AndroidRuntime( 3743): at android.app.Activity.performStart(Activity.java:5241)
11-30 17:08:07.460 E/AndroidRuntime( 3743): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2178)
11-30 17:08:07.460 E/AndroidRuntime( 3743): ... 12 more
Log: TabletKatModule: Loaded SystemUI de.robv.android.xposed.XposedHelpers$ClassNotFoundError: java.lang.ClassNotFoundException: com.android.systemui.statusbar.policy.RotationLockController at de.robv.android.xposed.XposedHelpers.findClass(XposedHelpers.java:52) at org.exalm.tabletkat.TabletKatModule.handleLoadPackage(TabletKatModule.java:120) at de.robv.android.xposed.IXposedHookLoadPackage$Wrapper.handleLoadPackage(IXposedHookLoadPackage.java:20) at de.robv.android.xposed.callbacks.XC_LoadPackage.call(XC_LoadPackage.java:34) at de.robv.android.xposed.callbacks.XCallback.callAll(XCallback.java:70) at de.robv.android.xposed.XposedBridge$3.afterHookedMethod(XposedBridge.java:252) at de.robv.android.xposed.XposedBridge.handleHookedMethod(XposedBridge.java:645) at android.app.LoadedApk.(Native Method)
at android.app.ActivityThread.getPackageInfo(ActivityThread.java:1664)
at android.app.ActivityThread.getPackageInfo(ActivityThread.java:1628)
at android.app.ActivityThread.getPackageInfo(ActivityThread.java:1601)
at android.app.ContextImpl.createPackageContextAsUser(ContextImpl.java:1957)
at android.app.ContextImpl.createPackageContext(ContextImpl.java:1938)
at android.content.ContextWrapper.createPackageContext(ContextWrapper.java:637)
at android.app.ActivityThread.installProvider(ActivityThread.java:4885)
at android.app.ActivityThread.installContentProviders(ActivityThread.java:4507)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4447)
at de.robv.android.xposed.XposedBridge.invokeOriginalMethodNative(Native Method)
at de.robv.android.xposed.XposedBridge.handleHookedMethod(XposedBridge.java:631)
at android.app.ActivityThread.handleBindApplication(Native Method)
at android.app.ActivityThread.access$1500(ActivityThread.java:144)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1265)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5139)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:796)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:612)
at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:132)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.ClassNotFoundException: com.android.systemui.statusbar.policy.RotationLockController
at java.lang.Class.classForName(Native Method)
at java.lang.Class.forName(Class.java:251)
at external.org.apache.commons.lang3.ClassUtils.getClass(ClassUtils.java:823)
at de.robv.android.xposed.XposedHelpers.findClass(XposedHelpers.java:50)
... 30 more
Caused by: java.lang.NoClassDefFoundError: com/android/systemui/statusbar/policy/RotationLockController
... 34 more
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.android.systemui.statusbar.policy.RotationLockController" on path: DexPathList[[zip file "/system/priv-app/SystemUI.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
at java.lang.ClassLoader.loadClass(ClassLoader.java:497)
at java.lang.ClassLoader.loadClass(ClassLoader.java:457)
... 34 more