Add metrics for handed bouncer
When one handed keyguard is enabled we want to track whether the keyguard has been switched to the other side. Also for an unlock attempt event we want to track the side the bouncer appears on. Example: https://paste.googleplex.com/6483938588491776 Test: m statsd_testdrive && statsd_testdrive 63 64 Bug: 194396934 Change-Id: I0f35c0013254149a41ba7cc95fab3c1e4960eb65
This commit is contained in:
@@ -54,6 +54,7 @@ import com.android.keyguard.KeyguardSecurityModel.SecurityMode;
|
||||
import com.android.systemui.Gefingerpoken;
|
||||
import com.android.systemui.R;
|
||||
import com.android.systemui.animation.Interpolators;
|
||||
import com.android.systemui.shared.system.SysUiStatsLog;
|
||||
import com.android.systemui.statusbar.notification.stack.StackStateAnimator;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@@ -472,6 +473,11 @@ public class KeyguardSecurityContainer extends FrameLayout {
|
||||
mIsSecurityViewLeftAligned ? Settings.Global.ONE_HANDED_KEYGUARD_SIDE_LEFT
|
||||
: Settings.Global.ONE_HANDED_KEYGUARD_SIDE_RIGHT);
|
||||
|
||||
int keyguardState = mIsSecurityViewLeftAligned
|
||||
? SysUiStatsLog.KEYGUARD_BOUNCER_STATE_CHANGED__STATE__SWITCH_LEFT
|
||||
: SysUiStatsLog.KEYGUARD_BOUNCER_STATE_CHANGED__STATE__SWITCH_RIGHT;
|
||||
SysUiStatsLog.write(SysUiStatsLog.KEYGUARD_BOUNCER_STATE_CHANGED, keyguardState);
|
||||
|
||||
updateSecurityViewLocation(animate);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -151,9 +151,17 @@ public class KeyguardSecurityContainerController extends ViewController<Keyguard
|
||||
}
|
||||
|
||||
public void reportUnlockAttempt(int userId, boolean success, int timeoutMs) {
|
||||
int bouncerSide = SysUiStatsLog.KEYGUARD_BOUNCER_PASSWORD_ENTERED__SIDE__DEFAULT;
|
||||
if (canUseOneHandedBouncer()) {
|
||||
bouncerSide = isOneHandedKeyguardLeftAligned()
|
||||
? SysUiStatsLog.KEYGUARD_BOUNCER_PASSWORD_ENTERED__SIDE__LEFT
|
||||
: SysUiStatsLog.KEYGUARD_BOUNCER_PASSWORD_ENTERED__SIDE__RIGHT;
|
||||
}
|
||||
|
||||
if (success) {
|
||||
SysUiStatsLog.write(SysUiStatsLog.KEYGUARD_BOUNCER_PASSWORD_ENTERED,
|
||||
SysUiStatsLog.KEYGUARD_BOUNCER_PASSWORD_ENTERED__RESULT__SUCCESS);
|
||||
SysUiStatsLog.KEYGUARD_BOUNCER_PASSWORD_ENTERED__RESULT__SUCCESS,
|
||||
bouncerSide);
|
||||
mLockPatternUtils.reportSuccessfulPasswordAttempt(userId);
|
||||
// Force a garbage collection in an attempt to erase any lockscreen password left in
|
||||
// memory. Do it asynchronously with a 5-sec delay to avoid making the keyguard
|
||||
@@ -168,7 +176,8 @@ public class KeyguardSecurityContainerController extends ViewController<Keyguard
|
||||
});
|
||||
} else {
|
||||
SysUiStatsLog.write(SysUiStatsLog.KEYGUARD_BOUNCER_PASSWORD_ENTERED,
|
||||
SysUiStatsLog.KEYGUARD_BOUNCER_PASSWORD_ENTERED__RESULT__FAILURE);
|
||||
SysUiStatsLog.KEYGUARD_BOUNCER_PASSWORD_ENTERED__RESULT__FAILURE,
|
||||
bouncerSide);
|
||||
reportFailedUnlockAttempt(userId, timeoutMs);
|
||||
}
|
||||
mMetricsLogger.write(new LogMaker(MetricsEvent.BOUNCER)
|
||||
@@ -314,6 +323,14 @@ public class KeyguardSecurityContainerController extends ViewController<Keyguard
|
||||
@Override
|
||||
public void onResume(int reason) {
|
||||
if (mCurrentSecurityMode != SecurityMode.None) {
|
||||
int state = SysUiStatsLog.KEYGUARD_BOUNCER_STATE_CHANGED__STATE__SHOWN;
|
||||
if (canUseOneHandedBouncer()) {
|
||||
state = mView.isOneHandedModeLeftAligned()
|
||||
? SysUiStatsLog.KEYGUARD_BOUNCER_STATE_CHANGED__STATE__SHOWN_LEFT
|
||||
: SysUiStatsLog.KEYGUARD_BOUNCER_STATE_CHANGED__STATE__SHOWN_RIGHT;
|
||||
}
|
||||
SysUiStatsLog.write(SysUiStatsLog.KEYGUARD_BOUNCER_STATE_CHANGED, state);
|
||||
|
||||
getCurrentSecurityController().onResume(reason);
|
||||
}
|
||||
mView.onResume(
|
||||
|
||||
@@ -252,8 +252,6 @@ public class KeyguardBouncer {
|
||||
mKeyguardViewController.resetSecurityContainer();
|
||||
showPromptReason(mBouncerPromptReason);
|
||||
}
|
||||
SysUiStatsLog.write(SysUiStatsLog.KEYGUARD_BOUNCER_STATE_CHANGED,
|
||||
SysUiStatsLog.KEYGUARD_BOUNCER_STATE_CHANGED__STATE__SHOWN);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user