OSDN Git Service

Fix crash when no StatusBarView
authorJason Monk <jmonk@google.com>
Thu, 6 Jul 2017 19:28:17 +0000 (15:28 -0400)
committerJason Monk <jmonk@google.com>
Thu, 6 Jul 2017 19:28:17 +0000 (15:28 -0400)
Test: runtest systemui
Change-Id: Ia0a4a97f554e0b9d6e41c295e8e07d278f8ad248
Fixes: 63260821

packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java
packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarTest.java

index f6fab44..1f518a1 100644 (file)
@@ -1022,6 +1022,7 @@ public class StatusBar extends SystemUI implements DemoMode,
                     mStatusBarView.setBar(this);
                     mStatusBarView.setPanel(mNotificationPanel);
                     mStatusBarView.setScrimController(mScrimController);
+                    mStatusBarView.setBouncerShowing(mBouncerShowing);
                     setAreThereNotifications();
                     checkBarModes();
                 }).getFragmentManager()
@@ -5093,7 +5094,7 @@ public class StatusBar extends SystemUI implements DemoMode,
 
     public void setBouncerShowing(boolean bouncerShowing) {
         mBouncerShowing = bouncerShowing;
-        mStatusBarView.setBouncerShowing(bouncerShowing);
+        if (mStatusBarView != null) mStatusBarView.setBouncerShowing(bouncerShowing);
         recomputeDisableFlags(true /* animate */);
     }
 
index 17ca924..8a4983c 100644 (file)
@@ -67,6 +67,7 @@ import com.android.keyguard.KeyguardHostView.OnDismissAction;
 import com.android.systemui.SysuiTestCase;
 import com.android.systemui.recents.misc.SystemServicesProxy;
 import com.android.systemui.statusbar.ActivatableNotificationView;
+import com.android.systemui.statusbar.CommandQueue;
 import com.android.systemui.statusbar.KeyguardIndicationController;
 import com.android.systemui.statusbar.NotificationData;
 import com.android.systemui.statusbar.NotificationData.Entry;
@@ -156,6 +157,12 @@ public class StatusBarTest extends SysuiTestCase {
     }
 
     @Test
+    public void testSetBouncerShowing_noCrash() {
+        mStatusBar.mCommandQueue = mock(CommandQueue.class);
+        mStatusBar.setBouncerShowing(true);
+    }
+
+    @Test
     public void executeRunnableDismissingKeyguard_nullRunnable_showingAndOccluded() {
         when(mStatusBarKeyguardViewManager.isShowing()).thenReturn(true);
         when(mStatusBarKeyguardViewManager.isOccluded()).thenReturn(true);