diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java b/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java index bba4e2c6a9ff1..7ced45abc9608 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 1cce472b7c735..c81bb3443700e 100644 --- a/packages/SystemUI/tests/src/com/android/keyguard/KeyguardUpdateMonitorTest.java +++ b/packages/SystemUI/tests/src/com/android/keyguard/KeyguardUpdateMonitorTest.java @@ -1284,6 +1284,24 @@ public class KeyguardUpdateMonitorTest extends SysuiTestCase { assertThat(mKeyguardUpdateMonitor.isFaceDetectionRunning()).isEqualTo(true); } + @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);