tabletkat icon indicating copy to clipboard operation
tabletkat copied to clipboard

Not working on CM 11

Open ghost opened this issue 11 years ago • 20 comments

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

ghost avatar Aug 25 '14 10:08 ghost

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.

alice-mkh avatar Aug 25 '14 10:08 alice-mkh

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?

alice-mkh avatar Aug 25 '14 10:08 alice-mkh

Sure! http://www.wuala.com/Micks/Divers/SystemUI.apk/ Thanks for your quick reply, I hope you will find a workaround!

ghost avatar Aug 25 '14 10:08 ghost

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.

alice-mkh avatar Aug 25 '14 10:08 alice-mkh

Oh it's for tablet only? I thought it was to turn phone (or tablet) into tablet mode!...I me feel stupid lol.

ghost avatar Aug 25 '14 10:08 ghost

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.

alice-mkh avatar Aug 25 '14 10:08 alice-mkh

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.

alice-mkh avatar Aug 25 '14 10:08 alice-mkh

Ok I've lowered DPI and the navbar appears nothing else. Thanks for explanation anyway!

ghost avatar Aug 25 '14 11:08 ghost

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.

alice-mkh avatar Aug 25 '14 11:08 alice-mkh

So, does it work?

alice-mkh avatar Aug 25 '14 14:08 alice-mkh

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.(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) TabletKatModule: Replacing SystemUI resources TabletKatModule: Replacing SystemUI resources

Sorry for late reply.

ghost avatar Aug 25 '14 14:08 ghost

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)

alice-mkh avatar Aug 25 '14 15:08 alice-mkh

Also marked as experimental in Xposed repo. I couldn't even imagine that it won't work on so many devices...

alice-mkh avatar Aug 25 '14 15:08 alice-mkh

Tabletkat-cm-test3.apk works, good job man!!

ghost avatar Aug 25 '14 16:08 ghost

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?

alice-mkh avatar Aug 25 '14 16:08 alice-mkh

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!

ghost avatar Aug 25 '14 16:08 ghost

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

alice-mkh avatar Aug 25 '14 16:08 alice-mkh

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

ghost avatar Aug 25 '14 22:08 ghost

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.

eigengrau avatar Nov 30 '14 16:11 eigengrau

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

eigengrau avatar Nov 30 '14 16:11 eigengrau