alice-mkh / tabletkat

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

NoSuchMethodError: com.android.systemui.statusbar.tv.TvStatusBar#getExpandedViewMaxHeight #3

Closed ToJa92 closed 10 years ago

ToJa92 commented 10 years ago

I tried getting TabletKat to run on my EVGA Tegra Note 7, which runs a near-stock version of AOSP. The only changes to it I noticed: two extra buttons are added to the navbar when the stylus is pulled out, I'm not sure if that would interfere?. Nvidia also added a quick setting tile of their own.

The issue is that TabletKat does not seem to change anything.

Here's output I collected from the log:

I/Xposed  ( 1849): TabletKatModule: Loaded SystemUI

...

I/Xposed  ( 1849): java.lang.NoSuchMethodError: com.android.systemui.statusbar.tv.TvStatusBar#getExpandedViewMaxHeight()#exact
I/Xposed  ( 1849):  at de.robv.android.xposed.XposedHelpers.findMethodExact(XposedHelpers.java:179)
I/Xposed  ( 1849):  at de.robv.android.xposed.XposedHelpers.findAndHookMethod(XposedHelpers.java:129)
I/Xposed  ( 1849):  at org.exalm.tabletkat.statusbar.tablet.TabletStatusBarMod.addHooks(TabletStatusBarMod.java:1299)
I/Xposed  ( 1849):  at org.exalm.tabletkat.TabletKatModule.handleLoadPackage(TabletKatModule.java:132)
I/Xposed  ( 1849):  at de.robv.android.xposed.IXposedHookLoadPackage$Wrapper.handleLoadPackage(IXposedHookLoadPackage.java:20)
I/Xposed  ( 1849):  at de.robv.android.xposed.callbacks.XC_LoadPackage.call(XC_LoadPackage.java:34)
I/Xposed  ( 1849):  at de.robv.android.xposed.callbacks.XCallback.callAll(XCallback.java:70)
I/Xposed  ( 1849):  at de.robv.android.xposed.XposedBridge$3.afterHookedMethod(XposedBridge.java:252)
I/Xposed  ( 1849):  at de.robv.android.xposed.XposedBridge.handleHookedMethod(XposedBridge.java:645)
I/Xposed  ( 1849):  at android.app.LoadedApk.<init>(Native Method)
I/Xposed  ( 1849):  at android.app.ActivityThread.getPackageInfo(ActivityThread.java:1647)
I/Xposed  ( 1849):  at android.app.ActivityThread.getPackageInfoNoCheck(ActivityThread.java:1615)
I/Xposed  ( 1849):  at android.app.ActivityThread.handleCreateService(ActivityThread.java:2548)
I/Xposed  ( 1849):  at android.app.ActivityThread.access$1800(ActivityThread.java:135)
I/Xposed  ( 1849):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278)
I/Xposed  ( 1849):  at android.os.Handler.dispatchMessage(Handler.java:102)
I/Xposed  ( 1849):  at android.os.Looper.loop(Looper.java:136)
I/Xposed  ( 1849):  at android.app.ActivityThread.main(ActivityThread.java:5037)
I/Xposed  ( 1849):  at java.lang.reflect.Method.invokeNative(Native Method)
I/Xposed  ( 1849):  at java.lang.reflect.Method.invoke(Method.java:515)
I/Xposed  ( 1849):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
I/Xposed  ( 1849):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
I/Xposed  ( 1849):  at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:132)
I/Xposed  ( 1849):  at dalvik.system.NativeStart.main(Native Method)
I/Xposed  ( 1849): TabletKatModule: Replacing SystemUI resources
alice-mkh commented 10 years ago

Exactly as in #1 now. I won't close this, since it's not CM, however. IDK, this method is present for me. :D Try this build: https://dl.dropboxusercontent.com/u/36782044/tabletkat-cm-test2.apk Does it work now?

ToJa92 commented 10 years ago

Now the systemui crashes, and setGravity can't be found according to the log.

I/Xposed  ( 1546): TabletKatModule: Loaded SystemUI

...

I/Xposed  ( 1546): TabletKatModule: Replacing SystemUI resources

...

D/TabletKatModule( 1546): createStatusBarFromConfig

