Fix random systemui crashes during boot
When trying to boot android in emulator, systemui may crash due
to an uninitialized value of mNavigationBar probably because
of some race condition during initialization caused by emulation
performance issues:
08-24 16:28:43.722 1947 1947 E AndroidRuntime: FATAL EXCEPTION: main
08-24 16:28:43.722 1947 1947 E AndroidRuntime: Process: com.android.systemui, PID: 1947
08-24 16:28:43.722 1947 1947 E AndroidRuntime: java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.View android.app.Fragment.getView()' on a null object reference
08-24 16:28:43.722 1947 1947 E AndroidRuntime: at com.android.systemui.statusbar.phone.StatusBar.getNavigationBarView(StatusBar.java:4636)
08-24 16:28:43.722 1947 1947 E AndroidRuntime: at com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager.updateStates(StatusBarKeyguardViewManager.java:537)
08-24 16:28:43.722 1947 1947 E AndroidRuntime: at com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager.reset(StatusBarKeyguardViewManager.java:207)
08-24 16:28:43.722 1947 1947 E AndroidRuntime: at com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager.show(StatusBarKeyguardViewManager.java:145)
08-24 16:28:43.722 1947 1947 E AndroidRuntime: at com.android.systemui.keyguard.KeyguardViewMediator.handleShow(KeyguardViewMediator.java:1721)
08-24 16:28:43.722 1947 1947 E AndroidRuntime: at com.android.systemui.keyguard.KeyguardViewMediator.access$2900(KeyguardViewMediator.java:138)
08-24 16:28:43.722 1947 1947 E AndroidRuntime: at com.android.systemui.keyguard.KeyguardViewMediator$4.handleMessage(KeyguardViewMediator.java:1482)
08-24 16:28:43.722 1947 1947 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:105)
08-24 16:28:43.722 1947 1947 E AndroidRuntime: at android.os.Looper.loop(Looper.java:164)
08-24 16:28:43.722 1947 1947 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:6510)
08-24 16:28:43.722 1947 1947 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
08-24 16:28:43.722 1947 1947 E AndroidRuntime: at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:245)
08-24 16:28:43.722 1947 1947 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:771)
This patches adds an explicit checks for (mNavigationBar != null)
everywhere it is used.
Test: Boot ARM & MIPS emulators to homescreen.
Change-Id: I3af868b9da565c7eb6c6882f65fbda4a34d802c8
Signed-off-by: Miodrag Dinic <miodrag.dinic@imgtec.com>
Loading
Please register or sign in to comment