Loading packages/SystemUI/src/com/android/systemui/biometrics/SideFpsController.kt +6 −11 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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() Loading Loading @@ -191,7 +188,6 @@ constructor( private fun listenForAlternateBouncerVisibility() { alternateBouncerInteractor.setAlternateBouncerUIAvailable(true) if (featureFlags.isEnabled(Flags.MODERN_ALTERNATE_BOUNCER)) { scope.launch { alternateBouncerInteractor.isVisible.collect { isVisible: Boolean -> if (isVisible) { Loading @@ -202,7 +198,6 @@ constructor( } } } } /** Shows the side fps overlay if not already shown. */ fun show( Loading packages/SystemUI/src/com/android/systemui/biometrics/UdfpsKeyguardViewController.kt +2 −24 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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 Loading @@ -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 { Loading Loading @@ -251,7 +248,7 @@ constructor( // that may make the view visible again. repeatOnLifecycle(Lifecycle.State.CREATED) { listenForBouncerExpansion(this) if (isModernAlternateBouncerEnabled) listenForAlternateBouncerVisibility(this) listenForAlternateBouncerVisibility(this) } } } Loading Loading @@ -295,7 +292,6 @@ constructor( view.updatePadding() updateAlpha() updatePauseAuth() keyguardViewManager.setLegacyAlternateBouncer(legacyAlternateBouncer) keyguardViewManager.setOccludingAppBiometricUI(occludingAppBiometricUI) lockScreenShadeTransitionController.udfpsKeyguardViewController = this activityLaunchAnimator.addListener(activityLaunchAnimatorListener) Loading @@ -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) Loading @@ -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=" + Loading Loading @@ -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" } Loading packages/SystemUI/src/com/android/systemui/flags/Flags.kt +0 −7 Original line number Diff line number Diff line Loading @@ -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") Loading packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/AlternateBouncerInteractor.kt +15 −56 Original line number Diff line number Diff line Loading @@ -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 Loading @@ -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 Loading @@ -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 } return isVisibleState() } /** Loading @@ -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 } return wasAlternateBouncerVisible && !isVisibleState() } fun isVisibleState(): Boolean { return if (isModernAlternateBouncerEnabled) { bouncerRepository.alternateBouncerVisible.value } else { legacyAlternateBouncer?.isShowingAlternateBouncer ?: false } return bouncerRepository.alternateBouncerVisible.value } fun setAlternateBouncerUIAvailable(isAvailable: Boolean) { Loading @@ -116,18 +85,13 @@ constructor( } fun canShowAlternateBouncerForFingerprint(): Boolean { return if (isModernAlternateBouncerEnabled) { bouncerRepository.alternateBouncerUIAvailable.value && return 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) } } /** Loading @@ -135,12 +99,8 @@ constructor( * alternate bouncer and show the primary bouncer. */ fun hasAlternateBouncerShownWithMinTime(): Boolean { return if (isModernAlternateBouncerEnabled) { (systemClock.uptimeMillis() - bouncerRepository.lastAlternateBouncerVisibleTime) > return (systemClock.uptimeMillis() - bouncerRepository.lastAlternateBouncerVisibleTime) > MIN_VISIBILITY_DURATION_UNTIL_TOUCHES_DISMISS_ALTERNATE_BOUNCER_MS } else { systemClock.uptimeMillis() - legacyAlternateBouncerVisibleTime > 200 } } private fun maybeHide() { Loading @@ -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 } } packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java +0 −54 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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); Loading Loading @@ -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, Loading Loading @@ -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); Loading Loading @@ -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. Loading Loading
packages/SystemUI/src/com/android/systemui/biometrics/SideFpsController.kt +6 −11 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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() Loading Loading @@ -191,7 +188,6 @@ constructor( private fun listenForAlternateBouncerVisibility() { alternateBouncerInteractor.setAlternateBouncerUIAvailable(true) if (featureFlags.isEnabled(Flags.MODERN_ALTERNATE_BOUNCER)) { scope.launch { alternateBouncerInteractor.isVisible.collect { isVisible: Boolean -> if (isVisible) { Loading @@ -202,7 +198,6 @@ constructor( } } } } /** Shows the side fps overlay if not already shown. */ fun show( Loading
packages/SystemUI/src/com/android/systemui/biometrics/UdfpsKeyguardViewController.kt +2 −24 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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 Loading @@ -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 { Loading Loading @@ -251,7 +248,7 @@ constructor( // that may make the view visible again. repeatOnLifecycle(Lifecycle.State.CREATED) { listenForBouncerExpansion(this) if (isModernAlternateBouncerEnabled) listenForAlternateBouncerVisibility(this) listenForAlternateBouncerVisibility(this) } } } Loading Loading @@ -295,7 +292,6 @@ constructor( view.updatePadding() updateAlpha() updatePauseAuth() keyguardViewManager.setLegacyAlternateBouncer(legacyAlternateBouncer) keyguardViewManager.setOccludingAppBiometricUI(occludingAppBiometricUI) lockScreenShadeTransitionController.udfpsKeyguardViewController = this activityLaunchAnimator.addListener(activityLaunchAnimatorListener) Loading @@ -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) Loading @@ -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=" + Loading Loading @@ -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" } Loading
packages/SystemUI/src/com/android/systemui/flags/Flags.kt +0 −7 Original line number Diff line number Diff line Loading @@ -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") Loading
packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/AlternateBouncerInteractor.kt +15 −56 Original line number Diff line number Diff line Loading @@ -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 Loading @@ -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 Loading @@ -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 } return isVisibleState() } /** Loading @@ -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 } return wasAlternateBouncerVisible && !isVisibleState() } fun isVisibleState(): Boolean { return if (isModernAlternateBouncerEnabled) { bouncerRepository.alternateBouncerVisible.value } else { legacyAlternateBouncer?.isShowingAlternateBouncer ?: false } return bouncerRepository.alternateBouncerVisible.value } fun setAlternateBouncerUIAvailable(isAvailable: Boolean) { Loading @@ -116,18 +85,13 @@ constructor( } fun canShowAlternateBouncerForFingerprint(): Boolean { return if (isModernAlternateBouncerEnabled) { bouncerRepository.alternateBouncerUIAvailable.value && return 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) } } /** Loading @@ -135,12 +99,8 @@ constructor( * alternate bouncer and show the primary bouncer. */ fun hasAlternateBouncerShownWithMinTime(): Boolean { return if (isModernAlternateBouncerEnabled) { (systemClock.uptimeMillis() - bouncerRepository.lastAlternateBouncerVisibleTime) > return (systemClock.uptimeMillis() - bouncerRepository.lastAlternateBouncerVisibleTime) > MIN_VISIBILITY_DURATION_UNTIL_TOUCHES_DISMISS_ALTERNATE_BOUNCER_MS } else { systemClock.uptimeMillis() - legacyAlternateBouncerVisibleTime > 200 } } private fun maybeHide() { Loading @@ -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 } }
packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java +0 −54 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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); Loading Loading @@ -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, Loading Loading @@ -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); Loading Loading @@ -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. Loading