Bouncer - Fix default alignment

The default view never gets initialized. Make sure it does.

Fixes: 253827709
Test: atest KeyguardSecurityContainerController KeyguardSecurityContainer
Test: manual (use small display + font size with pattern bouncer)

Change-Id: Iaef3c67b24bf314ef05e006645b1c550b4fe21d3
This commit is contained in:
Matt Pietal
2022-11-01 16:21:51 +00:00
parent 01d160afd6
commit 6e7f90aede
3 changed files with 19 additions and 2 deletions

View File

@@ -106,8 +106,9 @@ public class KeyguardSecurityContainer extends ConstraintLayout {
static final int USER_TYPE_WORK_PROFILE = 2;
static final int USER_TYPE_SECONDARY_USER = 3;
@IntDef({MODE_DEFAULT, MODE_ONE_HANDED, MODE_USER_SWITCHER})
@IntDef({MODE_UNINITIALIZED, MODE_DEFAULT, MODE_ONE_HANDED, MODE_USER_SWITCHER})
public @interface Mode {}
static final int MODE_UNINITIALIZED = -1;
static final int MODE_DEFAULT = 0;
static final int MODE_ONE_HANDED = 1;
static final int MODE_USER_SWITCHER = 2;
@@ -154,7 +155,11 @@ public class KeyguardSecurityContainer extends ConstraintLayout {
private boolean mDisappearAnimRunning;
private SwipeListener mSwipeListener;
private ViewMode mViewMode = new DefaultViewMode();
private @Mode int mCurrentMode = MODE_DEFAULT;
/*
* Using MODE_UNINITIALIZED to mean the view mode is set to DefaultViewMode, but init() has not
* yet been called on it. This will happen when the ViewController is initialized.
*/
private @Mode int mCurrentMode = MODE_UNINITIALIZED;
private int mWidth = -1;
private final WindowInsetsAnimation.Callback mWindowInsetsAnimationCallback =
@@ -347,6 +352,8 @@ public class KeyguardSecurityContainer extends ConstraintLayout {
private String modeToString(@Mode int mode) {
switch (mode) {
case MODE_UNINITIALIZED:
return "Uninitialized";
case MODE_DEFAULT:
return "Default";
case MODE_ONE_HANDED:

View File

@@ -318,6 +318,7 @@ public class KeyguardSecurityContainerController extends ViewController<Keyguard
@Override
public void onInit() {
mSecurityViewFlipperController.init();
configureMode();
}
@Override

View File

@@ -193,6 +193,15 @@ public class KeyguardSecurityContainerControllerTest extends SysuiTestCase {
mSecurityCallback);
}
@Test
public void onInitConfiguresViewMode() {
mKeyguardSecurityContainerController.onInit();
verify(mView).initMode(eq(MODE_DEFAULT), eq(mGlobalSettings), eq(mFalsingManager),
eq(mUserSwitcherController),
any(KeyguardSecurityContainer.UserSwitcherViewMode.UserSwitcherCallback.class),
eq(mFalsingA11yDelegate));
}
@Test
public void showSecurityScreen_canInflateAllModes() {
SecurityMode[] modes = SecurityMode.values();