I/StatusBarManagerService( 1118): registerStatusBar bar=com.android.internal.statusbar.IStatusBar$Stub$Proxy@41e11fc8

...

D/TabletKatModule( 1546): started TvStatusBar

...

E/AndroidRuntime( 1546): FATAL EXCEPTION: main
E/AndroidRuntime( 1546): Process: com.android.systemui, PID: 1546
E/AndroidRuntime( 1546): java.lang.NoSuchMethodError: com.android.systemui.ExpandHelper#setGravity(java.lang.Integer)#bestmatch
E/AndroidRuntime( 1546):    at de.robv.android.xposed.XposedHelpers.findMethodBestMatch(XposedHelpers.java:271)
E/AndroidRuntime( 1546):    at de.robv.android.xposed.XposedHelpers.findMethodBestMatch(XposedHelpers.java:284)
E/AndroidRuntime( 1546):    at de.robv.android.xposed.XposedHelpers.callMethod(XposedHelpers.java:947)
E/AndroidRuntime( 1546):    at org.exalm.tabletkat.statusbar.tablet.NotificationPanel.onAttachedToWindow(NotificationPanel.java:144)
E/AndroidRuntime( 1546):    at android.view.View.dispatchAttachedToWindow(View.java:12585)
E/AndroidRuntime( 1546):    at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2458)
E/AndroidRuntime( 1546):    at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1310)
E/AndroidRuntime( 1546):    at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1093)
E/AndroidRuntime( 1546):    at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5805)
E/AndroidRuntime( 1546):    at android.view.Choreographer$CallbackRecord.run(Choreographer.java:774)
E/AndroidRuntime( 1546):    at android.view.Choreographer.doCallbacks(Choreographer.java:587)
E/AndroidRuntime( 1546):    at android.view.Choreographer.doFrame(Choreographer.java:550)
E/AndroidRuntime( 1546):    at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:760)
E/AndroidRuntime( 1546):    at android.os.Handler.handleCallback(Handler.java:733)
E/AndroidRuntime( 1546):    at android.os.Handler.dispatchMessage(Handler.java:95)
E/AndroidRuntime( 1546):    at android.os.Looper.loop(Looper.java:136)
E/AndroidRuntime( 1546):    at android.app.ActivityThread.main(ActivityThread.java:5037)
E/AndroidRuntime( 1546):    at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime( 1546):    at java.lang.reflect.Method.invoke(Method.java:515)
E/AndroidRuntime( 1546):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
E/AndroidRuntime( 1546):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
E/AndroidRuntime( 1546):    at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:132)
E/AndroidRuntime( 1546):    at dalvik.system.NativeStart.main(Native Method)
alice-mkh commented 10 years ago

Ok, your SystemUI.apk? This is getting weird. The method is present in AOSP source tree and in the SystemUI of the ROM I use. I wonder why it isn't in your one.

alice-mkh commented 10 years ago

Fixed this too. https://dl.dropboxusercontent.com/u/36782044/tabletkat-cm-test3.apk What next? :D

ToJa92 commented 10 years ago

Now it starts properly according to the log, but nothing changes at all. Very confusing. :)

Here's my SystemUI.apk: https://dl.dropboxusercontent.com/u/1830503/SystemUI.apk

alice-mkh commented 10 years ago

Is Tablet UI enabled in the options? If it is, and still nothing happens, it doesn't start properly, so I'd still like to see the log. :) Update: The apk above doesn't have the code. Anyway, the log would be more useful, I think.

ToJa92 commented 10 years ago

After toggling off two Xposed modules (NlpUnbounce and XQuietHours) and rebooting, it works! :D

After this I enabled the modules again and it still works. Maybe it was something temporary.

I had to use your cm-test3 version.

Thanks for your help!

alice-mkh commented 10 years ago

Closed and then reopened... So, does it still work? If it does, closing is ok. The fixes will be in the next version.

ToJa92 commented 10 years ago

Tapping the home button crashes the SystemUI as well, here's part of the log (do tell me if you want the entire log):

