diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/SideFpsController.kt b/packages/SystemUI/src/com/android/systemui/biometrics/SideFpsController.kt index c98a62f36656c..eb5d23a23abb1 100644 --- a/packages/SystemUI/src/com/android/systemui/biometrics/SideFpsController.kt +++ b/packages/SystemUI/src/com/android/systemui/biometrics/SideFpsController.kt @@ -59,8 +59,6 @@ import com.android.systemui.dagger.SysUISingleton import com.android.systemui.dagger.qualifiers.Application import com.android.systemui.dagger.qualifiers.Main import com.android.systemui.dump.DumpManager -import com.android.systemui.flags.FeatureFlags -import com.android.systemui.flags.Flags import com.android.systemui.keyguard.domain.interactor.AlternateBouncerInteractor import com.android.systemui.recents.OverviewProxyService import com.android.systemui.util.concurrency.DelayableExecutor @@ -90,7 +88,6 @@ constructor( @Main private val handler: Handler, private val alternateBouncerInteractor: AlternateBouncerInteractor, @Application private val scope: CoroutineScope, - private val featureFlags: FeatureFlags, dumpManager: DumpManager ) : Dumpable { private val requests: HashSet = HashSet() @@ -191,14 +188,12 @@ constructor( private fun listenForAlternateBouncerVisibility() { alternateBouncerInteractor.setAlternateBouncerUIAvailable(true) - if (featureFlags.isEnabled(Flags.MODERN_ALTERNATE_BOUNCER)) { - scope.launch { - alternateBouncerInteractor.isVisible.collect { isVisible: Boolean -> - if (isVisible) { - show(SideFpsUiRequestSource.ALTERNATE_BOUNCER, REASON_AUTH_KEYGUARD) - } else { - hide(SideFpsUiRequestSource.ALTERNATE_BOUNCER) - } + scope.launch { + alternateBouncerInteractor.isVisible.collect { isVisible: Boolean -> + if (isVisible) { + show(SideFpsUiRequestSource.ALTERNATE_BOUNCER, REASON_AUTH_KEYGUARD) + } else { + hide(SideFpsUiRequestSource.ALTERNATE_BOUNCER) } } } diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsKeyguardViewController.kt b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsKeyguardViewController.kt index 231e7a429c539..3e7d81a9de901 100644 --- a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsKeyguardViewController.kt +++ b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsKeyguardViewController.kt @@ -42,7 +42,6 @@ import com.android.systemui.statusbar.StatusBarState import com.android.systemui.statusbar.notification.stack.StackStateAnimator import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager.KeyguardViewManagerCallback -import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager.LegacyAlternateBouncer import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager.OccludingAppBiometricUI import com.android.systemui.statusbar.phone.SystemUIDialogManager import com.android.systemui.statusbar.phone.UnlockedScreenOffAnimationController @@ -82,8 +81,6 @@ constructor( ) { private val useExpandedOverlay: Boolean = featureFlags.isEnabled(Flags.UDFPS_NEW_TOUCH_DETECTION) - private val isModernAlternateBouncerEnabled: Boolean = - featureFlags.isEnabled(Flags.MODERN_ALTERNATE_BOUNCER) private var showingUdfpsBouncer = false private var udfpsRequested = false private var qsExpansion = 0f @@ -107,7 +104,7 @@ constructor( ) } } - private var inputBouncerExpansion = 0f // only used for modernBouncer + private var inputBouncerExpansion = 0f private val stateListener: StatusBarStateController.StateListener = object : StatusBarStateController.StateListener { @@ -251,7 +248,7 @@ constructor( // that may make the view visible again. repeatOnLifecycle(Lifecycle.State.CREATED) { listenForBouncerExpansion(this) - if (isModernAlternateBouncerEnabled) listenForAlternateBouncerVisibility(this) + listenForAlternateBouncerVisibility(this) } } } @@ -295,7 +292,6 @@ constructor( view.updatePadding() updateAlpha() updatePauseAuth() - keyguardViewManager.setLegacyAlternateBouncer(legacyAlternateBouncer) keyguardViewManager.setOccludingAppBiometricUI(occludingAppBiometricUI) lockScreenShadeTransitionController.udfpsKeyguardViewController = this activityLaunchAnimator.addListener(activityLaunchAnimatorListener) @@ -309,7 +305,6 @@ constructor( faceDetectRunning = false keyguardStateController.removeCallback(keyguardStateControllerCallback) statusBarStateController.removeCallback(stateListener) - keyguardViewManager.removeLegacyAlternateBouncer(legacyAlternateBouncer) keyguardViewManager.removeOccludingAppBiometricUI(occludingAppBiometricUI) keyguardUpdateMonitor.requestFaceAuthOnOccludingApp(false) configurationController.removeCallback(configurationListener) @@ -323,7 +318,6 @@ constructor( override fun dump(pw: PrintWriter, args: Array) { super.dump(pw, args) - pw.println("isModernAlternateBouncerEnabled=$isModernAlternateBouncerEnabled") pw.println("showingUdfpsAltBouncer=$showingUdfpsBouncer") pw.println( "altBouncerInteractor#isAlternateBouncerVisible=" + @@ -473,22 +467,6 @@ constructor( private fun updateScaleFactor() { udfpsController.mOverlayParams?.scaleFactor?.let { view.setScaleFactor(it) } } - - private val legacyAlternateBouncer: LegacyAlternateBouncer = - object : LegacyAlternateBouncer { - override fun showAlternateBouncer(): Boolean { - return showUdfpsBouncer(true) - } - - override fun hideAlternateBouncer(): Boolean { - return showUdfpsBouncer(false) - } - - override fun isShowingAlternateBouncer(): Boolean { - return showingUdfpsBouncer - } - } - companion object { const val TAG = "UdfpsKeyguardViewController" } diff --git a/packages/SystemUI/src/com/android/systemui/flags/Flags.kt b/packages/SystemUI/src/com/android/systemui/flags/Flags.kt index 4fe219de2cac1..6a2ea2b4d9303 100644 --- a/packages/SystemUI/src/com/android/systemui/flags/Flags.kt +++ b/packages/SystemUI/src/com/android/systemui/flags/Flags.kt @@ -169,13 +169,6 @@ object Flags { @JvmField val LIGHT_REVEAL_MIGRATION = unreleasedFlag(218, "light_reveal_migration", teamfood = false) - /** - * Whether to use the new alternate bouncer architecture, a refactor of and eventual replacement - * of the Alternate/Authentication Bouncer. No visual UI changes. - */ - // TODO(b/260619425): Tracking Bug - @JvmField val MODERN_ALTERNATE_BOUNCER = releasedFlag(219, "modern_alternate_bouncer") - /** Flag to control the migration of face auth to modern architecture. */ // TODO(b/262838215): Tracking bug @JvmField val FACE_AUTH_REFACTOR = unreleasedFlag(220, "face_auth_refactor") diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/AlternateBouncerInteractor.kt b/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/AlternateBouncerInteractor.kt index aad4a2dd1af74..9b94cdbfe8dc8 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/AlternateBouncerInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/AlternateBouncerInteractor.kt @@ -16,15 +16,11 @@ package com.android.systemui.keyguard.domain.interactor -import com.android.keyguard.KeyguardUpdateMonitor import com.android.systemui.dagger.SysUISingleton -import com.android.systemui.flags.FeatureFlags -import com.android.systemui.flags.Flags import com.android.systemui.keyguard.data.repository.BiometricSettingsRepository import com.android.systemui.keyguard.data.repository.DeviceEntryFingerprintAuthRepository import com.android.systemui.keyguard.data.repository.KeyguardBouncerRepository import com.android.systemui.plugins.statusbar.StatusBarStateController -import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager.LegacyAlternateBouncer import com.android.systemui.statusbar.policy.KeyguardStateController import com.android.systemui.util.time.SystemClock import javax.inject.Inject @@ -41,13 +37,7 @@ constructor( private val biometricSettingsRepository: BiometricSettingsRepository, private val deviceEntryFingerprintAuthRepository: DeviceEntryFingerprintAuthRepository, private val systemClock: SystemClock, - private val keyguardUpdateMonitor: KeyguardUpdateMonitor, - featureFlags: FeatureFlags, ) { - val isModernAlternateBouncerEnabled = featureFlags.isEnabled(Flags.MODERN_ALTERNATE_BOUNCER) - var legacyAlternateBouncer: LegacyAlternateBouncer? = null - var legacyAlternateBouncerVisibleTime: Long = NOT_VISIBLE - var receivedDownTouch = false val isVisible: Flow = bouncerRepository.alternateBouncerVisible @@ -68,21 +58,8 @@ constructor( * @return whether alternateBouncer is visible */ fun show(): Boolean { - return when { - isModernAlternateBouncerEnabled -> { - bouncerRepository.setAlternateVisible(canShowAlternateBouncerForFingerprint()) - isVisibleState() - } - canShowAlternateBouncerForFingerprint() -> { - if (legacyAlternateBouncer?.showAlternateBouncer() == true) { - legacyAlternateBouncerVisibleTime = systemClock.uptimeMillis() - true - } else { - false - } - } - else -> false - } + bouncerRepository.setAlternateVisible(canShowAlternateBouncerForFingerprint()) + return isVisibleState() } /** @@ -94,21 +71,13 @@ constructor( */ fun hide(): Boolean { receivedDownTouch = false - return if (isModernAlternateBouncerEnabled) { - val wasAlternateBouncerVisible = isVisibleState() - bouncerRepository.setAlternateVisible(false) - wasAlternateBouncerVisible && !isVisibleState() - } else { - legacyAlternateBouncer?.hideAlternateBouncer() ?: false - } + val wasAlternateBouncerVisible = isVisibleState() + bouncerRepository.setAlternateVisible(false) + return wasAlternateBouncerVisible && !isVisibleState() } fun isVisibleState(): Boolean { - return if (isModernAlternateBouncerEnabled) { - bouncerRepository.alternateBouncerVisible.value - } else { - legacyAlternateBouncer?.isShowingAlternateBouncer ?: false - } + return bouncerRepository.alternateBouncerVisible.value } fun setAlternateBouncerUIAvailable(isAvailable: Boolean) { @@ -116,18 +85,13 @@ constructor( } fun canShowAlternateBouncerForFingerprint(): Boolean { - return if (isModernAlternateBouncerEnabled) { - bouncerRepository.alternateBouncerUIAvailable.value && - biometricSettingsRepository.isFingerprintEnrolled.value && - biometricSettingsRepository.isStrongBiometricAllowed.value && - biometricSettingsRepository.isFingerprintEnabledByDevicePolicy.value && - !deviceEntryFingerprintAuthRepository.isLockedOut.value && - !keyguardStateController.isUnlocked && - !statusBarStateController.isDozing - } else { - legacyAlternateBouncer != null && - keyguardUpdateMonitor.isUnlockingWithBiometricAllowed(true) - } + return bouncerRepository.alternateBouncerUIAvailable.value && + biometricSettingsRepository.isFingerprintEnrolled.value && + biometricSettingsRepository.isStrongBiometricAllowed.value && + biometricSettingsRepository.isFingerprintEnabledByDevicePolicy.value && + !deviceEntryFingerprintAuthRepository.isLockedOut.value && + !keyguardStateController.isUnlocked && + !statusBarStateController.isDozing } /** @@ -135,12 +99,8 @@ constructor( * alternate bouncer and show the primary bouncer. */ fun hasAlternateBouncerShownWithMinTime(): Boolean { - return if (isModernAlternateBouncerEnabled) { - (systemClock.uptimeMillis() - bouncerRepository.lastAlternateBouncerVisibleTime) > - MIN_VISIBILITY_DURATION_UNTIL_TOUCHES_DISMISS_ALTERNATE_BOUNCER_MS - } else { - systemClock.uptimeMillis() - legacyAlternateBouncerVisibleTime > 200 - } + return (systemClock.uptimeMillis() - bouncerRepository.lastAlternateBouncerVisibleTime) > + MIN_VISIBILITY_DURATION_UNTIL_TOUCHES_DISMISS_ALTERNATE_BOUNCER_MS } private fun maybeHide() { @@ -151,6 +111,5 @@ constructor( companion object { private const val MIN_VISIBILITY_DURATION_UNTIL_TOUCHES_DISMISS_ALTERNATE_BOUNCER_MS = 200L - private const val NOT_VISIBLE = -1L } } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java index f06b5db845885..f9493f41dfd28 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java @@ -281,7 +281,6 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb private boolean mLastScreenOffAnimationPlaying; private float mQsExpansion; final Set mCallbacks = new HashSet<>(); - private boolean mIsModernAlternateBouncerEnabled; private boolean mIsBackAnimationEnabled; private final boolean mUdfpsNewTouchDetectionEnabled; private final UdfpsOverlayInteractor mUdfpsOverlayInteractor; @@ -363,7 +362,6 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb mPrimaryBouncerView = primaryBouncerView; mFoldAodAnimationController = sysUIUnfoldComponent .map(SysUIUnfoldComponent::getFoldAodAnimationController).orElse(null); - mIsModernAlternateBouncerEnabled = featureFlags.isEnabled(Flags.MODERN_ALTERNATE_BOUNCER); mAlternateBouncerInteractor = alternateBouncerInteractor; mIsBackAnimationEnabled = featureFlags.isEnabled(Flags.WM_ENABLE_PREDICTIVE_BACK_BOUNCER_ANIM); @@ -395,35 +393,6 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb registerListeners(); } - /** - * Sets the given legacy alternate bouncer to null if it's the current alternate bouncer. Else, - * does nothing. Only used if modern alternate bouncer is NOT enabled. - */ - public void removeLegacyAlternateBouncer( - @NonNull LegacyAlternateBouncer alternateBouncerLegacy) { - if (!mIsModernAlternateBouncerEnabled) { - if (Objects.equals(mAlternateBouncerInteractor.getLegacyAlternateBouncer(), - alternateBouncerLegacy)) { - mAlternateBouncerInteractor.setLegacyAlternateBouncer(null); - hideAlternateBouncer(true); - } - } - } - - /** - * Sets a new legacy alternate bouncer. Only used if modern alternate bouncer is NOT enabled. - */ - public void setLegacyAlternateBouncer(@NonNull LegacyAlternateBouncer alternateBouncerLegacy) { - if (!mIsModernAlternateBouncerEnabled) { - if (!Objects.equals(mAlternateBouncerInteractor.getLegacyAlternateBouncer(), - alternateBouncerLegacy)) { - mAlternateBouncerInteractor.setLegacyAlternateBouncer(alternateBouncerLegacy); - hideAlternateBouncer(true); - } - } - - } - /** * Sets the given OccludingAppBiometricUI to null if it's the current auth interceptor. Else, @@ -1386,7 +1355,6 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb public void dump(PrintWriter pw) { pw.println("StatusBarKeyguardViewManager:"); - pw.println(" mIsModernAlternateBouncerEnabled: " + mIsModernAlternateBouncerEnabled); pw.println(" mRemoteInputActive: " + mRemoteInputActive); pw.println(" mDozing: " + mDozing); pw.println(" mAfterKeyguardGoneAction: " + mAfterKeyguardGoneAction); @@ -1584,28 +1552,6 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb || mode == KeyguardSecurityModel.SecurityMode.SimPuk; } - /** - * @deprecated Delegate used to send show and hide events to an alternate bouncer. - */ - public interface LegacyAlternateBouncer { - /** - * Show alternate authentication bouncer. - * @return whether alternate auth method was newly shown - */ - boolean showAlternateBouncer(); - - /** - * Hide alternate authentication bouncer - * @return whether the alternate auth method was newly hidden - */ - boolean hideAlternateBouncer(); - - /** - * @return true if the alternate auth bouncer is showing - */ - boolean isShowingAlternateBouncer(); - } - /** * Delegate used to send show and hide events to an alternate authentication method instead of * the regular pin/pattern/password bouncer. diff --git a/packages/SystemUI/tests/src/com/android/systemui/biometrics/SideFpsControllerTest.kt b/packages/SystemUI/tests/src/com/android/systemui/biometrics/SideFpsControllerTest.kt index 0ab675cd68730..33345b5b9f75b 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/biometrics/SideFpsControllerTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/biometrics/SideFpsControllerTest.kt @@ -51,13 +51,10 @@ import android.view.WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG import android.view.WindowMetrics import androidx.test.filters.SmallTest import com.airbnb.lottie.LottieAnimationView -import com.android.keyguard.KeyguardUpdateMonitor import com.android.systemui.R import com.android.systemui.SysuiTestCase import com.android.systemui.SysuiTestableContext import com.android.systemui.dump.DumpManager -import com.android.systemui.flags.FakeFeatureFlags -import com.android.systemui.flags.Flags.MODERN_ALTERNATE_BOUNCER import com.android.systemui.keyguard.data.repository.FakeBiometricSettingsRepository import com.android.systemui.keyguard.data.repository.FakeDeviceEntryFingerprintAuthRepository import com.android.systemui.keyguard.data.repository.FakeKeyguardBouncerRepository @@ -113,7 +110,6 @@ class SideFpsControllerTest : SysuiTestCase() { private lateinit var keyguardBouncerRepository: FakeKeyguardBouncerRepository private lateinit var alternateBouncerInteractor: AlternateBouncerInteractor - private val featureFlags = FakeFeatureFlags() private val executor = FakeExecutor(FakeSystemClock()) private lateinit var overlayController: ISidefpsController private lateinit var sideFpsController: SideFpsController @@ -134,7 +130,6 @@ class SideFpsControllerTest : SysuiTestCase() { @Before fun setup() { - featureFlags.set(MODERN_ALTERNATE_BOUNCER, true) keyguardBouncerRepository = FakeKeyguardBouncerRepository() alternateBouncerInteractor = AlternateBouncerInteractor( @@ -144,8 +139,6 @@ class SideFpsControllerTest : SysuiTestCase() { FakeBiometricSettingsRepository(), FakeDeviceEntryFingerprintAuthRepository(), FakeSystemClock(), - mock(KeyguardUpdateMonitor::class.java), - featureFlags, ) context.addMockSystemService(DisplayManager::class.java, displayManager) @@ -246,7 +239,6 @@ class SideFpsControllerTest : SysuiTestCase() { handler, alternateBouncerInteractor, TestCoroutineScope(), - featureFlags, dumpManager, ) diff --git a/packages/SystemUI/tests/src/com/android/systemui/biometrics/UdfpsKeyguardViewControllerBaseTest.java b/packages/SystemUI/tests/src/com/android/systemui/biometrics/UdfpsKeyguardViewControllerBaseTest.java index dbbc2663a879d..a878aec4c7531 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/biometrics/UdfpsKeyguardViewControllerBaseTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/biometrics/UdfpsKeyguardViewControllerBaseTest.java @@ -147,7 +147,6 @@ public class UdfpsKeyguardViewControllerBaseTest extends SysuiTestCase { protected UdfpsKeyguardViewController createUdfpsKeyguardViewController( boolean useModernBouncer, boolean useExpandedOverlay) { - mFeatureFlags.set(Flags.MODERN_ALTERNATE_BOUNCER, useModernBouncer); mFeatureFlags.set(Flags.UDFPS_NEW_TOUCH_DETECTION, useExpandedOverlay); UdfpsKeyguardViewController controller = new UdfpsKeyguardViewController( mView, diff --git a/packages/SystemUI/tests/src/com/android/systemui/biometrics/UdfpsKeyguardViewControllerWithCoroutinesTest.kt b/packages/SystemUI/tests/src/com/android/systemui/biometrics/UdfpsKeyguardViewControllerWithCoroutinesTest.kt index cefa9b129262a..b848413423d1a 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/biometrics/UdfpsKeyguardViewControllerWithCoroutinesTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/biometrics/UdfpsKeyguardViewControllerWithCoroutinesTest.kt @@ -21,9 +21,7 @@ import android.testing.AndroidTestingRunner import android.testing.TestableLooper import androidx.test.filters.SmallTest import com.android.keyguard.KeyguardSecurityModel -import com.android.keyguard.KeyguardUpdateMonitor import com.android.systemui.classifier.FalsingCollector -import com.android.systemui.flags.FeatureFlags import com.android.systemui.keyguard.DismissCallbackRegistry import com.android.systemui.keyguard.data.BouncerView import com.android.systemui.keyguard.data.repository.BiometricSettingsRepository @@ -100,8 +98,6 @@ class UdfpsKeyguardViewControllerWithCoroutinesTest : UdfpsKeyguardViewControlle mock(BiometricSettingsRepository::class.java), mock(DeviceEntryFingerprintAuthRepository::class.java), mock(SystemClock::class.java), - mock(KeyguardUpdateMonitor::class.java), - mock(FeatureFlags::class.java) ) return createUdfpsKeyguardViewController( /* useModernBouncer */ true, /* useExpandedOverlay */ diff --git a/packages/SystemUI/tests/src/com/android/systemui/keyguard/domain/interactor/AlternateBouncerInteractorTest.kt b/packages/SystemUI/tests/src/com/android/systemui/keyguard/domain/interactor/AlternateBouncerInteractorTest.kt index 86246f7af0331..e7e59697e8edf 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/keyguard/domain/interactor/AlternateBouncerInteractorTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/keyguard/domain/interactor/AlternateBouncerInteractorTest.kt @@ -18,11 +18,8 @@ package com.android.systemui.keyguard.domain.interactor import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SmallTest -import com.android.keyguard.KeyguardUpdateMonitor import com.android.keyguard.ViewMediatorCallback import com.android.systemui.SysuiTestCase -import com.android.systemui.flags.FakeFeatureFlags -import com.android.systemui.flags.Flags import com.android.systemui.keyguard.data.repository.FakeBiometricSettingsRepository import com.android.systemui.keyguard.data.repository.FakeDeviceEntryFingerprintAuthRepository import com.android.systemui.keyguard.data.repository.KeyguardBouncerRepository @@ -40,10 +37,8 @@ import org.junit.Assert.assertTrue import org.junit.Before import org.junit.Test import org.junit.runner.RunWith -import org.mockito.ArgumentCaptor import org.mockito.Mock import org.mockito.Mockito.mock -import org.mockito.Mockito.verify import org.mockito.MockitoAnnotations @OptIn(ExperimentalCoroutinesApi::class) @@ -58,9 +53,7 @@ class AlternateBouncerInteractorTest : SysuiTestCase() { @Mock private lateinit var statusBarStateController: StatusBarStateController @Mock private lateinit var keyguardStateController: KeyguardStateController @Mock private lateinit var systemClock: SystemClock - @Mock private lateinit var keyguardUpdateMonitor: KeyguardUpdateMonitor @Mock private lateinit var bouncerLogger: TableLogBuffer - private lateinit var featureFlags: FakeFeatureFlags @Before fun setup() { @@ -74,7 +67,6 @@ class AlternateBouncerInteractorTest : SysuiTestCase() { ) biometricSettingsRepository = FakeBiometricSettingsRepository() deviceEntryFingerprintAuthRepository = FakeDeviceEntryFingerprintAuthRepository() - featureFlags = FakeFeatureFlags().apply { this.set(Flags.MODERN_ALTERNATE_BOUNCER, true) } underTest = AlternateBouncerInteractor( statusBarStateController, @@ -83,8 +75,6 @@ class AlternateBouncerInteractorTest : SysuiTestCase() { biometricSettingsRepository, deviceEntryFingerprintAuthRepository, systemClock, - keyguardUpdateMonitor, - featureFlags, ) } @@ -134,14 +124,6 @@ class AlternateBouncerInteractorTest : SysuiTestCase() { assertFalse(underTest.canShowAlternateBouncerForFingerprint()) } - @Test - fun canShowAlternateBouncerForFingerprint_isDozing() { - givenCanShowAlternateBouncer() - whenever(statusBarStateController.isDozing).thenReturn(true) - - assertFalse(underTest.canShowAlternateBouncerForFingerprint()) - } - @Test fun show_whenCanShow() { givenCanShowAlternateBouncer() @@ -182,42 +164,6 @@ class AlternateBouncerInteractorTest : SysuiTestCase() { assertFalse(bouncerRepository.alternateBouncerVisible.value) } - @Test - fun onUnlockedIsFalse_doesNotHide() { - // GIVEN alternate bouncer is showing - bouncerRepository.setAlternateVisible(true) - - val keyguardStateControllerCallbackCaptor = - ArgumentCaptor.forClass(KeyguardStateController.Callback::class.java) - verify(keyguardStateController).addCallback(keyguardStateControllerCallbackCaptor.capture()) - - // WHEN isUnlocked=false - givenCanShowAlternateBouncer() - whenever(keyguardStateController.isUnlocked).thenReturn(false) - keyguardStateControllerCallbackCaptor.value.onUnlockedChanged() - - // THEN the alternate bouncer is still visible - assertTrue(bouncerRepository.alternateBouncerVisible.value) - } - - @Test - fun onUnlockedChangedIsTrue_hide() { - // GIVEN alternate bouncer is showing - bouncerRepository.setAlternateVisible(true) - - val keyguardStateControllerCallbackCaptor = - ArgumentCaptor.forClass(KeyguardStateController.Callback::class.java) - verify(keyguardStateController).addCallback(keyguardStateControllerCallbackCaptor.capture()) - - // WHEN isUnlocked=true - givenCanShowAlternateBouncer() - whenever(keyguardStateController.isUnlocked).thenReturn(true) - keyguardStateControllerCallbackCaptor.value.onUnlockedChanged() - - // THEN the alternate bouncer is hidden - assertFalse(bouncerRepository.alternateBouncerVisible.value) - } - private fun givenCanShowAlternateBouncer() { bouncerRepository.setAlternateBouncerUIAvailable(true) biometricSettingsRepository.setFingerprintEnrolled(true) @@ -225,7 +171,6 @@ class AlternateBouncerInteractorTest : SysuiTestCase() { biometricSettingsRepository.setFingerprintEnabledByDevicePolicy(true) deviceEntryFingerprintAuthRepository.setLockedOut(false) whenever(keyguardStateController.isUnlocked).thenReturn(false) - whenever(statusBarStateController.isDozing).thenReturn(false) } private fun givenCannotShowAlternateBouncer() {