From 366498ddd8091b53d400e05c479fa892c19b1557 Mon Sep 17 00:00:00 2001 From: Chandru S Date: Tue, 9 May 2023 19:50:38 -0700 Subject: [PATCH] Hide existing bouncer message area if the feature flag is enabled. Bug: 275600559 Test: verified manually, flipping feature flag on will hide the current bouncer messages Test: atest KeyguardAbsKeyInputViewControllerTest Test: atest KeyguardPatternViewControllerTest Change-Id: I97b201c67de418ab805b0547e2f3afc36b12bb3e --- .../KeyguardAbsKeyInputViewController.java | 6 ++-- .../keyguard/KeyguardInputViewController.java | 29 +++++++++++++++---- .../android/keyguard/KeyguardMessageArea.java | 18 ++++++++++++ .../KeyguardMessageAreaController.java | 11 +++++++ .../KeyguardPasswordViewController.java | 6 ++-- .../KeyguardPatternViewController.java | 5 ++-- .../KeyguardPinBasedInputViewController.java | 6 ++-- .../keyguard/KeyguardPinViewController.java | 2 +- .../KeyguardSimPinViewController.java | 5 ++-- .../KeyguardSimPukViewController.java | 5 ++-- ...KeyguardAbsKeyInputViewControllerTest.java | 27 ++++++++++++++--- .../KeyguardPasswordViewControllerTest.kt | 7 ++++- .../KeyguardPatternViewControllerTest.kt | 17 ++++++++++- ...yguardPinBasedInputViewControllerTest.java | 7 ++++- ...yguardSecurityContainerControllerTest.java | 8 ++++- .../KeyguardSimPinViewControllerTest.kt | 8 ++++- .../KeyguardSimPukViewControllerTest.kt | 8 ++++- 17 files changed, 146 insertions(+), 29 deletions(-) diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardAbsKeyInputViewController.java b/packages/SystemUI/src/com/android/keyguard/KeyguardAbsKeyInputViewController.java index 510fcbfd8bee2..e7051202e4d88 100644 --- a/packages/SystemUI/src/com/android/keyguard/KeyguardAbsKeyInputViewController.java +++ b/packages/SystemUI/src/com/android/keyguard/KeyguardAbsKeyInputViewController.java @@ -37,6 +37,7 @@ import com.android.keyguard.KeyguardSecurityModel.SecurityMode; import com.android.systemui.R; import com.android.systemui.classifier.FalsingClassifier; import com.android.systemui.classifier.FalsingCollector; +import com.android.systemui.flags.FeatureFlags; import java.util.HashMap; import java.util.Map; @@ -77,9 +78,10 @@ public abstract class KeyguardAbsKeyInputViewController // (e.g. face unlock). This avoids unwanted asynchronous events from messing with the // state for the current security method. private KeyguardSecurityCallback mNullCallback = new KeyguardSecurityCallback() {}; + private final FeatureFlags mFeatureFlags; protected KeyguardInputViewController(T view, SecurityMode securityMode, KeyguardSecurityCallback keyguardSecurityCallback, EmergencyButtonController emergencyButtonController, - @Nullable KeyguardMessageAreaController.Factory messageAreaControllerFactory) { + @Nullable KeyguardMessageAreaController.Factory messageAreaControllerFactory, + FeatureFlags featureFlags) { super(view); mSecurityMode = securityMode; mKeyguardSecurityCallback = keyguardSecurityCallback; mEmergencyButton = view == null ? null : view.findViewById(R.id.emergency_call_button); mEmergencyButtonController = emergencyButtonController; + mFeatureFlags = featureFlags; if (messageAreaControllerFactory != null) { try { BouncerKeyguardMessageArea kma = view.requireViewById(R.id.bouncer_message_area); @@ -82,9 +87,21 @@ public abstract class KeyguardInputViewController } @Override + @CallSuper protected void onViewAttached() { + updateMessageAreaVisibility(); } + private void updateMessageAreaVisibility() { + if (mMessageAreaController == null) return; + if (mFeatureFlags.isEnabled(Flags.REVAMPED_BOUNCER_MESSAGES)) { + mMessageAreaController.disable(); + } else { + mMessageAreaController.setIsVisible(true); + } + } + + @Override protected void onViewDetached() { } @@ -208,14 +225,14 @@ public abstract class KeyguardInputViewController mKeyguardUpdateMonitor, securityMode, mLockPatternUtils, keyguardSecurityCallback, mLatencyTracker, mFalsingCollector, emergencyButtonController, mMessageAreaControllerFactory, - mDevicePostureController); + mDevicePostureController, mFeatureFlags); } else if (keyguardInputView instanceof KeyguardPasswordView) { return new KeyguardPasswordViewController((KeyguardPasswordView) keyguardInputView, mKeyguardUpdateMonitor, securityMode, mLockPatternUtils, keyguardSecurityCallback, mMessageAreaControllerFactory, mLatencyTracker, mInputMethodManager, emergencyButtonController, mMainExecutor, mResources, - mFalsingCollector, mKeyguardViewController); - + mFalsingCollector, mKeyguardViewController, + mFeatureFlags); } else if (keyguardInputView instanceof KeyguardPINView) { return new KeyguardPinViewController((KeyguardPINView) keyguardInputView, mKeyguardUpdateMonitor, securityMode, mLockPatternUtils, @@ -227,13 +244,13 @@ public abstract class KeyguardInputViewController mKeyguardUpdateMonitor, securityMode, mLockPatternUtils, keyguardSecurityCallback, mMessageAreaControllerFactory, mLatencyTracker, mLiftToActivateListener, mTelephonyManager, mFalsingCollector, - emergencyButtonController); + emergencyButtonController, mFeatureFlags); } else if (keyguardInputView instanceof KeyguardSimPukView) { return new KeyguardSimPukViewController((KeyguardSimPukView) keyguardInputView, mKeyguardUpdateMonitor, securityMode, mLockPatternUtils, keyguardSecurityCallback, mMessageAreaControllerFactory, mLatencyTracker, mLiftToActivateListener, mTelephonyManager, mFalsingCollector, - emergencyButtonController); + emergencyButtonController, mFeatureFlags); } throw new RuntimeException("Unable to find controller for " + keyguardInputView); diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardMessageArea.java b/packages/SystemUI/src/com/android/keyguard/KeyguardMessageArea.java index b01aed910dd96..fc66527998b97 100644 --- a/packages/SystemUI/src/com/android/keyguard/KeyguardMessageArea.java +++ b/packages/SystemUI/src/com/android/keyguard/KeyguardMessageArea.java @@ -45,6 +45,7 @@ public abstract class KeyguardMessageArea extends TextView implements SecurityMe private int mTopMargin; protected boolean mAnimate; private final int mStyleResId; + private boolean mIsDisabled = false; public KeyguardMessageArea(Context context, AttributeSet attrs) { super(context, attrs); @@ -128,6 +129,10 @@ public abstract class KeyguardMessageArea extends TextView implements SecurityMe } void update() { + if (mIsDisabled) { + setVisibility(GONE); + return; + } CharSequence status = mMessage; setVisibility(TextUtils.isEmpty(status) || (!mIsVisible) ? INVISIBLE : VISIBLE); setText(status); @@ -146,4 +151,17 @@ public abstract class KeyguardMessageArea extends TextView implements SecurityMe /** Set the text color */ protected abstract void updateTextColor(); + + /** + * Mark this view with {@link android.view.View#GONE} visibility to remove this from the layout + * of the view. Any calls to {@link #setIsVisible(boolean)} after this will be a no-op. + */ + public void disable() { + mIsDisabled = true; + update(); + } + + public boolean isDisabled() { + return mIsDisabled; + } } diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardMessageAreaController.java b/packages/SystemUI/src/com/android/keyguard/KeyguardMessageAreaController.java index c1896fc641e0d..8faa5d8c6f295 100644 --- a/packages/SystemUI/src/com/android/keyguard/KeyguardMessageAreaController.java +++ b/packages/SystemUI/src/com/android/keyguard/KeyguardMessageAreaController.java @@ -104,6 +104,14 @@ public class KeyguardMessageAreaController mView.setIsVisible(isVisible); } + /** + * Mark this view with {@link View#GONE} visibility to remove this from the layout of the view. + * Any calls to {@link #setIsVisible(boolean)} after this will be a no-op. + */ + public void disable() { + mView.disable(); + } + public void setMessage(CharSequence s) { setMessage(s, true); } @@ -112,6 +120,9 @@ public class KeyguardMessageAreaController * Sets a message to the underlying text view. */ public void setMessage(CharSequence s, boolean animate) { + if (mView.isDisabled()) { + return; + } mView.setMessage(s, animate); CharSequence msg = mView.getText(); if (!TextUtils.isEmpty(msg)) { diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardPasswordViewController.java b/packages/SystemUI/src/com/android/keyguard/KeyguardPasswordViewController.java index d221e22a4fcd7..1f6b09b91b877 100644 --- a/packages/SystemUI/src/com/android/keyguard/KeyguardPasswordViewController.java +++ b/packages/SystemUI/src/com/android/keyguard/KeyguardPasswordViewController.java @@ -40,6 +40,7 @@ import com.android.keyguard.KeyguardSecurityModel.SecurityMode; import com.android.systemui.R; import com.android.systemui.classifier.FalsingCollector; import com.android.systemui.dagger.qualifiers.Main; +import com.android.systemui.flags.FeatureFlags; import com.android.systemui.util.concurrency.DelayableExecutor; import java.util.List; @@ -104,10 +105,11 @@ public class KeyguardPasswordViewController @Main DelayableExecutor mainExecutor, @Main Resources resources, FalsingCollector falsingCollector, - KeyguardViewController keyguardViewController) { + KeyguardViewController keyguardViewController, + FeatureFlags featureFlags) { super(view, keyguardUpdateMonitor, securityMode, lockPatternUtils, keyguardSecurityCallback, messageAreaControllerFactory, latencyTracker, falsingCollector, - emergencyButtonController); + emergencyButtonController, featureFlags); mKeyguardSecurityCallback = keyguardSecurityCallback; mInputMethodManager = inputMethodManager; mMainExecutor = mainExecutor; diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardPatternViewController.java b/packages/SystemUI/src/com/android/keyguard/KeyguardPatternViewController.java index 39225fb03939f..64b1c502b2c31 100644 --- a/packages/SystemUI/src/com/android/keyguard/KeyguardPatternViewController.java +++ b/packages/SystemUI/src/com/android/keyguard/KeyguardPatternViewController.java @@ -38,6 +38,7 @@ import com.android.keyguard.KeyguardSecurityModel.SecurityMode; import com.android.systemui.R; import com.android.systemui.classifier.FalsingClassifier; import com.android.systemui.classifier.FalsingCollector; +import com.android.systemui.flags.FeatureFlags; import com.android.systemui.statusbar.policy.DevicePostureController; import java.util.HashMap; @@ -196,9 +197,9 @@ public class KeyguardPatternViewController FalsingCollector falsingCollector, EmergencyButtonController emergencyButtonController, KeyguardMessageAreaController.Factory messageAreaControllerFactory, - DevicePostureController postureController) { + DevicePostureController postureController, FeatureFlags featureFlags) { super(view, securityMode, keyguardSecurityCallback, emergencyButtonController, - messageAreaControllerFactory); + messageAreaControllerFactory, featureFlags); mKeyguardUpdateMonitor = keyguardUpdateMonitor; mLockPatternUtils = lockPatternUtils; mLatencyTracker = latencyTracker; diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardPinBasedInputViewController.java b/packages/SystemUI/src/com/android/keyguard/KeyguardPinBasedInputViewController.java index ded1238742fbb..31cbdde3452d8 100644 --- a/packages/SystemUI/src/com/android/keyguard/KeyguardPinBasedInputViewController.java +++ b/packages/SystemUI/src/com/android/keyguard/KeyguardPinBasedInputViewController.java @@ -27,6 +27,7 @@ import com.android.internal.widget.LockPatternUtils; import com.android.keyguard.KeyguardSecurityModel.SecurityMode; import com.android.systemui.R; import com.android.systemui.classifier.FalsingCollector; +import com.android.systemui.flags.FeatureFlags; public abstract class KeyguardPinBasedInputViewController extends KeyguardAbsKeyInputViewController { @@ -58,10 +59,11 @@ public abstract class KeyguardPinBasedInputViewController { @@ -81,10 +82,10 @@ public class KeyguardSimPinViewController KeyguardMessageAreaController.Factory messageAreaControllerFactory, LatencyTracker latencyTracker, LiftToActivateListener liftToActivateListener, TelephonyManager telephonyManager, FalsingCollector falsingCollector, - EmergencyButtonController emergencyButtonController) { + EmergencyButtonController emergencyButtonController, FeatureFlags featureFlags) { super(view, keyguardUpdateMonitor, securityMode, lockPatternUtils, keyguardSecurityCallback, messageAreaControllerFactory, latencyTracker, liftToActivateListener, - emergencyButtonController, falsingCollector); + emergencyButtonController, falsingCollector, featureFlags); mKeyguardUpdateMonitor = keyguardUpdateMonitor; mTelephonyManager = telephonyManager; mSimImageView = mView.findViewById(R.id.keyguard_sim); diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardSimPukViewController.java b/packages/SystemUI/src/com/android/keyguard/KeyguardSimPukViewController.java index e9405eb799015..49d786fdddd88 100644 --- a/packages/SystemUI/src/com/android/keyguard/KeyguardSimPukViewController.java +++ b/packages/SystemUI/src/com/android/keyguard/KeyguardSimPukViewController.java @@ -38,6 +38,7 @@ import com.android.internal.widget.LockPatternUtils; import com.android.keyguard.KeyguardSecurityModel.SecurityMode; import com.android.systemui.R; import com.android.systemui.classifier.FalsingCollector; +import com.android.systemui.flags.FeatureFlags; public class KeyguardSimPukViewController extends KeyguardPinBasedInputViewController { @@ -85,10 +86,10 @@ public class KeyguardSimPukViewController KeyguardMessageAreaController.Factory messageAreaControllerFactory, LatencyTracker latencyTracker, LiftToActivateListener liftToActivateListener, TelephonyManager telephonyManager, FalsingCollector falsingCollector, - EmergencyButtonController emergencyButtonController) { + EmergencyButtonController emergencyButtonController, FeatureFlags featureFlags) { super(view, keyguardUpdateMonitor, securityMode, lockPatternUtils, keyguardSecurityCallback, messageAreaControllerFactory, latencyTracker, liftToActivateListener, - emergencyButtonController, falsingCollector); + emergencyButtonController, falsingCollector, featureFlags); mKeyguardUpdateMonitor = keyguardUpdateMonitor; mTelephonyManager = telephonyManager; mSimImageView = mView.findViewById(R.id.keyguard_sim); diff --git a/packages/SystemUI/tests/src/com/android/keyguard/KeyguardAbsKeyInputViewControllerTest.java b/packages/SystemUI/tests/src/com/android/keyguard/KeyguardAbsKeyInputViewControllerTest.java index 1ba9931e1bc87..ae3a320cde549 100644 --- a/packages/SystemUI/tests/src/com/android/keyguard/KeyguardAbsKeyInputViewControllerTest.java +++ b/packages/SystemUI/tests/src/com/android/keyguard/KeyguardAbsKeyInputViewControllerTest.java @@ -40,6 +40,8 @@ import com.android.systemui.R; import com.android.systemui.SysuiTestCase; import com.android.systemui.classifier.FalsingCollector; import com.android.systemui.classifier.FalsingCollectorFake; +import com.android.systemui.flags.FakeFeatureFlags; +import com.android.systemui.flags.Flags; import org.junit.Before; import org.junit.Test; @@ -77,6 +79,7 @@ public class KeyguardAbsKeyInputViewControllerTest extends SysuiTestCase { @Mock private EmergencyButtonController mEmergencyButtonController; + private FakeFeatureFlags mFeatureFlags; private KeyguardAbsKeyInputViewController mKeyguardAbsKeyInputViewController; @Before @@ -90,10 +93,18 @@ public class KeyguardAbsKeyInputViewControllerTest extends SysuiTestCase { when(mAbsKeyInputView.requireViewById(R.id.bouncer_message_area)) .thenReturn(mKeyguardMessageArea); when(mAbsKeyInputView.getResources()).thenReturn(getContext().getResources()); - mKeyguardAbsKeyInputViewController = new KeyguardAbsKeyInputViewController(mAbsKeyInputView, + mFeatureFlags = new FakeFeatureFlags(); + mFeatureFlags.set(Flags.REVAMPED_BOUNCER_MESSAGES, false); + mKeyguardAbsKeyInputViewController = createTestObject(); + mKeyguardAbsKeyInputViewController.init(); + reset(mKeyguardMessageAreaController); // Clear out implicit call to init. + } + + private KeyguardAbsKeyInputViewController createTestObject() { + return new KeyguardAbsKeyInputViewController(mAbsKeyInputView, mKeyguardUpdateMonitor, mSecurityMode, mLockPatternUtils, mKeyguardSecurityCallback, mKeyguardMessageAreaControllerFactory, mLatencyTracker, mFalsingCollector, - mEmergencyButtonController) { + mEmergencyButtonController, mFeatureFlags) { @Override void resetState() { } @@ -108,8 +119,16 @@ public class KeyguardAbsKeyInputViewControllerTest extends SysuiTestCase { return 0; } }; - mKeyguardAbsKeyInputViewController.init(); - reset(mKeyguardMessageAreaController); // Clear out implicit call to init. + } + + @Test + public void withFeatureFlagOn_oldMessage_isHidden() { + mFeatureFlags.set(Flags.REVAMPED_BOUNCER_MESSAGES, true); + KeyguardAbsKeyInputViewController underTest = createTestObject(); + + underTest.init(); + + verify(mKeyguardMessageAreaController).disable(); } @Test diff --git a/packages/SystemUI/tests/src/com/android/keyguard/KeyguardPasswordViewControllerTest.kt b/packages/SystemUI/tests/src/com/android/keyguard/KeyguardPasswordViewControllerTest.kt index 082c8ccd96574..1a9260c2ede6f 100644 --- a/packages/SystemUI/tests/src/com/android/keyguard/KeyguardPasswordViewControllerTest.kt +++ b/packages/SystemUI/tests/src/com/android/keyguard/KeyguardPasswordViewControllerTest.kt @@ -26,6 +26,8 @@ import com.android.internal.widget.LockPatternUtils import com.android.systemui.R import com.android.systemui.SysuiTestCase import com.android.systemui.classifier.FalsingCollector +import com.android.systemui.flags.FakeFeatureFlags +import com.android.systemui.flags.Flags import com.android.systemui.util.concurrency.DelayableExecutor import org.junit.Before import org.junit.Test @@ -76,6 +78,8 @@ class KeyguardPasswordViewControllerTest : SysuiTestCase() { Mockito.`when`(keyguardPasswordView.findViewById(R.id.passwordEntry)) .thenReturn(passwordEntry) `when`(keyguardPasswordView.resources).thenReturn(context.resources) + val fakeFeatureFlags = FakeFeatureFlags() + fakeFeatureFlags.set(Flags.REVAMPED_BOUNCER_MESSAGES, true) keyguardPasswordViewController = KeyguardPasswordViewController( keyguardPasswordView, @@ -90,7 +94,8 @@ class KeyguardPasswordViewControllerTest : SysuiTestCase() { mainExecutor, mContext.resources, falsingCollector, - keyguardViewController) + keyguardViewController, + fakeFeatureFlags) } @Test diff --git a/packages/SystemUI/tests/src/com/android/keyguard/KeyguardPatternViewControllerTest.kt b/packages/SystemUI/tests/src/com/android/keyguard/KeyguardPatternViewControllerTest.kt index a8d5569a1b984..71a57c78e226d 100644 --- a/packages/SystemUI/tests/src/com/android/keyguard/KeyguardPatternViewControllerTest.kt +++ b/packages/SystemUI/tests/src/com/android/keyguard/KeyguardPatternViewControllerTest.kt @@ -26,6 +26,8 @@ import com.android.systemui.R import com.android.systemui.SysuiTestCase import com.android.systemui.classifier.FalsingCollector import com.android.systemui.classifier.FalsingCollectorFake +import com.android.systemui.flags.FakeFeatureFlags +import com.android.systemui.flags.Flags import com.android.systemui.statusbar.policy.DevicePostureController import org.junit.Before import org.junit.Test @@ -72,6 +74,7 @@ class KeyguardPatternViewControllerTest : SysuiTestCase() { @Mock private lateinit var mPostureController: DevicePostureController private lateinit var mKeyguardPatternViewController: KeyguardPatternViewController + private lateinit var fakeFeatureFlags: FakeFeatureFlags @Before fun setup() { @@ -86,6 +89,8 @@ class KeyguardPatternViewControllerTest : SysuiTestCase() { `when`(mKeyguardMessageAreaControllerFactory.create(mKeyguardMessageArea)) .thenReturn(mKeyguardMessageAreaController) `when`(mKeyguardPatternView.resources).thenReturn(context.resources) + fakeFeatureFlags = FakeFeatureFlags() + fakeFeatureFlags.set(Flags.REVAMPED_BOUNCER_MESSAGES, false) mKeyguardPatternViewController = KeyguardPatternViewController( mKeyguardPatternView, @@ -97,7 +102,17 @@ class KeyguardPatternViewControllerTest : SysuiTestCase() { mFalsingCollector, mEmergencyButtonController, mKeyguardMessageAreaControllerFactory, - mPostureController) + mPostureController, + fakeFeatureFlags) + } + + @Test + fun withFeatureFlagOn_oldMessage_isHidden() { + fakeFeatureFlags.set(Flags.REVAMPED_BOUNCER_MESSAGES, true) + + mKeyguardPatternViewController.init() + + verify>(mKeyguardMessageAreaController).disable() } @Test diff --git a/packages/SystemUI/tests/src/com/android/keyguard/KeyguardPinBasedInputViewControllerTest.java b/packages/SystemUI/tests/src/com/android/keyguard/KeyguardPinBasedInputViewControllerTest.java index 0881e61e4c96d..cf86c2192352e 100644 --- a/packages/SystemUI/tests/src/com/android/keyguard/KeyguardPinBasedInputViewControllerTest.java +++ b/packages/SystemUI/tests/src/com/android/keyguard/KeyguardPinBasedInputViewControllerTest.java @@ -36,6 +36,8 @@ import com.android.systemui.SysuiTestCase; import com.android.systemui.classifier.FalsingCollector; import com.android.systemui.classifier.FalsingCollectorFake; import com.android.systemui.classifier.SingleTapClassifier; +import com.android.systemui.flags.FakeFeatureFlags; +import com.android.systemui.flags.Flags; import org.junit.Before; import org.junit.Test; @@ -98,10 +100,13 @@ public class KeyguardPinBasedInputViewControllerTest extends SysuiTestCase { .thenReturn(mDeleteButton); when(mPinBasedInputView.findViewById(R.id.key_enter)) .thenReturn(mOkButton); + FakeFeatureFlags featureFlags = new FakeFeatureFlags(); + featureFlags.set(Flags.REVAMPED_BOUNCER_MESSAGES, true); + mKeyguardPinViewController = new KeyguardPinBasedInputViewController(mPinBasedInputView, mKeyguardUpdateMonitor, mSecurityMode, mLockPatternUtils, mKeyguardSecurityCallback, mKeyguardMessageAreaControllerFactory, mLatencyTracker, mLiftToactivateListener, - mEmergencyButtonController, mFalsingCollector) { + mEmergencyButtonController, mFalsingCollector, featureFlags) { @Override public void onResume(int reason) { super.onResume(reason); diff --git a/packages/SystemUI/tests/src/com/android/keyguard/KeyguardSecurityContainerControllerTest.java b/packages/SystemUI/tests/src/com/android/keyguard/KeyguardSecurityContainerControllerTest.java index 65ddb53f748ba..1559c64e32ebf 100644 --- a/packages/SystemUI/tests/src/com/android/keyguard/KeyguardSecurityContainerControllerTest.java +++ b/packages/SystemUI/tests/src/com/android/keyguard/KeyguardSecurityContainerControllerTest.java @@ -63,7 +63,9 @@ import com.android.systemui.biometrics.SideFpsController; import com.android.systemui.biometrics.SideFpsUiRequestSource; import com.android.systemui.classifier.FalsingA11yDelegate; import com.android.systemui.classifier.FalsingCollector; +import com.android.systemui.flags.FakeFeatureFlags; import com.android.systemui.flags.FeatureFlags; +import com.android.systemui.flags.Flags; import com.android.systemui.keyguard.domain.interactor.KeyguardFaceAuthInteractor; import com.android.systemui.log.SessionTracker; import com.android.systemui.plugins.ActivityStarter; @@ -195,11 +197,15 @@ public class KeyguardSecurityContainerControllerTest extends SysuiTestCase { when(mKeyguardPasswordView.getWindowInsetsController()).thenReturn(mWindowInsetsController); when(mKeyguardSecurityModel.getSecurityMode(anyInt())).thenReturn(SecurityMode.PIN); when(mKeyguardStateController.canDismissLockScreen()).thenReturn(true); + FakeFeatureFlags featureFlags = new FakeFeatureFlags(); + featureFlags.set(Flags.REVAMPED_BOUNCER_MESSAGES, true); + mKeyguardPasswordViewController = new KeyguardPasswordViewController( (KeyguardPasswordView) mKeyguardPasswordView, mKeyguardUpdateMonitor, SecurityMode.Password, mLockPatternUtils, null, mKeyguardMessageAreaControllerFactory, null, null, mEmergencyButtonController, - null, mock(Resources.class), null, mKeyguardViewController); + null, mock(Resources.class), null, mKeyguardViewController, + featureFlags); mKeyguardSecurityContainerController = new KeyguardSecurityContainerController( mView, mAdminSecondaryLockScreenControllerFactory, mLockPatternUtils, diff --git a/packages/SystemUI/tests/src/com/android/keyguard/KeyguardSimPinViewControllerTest.kt b/packages/SystemUI/tests/src/com/android/keyguard/KeyguardSimPinViewControllerTest.kt index eb86c05900184..a3acc781f2a7f 100644 --- a/packages/SystemUI/tests/src/com/android/keyguard/KeyguardSimPinViewControllerTest.kt +++ b/packages/SystemUI/tests/src/com/android/keyguard/KeyguardSimPinViewControllerTest.kt @@ -27,6 +27,8 @@ import com.android.internal.widget.LockPatternUtils import com.android.systemui.R import com.android.systemui.SysuiTestCase import com.android.systemui.classifier.FalsingCollector +import com.android.systemui.flags.FakeFeatureFlags +import com.android.systemui.flags.Flags import com.android.systemui.util.mockito.any import org.junit.Before import org.junit.Test @@ -71,6 +73,9 @@ class KeyguardSimPinViewControllerTest : SysuiTestCase() { simPinView = LayoutInflater.from(context).inflate(R.layout.keyguard_sim_pin_view, null) as KeyguardSimPinView + val fakeFeatureFlags = FakeFeatureFlags() + fakeFeatureFlags.set(Flags.REVAMPED_BOUNCER_MESSAGES, true) + underTest = KeyguardSimPinViewController( simPinView, @@ -83,7 +88,8 @@ class KeyguardSimPinViewControllerTest : SysuiTestCase() { liftToActivateListener, telephonyManager, falsingCollector, - emergencyButtonController + emergencyButtonController, + fakeFeatureFlags, ) underTest.init() } diff --git a/packages/SystemUI/tests/src/com/android/keyguard/KeyguardSimPukViewControllerTest.kt b/packages/SystemUI/tests/src/com/android/keyguard/KeyguardSimPukViewControllerTest.kt index 2dcca55b9318d..efcf4ddb5c71d 100644 --- a/packages/SystemUI/tests/src/com/android/keyguard/KeyguardSimPukViewControllerTest.kt +++ b/packages/SystemUI/tests/src/com/android/keyguard/KeyguardSimPukViewControllerTest.kt @@ -27,6 +27,8 @@ import com.android.internal.widget.LockPatternUtils import com.android.systemui.R import com.android.systemui.SysuiTestCase import com.android.systemui.classifier.FalsingCollector +import com.android.systemui.flags.FakeFeatureFlags +import com.android.systemui.flags.Flags import com.android.systemui.util.mockito.any import org.junit.Before import org.junit.Test @@ -70,6 +72,9 @@ class KeyguardSimPukViewControllerTest : SysuiTestCase() { simPukView = LayoutInflater.from(context).inflate(R.layout.keyguard_sim_puk_view, null) as KeyguardSimPukView + val fakeFeatureFlags = FakeFeatureFlags() + fakeFeatureFlags.set(Flags.REVAMPED_BOUNCER_MESSAGES, true) + underTest = KeyguardSimPukViewController( simPukView, @@ -82,7 +87,8 @@ class KeyguardSimPukViewControllerTest : SysuiTestCase() { liftToActivateListener, telephonyManager, falsingCollector, - emergencyButtonController + emergencyButtonController, + fakeFeatureFlags, ) underTest.init() }