Remove ModernAlternateBouncer flag & legacyAltBouncer code

Test: atest StatusBarKeyguardViewManagerTest
AlternateBouncerInteractorTest SideFpsControllerTest
UdfpsKeyguardViewControllerWIthCoroutinesTest
Test: manually show alternate bouncer with sfps and udfps
over the lockscreen, occluding app, notification shade and
see altBouncer functions as desired
Fixes: 260619425

Change-Id: Ib1e5d07ab44482fc42c1a1bcfc45207d4b0a9aad
This commit is contained in:
Beverly
2023-03-22 18:44:17 +00:00
committed by Beverly Tai
parent aee5c18251
commit dbaac4e3d8
9 changed files with 23 additions and 220 deletions

View File

@@ -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<SideFpsUiRequestSource> = 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)
}
}
}

View File

@@ -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<String>) {
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"
}

View File

@@ -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")

View File

@@ -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<Boolean> = 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
}
}

View File

@@ -281,7 +281,6 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb
private boolean mLastScreenOffAnimationPlaying;
private float mQsExpansion;
final Set<KeyguardViewManagerCallback> 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.

View File

@@ -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,
)

View File

@@ -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,

View File

@@ -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 */

View File

@@ -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() {