Loading core/java/android/app/StatusBarManager.java +5 −2 Original line number Original line Diff line number Diff line Loading @@ -72,13 +72,16 @@ public class StatusBarManager { */ */ public static final int DISABLE2_QUICK_SETTINGS = 1; public static final int DISABLE2_QUICK_SETTINGS = 1; public static final int DISABLE2_SYSTEM_ICONS = 1 << 1; public static final int DISABLE2_SYSTEM_ICONS = 1 << 1; public static final int DISABLE2_NOTIFICATION_SHADE = 1 << 2; public static final int DISABLE2_NONE = 0x00000000; public static final int DISABLE2_NONE = 0x00000000; public static final int DISABLE2_MASK = DISABLE2_QUICK_SETTINGS | DISABLE2_SYSTEM_ICONS; public static final int DISABLE2_MASK = DISABLE2_QUICK_SETTINGS | DISABLE2_SYSTEM_ICONS | DISABLE2_NOTIFICATION_SHADE; @IntDef(flag = true, @IntDef(flag = true, value = {DISABLE2_NONE, DISABLE2_MASK, DISABLE2_QUICK_SETTINGS, DISABLE2_SYSTEM_ICONS}) value = {DISABLE2_NONE, DISABLE2_MASK, DISABLE2_QUICK_SETTINGS, DISABLE2_SYSTEM_ICONS, DISABLE2_NOTIFICATION_SHADE}) @Retention(RetentionPolicy.SOURCE) @Retention(RetentionPolicy.SOURCE) public @interface Disable2Flags {} public @interface Disable2Flags {} Loading packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java +1 −1 Original line number Original line Diff line number Diff line Loading @@ -667,7 +667,7 @@ public class NotificationPanelView extends PanelView implements return false; return false; } } initDownStates(event); initDownStates(event); if (mHeadsUpTouchHelper.onInterceptTouchEvent(event)) { if (mBar.panelEnabled() && mHeadsUpTouchHelper.onInterceptTouchEvent(event)) { mIsExpansionFromHeadsUp = true; mIsExpansionFromHeadsUp = true; MetricsLogger.count(mContext, COUNTER_PANEL_OPEN, 1); MetricsLogger.count(mContext, COUNTER_PANEL_OPEN, 1); MetricsLogger.count(mContext, COUNTER_PANEL_OPEN_PEEK, 1); MetricsLogger.count(mContext, COUNTER_PANEL_OPEN_PEEK, 1); Loading packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java +24 −2 Original line number Original line Diff line number Diff line Loading @@ -479,7 +479,8 @@ public class StatusBar extends SystemUI implements DemoMode, private final MetricsLogger mMetricsLogger = Dependency.get(MetricsLogger.class); private final MetricsLogger mMetricsLogger = Dependency.get(MetricsLogger.class); // ensure quick settings is disabled until the current user makes it through the setup wizard // ensure quick settings is disabled until the current user makes it through the setup wizard private boolean mUserSetup = false; @VisibleForTesting protected boolean mUserSetup = false; private final DeviceProvisionedListener mUserSetupObserver = new DeviceProvisionedListener() { private final DeviceProvisionedListener mUserSetupObserver = new DeviceProvisionedListener() { @Override @Override public void onUserSetupChanged() { public void onUserSetupChanged() { Loading Loading @@ -1978,6 +1979,7 @@ public class StatusBar extends SystemUI implements DemoMode, mNotificationPanel.setQsExpansionEnabled(isDeviceProvisioned() mNotificationPanel.setQsExpansionEnabled(isDeviceProvisioned() && (mUserSetup || mUserSwitcherController == null && (mUserSetup || mUserSwitcherController == null || !mUserSwitcherController.isSimpleUserSwitcher()) || !mUserSwitcherController.isSimpleUserSwitcher()) && ((mDisabled2 & StatusBarManager.DISABLE2_NOTIFICATION_SHADE) == 0) && ((mDisabled2 & StatusBarManager.DISABLE2_QUICK_SETTINGS) == 0) && ((mDisabled2 & StatusBarManager.DISABLE2_QUICK_SETTINGS) == 0) && !mDozing && !mDozing && !ONLY_CORE_APPS); && !ONLY_CORE_APPS); Loading Loading @@ -2533,6 +2535,8 @@ public class StatusBar extends SystemUI implements DemoMode, flagdbg.append(0 != ((diff2 & StatusBarManager.DISABLE2_QUICK_SETTINGS)) ? '!' : ' '); flagdbg.append(0 != ((diff2 & StatusBarManager.DISABLE2_QUICK_SETTINGS)) ? '!' : ' '); flagdbg.append(0 != ((state2 & StatusBarManager.DISABLE2_SYSTEM_ICONS)) ? 'I' : 'i'); flagdbg.append(0 != ((state2 & StatusBarManager.DISABLE2_SYSTEM_ICONS)) ? 'I' : 'i'); flagdbg.append(0 != ((diff2 & StatusBarManager.DISABLE2_SYSTEM_ICONS)) ? '!' : ' '); flagdbg.append(0 != ((diff2 & StatusBarManager.DISABLE2_SYSTEM_ICONS)) ? '!' : ' '); flagdbg.append(0 != ((state2 & StatusBarManager.DISABLE2_NOTIFICATION_SHADE)) ? 'N' : 'n'); flagdbg.append(0 != ((diff2 & StatusBarManager.DISABLE2_NOTIFICATION_SHADE)) ? '!' : ' '); flagdbg.append('>'); flagdbg.append('>'); Log.d(TAG, flagdbg.toString()); Log.d(TAG, flagdbg.toString()); Loading @@ -2559,6 +2563,13 @@ public class StatusBar extends SystemUI implements DemoMode, if ((diff2 & StatusBarManager.DISABLE2_QUICK_SETTINGS) != 0) { if ((diff2 & StatusBarManager.DISABLE2_QUICK_SETTINGS) != 0) { updateQsExpansionEnabled(); updateQsExpansionEnabled(); } } if ((diff2 & StatusBarManager.DISABLE2_NOTIFICATION_SHADE) != 0) { updateQsExpansionEnabled(); if ((state1 & StatusBarManager.DISABLE2_NOTIFICATION_SHADE) != 0) { animateCollapsePanels(); } } } } /** /** Loading Loading @@ -2915,7 +2926,9 @@ public class StatusBar extends SystemUI implements DemoMode, } } boolean panelsEnabled() { boolean panelsEnabled() { return (mDisabled1 & StatusBarManager.DISABLE_EXPAND) == 0 && !ONLY_CORE_APPS; return (mDisabled1 & StatusBarManager.DISABLE_EXPAND) == 0 && (mDisabled2 & StatusBarManager.DISABLE2_NOTIFICATION_SHADE) == 0 && !ONLY_CORE_APPS; } } void makeExpandedVisible(boolean force) { void makeExpandedVisible(boolean force) { Loading Loading @@ -4844,6 +4857,10 @@ public class StatusBar extends SystemUI implements DemoMode, * @param expandView The view to expand after going to the shade. * @param expandView The view to expand after going to the shade. */ */ public void goToLockedShade(View expandView) { public void goToLockedShade(View expandView) { if ((mDisabled2 & StatusBarManager.DISABLE2_NOTIFICATION_SHADE) != 0) { return; } int userId = mCurrentUserId; int userId = mCurrentUserId; ExpandableNotificationRow row = null; ExpandableNotificationRow row = null; if (expandView instanceof ExpandableNotificationRow) { if (expandView instanceof ExpandableNotificationRow) { Loading Loading @@ -5732,6 +5749,11 @@ public class StatusBar extends SystemUI implements DemoMode, } } private boolean handleRemoteInput(View view, PendingIntent pendingIntent) { private boolean handleRemoteInput(View view, PendingIntent pendingIntent) { if ((mDisabled2 & StatusBarManager.DISABLE2_NOTIFICATION_SHADE) != 0) { // Skip remote input as doing so will expand the notification shade. return true; } Object tag = view.getTag(com.android.internal.R.id.remote_input_tag); Object tag = view.getTag(com.android.internal.R.id.remote_input_tag); RemoteInput[] inputs = null; RemoteInput[] inputs = null; if (tag instanceof RemoteInput[]) { if (tag instanceof RemoteInput[]) { Loading packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarTest.java +27 −6 Original line number Original line Diff line number Diff line Loading @@ -34,8 +34,8 @@ import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import static org.mockito.Mockito.when; import android.app.Notification; import android.app.Notification; import android.app.StatusBarManager; import android.app.trust.TrustManager; import android.app.trust.TrustManager; import android.content.Context; import android.hardware.fingerprint.FingerprintManager; import android.hardware.fingerprint.FingerprintManager; import android.metrics.LogMaker; import android.metrics.LogMaker; import android.os.Binder; import android.os.Binder; Loading @@ -50,21 +50,17 @@ import android.service.notification.StatusBarNotification; import android.support.test.filters.SmallTest; import android.support.test.filters.SmallTest; import android.support.test.metricshelper.MetricsAsserts; import android.support.test.metricshelper.MetricsAsserts; import android.testing.AndroidTestingRunner; import android.testing.AndroidTestingRunner; import android.testing.LayoutInflaterBuilder; import android.testing.TestableLooper; import android.testing.TestableLooper; import android.testing.TestableLooper.MessageHandler; import android.testing.TestableLooper.MessageHandler; import android.testing.TestableLooper.RunWithLooper; import android.testing.TestableLooper.RunWithLooper; import android.util.DisplayMetrics; import android.util.DisplayMetrics; import android.view.View; import android.view.ViewGroup.LayoutParams; import android.view.ViewGroup.LayoutParams; import android.widget.FrameLayout; import com.android.internal.logging.MetricsLogger; import com.android.internal.logging.MetricsLogger; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import com.android.internal.logging.testing.FakeMetricsLogger; import com.android.internal.logging.testing.FakeMetricsLogger; import com.android.internal.statusbar.IStatusBarService; import com.android.internal.statusbar.IStatusBarService; import com.android.keyguard.KeyguardHostView.OnDismissAction; import com.android.keyguard.KeyguardHostView.OnDismissAction; import com.android.keyguard.KeyguardStatusView; import com.android.systemui.R; import com.android.systemui.R; import com.android.systemui.SysuiTestCase; import com.android.systemui.SysuiTestCase; import com.android.systemui.assist.AssistManager; import com.android.systemui.assist.AssistManager; Loading @@ -76,7 +72,6 @@ import com.android.systemui.statusbar.KeyguardIndicationController; import com.android.systemui.statusbar.NotificationData; import com.android.systemui.statusbar.NotificationData; import com.android.systemui.statusbar.NotificationData.Entry; import com.android.systemui.statusbar.NotificationData.Entry; import com.android.systemui.statusbar.StatusBarState; import com.android.systemui.statusbar.StatusBarState; import com.android.systemui.statusbar.policy.DateView; import com.android.systemui.statusbar.policy.DeviceProvisionedController; import com.android.systemui.statusbar.policy.DeviceProvisionedController; import com.android.systemui.statusbar.policy.HeadsUpManager; import com.android.systemui.statusbar.policy.HeadsUpManager; import com.android.systemui.statusbar.policy.KeyguardMonitor; import com.android.systemui.statusbar.policy.KeyguardMonitor; Loading Loading @@ -495,6 +490,28 @@ public class StatusBarTest extends SysuiTestCase { TestableLooper.get(this).processAllMessages(); TestableLooper.get(this).processAllMessages(); } } @Test public void testDisableExpandStatusBar() { mStatusBar.setBarStateForTest(StatusBarState.SHADE); mStatusBar.setUserSetupForTest(true); when(mStatusBar.isDeviceProvisioned()).thenReturn(true); mStatusBar.disable(StatusBarManager.DISABLE_NONE, StatusBarManager.DISABLE2_NOTIFICATION_SHADE, false); verify(mNotificationPanelView).setQsExpansionEnabled(false); mStatusBar.animateExpandNotificationsPanel(); verify(mNotificationPanelView, never()).expand(anyBoolean()); mStatusBar.animateExpandSettingsPanel(null); verify(mNotificationPanelView, never()).expand(anyBoolean()); mStatusBar.disable(StatusBarManager.DISABLE_NONE, StatusBarManager.DISABLE2_NONE, false); verify(mNotificationPanelView).setQsExpansionEnabled(true); mStatusBar.animateExpandNotificationsPanel(); verify(mNotificationPanelView).expand(anyBoolean()); mStatusBar.animateExpandSettingsPanel(null); verify(mNotificationPanelView).expand(anyBoolean()); } @Test @Test public void testDump_DoesNotCrash() { public void testDump_DoesNotCrash() { mStatusBar.dump(null, new PrintWriter(new ByteArrayOutputStream()), null); mStatusBar.dump(null, new PrintWriter(new ByteArrayOutputStream()), null); Loading Loading @@ -546,5 +563,9 @@ public class StatusBarTest extends SysuiTestCase { public void setBarStateForTest(int state) { public void setBarStateForTest(int state) { mState = state; mState = state; } } public void setUserSetupForTest(boolean userSetup) { mUserSetup = userSetup; } } } } } No newline at end of file services/core/java/com/android/server/statusbar/StatusBarManagerService.java +1 −1 Original line number Original line Diff line number Diff line Loading @@ -529,7 +529,7 @@ public class StatusBarManagerService extends IStatusBarService.Stub { */ */ @Override @Override public void disable2ForUser(int what, IBinder token, String pkg, int userId) { public void disable2ForUser(int what, IBinder token, String pkg, int userId) { enforceStatusBar(); enforceStatusBarService(); synchronized (mLock) { synchronized (mLock) { disableLocked(userId, what, token, pkg, 2); disableLocked(userId, what, token, pkg, 2); Loading Loading
core/java/android/app/StatusBarManager.java +5 −2 Original line number Original line Diff line number Diff line Loading @@ -72,13 +72,16 @@ public class StatusBarManager { */ */ public static final int DISABLE2_QUICK_SETTINGS = 1; public static final int DISABLE2_QUICK_SETTINGS = 1; public static final int DISABLE2_SYSTEM_ICONS = 1 << 1; public static final int DISABLE2_SYSTEM_ICONS = 1 << 1; public static final int DISABLE2_NOTIFICATION_SHADE = 1 << 2; public static final int DISABLE2_NONE = 0x00000000; public static final int DISABLE2_NONE = 0x00000000; public static final int DISABLE2_MASK = DISABLE2_QUICK_SETTINGS | DISABLE2_SYSTEM_ICONS; public static final int DISABLE2_MASK = DISABLE2_QUICK_SETTINGS | DISABLE2_SYSTEM_ICONS | DISABLE2_NOTIFICATION_SHADE; @IntDef(flag = true, @IntDef(flag = true, value = {DISABLE2_NONE, DISABLE2_MASK, DISABLE2_QUICK_SETTINGS, DISABLE2_SYSTEM_ICONS}) value = {DISABLE2_NONE, DISABLE2_MASK, DISABLE2_QUICK_SETTINGS, DISABLE2_SYSTEM_ICONS, DISABLE2_NOTIFICATION_SHADE}) @Retention(RetentionPolicy.SOURCE) @Retention(RetentionPolicy.SOURCE) public @interface Disable2Flags {} public @interface Disable2Flags {} Loading
packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java +1 −1 Original line number Original line Diff line number Diff line Loading @@ -667,7 +667,7 @@ public class NotificationPanelView extends PanelView implements return false; return false; } } initDownStates(event); initDownStates(event); if (mHeadsUpTouchHelper.onInterceptTouchEvent(event)) { if (mBar.panelEnabled() && mHeadsUpTouchHelper.onInterceptTouchEvent(event)) { mIsExpansionFromHeadsUp = true; mIsExpansionFromHeadsUp = true; MetricsLogger.count(mContext, COUNTER_PANEL_OPEN, 1); MetricsLogger.count(mContext, COUNTER_PANEL_OPEN, 1); MetricsLogger.count(mContext, COUNTER_PANEL_OPEN_PEEK, 1); MetricsLogger.count(mContext, COUNTER_PANEL_OPEN_PEEK, 1); Loading
packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java +24 −2 Original line number Original line Diff line number Diff line Loading @@ -479,7 +479,8 @@ public class StatusBar extends SystemUI implements DemoMode, private final MetricsLogger mMetricsLogger = Dependency.get(MetricsLogger.class); private final MetricsLogger mMetricsLogger = Dependency.get(MetricsLogger.class); // ensure quick settings is disabled until the current user makes it through the setup wizard // ensure quick settings is disabled until the current user makes it through the setup wizard private boolean mUserSetup = false; @VisibleForTesting protected boolean mUserSetup = false; private final DeviceProvisionedListener mUserSetupObserver = new DeviceProvisionedListener() { private final DeviceProvisionedListener mUserSetupObserver = new DeviceProvisionedListener() { @Override @Override public void onUserSetupChanged() { public void onUserSetupChanged() { Loading Loading @@ -1978,6 +1979,7 @@ public class StatusBar extends SystemUI implements DemoMode, mNotificationPanel.setQsExpansionEnabled(isDeviceProvisioned() mNotificationPanel.setQsExpansionEnabled(isDeviceProvisioned() && (mUserSetup || mUserSwitcherController == null && (mUserSetup || mUserSwitcherController == null || !mUserSwitcherController.isSimpleUserSwitcher()) || !mUserSwitcherController.isSimpleUserSwitcher()) && ((mDisabled2 & StatusBarManager.DISABLE2_NOTIFICATION_SHADE) == 0) && ((mDisabled2 & StatusBarManager.DISABLE2_QUICK_SETTINGS) == 0) && ((mDisabled2 & StatusBarManager.DISABLE2_QUICK_SETTINGS) == 0) && !mDozing && !mDozing && !ONLY_CORE_APPS); && !ONLY_CORE_APPS); Loading Loading @@ -2533,6 +2535,8 @@ public class StatusBar extends SystemUI implements DemoMode, flagdbg.append(0 != ((diff2 & StatusBarManager.DISABLE2_QUICK_SETTINGS)) ? '!' : ' '); flagdbg.append(0 != ((diff2 & StatusBarManager.DISABLE2_QUICK_SETTINGS)) ? '!' : ' '); flagdbg.append(0 != ((state2 & StatusBarManager.DISABLE2_SYSTEM_ICONS)) ? 'I' : 'i'); flagdbg.append(0 != ((state2 & StatusBarManager.DISABLE2_SYSTEM_ICONS)) ? 'I' : 'i'); flagdbg.append(0 != ((diff2 & StatusBarManager.DISABLE2_SYSTEM_ICONS)) ? '!' : ' '); flagdbg.append(0 != ((diff2 & StatusBarManager.DISABLE2_SYSTEM_ICONS)) ? '!' : ' '); flagdbg.append(0 != ((state2 & StatusBarManager.DISABLE2_NOTIFICATION_SHADE)) ? 'N' : 'n'); flagdbg.append(0 != ((diff2 & StatusBarManager.DISABLE2_NOTIFICATION_SHADE)) ? '!' : ' '); flagdbg.append('>'); flagdbg.append('>'); Log.d(TAG, flagdbg.toString()); Log.d(TAG, flagdbg.toString()); Loading @@ -2559,6 +2563,13 @@ public class StatusBar extends SystemUI implements DemoMode, if ((diff2 & StatusBarManager.DISABLE2_QUICK_SETTINGS) != 0) { if ((diff2 & StatusBarManager.DISABLE2_QUICK_SETTINGS) != 0) { updateQsExpansionEnabled(); updateQsExpansionEnabled(); } } if ((diff2 & StatusBarManager.DISABLE2_NOTIFICATION_SHADE) != 0) { updateQsExpansionEnabled(); if ((state1 & StatusBarManager.DISABLE2_NOTIFICATION_SHADE) != 0) { animateCollapsePanels(); } } } } /** /** Loading Loading @@ -2915,7 +2926,9 @@ public class StatusBar extends SystemUI implements DemoMode, } } boolean panelsEnabled() { boolean panelsEnabled() { return (mDisabled1 & StatusBarManager.DISABLE_EXPAND) == 0 && !ONLY_CORE_APPS; return (mDisabled1 & StatusBarManager.DISABLE_EXPAND) == 0 && (mDisabled2 & StatusBarManager.DISABLE2_NOTIFICATION_SHADE) == 0 && !ONLY_CORE_APPS; } } void makeExpandedVisible(boolean force) { void makeExpandedVisible(boolean force) { Loading Loading @@ -4844,6 +4857,10 @@ public class StatusBar extends SystemUI implements DemoMode, * @param expandView The view to expand after going to the shade. * @param expandView The view to expand after going to the shade. */ */ public void goToLockedShade(View expandView) { public void goToLockedShade(View expandView) { if ((mDisabled2 & StatusBarManager.DISABLE2_NOTIFICATION_SHADE) != 0) { return; } int userId = mCurrentUserId; int userId = mCurrentUserId; ExpandableNotificationRow row = null; ExpandableNotificationRow row = null; if (expandView instanceof ExpandableNotificationRow) { if (expandView instanceof ExpandableNotificationRow) { Loading Loading @@ -5732,6 +5749,11 @@ public class StatusBar extends SystemUI implements DemoMode, } } private boolean handleRemoteInput(View view, PendingIntent pendingIntent) { private boolean handleRemoteInput(View view, PendingIntent pendingIntent) { if ((mDisabled2 & StatusBarManager.DISABLE2_NOTIFICATION_SHADE) != 0) { // Skip remote input as doing so will expand the notification shade. return true; } Object tag = view.getTag(com.android.internal.R.id.remote_input_tag); Object tag = view.getTag(com.android.internal.R.id.remote_input_tag); RemoteInput[] inputs = null; RemoteInput[] inputs = null; if (tag instanceof RemoteInput[]) { if (tag instanceof RemoteInput[]) { Loading
packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarTest.java +27 −6 Original line number Original line Diff line number Diff line Loading @@ -34,8 +34,8 @@ import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import static org.mockito.Mockito.when; import android.app.Notification; import android.app.Notification; import android.app.StatusBarManager; import android.app.trust.TrustManager; import android.app.trust.TrustManager; import android.content.Context; import android.hardware.fingerprint.FingerprintManager; import android.hardware.fingerprint.FingerprintManager; import android.metrics.LogMaker; import android.metrics.LogMaker; import android.os.Binder; import android.os.Binder; Loading @@ -50,21 +50,17 @@ import android.service.notification.StatusBarNotification; import android.support.test.filters.SmallTest; import android.support.test.filters.SmallTest; import android.support.test.metricshelper.MetricsAsserts; import android.support.test.metricshelper.MetricsAsserts; import android.testing.AndroidTestingRunner; import android.testing.AndroidTestingRunner; import android.testing.LayoutInflaterBuilder; import android.testing.TestableLooper; import android.testing.TestableLooper; import android.testing.TestableLooper.MessageHandler; import android.testing.TestableLooper.MessageHandler; import android.testing.TestableLooper.RunWithLooper; import android.testing.TestableLooper.RunWithLooper; import android.util.DisplayMetrics; import android.util.DisplayMetrics; import android.view.View; import android.view.ViewGroup.LayoutParams; import android.view.ViewGroup.LayoutParams; import android.widget.FrameLayout; import com.android.internal.logging.MetricsLogger; import com.android.internal.logging.MetricsLogger; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import com.android.internal.logging.testing.FakeMetricsLogger; import com.android.internal.logging.testing.FakeMetricsLogger; import com.android.internal.statusbar.IStatusBarService; import com.android.internal.statusbar.IStatusBarService; import com.android.keyguard.KeyguardHostView.OnDismissAction; import com.android.keyguard.KeyguardHostView.OnDismissAction; import com.android.keyguard.KeyguardStatusView; import com.android.systemui.R; import com.android.systemui.R; import com.android.systemui.SysuiTestCase; import com.android.systemui.SysuiTestCase; import com.android.systemui.assist.AssistManager; import com.android.systemui.assist.AssistManager; Loading @@ -76,7 +72,6 @@ import com.android.systemui.statusbar.KeyguardIndicationController; import com.android.systemui.statusbar.NotificationData; import com.android.systemui.statusbar.NotificationData; import com.android.systemui.statusbar.NotificationData.Entry; import com.android.systemui.statusbar.NotificationData.Entry; import com.android.systemui.statusbar.StatusBarState; import com.android.systemui.statusbar.StatusBarState; import com.android.systemui.statusbar.policy.DateView; import com.android.systemui.statusbar.policy.DeviceProvisionedController; import com.android.systemui.statusbar.policy.DeviceProvisionedController; import com.android.systemui.statusbar.policy.HeadsUpManager; import com.android.systemui.statusbar.policy.HeadsUpManager; import com.android.systemui.statusbar.policy.KeyguardMonitor; import com.android.systemui.statusbar.policy.KeyguardMonitor; Loading Loading @@ -495,6 +490,28 @@ public class StatusBarTest extends SysuiTestCase { TestableLooper.get(this).processAllMessages(); TestableLooper.get(this).processAllMessages(); } } @Test public void testDisableExpandStatusBar() { mStatusBar.setBarStateForTest(StatusBarState.SHADE); mStatusBar.setUserSetupForTest(true); when(mStatusBar.isDeviceProvisioned()).thenReturn(true); mStatusBar.disable(StatusBarManager.DISABLE_NONE, StatusBarManager.DISABLE2_NOTIFICATION_SHADE, false); verify(mNotificationPanelView).setQsExpansionEnabled(false); mStatusBar.animateExpandNotificationsPanel(); verify(mNotificationPanelView, never()).expand(anyBoolean()); mStatusBar.animateExpandSettingsPanel(null); verify(mNotificationPanelView, never()).expand(anyBoolean()); mStatusBar.disable(StatusBarManager.DISABLE_NONE, StatusBarManager.DISABLE2_NONE, false); verify(mNotificationPanelView).setQsExpansionEnabled(true); mStatusBar.animateExpandNotificationsPanel(); verify(mNotificationPanelView).expand(anyBoolean()); mStatusBar.animateExpandSettingsPanel(null); verify(mNotificationPanelView).expand(anyBoolean()); } @Test @Test public void testDump_DoesNotCrash() { public void testDump_DoesNotCrash() { mStatusBar.dump(null, new PrintWriter(new ByteArrayOutputStream()), null); mStatusBar.dump(null, new PrintWriter(new ByteArrayOutputStream()), null); Loading Loading @@ -546,5 +563,9 @@ public class StatusBarTest extends SysuiTestCase { public void setBarStateForTest(int state) { public void setBarStateForTest(int state) { mState = state; mState = state; } } public void setUserSetupForTest(boolean userSetup) { mUserSetup = userSetup; } } } } } No newline at end of file
services/core/java/com/android/server/statusbar/StatusBarManagerService.java +1 −1 Original line number Original line Diff line number Diff line Loading @@ -529,7 +529,7 @@ public class StatusBarManagerService extends IStatusBarService.Stub { */ */ @Override @Override public void disable2ForUser(int what, IBinder token, String pkg, int userId) { public void disable2ForUser(int what, IBinder token, String pkg, int userId) { enforceStatusBar(); enforceStatusBarService(); synchronized (mLock) { synchronized (mLock) { disableLocked(userId, what, token, pkg, 2); disableLocked(userId, what, token, pkg, 2); Loading