Merge "Hide task bar on AOD" into tm-qpr-dev
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.WindowVisibleState;
|
||||
import android.content.ComponentName;
|
||||
import android.content.Context;
|
||||
import android.content.res.Configuration;
|
||||
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.recents.OverviewProxyService;
|
||||
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.TaskStackChangeListener;
|
||||
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.LightBarController;
|
||||
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.pip.Pip;
|
||||
|
||||
@@ -169,16 +168,20 @@ public class TaskbarDelegate implements CommandQueue.Callbacks,
|
||||
|
||||
private BackAnimation mBackAnimation;
|
||||
|
||||
private StatusBarKeyguardViewManager mStatusBarKeyguardViewManager;
|
||||
@Inject
|
||||
public TaskbarDelegate(Context context,
|
||||
EdgeBackGestureHandler.Factory edgeBackGestureHandlerFactory,
|
||||
LightBarTransitionsController.Factory lightBarTransitionsControllerFactory) {
|
||||
LightBarTransitionsController.Factory lightBarTransitionsControllerFactory,
|
||||
StatusBarKeyguardViewManager statusBarKeyguardViewManager) {
|
||||
mLightBarTransitionsControllerFactory = lightBarTransitionsControllerFactory;
|
||||
mEdgeBackGestureHandler = edgeBackGestureHandlerFactory.create(context);
|
||||
|
||||
mContext = context;
|
||||
mDisplayManager = mContext.getSystemService(DisplayManager.class);
|
||||
mPipListener = mEdgeBackGestureHandler::setPipStashExclusionBounds;
|
||||
mStatusBarKeyguardViewManager = statusBarKeyguardViewManager;
|
||||
mStatusBarKeyguardViewManager.setTaskbarDelegate(this);
|
||||
}
|
||||
|
||||
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.navigationbar.NavigationBarView;
|
||||
import com.android.systemui.navigationbar.NavigationModeController;
|
||||
import com.android.systemui.navigationbar.TaskbarDelegate;
|
||||
import com.android.systemui.plugins.statusbar.StatusBarStateController;
|
||||
import com.android.systemui.shade.NotificationPanelViewController;
|
||||
import com.android.systemui.shade.ShadeController;
|
||||
@@ -300,6 +301,7 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb
|
||||
@Nullable private KeyguardBypassController mBypassController;
|
||||
@Nullable private OccludingAppBiometricUI mOccludingAppBiometricUI;
|
||||
|
||||
@Nullable private TaskbarDelegate mTaskbarDelegate;
|
||||
private final KeyguardUpdateMonitorCallback mUpdateMonitorCallback =
|
||||
new KeyguardUpdateMonitorCallback() {
|
||||
@Override
|
||||
@@ -564,6 +566,10 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb
|
||||
updateStates();
|
||||
}
|
||||
|
||||
public void setTaskbarDelegate(TaskbarDelegate taskbarDelegate) {
|
||||
mTaskbarDelegate = taskbarDelegate;
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the keyguard. Will handle creating and attaching to the view manager
|
||||
* lazily.
|
||||
@@ -1194,7 +1200,8 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb
|
||||
* Updates the visibility of the nav bar window (which will cause insets changes).
|
||||
*/
|
||||
protected void updateNavigationBarVisibility(boolean navBarVisible) {
|
||||
if (mCentralSurfaces.getNavigationBarView() != null) {
|
||||
if (mCentralSurfaces.getNavigationBarView() != null
|
||||
|| (mTaskbarDelegate != null && mTaskbarDelegate.isInitialized())) {
|
||||
if (navBarVisible) {
|
||||
long delay = getNavBarShowDelay();
|
||||
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.LightBarController
|
||||
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.pip.Pip
|
||||
import org.junit.Before
|
||||
@@ -66,6 +67,8 @@ class TaskbarDelegateTest : SysuiTestCase() {
|
||||
lateinit var mBackAnimation: BackAnimation
|
||||
@Mock
|
||||
lateinit var mCurrentSysUiState: NavBarHelper.CurrentSysuiState
|
||||
@Mock
|
||||
lateinit var mStatusBarKeyguardViewManager: StatusBarKeyguardViewManager
|
||||
|
||||
@Before
|
||||
fun setup() {
|
||||
@@ -76,7 +79,7 @@ class TaskbarDelegateTest : SysuiTestCase() {
|
||||
`when`(mSysUiState.setFlag(anyInt(), anyBoolean())).thenReturn(mSysUiState)
|
||||
mTaskStackChangeListeners = TaskStackChangeListeners.getTestInstance()
|
||||
mTaskbarDelegate = TaskbarDelegate(context, mEdgeBackGestureHandlerFactory,
|
||||
mLightBarControllerFactory)
|
||||
mLightBarControllerFactory, mStatusBarKeyguardViewManager)
|
||||
mTaskbarDelegate.setDependencies(mCommandQueue, mOverviewProxyService, mNavBarHelper,
|
||||
mNavigationModeController, mSysUiState, mDumpManager, mAutoHideController,
|
||||
mLightBarController, mOptionalPip, mBackAnimation, mTaskStackChangeListeners)
|
||||
|
||||
@@ -38,6 +38,8 @@ import android.testing.TestableLooper;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.view.ViewRootImpl;
|
||||
import android.view.WindowInsets;
|
||||
import android.view.WindowInsetsController;
|
||||
import android.window.BackEvent;
|
||||
import android.window.OnBackAnimationCallback;
|
||||
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.PrimaryBouncerInteractor;
|
||||
import com.android.systemui.navigationbar.NavigationModeController;
|
||||
import com.android.systemui.navigationbar.TaskbarDelegate;
|
||||
import com.android.systemui.plugins.ActivityStarter.OnDismissAction;
|
||||
import com.android.systemui.shade.NotificationPanelViewController;
|
||||
import com.android.systemui.shade.NotificationShadeWindowView;
|
||||
import com.android.systemui.shade.ShadeController;
|
||||
import com.android.systemui.shade.ShadeExpansionChangeEvent;
|
||||
import com.android.systemui.shade.ShadeExpansionStateManager;
|
||||
@@ -123,6 +127,9 @@ public class StatusBarKeyguardViewManagerTest extends SysuiTestCase {
|
||||
@Mock private BouncerView mBouncerView;
|
||||
@Mock private BouncerViewDelegate mBouncerViewDelegate;
|
||||
@Mock private OnBackAnimationCallback mBouncerViewDelegateBackCallback;
|
||||
@Mock private NotificationShadeWindowView mNotificationShadeWindowView;
|
||||
@Mock private WindowInsetsController mWindowInsetsController;
|
||||
@Mock private TaskbarDelegate mTaskbarDelegate;
|
||||
|
||||
private StatusBarKeyguardViewManager mStatusBarKeyguardViewManager;
|
||||
private PrimaryBouncerCallbackInteractor.PrimaryBouncerExpansionCallback
|
||||
@@ -151,6 +158,11 @@ public class StatusBarKeyguardViewManagerTest extends SysuiTestCase {
|
||||
.isEnabled(Flags.WM_ENABLE_PREDICTIVE_BACK_BOUNCER_ANIM))
|
||||
.thenReturn(true);
|
||||
|
||||
when(mCentralSurfaces.getNotificationShadeWindowView())
|
||||
.thenReturn(mNotificationShadeWindowView);
|
||||
when(mNotificationShadeWindowView.getWindowInsetsController())
|
||||
.thenReturn(mWindowInsetsController);
|
||||
|
||||
mStatusBarKeyguardViewManager =
|
||||
new StatusBarKeyguardViewManager(
|
||||
getContext(),
|
||||
@@ -639,6 +651,14 @@ public class StatusBarKeyguardViewManagerTest extends SysuiTestCase {
|
||||
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
|
||||
public void hideAlternateBouncer_beforeCentralSurfacesRegistered() {
|
||||
mStatusBarKeyguardViewManager =
|
||||
|
||||
Reference in New Issue
Block a user