Merge "Hide task bar on AOD" into tm-qpr-dev am: 3d3761b3cc
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/21459145 Change-Id: Ic49f171c74c7dee78ede3f7a99b9f518a73c9354 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -41,7 +41,6 @@ import static com.android.systemui.statusbar.phone.BarTransitions.TransitionMode
|
|||||||
|
|
||||||
import android.app.StatusBarManager;
|
import android.app.StatusBarManager;
|
||||||
import android.app.StatusBarManager.WindowVisibleState;
|
import android.app.StatusBarManager.WindowVisibleState;
|
||||||
import android.content.ComponentName;
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.res.Configuration;
|
import android.content.res.Configuration;
|
||||||
import android.graphics.Rect;
|
import android.graphics.Rect;
|
||||||
@@ -68,7 +67,6 @@ import com.android.systemui.model.SysUiState;
|
|||||||
import com.android.systemui.navigationbar.gestural.EdgeBackGestureHandler;
|
import com.android.systemui.navigationbar.gestural.EdgeBackGestureHandler;
|
||||||
import com.android.systemui.recents.OverviewProxyService;
|
import com.android.systemui.recents.OverviewProxyService;
|
||||||
import com.android.systemui.shared.recents.utilities.Utilities;
|
import com.android.systemui.shared.recents.utilities.Utilities;
|
||||||
import com.android.systemui.shared.system.ActivityManagerWrapper;
|
|
||||||
import com.android.systemui.shared.system.QuickStepContract;
|
import com.android.systemui.shared.system.QuickStepContract;
|
||||||
import com.android.systemui.shared.system.TaskStackChangeListener;
|
import com.android.systemui.shared.system.TaskStackChangeListener;
|
||||||
import com.android.systemui.shared.system.TaskStackChangeListeners;
|
import com.android.systemui.shared.system.TaskStackChangeListeners;
|
||||||
@@ -78,6 +76,7 @@ import com.android.systemui.statusbar.phone.AutoHideController;
|
|||||||
import com.android.systemui.statusbar.phone.BarTransitions;
|
import com.android.systemui.statusbar.phone.BarTransitions;
|
||||||
import com.android.systemui.statusbar.phone.LightBarController;
|
import com.android.systemui.statusbar.phone.LightBarController;
|
||||||
import com.android.systemui.statusbar.phone.LightBarTransitionsController;
|
import com.android.systemui.statusbar.phone.LightBarTransitionsController;
|
||||||
|
import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager;
|
||||||
import com.android.wm.shell.back.BackAnimation;
|
import com.android.wm.shell.back.BackAnimation;
|
||||||
import com.android.wm.shell.pip.Pip;
|
import com.android.wm.shell.pip.Pip;
|
||||||
|
|
||||||
@@ -169,16 +168,20 @@ public class TaskbarDelegate implements CommandQueue.Callbacks,
|
|||||||
|
|
||||||
private BackAnimation mBackAnimation;
|
private BackAnimation mBackAnimation;
|
||||||
|
|
||||||
|
private StatusBarKeyguardViewManager mStatusBarKeyguardViewManager;
|
||||||
@Inject
|
@Inject
|
||||||
public TaskbarDelegate(Context context,
|
public TaskbarDelegate(Context context,
|
||||||
EdgeBackGestureHandler.Factory edgeBackGestureHandlerFactory,
|
EdgeBackGestureHandler.Factory edgeBackGestureHandlerFactory,
|
||||||
LightBarTransitionsController.Factory lightBarTransitionsControllerFactory) {
|
LightBarTransitionsController.Factory lightBarTransitionsControllerFactory,
|
||||||
|
StatusBarKeyguardViewManager statusBarKeyguardViewManager) {
|
||||||
mLightBarTransitionsControllerFactory = lightBarTransitionsControllerFactory;
|
mLightBarTransitionsControllerFactory = lightBarTransitionsControllerFactory;
|
||||||
mEdgeBackGestureHandler = edgeBackGestureHandlerFactory.create(context);
|
mEdgeBackGestureHandler = edgeBackGestureHandlerFactory.create(context);
|
||||||
|
|
||||||
mContext = context;
|
mContext = context;
|
||||||
mDisplayManager = mContext.getSystemService(DisplayManager.class);
|
mDisplayManager = mContext.getSystemService(DisplayManager.class);
|
||||||
mPipListener = mEdgeBackGestureHandler::setPipStashExclusionBounds;
|
mPipListener = mEdgeBackGestureHandler::setPipStashExclusionBounds;
|
||||||
|
mStatusBarKeyguardViewManager = statusBarKeyguardViewManager;
|
||||||
|
mStatusBarKeyguardViewManager.setTaskbarDelegate(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setDependencies(CommandQueue commandQueue,
|
public void setDependencies(CommandQueue commandQueue,
|
||||||
|
|||||||
@@ -66,6 +66,7 @@ import com.android.systemui.keyguard.domain.interactor.PrimaryBouncerCallbackInt
|
|||||||
import com.android.systemui.keyguard.domain.interactor.PrimaryBouncerInteractor;
|
import com.android.systemui.keyguard.domain.interactor.PrimaryBouncerInteractor;
|
||||||
import com.android.systemui.navigationbar.NavigationBarView;
|
import com.android.systemui.navigationbar.NavigationBarView;
|
||||||
import com.android.systemui.navigationbar.NavigationModeController;
|
import com.android.systemui.navigationbar.NavigationModeController;
|
||||||
|
import com.android.systemui.navigationbar.TaskbarDelegate;
|
||||||
import com.android.systemui.plugins.statusbar.StatusBarStateController;
|
import com.android.systemui.plugins.statusbar.StatusBarStateController;
|
||||||
import com.android.systemui.shade.NotificationPanelViewController;
|
import com.android.systemui.shade.NotificationPanelViewController;
|
||||||
import com.android.systemui.shade.ShadeController;
|
import com.android.systemui.shade.ShadeController;
|
||||||
@@ -300,6 +301,7 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb
|
|||||||
@Nullable private KeyguardBypassController mBypassController;
|
@Nullable private KeyguardBypassController mBypassController;
|
||||||
@Nullable private OccludingAppBiometricUI mOccludingAppBiometricUI;
|
@Nullable private OccludingAppBiometricUI mOccludingAppBiometricUI;
|
||||||
|
|
||||||
|
@Nullable private TaskbarDelegate mTaskbarDelegate;
|
||||||
private final KeyguardUpdateMonitorCallback mUpdateMonitorCallback =
|
private final KeyguardUpdateMonitorCallback mUpdateMonitorCallback =
|
||||||
new KeyguardUpdateMonitorCallback() {
|
new KeyguardUpdateMonitorCallback() {
|
||||||
@Override
|
@Override
|
||||||
@@ -564,6 +566,10 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb
|
|||||||
updateStates();
|
updateStates();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setTaskbarDelegate(TaskbarDelegate taskbarDelegate) {
|
||||||
|
mTaskbarDelegate = taskbarDelegate;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Show the keyguard. Will handle creating and attaching to the view manager
|
* Show the keyguard. Will handle creating and attaching to the view manager
|
||||||
* lazily.
|
* lazily.
|
||||||
@@ -1194,7 +1200,8 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb
|
|||||||
* Updates the visibility of the nav bar window (which will cause insets changes).
|
* Updates the visibility of the nav bar window (which will cause insets changes).
|
||||||
*/
|
*/
|
||||||
protected void updateNavigationBarVisibility(boolean navBarVisible) {
|
protected void updateNavigationBarVisibility(boolean navBarVisible) {
|
||||||
if (mCentralSurfaces.getNavigationBarView() != null) {
|
if (mCentralSurfaces.getNavigationBarView() != null
|
||||||
|
|| (mTaskbarDelegate != null && mTaskbarDelegate.isInitialized())) {
|
||||||
if (navBarVisible) {
|
if (navBarVisible) {
|
||||||
long delay = getNavBarShowDelay();
|
long delay = getNavBarShowDelay();
|
||||||
if (delay == 0) {
|
if (delay == 0) {
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ import com.android.systemui.statusbar.CommandQueue
|
|||||||
import com.android.systemui.statusbar.phone.AutoHideController
|
import com.android.systemui.statusbar.phone.AutoHideController
|
||||||
import com.android.systemui.statusbar.phone.LightBarController
|
import com.android.systemui.statusbar.phone.LightBarController
|
||||||
import com.android.systemui.statusbar.phone.LightBarTransitionsController
|
import com.android.systemui.statusbar.phone.LightBarTransitionsController
|
||||||
|
import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager
|
||||||
import com.android.wm.shell.back.BackAnimation
|
import com.android.wm.shell.back.BackAnimation
|
||||||
import com.android.wm.shell.pip.Pip
|
import com.android.wm.shell.pip.Pip
|
||||||
import org.junit.Before
|
import org.junit.Before
|
||||||
@@ -66,6 +67,8 @@ class TaskbarDelegateTest : SysuiTestCase() {
|
|||||||
lateinit var mBackAnimation: BackAnimation
|
lateinit var mBackAnimation: BackAnimation
|
||||||
@Mock
|
@Mock
|
||||||
lateinit var mCurrentSysUiState: NavBarHelper.CurrentSysuiState
|
lateinit var mCurrentSysUiState: NavBarHelper.CurrentSysuiState
|
||||||
|
@Mock
|
||||||
|
lateinit var mStatusBarKeyguardViewManager: StatusBarKeyguardViewManager
|
||||||
|
|
||||||
@Before
|
@Before
|
||||||
fun setup() {
|
fun setup() {
|
||||||
@@ -76,7 +79,7 @@ class TaskbarDelegateTest : SysuiTestCase() {
|
|||||||
`when`(mSysUiState.setFlag(anyInt(), anyBoolean())).thenReturn(mSysUiState)
|
`when`(mSysUiState.setFlag(anyInt(), anyBoolean())).thenReturn(mSysUiState)
|
||||||
mTaskStackChangeListeners = TaskStackChangeListeners.getTestInstance()
|
mTaskStackChangeListeners = TaskStackChangeListeners.getTestInstance()
|
||||||
mTaskbarDelegate = TaskbarDelegate(context, mEdgeBackGestureHandlerFactory,
|
mTaskbarDelegate = TaskbarDelegate(context, mEdgeBackGestureHandlerFactory,
|
||||||
mLightBarControllerFactory)
|
mLightBarControllerFactory, mStatusBarKeyguardViewManager)
|
||||||
mTaskbarDelegate.setDependencies(mCommandQueue, mOverviewProxyService, mNavBarHelper,
|
mTaskbarDelegate.setDependencies(mCommandQueue, mOverviewProxyService, mNavBarHelper,
|
||||||
mNavigationModeController, mSysUiState, mDumpManager, mAutoHideController,
|
mNavigationModeController, mSysUiState, mDumpManager, mAutoHideController,
|
||||||
mLightBarController, mOptionalPip, mBackAnimation, mTaskStackChangeListeners)
|
mLightBarController, mOptionalPip, mBackAnimation, mTaskStackChangeListeners)
|
||||||
|
|||||||
@@ -38,6 +38,8 @@ import android.testing.TestableLooper;
|
|||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
import android.view.ViewRootImpl;
|
import android.view.ViewRootImpl;
|
||||||
|
import android.view.WindowInsets;
|
||||||
|
import android.view.WindowInsetsController;
|
||||||
import android.window.BackEvent;
|
import android.window.BackEvent;
|
||||||
import android.window.OnBackAnimationCallback;
|
import android.window.OnBackAnimationCallback;
|
||||||
import android.window.OnBackInvokedCallback;
|
import android.window.OnBackInvokedCallback;
|
||||||
@@ -65,8 +67,10 @@ import com.android.systemui.keyguard.domain.interactor.PrimaryBouncerCallbackInt
|
|||||||
import com.android.systemui.keyguard.domain.interactor.PrimaryBouncerCallbackInteractor.PrimaryBouncerExpansionCallback;
|
import com.android.systemui.keyguard.domain.interactor.PrimaryBouncerCallbackInteractor.PrimaryBouncerExpansionCallback;
|
||||||
import com.android.systemui.keyguard.domain.interactor.PrimaryBouncerInteractor;
|
import com.android.systemui.keyguard.domain.interactor.PrimaryBouncerInteractor;
|
||||||
import com.android.systemui.navigationbar.NavigationModeController;
|
import com.android.systemui.navigationbar.NavigationModeController;
|
||||||
|
import com.android.systemui.navigationbar.TaskbarDelegate;
|
||||||
import com.android.systemui.plugins.ActivityStarter.OnDismissAction;
|
import com.android.systemui.plugins.ActivityStarter.OnDismissAction;
|
||||||
import com.android.systemui.shade.NotificationPanelViewController;
|
import com.android.systemui.shade.NotificationPanelViewController;
|
||||||
|
import com.android.systemui.shade.NotificationShadeWindowView;
|
||||||
import com.android.systemui.shade.ShadeController;
|
import com.android.systemui.shade.ShadeController;
|
||||||
import com.android.systemui.shade.ShadeExpansionChangeEvent;
|
import com.android.systemui.shade.ShadeExpansionChangeEvent;
|
||||||
import com.android.systemui.shade.ShadeExpansionStateManager;
|
import com.android.systemui.shade.ShadeExpansionStateManager;
|
||||||
@@ -123,6 +127,9 @@ public class StatusBarKeyguardViewManagerTest extends SysuiTestCase {
|
|||||||
@Mock private BouncerView mBouncerView;
|
@Mock private BouncerView mBouncerView;
|
||||||
@Mock private BouncerViewDelegate mBouncerViewDelegate;
|
@Mock private BouncerViewDelegate mBouncerViewDelegate;
|
||||||
@Mock private OnBackAnimationCallback mBouncerViewDelegateBackCallback;
|
@Mock private OnBackAnimationCallback mBouncerViewDelegateBackCallback;
|
||||||
|
@Mock private NotificationShadeWindowView mNotificationShadeWindowView;
|
||||||
|
@Mock private WindowInsetsController mWindowInsetsController;
|
||||||
|
@Mock private TaskbarDelegate mTaskbarDelegate;
|
||||||
|
|
||||||
private StatusBarKeyguardViewManager mStatusBarKeyguardViewManager;
|
private StatusBarKeyguardViewManager mStatusBarKeyguardViewManager;
|
||||||
private PrimaryBouncerCallbackInteractor.PrimaryBouncerExpansionCallback
|
private PrimaryBouncerCallbackInteractor.PrimaryBouncerExpansionCallback
|
||||||
@@ -151,6 +158,11 @@ public class StatusBarKeyguardViewManagerTest extends SysuiTestCase {
|
|||||||
.isEnabled(Flags.WM_ENABLE_PREDICTIVE_BACK_BOUNCER_ANIM))
|
.isEnabled(Flags.WM_ENABLE_PREDICTIVE_BACK_BOUNCER_ANIM))
|
||||||
.thenReturn(true);
|
.thenReturn(true);
|
||||||
|
|
||||||
|
when(mCentralSurfaces.getNotificationShadeWindowView())
|
||||||
|
.thenReturn(mNotificationShadeWindowView);
|
||||||
|
when(mNotificationShadeWindowView.getWindowInsetsController())
|
||||||
|
.thenReturn(mWindowInsetsController);
|
||||||
|
|
||||||
mStatusBarKeyguardViewManager =
|
mStatusBarKeyguardViewManager =
|
||||||
new StatusBarKeyguardViewManager(
|
new StatusBarKeyguardViewManager(
|
||||||
getContext(),
|
getContext(),
|
||||||
@@ -639,6 +651,14 @@ public class StatusBarKeyguardViewManagerTest extends SysuiTestCase {
|
|||||||
verify(mCentralSurfaces).setBouncerShowingOverDream(false);
|
verify(mCentralSurfaces).setBouncerShowingOverDream(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testHideTaskbar() {
|
||||||
|
when(mTaskbarDelegate.isInitialized()).thenReturn(true);
|
||||||
|
mStatusBarKeyguardViewManager.setTaskbarDelegate(mTaskbarDelegate);
|
||||||
|
mStatusBarKeyguardViewManager.updateNavigationBarVisibility(false);
|
||||||
|
verify(mWindowInsetsController).hide(WindowInsets.Type.navigationBars());
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void hideAlternateBouncer_beforeCentralSurfacesRegistered() {
|
public void hideAlternateBouncer_beforeCentralSurfacesRegistered() {
|
||||||
mStatusBarKeyguardViewManager =
|
mStatusBarKeyguardViewManager =
|
||||||
|
|||||||
Reference in New Issue
Block a user