Split status bar window (1/N)
This is the first step to create another new window for status bar.
Small window => TYPE_STATUS_BAR: The bar on top of screen.
Large window => TYPE_NOTIFICATION_SHADE: Anything else.
Bug: 136993073
Test: build then flash
Test: atest WmTests SystemUITests
Test: atest RegisterStatusBarResultTest InsetsFlagsTest
Manual Test:
- Bouncer can show when leave showWhenLocked activity.
- StatusBar can show when comes HUN in fullscreen mode.
- StatusBar can play enter/leave animation in fullscreen mode.
- Able to drag notification panel when bubble/glow existing.
- Switch to market launcher, and run above tests.
- Drag notification panel from launcher several times and observe it
works fine.
Change-Id: Id9f72cd0e21f01b50d57f02ea60f97c6460926b7
diff --git a/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsDialog.java b/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsDialog.java
index c138462..36a4a10 100644
--- a/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsDialog.java
+++ b/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsDialog.java
@@ -97,8 +97,8 @@
import com.android.systemui.plugins.ActivityStarter;
import com.android.systemui.plugins.GlobalActions.GlobalActionsManager;
import com.android.systemui.plugins.GlobalActionsPanelPlugin;
+import com.android.systemui.statusbar.phone.NotificationShadeWindowController;
import com.android.systemui.statusbar.phone.ScrimController;
-import com.android.systemui.statusbar.phone.StatusBarWindowController;
import com.android.systemui.statusbar.policy.ConfigurationController;
import com.android.systemui.statusbar.policy.KeyguardStateController;
import com.android.systemui.util.EmergencyDialerConstants;
@@ -1528,7 +1528,7 @@
private float mScrimAlpha;
private ResetOrientationData mResetOrientationData;
private boolean mHadTopUi;
- private final StatusBarWindowController mStatusBarWindowController;
+ private final NotificationShadeWindowController mNotificationShadeWindowController;
private boolean mControlsEnabled;
ActionsDialog(Context context, MyAdapter adapter,
@@ -1539,7 +1539,8 @@
mAdapter = adapter;
mColorExtractor = Dependency.get(SysuiColorExtractor.class);
mStatusBarService = Dependency.get(IStatusBarService.class);
- mStatusBarWindowController = Dependency.get(StatusBarWindowController.class);
+ mNotificationShadeWindowController =
+ Dependency.get(NotificationShadeWindowController.class);
mControlsEnabled = controlsEnabled;
// Window initialization
@@ -1721,8 +1722,8 @@
public void show() {
super.show();
mShowing = true;
- mHadTopUi = mStatusBarWindowController.getForceHasTopUi();
- mStatusBarWindowController.setForceHasTopUi(true);
+ mHadTopUi = mNotificationShadeWindowController.getForceHasTopUi();
+ mNotificationShadeWindowController.setForceHasTopUi(true);
mBackgroundDrawable.setAlpha(0);
mGlobalActionsLayout.setTranslationX(mGlobalActionsLayout.getAnimationOffsetX());
mGlobalActionsLayout.setTranslationY(mGlobalActionsLayout.getAnimationOffsetY());
@@ -1775,7 +1776,7 @@
}
private void completeDismiss() {
- mStatusBarWindowController.setForceHasTopUi(mHadTopUi);
+ mNotificationShadeWindowController.setForceHasTopUi(mHadTopUi);
super.dismiss();
}