[Bouncer] Force bouncer into portrait mode.

Force bouncer into portrait mode unless user switcher feature is
permitted. The goal here is to force portrait mode for standard phone
devices but allow rotation on tablet devices.

Bug: 230575196
Test: Test on phone and tablet device
Change-Id: I2f74c27206bd9e796d301051be95f6c0cbedb9e9
This commit is contained in:
Aaron Liu
2022-04-28 20:23:24 +00:00
parent 3079ea52c7
commit b0838b3ac3
2 changed files with 15 additions and 1 deletions

View File

@@ -333,7 +333,7 @@ public class NotificationShadeWindowControllerImpl implements NotificationShadeW
}
private void adjustScreenOrientation(State state) {
if (state.isKeyguardShowingAndNotOccluded() || state.mDozing) {
if (state.mBouncerShowing || state.isKeyguardShowingAndNotOccluded() || state.mDozing) {
if (mKeyguardStateController.isKeyguardScreenRotationAllowed()) {
mLpChanged.screenOrientation = ActivityInfo.SCREEN_ORIENTATION_USER;
} else {

View File

@@ -26,6 +26,7 @@ import static com.google.common.truth.Truth.assertThat;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.atLeastOnce;
import static org.mockito.Mockito.clearInvocations;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.reset;
@@ -309,4 +310,17 @@ public class NotificationShadeWindowControllerImplTest extends SysuiTestCase {
});
verify(mWindowManager).updateViewLayout(any(), any());
}
@Test
public void bouncerShowing_OrientationNoSensor() {
mNotificationShadeWindowController.setKeyguardShowing(true);
mNotificationShadeWindowController.setKeyguardOccluded(true);
mNotificationShadeWindowController.setBouncerShowing(true);
when(mKeyguardStateController.isKeyguardScreenRotationAllowed()).thenReturn(false);
mNotificationShadeWindowController.onConfigChanged(new Configuration());
verify(mWindowManager, atLeastOnce()).updateViewLayout(any(), mLayoutParameters.capture());
assertThat(mLayoutParameters.getValue().screenOrientation)
.isEqualTo(ActivityInfo.SCREEN_ORIENTATION_NOSENSOR);
}
}