Samsung Note 3 version 4.4.4 null pointer in ViewRootImpl.setMultiWindowScale
I have a report from a user with Samsung Note 3 and Android 4.4.4. Here falls out:
SM-N900P 4.4.4 19
java.lang.NullPointerException at android.view.ViewRootImpl.setMultiWindowScale(ViewRootImpl.java:7992) at android.view.WindowManagerGlobal.setMultiWindowScale(WindowManagerGlobal.java:538) at com.android.internal.policy.impl.MultiPhoneWindow.adjustScaleFactor(MultiPhoneWindow.java:1602) at com.android.internal.policy.impl.MultiPhoneWindow.access$2300(MultiPhoneWindow.java:107) at com.android.internal.policy.impl.MultiPhoneWindow$MultiPhoneDecorView.onAttachedToWindow(MultiPhoneWindow.java:1120) at android.view.View.dispatchAttachedToWindow(View.java:13637) at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2703) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1533) at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1270) at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6686) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:813) at android.view.Choreographer.doCallbacks(Choreographer.java:613) at android.view.Choreographer.doFrame(Choreographer.java:583) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:799) at android.os.Handler.handleCallback(Handler.java:733) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:146) at android.app.ActivityThread.main(ActivityThread.java:5727) 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:1291) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1107) at dalvik.system.NativeStart.main(Native Method)
It is not in my code and I cannot reproduce it in the emulator as I cannot create an AVD with 4.4.4. With AVD 4.4.2 it works. I tried a physical phone in a store / store with version 4.4.2 and it works. However, I cannot get version 4.4.4.
- How can I create and AVD with 4.4.4?
- Why doesn't Google provide 4.4.4 AVD?
- Does anyone know how to resolve the dump?
- I can't even find line 7992 and setMultiWindowScale method in AOSP?
source to share
How can I create and AVD with 4.4.4?
Genymotion lets you emulate a Samsung Note 3 running 4.4.4.
It has plugin support for Eclipse and Android Studio, follow instructions here to install.
Why doesn't Google provide 4.4.4 AVD?
I don't know why not AVDs, but they provide binaries for 4.4.4 here , if you have access to a Nexus device you can double check / confirm that the problem is only Samsung related.
Does anyone know how to resolve the dump?
The lazy stack trace looks like an exception was thrown after your application was pinned to a multiple window and the view was scaled, or at least scaled if that NPE hadn't been thrown. Check your manifest settings with this walkthrough for multi-window support, check max and min sizes. If the emulator is not working and if you are unable to reproduce the exception, then as a last resort somehow contact that user and report them to reproduce the problem / test your solution and iterate until you fix it. Good luck!
I can't even find line 7992 and setMultiWindowScale method in AOSP?
It looks like this is very similar to Samsung's specific implementation of the android.view.ViewRootImpl class to support multiple windows and other Samsung stuff, I doubt you can find the actual source code if Samsung hasn't posted anything.
source to share