alice-mkh / tabletkat

True tablet UI for KitKat
http://repo.xposed.info/module/org.exalm.tabletkat
16 stars 5 forks source link

Not working on CM 11 #1

Open ghost opened 10 years ago

ghost commented 10 years ago

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

alice-mkh commented 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.

alice-mkh commented 10 years ago

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?

ghost commented 10 years ago

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

alice-mkh commented 10 years ago

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.

ghost commented 10 years ago

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

alice-mkh commented 10 years ago

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 commented 10 years ago

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.

ghost commented 10 years ago

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

alice-mkh commented 10 years ago

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 commented 10 years ago

So, does it work?

ghost commented 10 years ago

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.

alice-mkh commented 10 years ago

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 commented 10 years ago

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

ghost commented 10 years ago

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

alice-mkh commented 10 years ago

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?

ghost commented 10 years ago

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!

alice-mkh commented 10 years ago

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

ghost commented 10 years ago

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

eigengrau commented 9 years ago

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 commented 9 years ago

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