summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Chandru <chandruis@google.com> 2022-11-17 12:08:47 +0000
committer Chandru <chandruis@google.com> 2022-11-30 18:13:06 +0000
commitcd7dcc5983e55e2e9ca3ac2d40d6c35cc2ea5b2f (patch)
tree9ed39da8d1810d8fe9301ecf8ca74475b67b8d15
parenteda61eeeebfde845e98ca772825e8fce2bb0cd3e (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.java4
-rw-r--r--packages/SystemUI/tests/src/com/android/keyguard/KeyguardUpdateMonitorTest.java18
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);