Merge "Instrument latency of face unlock" into sc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
d4f879b389
@@ -45,6 +45,9 @@ public class LatencyTester extends SystemUI {
|
|||||||
private static final String
|
private static final String
|
||||||
ACTION_FINGERPRINT_WAKE =
|
ACTION_FINGERPRINT_WAKE =
|
||||||
"com.android.systemui.latency.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
|
private static final String
|
||||||
ACTION_TURN_ON_SCREEN =
|
ACTION_TURN_ON_SCREEN =
|
||||||
"com.android.systemui.latency.ACTION_TURN_ON_SCREEN";
|
"com.android.systemui.latency.ACTION_TURN_ON_SCREEN";
|
||||||
@@ -70,13 +73,16 @@ public class LatencyTester extends SystemUI {
|
|||||||
|
|
||||||
IntentFilter filter = new IntentFilter();
|
IntentFilter filter = new IntentFilter();
|
||||||
filter.addAction(ACTION_FINGERPRINT_WAKE);
|
filter.addAction(ACTION_FINGERPRINT_WAKE);
|
||||||
|
filter.addAction(ACTION_FACE_WAKE);
|
||||||
filter.addAction(ACTION_TURN_ON_SCREEN);
|
filter.addAction(ACTION_TURN_ON_SCREEN);
|
||||||
mBroadcastDispatcher.registerReceiver(new BroadcastReceiver() {
|
mBroadcastDispatcher.registerReceiver(new BroadcastReceiver() {
|
||||||
@Override
|
@Override
|
||||||
public void onReceive(Context context, Intent intent) {
|
public void onReceive(Context context, Intent intent) {
|
||||||
String action = intent.getAction();
|
String action = intent.getAction();
|
||||||
if (ACTION_FINGERPRINT_WAKE.equals(action)) {
|
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)) {
|
} else if (ACTION_TURN_ON_SCREEN.equals(action)) {
|
||||||
fakeTurnOnScreen();
|
fakeTurnOnScreen();
|
||||||
}
|
}
|
||||||
@@ -93,10 +99,9 @@ public class LatencyTester extends SystemUI {
|
|||||||
SystemClock.uptimeMillis(), WAKE_REASON_UNKNOWN, "android.policy:LATENCY_TESTS");
|
SystemClock.uptimeMillis(), WAKE_REASON_UNKNOWN, "android.policy:LATENCY_TESTS");
|
||||||
}
|
}
|
||||||
|
|
||||||
private void fakeWakeAndUnlock() {
|
private void fakeWakeAndUnlock(BiometricSourceType type) {
|
||||||
mBiometricUnlockController.onBiometricAcquired(BiometricSourceType.FINGERPRINT);
|
mBiometricUnlockController.onBiometricAcquired(type);
|
||||||
mBiometricUnlockController.onBiometricAuthenticated(
|
mBiometricUnlockController.onBiometricAuthenticated(
|
||||||
KeyguardUpdateMonitor.getCurrentUser(), BiometricSourceType.FINGERPRINT,
|
KeyguardUpdateMonitor.getCurrentUser(), type, true /* isStrongBiometric */);
|
||||||
true /* isStrongBiometric */);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ import static com.android.systemui.statusbar.phone.BiometricUnlockController.MOD
|
|||||||
import android.content.ComponentCallbacks2;
|
import android.content.ComponentCallbacks2;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.res.ColorStateList;
|
import android.content.res.ColorStateList;
|
||||||
|
import android.hardware.biometrics.BiometricSourceType;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.SystemClock;
|
import android.os.SystemClock;
|
||||||
import android.view.KeyEvent;
|
import android.view.KeyEvent;
|
||||||
@@ -768,9 +769,13 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb
|
|||||||
private void wakeAndUnlockDejank() {
|
private void wakeAndUnlockDejank() {
|
||||||
if (mBiometricUnlockController.getMode() == MODE_WAKE_AND_UNLOCK
|
if (mBiometricUnlockController.getMode() == MODE_WAKE_AND_UNLOCK
|
||||||
&& LatencyTracker.isEnabled(mContext)) {
|
&& LatencyTracker.isEnabled(mContext)) {
|
||||||
DejankUtils.postAfterTraversal(() ->
|
BiometricSourceType type = mBiometricUnlockController.getBiometricType();
|
||||||
|
DejankUtils.postAfterTraversal(() -> {
|
||||||
LatencyTracker.getInstance(mContext).onActionEnd(
|
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);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user