diff options
author | Linux Build Service Account <lnxbuild@localhost> | 2023-04-14 00:27:23 -0700 |
---|---|---|
committer | Linux Build Service Account <lnxbuild@localhost> | 2023-04-14 00:27:23 -0700 |
commit | 308c98f901f540b2a61bde5363434d613b27fd0b (patch) | |
tree | a009a2d5eb74f021d5f20fbb36c221a124def03d /packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainerController.java | |
parent | b77f39e30b9df5c24ec1d8428bf1b5f2946560b5 (diff) | |
parent | 5a47c505d9dd08c276dad9d6fbd157f7207fbb56 (diff) |
Merge 5a47c505d9dd08c276dad9d6fbd157f7207fbb56 on remote branch
Change-Id: Ic8a4252f1c0cdf4a82e9dadcce37606fdcaa68cd
Diffstat (limited to 'packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainerController.java')
-rw-r--r-- | packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainerController.java | 85 |
1 files changed, 65 insertions, 20 deletions
diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainerController.java b/packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainerController.java index 57058b76ce8f..a72a484fb6f1 100644 --- a/packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainerController.java +++ b/packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainerController.java @@ -58,7 +58,9 @@ import com.android.keyguard.dagger.KeyguardBouncerScope; import com.android.settingslib.utils.ThreadUtils; import com.android.systemui.Gefingerpoken; import com.android.systemui.R; -import com.android.systemui.biometrics.SidefpsController; +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.FeatureFlags; import com.android.systemui.flags.Flags; @@ -99,7 +101,8 @@ public class KeyguardSecurityContainerController extends ViewController<Keyguard private final GlobalSettings mGlobalSettings; private final FeatureFlags mFeatureFlags; private final SessionTracker mSessionTracker; - private final Optional<SidefpsController> mSidefpsController; + private final Optional<SideFpsController> mSideFpsController; + private final FalsingA11yDelegate mFalsingA11yDelegate; private int mLastOrientation = Configuration.ORIENTATION_UNDEFINED; @@ -219,13 +222,16 @@ public class KeyguardSecurityContainerController extends ViewController<Keyguard }; - private SwipeListener mSwipeListener = new SwipeListener() { + private final SwipeListener mSwipeListener = new SwipeListener() { @Override public void onSwipeUp() { if (!mUpdateMonitor.isFaceDetectionRunning()) { - mUpdateMonitor.requestFaceAuth(true, FaceAuthApiRequestReason.SWIPE_UP_ON_BOUNCER); + boolean didFaceAuthRun = mUpdateMonitor.requestFaceAuth( + FaceAuthApiRequestReason.SWIPE_UP_ON_BOUNCER); mKeyguardSecurityCallback.userActivity(); - showMessage(null, null); + if (didFaceAuthRun) { + showMessage(null, null); + } } if (mUpdateMonitor.isFaceEnrolled()) { mUpdateMonitor.requestActiveUnlock( @@ -234,7 +240,7 @@ public class KeyguardSecurityContainerController extends ViewController<Keyguard } } }; - private ConfigurationController.ConfigurationListener mConfigurationListener = + private final ConfigurationController.ConfigurationListener mConfigurationListener = new ConfigurationController.ConfigurationListener() { @Override public void onThemeChanged() { @@ -245,6 +251,11 @@ public class KeyguardSecurityContainerController extends ViewController<Keyguard public void onUiModeChanged() { reloadColors(); } + + @Override + public void onDensityOrFontScaleChanged() { + KeyguardSecurityContainerController.this.onDensityOrFontScaleChanged(); + } }; private boolean mBouncerVisible = false; private final KeyguardUpdateMonitorCallback mKeyguardUpdateMonitorCallback = @@ -285,7 +296,8 @@ public class KeyguardSecurityContainerController extends ViewController<Keyguard FeatureFlags featureFlags, GlobalSettings globalSettings, SessionTracker sessionTracker, - Optional<SidefpsController> sidefpsController) { + Optional<SideFpsController> sideFpsController, + FalsingA11yDelegate falsingA11yDelegate) { super(view); mLockPatternUtils = lockPatternUtils; mUpdateMonitor = keyguardUpdateMonitor; @@ -305,12 +317,14 @@ public class KeyguardSecurityContainerController extends ViewController<Keyguard mFeatureFlags = featureFlags; mGlobalSettings = globalSettings; mSessionTracker = sessionTracker; - mSidefpsController = sidefpsController; + mSideFpsController = sideFpsController; + mFalsingA11yDelegate = falsingA11yDelegate; } @Override public void onInit() { mSecurityViewFlipperController.init(); + configureMode(); } @Override @@ -343,16 +357,29 @@ public class KeyguardSecurityContainerController extends ViewController<Keyguard } private void updateSideFpsVisibility() { - if (!mSidefpsController.isPresent()) { + if (!mSideFpsController.isPresent()) { return; } - if (mBouncerVisible - && getResources().getBoolean(R.bool.config_show_sidefps_hint_on_bouncer) - && mUpdateMonitor.isFingerprintDetectionRunning() - && !mUpdateMonitor.userNeedsStrongAuth()) { - mSidefpsController.get().show(); + final boolean sfpsEnabled = getResources().getBoolean( + R.bool.config_show_sidefps_hint_on_bouncer); + final boolean fpsDetectionRunning = mUpdateMonitor.isFingerprintDetectionRunning(); + final boolean isUnlockingWithFpAllowed = + mUpdateMonitor.isUnlockingWithFingerprintAllowed(); + + boolean toShow = mBouncerVisible && sfpsEnabled && fpsDetectionRunning + && isUnlockingWithFpAllowed; + + if (DEBUG) { + Log.d(TAG, "sideFpsToShow=" + toShow + ", " + + "mBouncerVisible=" + mBouncerVisible + ", " + + "configEnabled=" + sfpsEnabled + ", " + + "fpsDetectionRunning=" + fpsDetectionRunning + ", " + + "isUnlockingWithFpAllowed=" + isUnlockingWithFpAllowed); + } + if (toShow) { + mSideFpsController.get().show(SideFpsUiRequestSource.PRIMARY_BOUNCER); } else { - mSidefpsController.get().hide(); + mSideFpsController.get().hide(SideFpsUiRequestSource.PRIMARY_BOUNCER); } } @@ -427,6 +454,7 @@ public class KeyguardSecurityContainerController extends ViewController<Keyguard public void startAppearAnimation() { if (mCurrentSecurityMode != SecurityMode.None) { + mView.setAlpha(1f); mView.startAppearAnimation(mCurrentSecurityMode); getCurrentSecurityController().startAppearAnimation(); } @@ -619,7 +647,9 @@ public class KeyguardSecurityContainerController extends ViewController<Keyguard mode = KeyguardSecurityContainer.MODE_ONE_HANDED; } - mView.initMode(mode, mGlobalSettings, mFalsingManager, mUserSwitcherController); + mView.initMode(mode, mGlobalSettings, mFalsingManager, mUserSwitcherController, + () -> showMessage(getContext().getString(R.string.keyguard_unlock_to_continue), + null), mFalsingA11yDelegate); } public void reportFailedUnlockAttempt(int userId, int timeoutMs) { @@ -700,10 +730,22 @@ public class KeyguardSecurityContainerController extends ViewController<Keyguard } private void reloadColors() { - mSecurityViewFlipperController.reloadColors(); + resetViewFlipper(); mView.reloadColors(); } + /** Handles density or font scale changes. */ + private void onDensityOrFontScaleChanged() { + resetViewFlipper(); + mView.onDensityOrFontScaleChanged(); + } + + private void resetViewFlipper() { + mSecurityViewFlipperController.clearViews(); + mSecurityViewFlipperController.getSecurityView(mCurrentSecurityMode, + mKeyguardSecurityCallback); + } + static class Factory { private final KeyguardSecurityContainer mView; @@ -723,7 +765,8 @@ public class KeyguardSecurityContainerController extends ViewController<Keyguard private final FeatureFlags mFeatureFlags; private final UserSwitcherController mUserSwitcherController; private final SessionTracker mSessionTracker; - private final Optional<SidefpsController> mSidefpsController; + private final Optional<SideFpsController> mSidefpsController; + private final FalsingA11yDelegate mFalsingA11yDelegate; @Inject Factory(KeyguardSecurityContainer view, @@ -743,7 +786,8 @@ public class KeyguardSecurityContainerController extends ViewController<Keyguard FeatureFlags featureFlags, GlobalSettings globalSettings, SessionTracker sessionTracker, - Optional<SidefpsController> sidefpsController) { + Optional<SideFpsController> sidefpsController, + FalsingA11yDelegate falsingA11yDelegate) { mView = view; mAdminSecondaryLockScreenControllerFactory = adminSecondaryLockScreenControllerFactory; mLockPatternUtils = lockPatternUtils; @@ -761,6 +805,7 @@ public class KeyguardSecurityContainerController extends ViewController<Keyguard mUserSwitcherController = userSwitcherController; mSessionTracker = sessionTracker; mSidefpsController = sidefpsController; + mFalsingA11yDelegate = falsingA11yDelegate; } public KeyguardSecurityContainerController create( @@ -771,7 +816,7 @@ public class KeyguardSecurityContainerController extends ViewController<Keyguard mKeyguardStateController, securityCallback, mSecurityViewFlipperController, mConfigurationController, mFalsingCollector, mFalsingManager, mUserSwitcherController, mFeatureFlags, mGlobalSettings, mSessionTracker, - mSidefpsController); + mSidefpsController, mFalsingA11yDelegate); } } } |