E/InputEventReceiver( 4333): Exception dispatching input event.
E/MessageQueue-JNI( 4333): Exception in MessageQueue callback: handleReceiveCallback
E/MessageQueue-JNI( 4333): java.lang.NoSuchMethodError: com.android.systemui.statusbar.tv.TvStatusBar#inKeyguardRestrictedInputMode()#bestmatch
E/MessageQueue-JNI( 4333):  at de.robv.android.xposed.XposedHelpers.findMethodBestMatch(XposedHelpers.java:271)
E/MessageQueue-JNI( 4333):  at de.robv.android.xposed.XposedHelpers.findMethodBestMatch(XposedHelpers.java:284)
E/MessageQueue-JNI( 4333):  at de.robv.android.xposed.XposedHelpers.callMethod(XposedHelpers.java:947)
E/MessageQueue-JNI( 4333):  at org.exalm.tabletkat.statusbar.BaseStatusBarMod.inKeyguardRestrictedInputMode(BaseStatusBarMod.java:281)
E/MessageQueue-JNI( 4333):  at org.exalm.tabletkat.statusbar.tablet.TabletStatusBarMod.access$200(TabletStatusBarMod.java:98)
E/MessageQueue-JNI( 4333):  at org.exalm.tabletkat.statusbar.tablet.TabletStatusBarMod$2.onTouch(TabletStatusBarMod.java:281)
E/MessageQueue-JNI( 4333):  at android.view.View.dispatchTouchEvent(View.java:7701)
E/MessageQueue-JNI( 4333):  at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2216)
E/MessageQueue-JNI( 4333):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1917)
E/MessageQueue-JNI( 4333):  at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2216)
E/MessageQueue-JNI( 4333):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1917)
E/MessageQueue-JNI( 4333):  at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2216)
E/MessageQueue-JNI( 4333):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1917)
E/MessageQueue-JNI( 4333):  at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2216)
E/MessageQueue-JNI( 4333):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1917)
E/MessageQueue-JNI( 4333):  at android.view.View.dispatchPointerEvent(View.java:7886)
E/MessageQueue-JNI( 4333):  at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:4072)
E/MessageQueue-JNI( 4333):  at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:3951)
E/MessageQueue-JNI( 4333):  at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3517)
E/MessageQueue-JNI( 4333):  at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3567)
E/MessageQueue-JNI( 4333):  at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3536)
E/MessageQueue-JNI( 4333):  at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:3643)
E/MessageQueue-JNI( 4333):  at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3544)
E/MessageQueue-JNI( 4333):  at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:3700)
E/MessageQueue-JNI( 4333):  at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3517)
E/MessageQueue-JNI( 4333):  at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3567)
E/MessageQueue-JNI( 4333):  at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3536)
E/MessageQueue-JNI( 4333):  at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3544)
E/MessageQueue-JNI( 4333):  at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3517)
E/MessageQueue-JNI( 4333):  at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:5737)
E/MessageQueue-JNI( 4333):  at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:5717)
E/MessageQueue-JNI( 4333):  at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:5688)
E/MessageQueue-JNI( 4333):  at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:5817)
E/MessageQueue-JNI( 4333):  at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:185)
E/MessageQueue-JNI( 4333):  at android.os.MessageQueue.nativePollOnce(Native Method)
E/MessageQueue-JNI( 4333):  at android.os.MessageQueue.next(MessageQueue.java:138)
E/MessageQueue-JNI( 4333):  at android.os.Looper.loop(Looper.java:123)
E/MessageQueue-JNI( 4333):  at android.app.ActivityThread.main(ActivityThread.java:5037)
E/MessageQueue-JNI( 4333):  at java.lang.reflect.Method.invokeNative(Native Method)
E/MessageQueue-JNI( 4333):  at java.lang.reflect.Method.invoke(Method.java:515)
E/MessageQueue-JNI( 4333):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
E/MessageQueue-JNI( 4333):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
E/MessageQueue-JNI( 4333):  at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:132)
E/MessageQueue-JNI( 4333):  at dalvik.system.NativeStart.main(Native Method)
alice-mkh commented 10 years ago

https://dl.dropboxusercontent.com/u/36782044/tabletkat-cm-test4.apk Fixed as well... Edit: https://dl.dropboxusercontent.com/u/36782044/tabletkat-cm-test5.apk

ToJa92 commented 10 years ago

cm-test4 works for me. :D

cm-test5 works great as well.

alice-mkh commented 10 years ago

Ok. If there are other problems, feel free to reopen this.