DO NOT MERGE Adjust window focusable by view controller
Some adjustments to note: 1. remove previous focusability changes per view controller 2. disallow calling insetsController.show/hide without window focus 3. update tests to depend on window focus 4. update DisplaySystemBarsController to refer to parent class for ime insets Bug: 163135884 Test: manual, atest :carsysui-presubmit Change-Id: If5adf599bc2c676ad296f89566534c1fdc9f2492
This commit is contained in:
@@ -141,7 +141,7 @@ public class CarKeyguardViewController extends OverlayViewController implements
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected boolean shouldShowNavigationBar() {
|
protected boolean shouldShowNavigationBarInsets() {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -177,7 +177,6 @@ public class CarKeyguardViewController extends OverlayViewController implements
|
|||||||
mKeyguardStateController.notifyKeyguardState(mShowing, /* occluded= */ false);
|
mKeyguardStateController.notifyKeyguardState(mShowing, /* occluded= */ false);
|
||||||
mCarNavigationBarController.showAllKeyguardButtons(/* isSetUp= */ true);
|
mCarNavigationBarController.showAllKeyguardButtons(/* isSetUp= */ true);
|
||||||
start();
|
start();
|
||||||
getOverlayViewGlobalStateController().setWindowFocusable(/* focusable= */ true);
|
|
||||||
reset(/* hideBouncerWhenShowing= */ false);
|
reset(/* hideBouncerWhenShowing= */ false);
|
||||||
notifyKeyguardUpdateMonitor();
|
notifyKeyguardUpdateMonitor();
|
||||||
}
|
}
|
||||||
@@ -192,7 +191,6 @@ public class CarKeyguardViewController extends OverlayViewController implements
|
|||||||
mBouncer.hide(/* destroyView= */ true);
|
mBouncer.hide(/* destroyView= */ true);
|
||||||
mCarNavigationBarController.hideAllKeyguardButtons(/* isSetUp= */ true);
|
mCarNavigationBarController.hideAllKeyguardButtons(/* isSetUp= */ true);
|
||||||
stop();
|
stop();
|
||||||
getOverlayViewGlobalStateController().setWindowFocusable(/* focusable= */ false);
|
|
||||||
mKeyguardStateController.notifyKeyguardDoneFading();
|
mKeyguardStateController.notifyKeyguardDoneFading();
|
||||||
mHandler.post(mViewMediatorCallback::keyguardGone);
|
mHandler.post(mViewMediatorCallback::keyguardGone);
|
||||||
notifyKeyguardUpdateMonitor();
|
notifyKeyguardUpdateMonitor();
|
||||||
@@ -237,7 +235,6 @@ public class CarKeyguardViewController extends OverlayViewController implements
|
|||||||
public void onCancelClicked() {
|
public void onCancelClicked() {
|
||||||
if (mBouncer == null) return;
|
if (mBouncer == null) return;
|
||||||
|
|
||||||
getOverlayViewGlobalStateController().setWindowFocusable(/* focusable= */ false);
|
|
||||||
getOverlayViewGlobalStateController().setWindowNeedsInput(/* needsInput= */ false);
|
getOverlayViewGlobalStateController().setWindowNeedsInput(/* needsInput= */ false);
|
||||||
|
|
||||||
mBouncer.hide(/* destroyView= */ true);
|
mBouncer.hide(/* destroyView= */ true);
|
||||||
|
|||||||
@@ -193,12 +193,12 @@ public class NotificationPanelViewController extends OverlayPanelViewController
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected boolean shouldShowNavigationBar() {
|
protected boolean shouldShowNavigationBarInsets() {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected boolean shouldShowStatusBar() {
|
protected boolean shouldShowStatusBarInsets() {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -77,6 +77,11 @@ public class FullScreenUserSwitcherViewController extends OverlayViewController
|
|||||||
registerCarUserManagerIfPossible();
|
registerCarUserManagerIfPossible();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected boolean shouldFocusWindow() {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void showInternal() {
|
protected void showInternal() {
|
||||||
getLayout().setVisibility(View.VISIBLE);
|
getLayout().setVisibility(View.VISIBLE);
|
||||||
|
|||||||
@@ -238,7 +238,6 @@ public abstract class OverlayPanelViewController extends OverlayViewController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
onAnimateCollapsePanel();
|
onAnimateCollapsePanel();
|
||||||
getOverlayViewGlobalStateController().setWindowFocusable(false);
|
|
||||||
animatePanel(mClosingVelocity, /* isClosing= */ true);
|
animatePanel(mClosingVelocity, /* isClosing= */ true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -415,7 +414,6 @@ public abstract class OverlayPanelViewController extends OverlayViewController {
|
|||||||
getOverlayViewGlobalStateController().hideView(/* panelViewController= */ this);
|
getOverlayViewGlobalStateController().hideView(/* panelViewController= */ this);
|
||||||
}
|
}
|
||||||
getLayout().setVisibility(visible ? View.VISIBLE : View.INVISIBLE);
|
getLayout().setVisibility(visible ? View.VISIBLE : View.INVISIBLE);
|
||||||
getOverlayViewGlobalStateController().setWindowFocusable(visible);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ***************************************************************************************** *
|
/* ***************************************************************************************** *
|
||||||
|
|||||||
@@ -136,16 +136,18 @@ public class OverlayViewController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns {@code true} if navigation bar should be displayed over this view.
|
* Returns {@code true} if navigation bar insets should be displayed over this view. Has no
|
||||||
|
* effect if {@link #shouldFocusWindow} returns {@code false}.
|
||||||
*/
|
*/
|
||||||
protected boolean shouldShowNavigationBar() {
|
protected boolean shouldShowNavigationBarInsets() {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns {@code true} if status bar should be displayed over this view.
|
* Returns {@code true} if status bar insets should be displayed over this view. Has no
|
||||||
|
* effect if {@link #shouldFocusWindow} returns {@code false}.
|
||||||
*/
|
*/
|
||||||
protected boolean shouldShowStatusBar() {
|
protected boolean shouldShowStatusBarInsets() {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -156,6 +158,15 @@ public class OverlayViewController {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns {@code true} if the window should be focued when this view is visible. Note that
|
||||||
|
* returning {@code false} here means that {@link #shouldShowStatusBarInsets} and
|
||||||
|
* {@link #shouldShowNavigationBarInsets} will have no effect.
|
||||||
|
*/
|
||||||
|
protected boolean shouldFocusWindow() {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the insets types to fit to the sysui overlay window when this
|
* Returns the insets types to fit to the sysui overlay window when this
|
||||||
* {@link OverlayViewController} is in the foreground.
|
* {@link OverlayViewController} is in the foreground.
|
||||||
|
|||||||
@@ -18,7 +18,6 @@ package com.android.systemui.car.window;
|
|||||||
|
|
||||||
import static android.view.WindowInsets.Type.navigationBars;
|
import static android.view.WindowInsets.Type.navigationBars;
|
||||||
import static android.view.WindowInsets.Type.statusBars;
|
import static android.view.WindowInsets.Type.statusBars;
|
||||||
import static android.view.WindowInsetsController.BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE;
|
|
||||||
|
|
||||||
import android.annotation.Nullable;
|
import android.annotation.Nullable;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
@@ -118,6 +117,7 @@ public class OverlayViewGlobalStateController {
|
|||||||
|
|
||||||
updateInternalsWhenShowingView(viewController);
|
updateInternalsWhenShowingView(viewController);
|
||||||
refreshInsetTypesToFit();
|
refreshInsetTypesToFit();
|
||||||
|
refreshWindowFocus();
|
||||||
refreshNavigationBarVisibility();
|
refreshNavigationBarVisibility();
|
||||||
refreshStatusBarVisibility();
|
refreshStatusBarVisibility();
|
||||||
|
|
||||||
@@ -190,6 +190,7 @@ public class OverlayViewGlobalStateController {
|
|||||||
mZOrderVisibleSortedMap.remove(mZOrderMap.get(viewController));
|
mZOrderVisibleSortedMap.remove(mZOrderMap.get(viewController));
|
||||||
refreshHighestZOrderWhenHidingView(viewController);
|
refreshHighestZOrderWhenHidingView(viewController);
|
||||||
refreshInsetTypesToFit();
|
refreshInsetTypesToFit();
|
||||||
|
refreshWindowFocus();
|
||||||
refreshNavigationBarVisibility();
|
refreshNavigationBarVisibility();
|
||||||
refreshStatusBarVisibility();
|
refreshStatusBarVisibility();
|
||||||
|
|
||||||
@@ -214,21 +215,35 @@ public class OverlayViewGlobalStateController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void refreshNavigationBarVisibility() {
|
private void refreshNavigationBarVisibility() {
|
||||||
mWindowInsetsController.setSystemBarsBehavior(BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE);
|
if (mZOrderVisibleSortedMap.isEmpty()) {
|
||||||
if (mZOrderVisibleSortedMap.isEmpty() || mHighestZOrder.shouldShowNavigationBar()) {
|
|
||||||
mWindowInsetsController.show(navigationBars());
|
mWindowInsetsController.show(navigationBars());
|
||||||
} else {
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do not hide navigation bar insets if the window is not focusable.
|
||||||
|
if (mHighestZOrder.shouldFocusWindow() && !mHighestZOrder.shouldShowNavigationBarInsets()) {
|
||||||
mWindowInsetsController.hide(navigationBars());
|
mWindowInsetsController.hide(navigationBars());
|
||||||
|
} else {
|
||||||
|
mWindowInsetsController.show(navigationBars());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void refreshStatusBarVisibility() {
|
private void refreshStatusBarVisibility() {
|
||||||
mWindowInsetsController.setSystemBarsBehavior(BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE);
|
if (mZOrderVisibleSortedMap.isEmpty()) {
|
||||||
if (mZOrderVisibleSortedMap.isEmpty() || mHighestZOrder.shouldShowStatusBar()) {
|
|
||||||
mWindowInsetsController.show(statusBars());
|
mWindowInsetsController.show(statusBars());
|
||||||
} else {
|
return;
|
||||||
mWindowInsetsController.hide(statusBars());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Do not hide status bar insets if the window is not focusable.
|
||||||
|
if (mHighestZOrder.shouldFocusWindow() && !mHighestZOrder.shouldShowStatusBarInsets()) {
|
||||||
|
mWindowInsetsController.hide(statusBars());
|
||||||
|
} else {
|
||||||
|
mWindowInsetsController.show(statusBars());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void refreshWindowFocus() {
|
||||||
|
setWindowFocusable(mHighestZOrder == null ? false : mHighestZOrder.shouldFocusWindow());
|
||||||
}
|
}
|
||||||
|
|
||||||
private void refreshInsetTypesToFit() {
|
private void refreshInsetTypesToFit() {
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
|
|
||||||
package com.android.systemui.car.window;
|
package com.android.systemui.car.window;
|
||||||
|
|
||||||
|
import static android.view.WindowInsetsController.BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE;
|
||||||
import static android.view.WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS;
|
import static android.view.WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
@@ -104,6 +105,7 @@ public class SystemUIOverlayWindowController implements
|
|||||||
mLp.setTitle("SystemUIOverlayWindow");
|
mLp.setTitle("SystemUIOverlayWindow");
|
||||||
mLp.packageName = mContext.getPackageName();
|
mLp.packageName = mContext.getPackageName();
|
||||||
mLp.layoutInDisplayCutoutMode = LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS;
|
mLp.layoutInDisplayCutoutMode = LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS;
|
||||||
|
mLp.insetsFlags.behavior = BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE;
|
||||||
|
|
||||||
mWindowManager.addView(mBaseLayout, mLp);
|
mWindowManager.addView(mBaseLayout, mLp);
|
||||||
mLpChanged.copyFrom(mLp);
|
mLpChanged.copyFrom(mLp);
|
||||||
@@ -160,6 +162,7 @@ public class SystemUIOverlayWindowController implements
|
|||||||
private void updateWindow() {
|
private void updateWindow() {
|
||||||
if (mLp != null && mLp.copyFrom(mLpChanged) != 0) {
|
if (mLp != null && mLp.copyFrom(mLpChanged) != 0) {
|
||||||
if (isAttached()) {
|
if (isAttached()) {
|
||||||
|
mLp.insetsFlags.behavior = BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE;
|
||||||
mWindowManager.updateViewLayout(mBaseLayout, mLp);
|
mWindowManager.updateViewLayout(mBaseLayout, mLp);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -32,6 +32,8 @@ import androidx.annotation.VisibleForTesting;
|
|||||||
import com.android.systemui.TransactionPool;
|
import com.android.systemui.TransactionPool;
|
||||||
import com.android.systemui.dagger.qualifiers.Main;
|
import com.android.systemui.dagger.qualifiers.Main;
|
||||||
|
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
import javax.inject.Singleton;
|
import javax.inject.Singleton;
|
||||||
|
|
||||||
@@ -90,7 +92,7 @@ public class DisplaySystemBarsController extends DisplayImeController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
class PerDisplay extends IDisplayWindowInsetsController.Stub {
|
class PerDisplay extends DisplayImeController.PerDisplay {
|
||||||
|
|
||||||
int mDisplayId;
|
int mDisplayId;
|
||||||
InsetsController mInsetsController;
|
InsetsController mInsetsController;
|
||||||
@@ -98,6 +100,8 @@ public class DisplaySystemBarsController extends DisplayImeController {
|
|||||||
String mPackageName;
|
String mPackageName;
|
||||||
|
|
||||||
PerDisplay(int displayId) {
|
PerDisplay(int displayId) {
|
||||||
|
super(displayId,
|
||||||
|
mSystemWindows.mDisplayController.getDisplayLayout(displayId).rotation());
|
||||||
mDisplayId = displayId;
|
mDisplayId = displayId;
|
||||||
mInsetsController = new InsetsController(
|
mInsetsController = new InsetsController(
|
||||||
new DisplaySystemBarsInsetsControllerHost(mHandler, this));
|
new DisplaySystemBarsInsetsControllerHost(mHandler, this));
|
||||||
@@ -105,6 +109,7 @@ public class DisplaySystemBarsController extends DisplayImeController {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void insetsChanged(InsetsState insetsState) {
|
public void insetsChanged(InsetsState insetsState) {
|
||||||
|
super.insetsChanged(insetsState);
|
||||||
if (mInsetsState.equals(insetsState)) {
|
if (mInsetsState.equals(insetsState)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -118,24 +123,33 @@ public class DisplaySystemBarsController extends DisplayImeController {
|
|||||||
@Override
|
@Override
|
||||||
public void insetsControlChanged(InsetsState insetsState,
|
public void insetsControlChanged(InsetsState insetsState,
|
||||||
InsetsSourceControl[] activeControls) {
|
InsetsSourceControl[] activeControls) {
|
||||||
|
super.insetsControlChanged(insetsState, activeControls);
|
||||||
mInsetsController.onControlsChanged(activeControls);
|
mInsetsController.onControlsChanged(activeControls);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void hideInsets(@WindowInsets.Type.InsetsType int types, boolean fromIme) {
|
public void hideInsets(@WindowInsets.Type.InsetsType int types, boolean fromIme) {
|
||||||
|
if ((types & WindowInsets.Type.ime()) == 0) {
|
||||||
mInsetsController.hide(types);
|
mInsetsController.hide(types);
|
||||||
|
} else {
|
||||||
|
super.hideInsets(types, fromIme);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void showInsets(@WindowInsets.Type.InsetsType int types, boolean fromIme) {
|
public void showInsets(@WindowInsets.Type.InsetsType int types, boolean fromIme) {
|
||||||
|
if ((types & WindowInsets.Type.ime()) == 0) {
|
||||||
mInsetsController.show(types);
|
mInsetsController.show(types);
|
||||||
|
} else {
|
||||||
|
super.showInsets(types, fromIme);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void topFocusedWindowChanged(String packageName) {
|
public void topFocusedWindowChanged(String packageName) {
|
||||||
// If both package names are null or both package names are equal, return.
|
if (Objects.equals(mPackageName, packageName)) {
|
||||||
if (mPackageName == packageName
|
|
||||||
|| (mPackageName != null && mPackageName.equals(packageName))) {
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
mPackageName = packageName;
|
mPackageName = packageName;
|
||||||
|
|||||||
@@ -223,18 +223,6 @@ public class OverlayPanelViewControllerTest extends SysuiTestCase {
|
|||||||
mOverlayPanelViewController.getLayout().getHeight());
|
mOverlayPanelViewController.getLayout().getHeight());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
|
||||||
public void animateCollapsePanel_removesWindowFocus() {
|
|
||||||
mOverlayPanelViewController.inflate(mBaseLayout);
|
|
||||||
mOverlayPanelViewController.setShouldAnimateCollapsePanel(true);
|
|
||||||
mOverlayPanelViewController.setPanelExpanded(true);
|
|
||||||
mOverlayPanelViewController.setPanelVisible(true);
|
|
||||||
|
|
||||||
mOverlayPanelViewController.animateCollapsePanel();
|
|
||||||
|
|
||||||
verify(mOverlayViewGlobalStateController).setWindowFocusable(false);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void animateExpandPanel_shouldNotAnimateExpandPanel_doesNotExpand() {
|
public void animateExpandPanel_shouldNotAnimateExpandPanel_doesNotExpand() {
|
||||||
mOverlayPanelViewController.inflate(mBaseLayout);
|
mOverlayPanelViewController.inflate(mBaseLayout);
|
||||||
@@ -364,14 +352,6 @@ public class OverlayPanelViewControllerTest extends SysuiTestCase {
|
|||||||
assertThat(mOverlayPanelViewController.getLayout().getVisibility()).isEqualTo(View.VISIBLE);
|
assertThat(mOverlayPanelViewController.getLayout().getVisibility()).isEqualTo(View.VISIBLE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
|
||||||
public void setPanelVisible_setTrue_setWindowFocusable() {
|
|
||||||
mOverlayPanelViewController.inflate(mBaseLayout);
|
|
||||||
mOverlayPanelViewController.setPanelVisible(true);
|
|
||||||
|
|
||||||
verify(mOverlayViewGlobalStateController).setWindowFocusable(true);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void setPanelVisible_setFalse_windowVisible_setsWindowNotVisible() {
|
public void setPanelVisible_setFalse_windowVisible_setsWindowNotVisible() {
|
||||||
mOverlayPanelViewController.inflate(mBaseLayout);
|
mOverlayPanelViewController.inflate(mBaseLayout);
|
||||||
@@ -403,15 +383,6 @@ public class OverlayPanelViewControllerTest extends SysuiTestCase {
|
|||||||
View.INVISIBLE);
|
View.INVISIBLE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
|
||||||
public void setPanelVisible_setFalse_setWindowNotFocusable() {
|
|
||||||
mOverlayPanelViewController.inflate(mBaseLayout);
|
|
||||||
|
|
||||||
mOverlayPanelViewController.setPanelVisible(false);
|
|
||||||
|
|
||||||
verify(mOverlayViewGlobalStateController).setWindowFocusable(false);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void dragOpenTouchListener_isNotInflated_inflatesView() {
|
public void dragOpenTouchListener_isNotInflated_inflatesView() {
|
||||||
when(mCarDeviceProvisionedController.isCurrentUserFullySetup()).thenReturn(true);
|
when(mCarDeviceProvisionedController.isCurrentUserFullySetup()).thenReturn(true);
|
||||||
|
|||||||
@@ -107,10 +107,55 @@ public class OverlayViewGlobalStateControllerTest extends SysuiTestCase {
|
|||||||
verify(mOverlayViewMediator).setupOverlayContentViewControllers();
|
verify(mOverlayViewMediator).setupOverlayContentViewControllers();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void showView_nothingVisible_windowNotFocusable_shouldShowNavBar_navBarsVisible() {
|
||||||
|
setupOverlayViewController1();
|
||||||
|
when(mOverlayViewController1.shouldFocusWindow()).thenReturn(false);
|
||||||
|
when(mOverlayViewController1.shouldShowNavigationBarInsets()).thenReturn(true);
|
||||||
|
|
||||||
|
mOverlayViewGlobalStateController.showView(mOverlayViewController1, mRunnable);
|
||||||
|
|
||||||
|
verify(mWindowInsetsController).show(navigationBars());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void showView_nothingVisible_windowNotFocusable_shouldHideNavBar_notHidden() {
|
||||||
|
setupOverlayViewController1();
|
||||||
|
when(mOverlayViewController1.shouldFocusWindow()).thenReturn(false);
|
||||||
|
when(mOverlayViewController1.shouldShowNavigationBarInsets()).thenReturn(false);
|
||||||
|
|
||||||
|
mOverlayViewGlobalStateController.showView(mOverlayViewController1, mRunnable);
|
||||||
|
|
||||||
|
verify(mWindowInsetsController, never()).hide(navigationBars());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void showView_nothingVisible_windowNotFocusable_shouldShowStatusBar_statusBarsVisible() {
|
||||||
|
setupOverlayViewController1();
|
||||||
|
when(mOverlayViewController1.shouldFocusWindow()).thenReturn(false);
|
||||||
|
when(mOverlayViewController1.shouldShowStatusBarInsets()).thenReturn(true);
|
||||||
|
|
||||||
|
mOverlayViewGlobalStateController.showView(mOverlayViewController1, mRunnable);
|
||||||
|
|
||||||
|
verify(mWindowInsetsController).show(statusBars());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void showView_nothingVisible_windowNotFocusable_shouldHideStatusBar_notHidden() {
|
||||||
|
setupOverlayViewController1();
|
||||||
|
when(mOverlayViewController1.shouldFocusWindow()).thenReturn(false);
|
||||||
|
when(mOverlayViewController1.shouldShowStatusBarInsets()).thenReturn(false);
|
||||||
|
|
||||||
|
mOverlayViewGlobalStateController.showView(mOverlayViewController1, mRunnable);
|
||||||
|
|
||||||
|
verify(mWindowInsetsController, never()).hide(statusBars());
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void showView_nothingAlreadyShown_shouldShowNavBarFalse_navigationBarsHidden() {
|
public void showView_nothingAlreadyShown_shouldShowNavBarFalse_navigationBarsHidden() {
|
||||||
setupOverlayViewController1();
|
setupOverlayViewController1();
|
||||||
when(mOverlayViewController1.shouldShowNavigationBar()).thenReturn(false);
|
when(mOverlayViewController1.shouldFocusWindow()).thenReturn(true);
|
||||||
|
when(mOverlayViewController1.shouldShowNavigationBarInsets()).thenReturn(false);
|
||||||
|
|
||||||
mOverlayViewGlobalStateController.showView(mOverlayViewController1, mRunnable);
|
mOverlayViewGlobalStateController.showView(mOverlayViewController1, mRunnable);
|
||||||
|
|
||||||
@@ -120,7 +165,8 @@ public class OverlayViewGlobalStateControllerTest extends SysuiTestCase {
|
|||||||
@Test
|
@Test
|
||||||
public void showView_nothingAlreadyShown_shouldShowNavBarTrue_navigationBarsShown() {
|
public void showView_nothingAlreadyShown_shouldShowNavBarTrue_navigationBarsShown() {
|
||||||
setupOverlayViewController1();
|
setupOverlayViewController1();
|
||||||
when(mOverlayViewController1.shouldShowNavigationBar()).thenReturn(true);
|
when(mOverlayViewController1.shouldFocusWindow()).thenReturn(true);
|
||||||
|
when(mOverlayViewController1.shouldShowNavigationBarInsets()).thenReturn(true);
|
||||||
|
|
||||||
mOverlayViewGlobalStateController.showView(mOverlayViewController1, mRunnable);
|
mOverlayViewGlobalStateController.showView(mOverlayViewController1, mRunnable);
|
||||||
|
|
||||||
@@ -130,7 +176,8 @@ public class OverlayViewGlobalStateControllerTest extends SysuiTestCase {
|
|||||||
@Test
|
@Test
|
||||||
public void showView_nothingAlreadyShown_shouldShowStatusBarFalse_statusBarsHidden() {
|
public void showView_nothingAlreadyShown_shouldShowStatusBarFalse_statusBarsHidden() {
|
||||||
setupOverlayViewController1();
|
setupOverlayViewController1();
|
||||||
when(mOverlayViewController1.shouldShowStatusBar()).thenReturn(false);
|
when(mOverlayViewController1.shouldFocusWindow()).thenReturn(true);
|
||||||
|
when(mOverlayViewController1.shouldShowStatusBarInsets()).thenReturn(false);
|
||||||
|
|
||||||
mOverlayViewGlobalStateController.showView(mOverlayViewController1, mRunnable);
|
mOverlayViewGlobalStateController.showView(mOverlayViewController1, mRunnable);
|
||||||
|
|
||||||
@@ -140,7 +187,8 @@ public class OverlayViewGlobalStateControllerTest extends SysuiTestCase {
|
|||||||
@Test
|
@Test
|
||||||
public void showView_nothingAlreadyShown_shouldShowStatusBarTrue_statusBarsShown() {
|
public void showView_nothingAlreadyShown_shouldShowStatusBarTrue_statusBarsShown() {
|
||||||
setupOverlayViewController1();
|
setupOverlayViewController1();
|
||||||
when(mOverlayViewController1.shouldShowStatusBar()).thenReturn(true);
|
when(mOverlayViewController1.shouldFocusWindow()).thenReturn(true);
|
||||||
|
when(mOverlayViewController1.shouldShowStatusBarInsets()).thenReturn(true);
|
||||||
|
|
||||||
mOverlayViewGlobalStateController.showView(mOverlayViewController1, mRunnable);
|
mOverlayViewGlobalStateController.showView(mOverlayViewController1, mRunnable);
|
||||||
|
|
||||||
@@ -201,9 +249,11 @@ public class OverlayViewGlobalStateControllerTest extends SysuiTestCase {
|
|||||||
@Test
|
@Test
|
||||||
public void showView_newHighestZOrder_shouldShowNavBarFalse_navigationBarsHidden() {
|
public void showView_newHighestZOrder_shouldShowNavBarFalse_navigationBarsHidden() {
|
||||||
setupOverlayViewController1();
|
setupOverlayViewController1();
|
||||||
setOverlayViewControllerAsShowing(mOverlayViewController1);
|
|
||||||
setupOverlayViewController2();
|
setupOverlayViewController2();
|
||||||
when(mOverlayViewController2.shouldShowNavigationBar()).thenReturn(false);
|
when(mOverlayViewController1.shouldFocusWindow()).thenReturn(true);
|
||||||
|
when(mOverlayViewController2.shouldFocusWindow()).thenReturn(true);
|
||||||
|
setOverlayViewControllerAsShowing(mOverlayViewController1);
|
||||||
|
when(mOverlayViewController2.shouldShowNavigationBarInsets()).thenReturn(false);
|
||||||
reset(mWindowInsetsController);
|
reset(mWindowInsetsController);
|
||||||
|
|
||||||
mOverlayViewGlobalStateController.showView(mOverlayViewController2, mRunnable);
|
mOverlayViewGlobalStateController.showView(mOverlayViewController2, mRunnable);
|
||||||
@@ -214,9 +264,11 @@ public class OverlayViewGlobalStateControllerTest extends SysuiTestCase {
|
|||||||
@Test
|
@Test
|
||||||
public void showView_newHighestZOrder_shouldShowNavBarTrue_navigationBarsShown() {
|
public void showView_newHighestZOrder_shouldShowNavBarTrue_navigationBarsShown() {
|
||||||
setupOverlayViewController1();
|
setupOverlayViewController1();
|
||||||
setOverlayViewControllerAsShowing(mOverlayViewController1);
|
|
||||||
setupOverlayViewController2();
|
setupOverlayViewController2();
|
||||||
when(mOverlayViewController2.shouldShowNavigationBar()).thenReturn(true);
|
when(mOverlayViewController1.shouldFocusWindow()).thenReturn(true);
|
||||||
|
when(mOverlayViewController2.shouldFocusWindow()).thenReturn(true);
|
||||||
|
setOverlayViewControllerAsShowing(mOverlayViewController1);
|
||||||
|
when(mOverlayViewController2.shouldShowNavigationBarInsets()).thenReturn(true);
|
||||||
|
|
||||||
mOverlayViewGlobalStateController.showView(mOverlayViewController2, mRunnable);
|
mOverlayViewGlobalStateController.showView(mOverlayViewController2, mRunnable);
|
||||||
|
|
||||||
@@ -226,9 +278,11 @@ public class OverlayViewGlobalStateControllerTest extends SysuiTestCase {
|
|||||||
@Test
|
@Test
|
||||||
public void showView_newHighestZOrder_shouldShowStatusBarFalse_statusBarsHidden() {
|
public void showView_newHighestZOrder_shouldShowStatusBarFalse_statusBarsHidden() {
|
||||||
setupOverlayViewController1();
|
setupOverlayViewController1();
|
||||||
setOverlayViewControllerAsShowing(mOverlayViewController1);
|
|
||||||
setupOverlayViewController2();
|
setupOverlayViewController2();
|
||||||
when(mOverlayViewController2.shouldShowStatusBar()).thenReturn(false);
|
when(mOverlayViewController1.shouldFocusWindow()).thenReturn(true);
|
||||||
|
when(mOverlayViewController2.shouldFocusWindow()).thenReturn(true);
|
||||||
|
setOverlayViewControllerAsShowing(mOverlayViewController1);
|
||||||
|
when(mOverlayViewController2.shouldShowStatusBarInsets()).thenReturn(false);
|
||||||
reset(mWindowInsetsController);
|
reset(mWindowInsetsController);
|
||||||
|
|
||||||
mOverlayViewGlobalStateController.showView(mOverlayViewController2, mRunnable);
|
mOverlayViewGlobalStateController.showView(mOverlayViewController2, mRunnable);
|
||||||
@@ -239,9 +293,11 @@ public class OverlayViewGlobalStateControllerTest extends SysuiTestCase {
|
|||||||
@Test
|
@Test
|
||||||
public void showView_newHighestZOrder_shouldShowStatusBarTrue_statusBarsShown() {
|
public void showView_newHighestZOrder_shouldShowStatusBarTrue_statusBarsShown() {
|
||||||
setupOverlayViewController1();
|
setupOverlayViewController1();
|
||||||
setOverlayViewControllerAsShowing(mOverlayViewController1);
|
|
||||||
setupOverlayViewController2();
|
setupOverlayViewController2();
|
||||||
when(mOverlayViewController2.shouldShowStatusBar()).thenReturn(true);
|
when(mOverlayViewController1.shouldFocusWindow()).thenReturn(true);
|
||||||
|
when(mOverlayViewController2.shouldFocusWindow()).thenReturn(true);
|
||||||
|
setOverlayViewControllerAsShowing(mOverlayViewController1);
|
||||||
|
when(mOverlayViewController2.shouldShowStatusBarInsets()).thenReturn(true);
|
||||||
|
|
||||||
mOverlayViewGlobalStateController.showView(mOverlayViewController2, mRunnable);
|
mOverlayViewGlobalStateController.showView(mOverlayViewController2, mRunnable);
|
||||||
|
|
||||||
@@ -289,9 +345,11 @@ public class OverlayViewGlobalStateControllerTest extends SysuiTestCase {
|
|||||||
@Test
|
@Test
|
||||||
public void showView_oldHighestZOrder_shouldShowNavBarFalse_navigationBarsHidden() {
|
public void showView_oldHighestZOrder_shouldShowNavBarFalse_navigationBarsHidden() {
|
||||||
setupOverlayViewController2();
|
setupOverlayViewController2();
|
||||||
|
when(mOverlayViewController1.shouldFocusWindow()).thenReturn(true);
|
||||||
|
when(mOverlayViewController2.shouldFocusWindow()).thenReturn(true);
|
||||||
setOverlayViewControllerAsShowing(mOverlayViewController2);
|
setOverlayViewControllerAsShowing(mOverlayViewController2);
|
||||||
when(mOverlayViewController1.shouldShowNavigationBar()).thenReturn(true);
|
when(mOverlayViewController1.shouldShowNavigationBarInsets()).thenReturn(true);
|
||||||
when(mOverlayViewController2.shouldShowNavigationBar()).thenReturn(false);
|
when(mOverlayViewController2.shouldShowNavigationBarInsets()).thenReturn(false);
|
||||||
reset(mWindowInsetsController);
|
reset(mWindowInsetsController);
|
||||||
|
|
||||||
mOverlayViewGlobalStateController.showView(mOverlayViewController1, mRunnable);
|
mOverlayViewGlobalStateController.showView(mOverlayViewController1, mRunnable);
|
||||||
@@ -302,9 +360,11 @@ public class OverlayViewGlobalStateControllerTest extends SysuiTestCase {
|
|||||||
@Test
|
@Test
|
||||||
public void showView_oldHighestZOrder_shouldShowNavBarTrue_navigationBarsShown() {
|
public void showView_oldHighestZOrder_shouldShowNavBarTrue_navigationBarsShown() {
|
||||||
setupOverlayViewController2();
|
setupOverlayViewController2();
|
||||||
|
when(mOverlayViewController1.shouldFocusWindow()).thenReturn(true);
|
||||||
|
when(mOverlayViewController2.shouldFocusWindow()).thenReturn(true);
|
||||||
setOverlayViewControllerAsShowing(mOverlayViewController2);
|
setOverlayViewControllerAsShowing(mOverlayViewController2);
|
||||||
when(mOverlayViewController1.shouldShowNavigationBar()).thenReturn(false);
|
when(mOverlayViewController1.shouldShowNavigationBarInsets()).thenReturn(false);
|
||||||
when(mOverlayViewController2.shouldShowNavigationBar()).thenReturn(true);
|
when(mOverlayViewController2.shouldShowNavigationBarInsets()).thenReturn(true);
|
||||||
|
|
||||||
mOverlayViewGlobalStateController.showView(mOverlayViewController1, mRunnable);
|
mOverlayViewGlobalStateController.showView(mOverlayViewController1, mRunnable);
|
||||||
|
|
||||||
@@ -314,9 +374,11 @@ public class OverlayViewGlobalStateControllerTest extends SysuiTestCase {
|
|||||||
@Test
|
@Test
|
||||||
public void showView_oldHighestZOrder_shouldShowStatusBarFalse_statusBarsHidden() {
|
public void showView_oldHighestZOrder_shouldShowStatusBarFalse_statusBarsHidden() {
|
||||||
setupOverlayViewController2();
|
setupOverlayViewController2();
|
||||||
|
when(mOverlayViewController1.shouldFocusWindow()).thenReturn(true);
|
||||||
|
when(mOverlayViewController2.shouldFocusWindow()).thenReturn(true);
|
||||||
setOverlayViewControllerAsShowing(mOverlayViewController2);
|
setOverlayViewControllerAsShowing(mOverlayViewController2);
|
||||||
when(mOverlayViewController1.shouldShowStatusBar()).thenReturn(true);
|
when(mOverlayViewController1.shouldShowStatusBarInsets()).thenReturn(true);
|
||||||
when(mOverlayViewController2.shouldShowStatusBar()).thenReturn(false);
|
when(mOverlayViewController2.shouldShowStatusBarInsets()).thenReturn(false);
|
||||||
reset(mWindowInsetsController);
|
reset(mWindowInsetsController);
|
||||||
|
|
||||||
mOverlayViewGlobalStateController.showView(mOverlayViewController1, mRunnable);
|
mOverlayViewGlobalStateController.showView(mOverlayViewController1, mRunnable);
|
||||||
@@ -327,9 +389,11 @@ public class OverlayViewGlobalStateControllerTest extends SysuiTestCase {
|
|||||||
@Test
|
@Test
|
||||||
public void showView_oldHighestZOrder_shouldShowStatusBarTrue_statusBarsShown() {
|
public void showView_oldHighestZOrder_shouldShowStatusBarTrue_statusBarsShown() {
|
||||||
setupOverlayViewController2();
|
setupOverlayViewController2();
|
||||||
|
when(mOverlayViewController1.shouldFocusWindow()).thenReturn(true);
|
||||||
|
when(mOverlayViewController2.shouldFocusWindow()).thenReturn(true);
|
||||||
setOverlayViewControllerAsShowing(mOverlayViewController2);
|
setOverlayViewControllerAsShowing(mOverlayViewController2);
|
||||||
when(mOverlayViewController1.shouldShowStatusBar()).thenReturn(false);
|
when(mOverlayViewController1.shouldShowStatusBarInsets()).thenReturn(false);
|
||||||
when(mOverlayViewController2.shouldShowStatusBar()).thenReturn(true);
|
when(mOverlayViewController2.shouldShowStatusBarInsets()).thenReturn(true);
|
||||||
|
|
||||||
mOverlayViewGlobalStateController.showView(mOverlayViewController1, mRunnable);
|
mOverlayViewGlobalStateController.showView(mOverlayViewController1, mRunnable);
|
||||||
|
|
||||||
@@ -512,10 +576,12 @@ public class OverlayViewGlobalStateControllerTest extends SysuiTestCase {
|
|||||||
@Test
|
@Test
|
||||||
public void hideView_newHighestZOrder_shouldShowNavBarFalse_navigationBarHidden() {
|
public void hideView_newHighestZOrder_shouldShowNavBarFalse_navigationBarHidden() {
|
||||||
setupOverlayViewController1();
|
setupOverlayViewController1();
|
||||||
setOverlayViewControllerAsShowing(mOverlayViewController1);
|
|
||||||
setupOverlayViewController2();
|
setupOverlayViewController2();
|
||||||
|
when(mOverlayViewController1.shouldFocusWindow()).thenReturn(true);
|
||||||
|
when(mOverlayViewController2.shouldFocusWindow()).thenReturn(true);
|
||||||
|
setOverlayViewControllerAsShowing(mOverlayViewController1);
|
||||||
setOverlayViewControllerAsShowing(mOverlayViewController2);
|
setOverlayViewControllerAsShowing(mOverlayViewController2);
|
||||||
when(mOverlayViewController1.shouldShowNavigationBar()).thenReturn(false);
|
when(mOverlayViewController1.shouldShowNavigationBarInsets()).thenReturn(false);
|
||||||
reset(mWindowInsetsController);
|
reset(mWindowInsetsController);
|
||||||
|
|
||||||
mOverlayViewGlobalStateController.hideView(mOverlayViewController2, mRunnable);
|
mOverlayViewGlobalStateController.hideView(mOverlayViewController2, mRunnable);
|
||||||
@@ -526,10 +592,13 @@ public class OverlayViewGlobalStateControllerTest extends SysuiTestCase {
|
|||||||
@Test
|
@Test
|
||||||
public void hideView_newHighestZOrder_shouldShowNavBarTrue_navigationBarShown() {
|
public void hideView_newHighestZOrder_shouldShowNavBarTrue_navigationBarShown() {
|
||||||
setupOverlayViewController1();
|
setupOverlayViewController1();
|
||||||
setOverlayViewControllerAsShowing(mOverlayViewController1);
|
|
||||||
setupOverlayViewController2();
|
setupOverlayViewController2();
|
||||||
|
when(mOverlayViewController1.shouldFocusWindow()).thenReturn(true);
|
||||||
|
when(mOverlayViewController2.shouldFocusWindow()).thenReturn(true);
|
||||||
|
setOverlayViewControllerAsShowing(mOverlayViewController1);
|
||||||
setOverlayViewControllerAsShowing(mOverlayViewController2);
|
setOverlayViewControllerAsShowing(mOverlayViewController2);
|
||||||
when(mOverlayViewController1.shouldShowNavigationBar()).thenReturn(true);
|
when(mOverlayViewController1.shouldShowNavigationBarInsets()).thenReturn(true);
|
||||||
|
reset(mWindowInsetsController);
|
||||||
|
|
||||||
mOverlayViewGlobalStateController.hideView(mOverlayViewController2, mRunnable);
|
mOverlayViewGlobalStateController.hideView(mOverlayViewController2, mRunnable);
|
||||||
|
|
||||||
@@ -539,10 +608,12 @@ public class OverlayViewGlobalStateControllerTest extends SysuiTestCase {
|
|||||||
@Test
|
@Test
|
||||||
public void hideView_newHighestZOrder_shouldShowStatusBarFalse_statusBarHidden() {
|
public void hideView_newHighestZOrder_shouldShowStatusBarFalse_statusBarHidden() {
|
||||||
setupOverlayViewController1();
|
setupOverlayViewController1();
|
||||||
setOverlayViewControllerAsShowing(mOverlayViewController1);
|
|
||||||
setupOverlayViewController2();
|
setupOverlayViewController2();
|
||||||
|
when(mOverlayViewController1.shouldFocusWindow()).thenReturn(true);
|
||||||
|
when(mOverlayViewController2.shouldFocusWindow()).thenReturn(true);
|
||||||
|
setOverlayViewControllerAsShowing(mOverlayViewController1);
|
||||||
setOverlayViewControllerAsShowing(mOverlayViewController2);
|
setOverlayViewControllerAsShowing(mOverlayViewController2);
|
||||||
when(mOverlayViewController1.shouldShowStatusBar()).thenReturn(false);
|
when(mOverlayViewController1.shouldShowStatusBarInsets()).thenReturn(false);
|
||||||
reset(mWindowInsetsController);
|
reset(mWindowInsetsController);
|
||||||
|
|
||||||
mOverlayViewGlobalStateController.hideView(mOverlayViewController2, mRunnable);
|
mOverlayViewGlobalStateController.hideView(mOverlayViewController2, mRunnable);
|
||||||
@@ -553,10 +624,13 @@ public class OverlayViewGlobalStateControllerTest extends SysuiTestCase {
|
|||||||
@Test
|
@Test
|
||||||
public void hideView_newHighestZOrder_shouldShowStatusBarTrue_statusBarShown() {
|
public void hideView_newHighestZOrder_shouldShowStatusBarTrue_statusBarShown() {
|
||||||
setupOverlayViewController1();
|
setupOverlayViewController1();
|
||||||
setOverlayViewControllerAsShowing(mOverlayViewController1);
|
|
||||||
setupOverlayViewController2();
|
setupOverlayViewController2();
|
||||||
|
when(mOverlayViewController1.shouldFocusWindow()).thenReturn(true);
|
||||||
|
when(mOverlayViewController2.shouldFocusWindow()).thenReturn(true);
|
||||||
|
setOverlayViewControllerAsShowing(mOverlayViewController1);
|
||||||
setOverlayViewControllerAsShowing(mOverlayViewController2);
|
setOverlayViewControllerAsShowing(mOverlayViewController2);
|
||||||
when(mOverlayViewController1.shouldShowStatusBar()).thenReturn(true);
|
when(mOverlayViewController1.shouldShowStatusBarInsets()).thenReturn(true);
|
||||||
|
reset(mWindowInsetsController);
|
||||||
|
|
||||||
mOverlayViewGlobalStateController.hideView(mOverlayViewController2, mRunnable);
|
mOverlayViewGlobalStateController.hideView(mOverlayViewController2, mRunnable);
|
||||||
|
|
||||||
@@ -593,10 +667,12 @@ public class OverlayViewGlobalStateControllerTest extends SysuiTestCase {
|
|||||||
@Test
|
@Test
|
||||||
public void hideView_oldHighestZOrder_shouldShowNavBarFalse_navigationBarHidden() {
|
public void hideView_oldHighestZOrder_shouldShowNavBarFalse_navigationBarHidden() {
|
||||||
setupOverlayViewController1();
|
setupOverlayViewController1();
|
||||||
setOverlayViewControllerAsShowing(mOverlayViewController1);
|
|
||||||
setupOverlayViewController2();
|
setupOverlayViewController2();
|
||||||
|
when(mOverlayViewController1.shouldFocusWindow()).thenReturn(true);
|
||||||
|
when(mOverlayViewController2.shouldFocusWindow()).thenReturn(true);
|
||||||
|
setOverlayViewControllerAsShowing(mOverlayViewController1);
|
||||||
setOverlayViewControllerAsShowing(mOverlayViewController2);
|
setOverlayViewControllerAsShowing(mOverlayViewController2);
|
||||||
when(mOverlayViewController2.shouldShowNavigationBar()).thenReturn(false);
|
when(mOverlayViewController2.shouldShowNavigationBarInsets()).thenReturn(false);
|
||||||
reset(mWindowInsetsController);
|
reset(mWindowInsetsController);
|
||||||
|
|
||||||
mOverlayViewGlobalStateController.hideView(mOverlayViewController1, mRunnable);
|
mOverlayViewGlobalStateController.hideView(mOverlayViewController1, mRunnable);
|
||||||
@@ -607,10 +683,12 @@ public class OverlayViewGlobalStateControllerTest extends SysuiTestCase {
|
|||||||
@Test
|
@Test
|
||||||
public void hideView_oldHighestZOrder_shouldShowNavBarTrue_navigationBarShown() {
|
public void hideView_oldHighestZOrder_shouldShowNavBarTrue_navigationBarShown() {
|
||||||
setupOverlayViewController1();
|
setupOverlayViewController1();
|
||||||
setOverlayViewControllerAsShowing(mOverlayViewController1);
|
|
||||||
setupOverlayViewController2();
|
setupOverlayViewController2();
|
||||||
|
when(mOverlayViewController1.shouldFocusWindow()).thenReturn(true);
|
||||||
|
when(mOverlayViewController2.shouldFocusWindow()).thenReturn(true);
|
||||||
|
setOverlayViewControllerAsShowing(mOverlayViewController1);
|
||||||
setOverlayViewControllerAsShowing(mOverlayViewController2);
|
setOverlayViewControllerAsShowing(mOverlayViewController2);
|
||||||
when(mOverlayViewController2.shouldShowNavigationBar()).thenReturn(true);
|
when(mOverlayViewController2.shouldShowNavigationBarInsets()).thenReturn(true);
|
||||||
|
|
||||||
mOverlayViewGlobalStateController.hideView(mOverlayViewController1, mRunnable);
|
mOverlayViewGlobalStateController.hideView(mOverlayViewController1, mRunnable);
|
||||||
|
|
||||||
@@ -620,10 +698,12 @@ public class OverlayViewGlobalStateControllerTest extends SysuiTestCase {
|
|||||||
@Test
|
@Test
|
||||||
public void hideView_oldHighestZOrder_shouldShowStatusBarFalse_statusBarHidden() {
|
public void hideView_oldHighestZOrder_shouldShowStatusBarFalse_statusBarHidden() {
|
||||||
setupOverlayViewController1();
|
setupOverlayViewController1();
|
||||||
setOverlayViewControllerAsShowing(mOverlayViewController1);
|
|
||||||
setupOverlayViewController2();
|
setupOverlayViewController2();
|
||||||
|
when(mOverlayViewController1.shouldFocusWindow()).thenReturn(true);
|
||||||
|
when(mOverlayViewController2.shouldFocusWindow()).thenReturn(true);
|
||||||
|
setOverlayViewControllerAsShowing(mOverlayViewController1);
|
||||||
setOverlayViewControllerAsShowing(mOverlayViewController2);
|
setOverlayViewControllerAsShowing(mOverlayViewController2);
|
||||||
when(mOverlayViewController2.shouldShowStatusBar()).thenReturn(false);
|
when(mOverlayViewController2.shouldShowStatusBarInsets()).thenReturn(false);
|
||||||
reset(mWindowInsetsController);
|
reset(mWindowInsetsController);
|
||||||
|
|
||||||
mOverlayViewGlobalStateController.hideView(mOverlayViewController1, mRunnable);
|
mOverlayViewGlobalStateController.hideView(mOverlayViewController1, mRunnable);
|
||||||
@@ -634,10 +714,12 @@ public class OverlayViewGlobalStateControllerTest extends SysuiTestCase {
|
|||||||
@Test
|
@Test
|
||||||
public void hideView_oldHighestZOrder_shouldShowStatusBarTrue_statusBarShown() {
|
public void hideView_oldHighestZOrder_shouldShowStatusBarTrue_statusBarShown() {
|
||||||
setupOverlayViewController1();
|
setupOverlayViewController1();
|
||||||
setOverlayViewControllerAsShowing(mOverlayViewController1);
|
|
||||||
setupOverlayViewController2();
|
setupOverlayViewController2();
|
||||||
|
when(mOverlayViewController1.shouldFocusWindow()).thenReturn(true);
|
||||||
|
when(mOverlayViewController2.shouldFocusWindow()).thenReturn(true);
|
||||||
|
setOverlayViewControllerAsShowing(mOverlayViewController1);
|
||||||
setOverlayViewControllerAsShowing(mOverlayViewController2);
|
setOverlayViewControllerAsShowing(mOverlayViewController2);
|
||||||
when(mOverlayViewController2.shouldShowStatusBar()).thenReturn(true);
|
when(mOverlayViewController2.shouldShowStatusBarInsets()).thenReturn(true);
|
||||||
|
|
||||||
mOverlayViewGlobalStateController.hideView(mOverlayViewController1, mRunnable);
|
mOverlayViewGlobalStateController.hideView(mOverlayViewController1, mRunnable);
|
||||||
|
|
||||||
@@ -673,6 +755,7 @@ public class OverlayViewGlobalStateControllerTest extends SysuiTestCase {
|
|||||||
@Test
|
@Test
|
||||||
public void hideView_viewControllerOnlyShown_navigationBarShown() {
|
public void hideView_viewControllerOnlyShown_navigationBarShown() {
|
||||||
setupOverlayViewController1();
|
setupOverlayViewController1();
|
||||||
|
when(mOverlayViewController1.shouldFocusWindow()).thenReturn(true);
|
||||||
setOverlayViewControllerAsShowing(mOverlayViewController1);
|
setOverlayViewControllerAsShowing(mOverlayViewController1);
|
||||||
|
|
||||||
mOverlayViewGlobalStateController.hideView(mOverlayViewController1, mRunnable);
|
mOverlayViewGlobalStateController.hideView(mOverlayViewController1, mRunnable);
|
||||||
@@ -683,6 +766,7 @@ public class OverlayViewGlobalStateControllerTest extends SysuiTestCase {
|
|||||||
@Test
|
@Test
|
||||||
public void hideView_viewControllerOnlyShown_statusBarShown() {
|
public void hideView_viewControllerOnlyShown_statusBarShown() {
|
||||||
setupOverlayViewController1();
|
setupOverlayViewController1();
|
||||||
|
when(mOverlayViewController1.shouldFocusWindow()).thenReturn(true);
|
||||||
setOverlayViewControllerAsShowing(mOverlayViewController1);
|
setOverlayViewControllerAsShowing(mOverlayViewController1);
|
||||||
|
|
||||||
mOverlayViewGlobalStateController.hideView(mOverlayViewController1, mRunnable);
|
mOverlayViewGlobalStateController.hideView(mOverlayViewController1, mRunnable);
|
||||||
|
|||||||
Reference in New Issue
Block a user