summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAhan Wu <ahanwu@google.com>2021-06-07 00:10:57 -0800
committerAhan Wu <ahanwu@google.com>2021-06-07 00:10:57 -0800
commit680017ecbb4daab3c7d2ca66d1f532afb59aee8a (patch)
tree5021fd7cd03d87976599be4b3b9d03a313c4fc91
parentebcaa39d6b87e25e2f87319943186ea006405af5 (diff)
Instrument latency of face unlock
Instrument latency of face unlock. Bug: 169735612 Test: atest Change-Id: Ic84a9e958fead3773e97f30117ef6112c011e58d
-rw-r--r--packages/SystemUI/src/com/android/systemui/LatencyTester.java15
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java9
2 files changed, 17 insertions, 7 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/LatencyTester.java b/packages/SystemUI/src/com/android/systemui/LatencyTester.java
index 9c5a40c22bd8..186917fc8807 100644
--- a/packages/SystemUI/src/com/android/systemui/LatencyTester.java
+++ b/packages/SystemUI/src/com/android/systemui/LatencyTester.java
@@ -46,6 +46,9 @@ public class LatencyTester extends SystemUI {
ACTION_FINGERPRINT_WAKE =
"com.android.systemui.latency.ACTION_FINGERPRINT_WAKE";
private static final String
+ ACTION_FACE_WAKE =
+ "com.android.systemui.latency.ACTION_FACE_WAKE";
+ private static final String
ACTION_TURN_ON_SCREEN =
"com.android.systemui.latency.ACTION_TURN_ON_SCREEN";
private final BiometricUnlockController mBiometricUnlockController;
@@ -70,13 +73,16 @@ public class LatencyTester extends SystemUI {
IntentFilter filter = new IntentFilter();
filter.addAction(ACTION_FINGERPRINT_WAKE);
+ filter.addAction(ACTION_FACE_WAKE);
filter.addAction(ACTION_TURN_ON_SCREEN);
mBroadcastDispatcher.registerReceiver(new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if (ACTION_FINGERPRINT_WAKE.equals(action)) {
- fakeWakeAndUnlock();
+ fakeWakeAndUnlock(BiometricSourceType.FINGERPRINT);
+ } else if (ACTION_FACE_WAKE.equals(action)) {
+ fakeWakeAndUnlock(BiometricSourceType.FACE);
} else if (ACTION_TURN_ON_SCREEN.equals(action)) {
fakeTurnOnScreen();
}
@@ -93,10 +99,9 @@ public class LatencyTester extends SystemUI {
SystemClock.uptimeMillis(), WAKE_REASON_UNKNOWN, "android.policy:LATENCY_TESTS");
}
- private void fakeWakeAndUnlock() {
- mBiometricUnlockController.onBiometricAcquired(BiometricSourceType.FINGERPRINT);
+ private void fakeWakeAndUnlock(BiometricSourceType type) {
+ mBiometricUnlockController.onBiometricAcquired(type);
mBiometricUnlockController.onBiometricAuthenticated(
- KeyguardUpdateMonitor.getCurrentUser(), BiometricSourceType.FINGERPRINT,
- true /* isStrongBiometric */);
+ KeyguardUpdateMonitor.getCurrentUser(), type, true /* isStrongBiometric */);
}
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java
index c0957c0aff81..29bb1f4ac7c6 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java
@@ -26,6 +26,7 @@ import static com.android.systemui.statusbar.phone.BiometricUnlockController.MOD
import android.content.ComponentCallbacks2;
import android.content.Context;
import android.content.res.ColorStateList;
+import android.hardware.biometrics.BiometricSourceType;
import android.os.Bundle;
import android.os.SystemClock;
import android.view.KeyEvent;
@@ -768,9 +769,13 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb
private void wakeAndUnlockDejank() {
if (mBiometricUnlockController.getMode() == MODE_WAKE_AND_UNLOCK
&& LatencyTracker.isEnabled(mContext)) {
- DejankUtils.postAfterTraversal(() ->
+ BiometricSourceType type = mBiometricUnlockController.getBiometricType();
+ DejankUtils.postAfterTraversal(() -> {
LatencyTracker.getInstance(mContext).onActionEnd(
- LatencyTracker.ACTION_FINGERPRINT_WAKE_AND_UNLOCK));
+ type == BiometricSourceType.FACE
+ ? LatencyTracker.ACTION_FACE_WAKE_AND_UNLOCK
+ : LatencyTracker.ACTION_FINGERPRINT_WAKE_AND_UNLOCK);
+ });
}
}