diff options
| author | 2022-11-17 12:08:47 +0000 | |
|---|---|---|
| committer | 2022-11-30 18:13:06 +0000 | |
| commit | cd7dcc5983e55e2e9ca3ac2d40d6c35cc2ea5b2f (patch) | |
| tree | 9ed39da8d1810d8fe9301ecf8ca74475b67b8d15 | |
| parent | eda61eeeebfde845e98ca772825e8fce2bb0cd3e (diff) | |
Stop face auth if occluding app doesn't want face auth.
Fixes: 259521464
Test: atest KeyguardUpdateMonitorTest
Test: manually,
1. Enroll face auth (Bypass or non-bypass doesn't matter)
2. Lock the phone
3. Open bouncer to unlock (face auth lock out state doesn't matter).
4. Enter the pin/pattern/password to unlock
5. Camera protection ring should not grow in size, scanning animation should not show up.
Change-Id: Ic35d8538a97bdab3ed22456f5055cbe20f1b56a1
| -rw-r--r-- | packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java | 4 | ||||
| -rw-r--r-- | packages/SystemUI/tests/src/com/android/keyguard/KeyguardUpdateMonitorTest.java | 18 |
2 files changed, 20 insertions, 2 deletions
diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java b/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java index bba4e2c6a9ff..7ced45abc960 100644 --- a/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java +++ b/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java @@ -751,8 +751,8 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab */ public void requestFaceAuthOnOccludingApp(boolean request) { mOccludingAppRequestingFace = request; - updateFaceListeningState(BIOMETRIC_ACTION_UPDATE, - FACE_AUTH_TRIGGERED_OCCLUDING_APP_REQUESTED); + int action = mOccludingAppRequestingFace ? BIOMETRIC_ACTION_UPDATE : BIOMETRIC_ACTION_STOP; + updateFaceListeningState(action, FACE_AUTH_TRIGGERED_OCCLUDING_APP_REQUESTED); } /** diff --git a/packages/SystemUI/tests/src/com/android/keyguard/KeyguardUpdateMonitorTest.java b/packages/SystemUI/tests/src/com/android/keyguard/KeyguardUpdateMonitorTest.java index 1cce472b7c73..c81bb3443700 100644 --- a/packages/SystemUI/tests/src/com/android/keyguard/KeyguardUpdateMonitorTest.java +++ b/packages/SystemUI/tests/src/com/android/keyguard/KeyguardUpdateMonitorTest.java @@ -1285,6 +1285,24 @@ public class KeyguardUpdateMonitorTest extends SysuiTestCase { } @Test + public void testRequestFaceAuthFromOccludingApp_whenInvoked_startsFaceAuth() { + mKeyguardUpdateMonitor.requestFaceAuthOnOccludingApp(true); + + assertThat(mKeyguardUpdateMonitor.isFaceDetectionRunning()).isTrue(); + } + + @Test + public void testRequestFaceAuthFromOccludingApp_whenInvoked_stopsFaceAuth() { + mKeyguardUpdateMonitor.requestFaceAuthOnOccludingApp(true); + + assertThat(mKeyguardUpdateMonitor.isFaceDetectionRunning()).isTrue(); + + mKeyguardUpdateMonitor.requestFaceAuthOnOccludingApp(false); + + assertThat(mKeyguardUpdateMonitor.isFaceDetectionRunning()).isFalse(); + } + + @Test public void testRequireUnlockForNfc_Broadcast() { KeyguardUpdateMonitorCallback callback = mock(KeyguardUpdateMonitorCallback.class); mKeyguardUpdateMonitor.registerCallback(callback); |