Loading packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java +16 −0 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package com.android.systemui.keyguard; import static android.app.StatusBarManager.SESSION_KEYGUARD; import static android.provider.Settings.System.SCREEN_OFF_TIMEOUT; import static android.view.WindowManagerPolicyConstants.KEYGUARD_GOING_AWAY_FLAG_NO_WINDOW_ANIMATIONS; import static android.view.WindowManagerPolicyConstants.KEYGUARD_GOING_AWAY_FLAG_TO_LAUNCHER_CLEAR_SNAPSHOT; Loading Loading @@ -101,6 +102,7 @@ import androidx.annotation.VisibleForTesting; import com.android.app.animation.Interpolators; import com.android.internal.jank.InteractionJankMonitor; import com.android.internal.jank.InteractionJankMonitor.Configuration; import com.android.internal.logging.UiEventLogger; import com.android.internal.policy.IKeyguardDismissCallback; import com.android.internal.policy.IKeyguardExitCallback; import com.android.internal.policy.IKeyguardStateCallback; Loading Loading @@ -131,6 +133,7 @@ import com.android.systemui.dump.DumpManager; import com.android.systemui.flags.FeatureFlags; import com.android.systemui.flags.Flags; import com.android.systemui.keyguard.dagger.KeyguardModule; import com.android.systemui.log.SessionTracker; import com.android.systemui.navigationbar.NavigationModeController; import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.settings.UserTracker; Loading Loading @@ -1181,12 +1184,16 @@ public class KeyguardViewMediator implements CoreStartable, Dumpable, private Lazy<ScrimController> mScrimControllerLazy; private FeatureFlags mFeatureFlags; private final UiEventLogger mUiEventLogger; private final SessionTracker mSessionTracker; /** * Injected constructor. See {@link KeyguardModule}. */ public KeyguardViewMediator( Context context, UiEventLogger uiEventLogger, SessionTracker sessionTracker, UserTracker userTracker, FalsingCollector falsingCollector, LockPatternUtils lockPatternUtils, Loading Loading @@ -1270,6 +1277,8 @@ public class KeyguardViewMediator implements CoreStartable, Dumpable, mDreamCloseAnimationDuration = (int) LOCKSCREEN_ANIMATION_DURATION_MS; mFeatureFlags = featureFlags; mUiEventLogger = uiEventLogger; mSessionTracker = sessionTracker; } public void userActivity() { Loading Loading @@ -1660,6 +1669,13 @@ public class KeyguardViewMediator implements CoreStartable, Dumpable, if (DEBUG) Log.d(TAG, "onStartedWakingUp, seq = " + mDelayedShowingSequence); notifyStartedWakingUp(); } mUiEventLogger.logWithInstanceIdAndPosition( BiometricUnlockController.BiometricUiEvent.STARTED_WAKING_UP, 0, null, mSessionTracker.getSessionId(SESSION_KEYGUARD), pmWakeReason ); mUpdateMonitor.dispatchStartedWakingUp(pmWakeReason); maybeSendUserPresentBroadcast(); Trace.endSection(); Loading packages/SystemUI/src/com/android/systemui/keyguard/dagger/KeyguardModule.java +8 −2 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ import android.content.Context; import android.os.PowerManager; import com.android.internal.jank.InteractionJankMonitor; import com.android.internal.logging.UiEventLogger; import com.android.internal.widget.LockPatternUtils; import com.android.keyguard.KeyguardDisplayManager; import com.android.keyguard.KeyguardUpdateMonitor; Loading Loading @@ -50,6 +51,7 @@ import com.android.systemui.keyguard.domain.interactor.StartKeyguardTransitionMo import com.android.systemui.keyguard.domain.quickaffordance.KeyguardQuickAffordanceModule; import com.android.systemui.keyguard.shared.quickaffordance.KeyguardQuickAffordancesMetricsLogger; import com.android.systemui.keyguard.shared.quickaffordance.KeyguardQuickAffordancesMetricsLoggerImpl; import com.android.systemui.log.SessionTracker; import com.android.systemui.navigationbar.NavigationModeController; import com.android.systemui.settings.UserTracker; import com.android.systemui.shade.ShadeController; Loading @@ -63,12 +65,12 @@ import com.android.systemui.statusbar.policy.KeyguardStateController; import com.android.systemui.statusbar.policy.UserSwitcherController; import com.android.systemui.util.DeviceConfigProxy; import java.util.concurrent.Executor; import dagger.Lazy; import dagger.Module; import dagger.Provides; import java.util.concurrent.Executor; /** * Dagger Module providing keyguard. */ Loading @@ -93,6 +95,8 @@ public class KeyguardModule { @SysUISingleton public static KeyguardViewMediator newKeyguardViewMediator( Context context, UiEventLogger uiEventLogger, SessionTracker sessionTracker, UserTracker userTracker, FalsingCollector falsingCollector, LockPatternUtils lockPatternUtils, Loading Loading @@ -124,6 +128,8 @@ public class KeyguardModule { FeatureFlags featureFlags) { return new KeyguardViewMediator( context, uiEventLogger, sessionTracker, userTracker, falsingCollector, lockPatternUtils, Loading packages/SystemUI/src/com/android/systemui/statusbar/phone/BiometricUnlockController.java +4 −2 Original line number Diff line number Diff line Loading @@ -190,7 +190,6 @@ public class BiometricUnlockController extends KeyguardUpdateMonitorCallback imp } } @VisibleForTesting public enum BiometricUiEvent implements UiEventLogger.UiEventEnum { @UiEvent(doc = "A biometric event of type fingerprint succeeded.") Loading Loading @@ -221,7 +220,10 @@ public class BiometricUnlockController extends KeyguardUpdateMonitorCallback imp BIOMETRIC_IRIS_ERROR(404), @UiEvent(doc = "Bouncer was shown as a result of consecutive failed UDFPS attempts.") BIOMETRIC_BOUNCER_SHOWN(916); BIOMETRIC_BOUNCER_SHOWN(916), @UiEvent(doc = "Screen started waking up with the given PowerManager wake reason.") STARTED_WAKING_UP(1378); private final int mId; Loading packages/SystemUI/tests/src/com/android/systemui/keyguard/KeyguardViewMediatorTest.java +23 −0 Original line number Diff line number Diff line Loading @@ -52,6 +52,8 @@ import android.view.WindowManager; import androidx.test.filters.SmallTest; import com.android.internal.jank.InteractionJankMonitor; import com.android.internal.logging.InstanceId; import com.android.internal.logging.UiEventLogger; import com.android.internal.widget.LockPatternUtils; import com.android.keyguard.KeyguardDisplayManager; import com.android.keyguard.KeyguardSecurityView; Loading @@ -68,6 +70,7 @@ import com.android.systemui.dreams.DreamOverlayStateController; import com.android.systemui.dump.DumpManager; import com.android.systemui.flags.FakeFeatureFlags; import com.android.systemui.flags.Flags; import com.android.systemui.log.SessionTracker; import com.android.systemui.navigationbar.NavigationModeController; import com.android.systemui.settings.UserTracker; import com.android.systemui.shade.NotificationShadeWindowControllerImpl; Loading @@ -77,6 +80,7 @@ import com.android.systemui.shade.ShadeWindowLogger; import com.android.systemui.statusbar.NotificationShadeDepthController; import com.android.systemui.statusbar.NotificationShadeWindowController; import com.android.systemui.statusbar.SysuiStatusBarStateController; import com.android.systemui.statusbar.phone.BiometricUnlockController; import com.android.systemui.statusbar.phone.CentralSurfaces; import com.android.systemui.statusbar.phone.DozeParameters; import com.android.systemui.statusbar.phone.KeyguardBypassController; Loading Loading @@ -143,6 +147,8 @@ public class KeyguardViewMediatorTest extends SysuiTestCase { private FalsingCollectorFake mFalsingCollector; private @Mock CentralSurfaces mCentralSurfaces; private @Mock UiEventLogger mUiEventLogger; private @Mock SessionTracker mSessionTracker; private FakeFeatureFlags mFeatureFlags; Loading Loading @@ -543,9 +549,26 @@ public class KeyguardViewMediatorTest extends SysuiTestCase { assertTrue(mViewMediator.isShowingAndNotOccluded()); } @Test public void testOnStartedWakingUp_logsUiEvent() { final InstanceId instanceId = InstanceId.fakeInstanceId(8); when(mSessionTracker.getSessionId((anyInt()))).thenReturn(instanceId); mViewMediator.onStartedWakingUp(PowerManager.WAKE_REASON_LIFT, false); verify(mUiEventLogger).logWithInstanceIdAndPosition( eq(BiometricUnlockController.BiometricUiEvent.STARTED_WAKING_UP), anyInt(), any(), eq(instanceId), eq(PowerManager.WAKE_REASON_LIFT) ); } private void createAndStartViewMediator() { mViewMediator = new KeyguardViewMediator( mContext, mUiEventLogger, mSessionTracker, mUserTracker, mFalsingCollector, mLockPatternUtils, Loading Loading
packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java +16 −0 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package com.android.systemui.keyguard; import static android.app.StatusBarManager.SESSION_KEYGUARD; import static android.provider.Settings.System.SCREEN_OFF_TIMEOUT; import static android.view.WindowManagerPolicyConstants.KEYGUARD_GOING_AWAY_FLAG_NO_WINDOW_ANIMATIONS; import static android.view.WindowManagerPolicyConstants.KEYGUARD_GOING_AWAY_FLAG_TO_LAUNCHER_CLEAR_SNAPSHOT; Loading Loading @@ -101,6 +102,7 @@ import androidx.annotation.VisibleForTesting; import com.android.app.animation.Interpolators; import com.android.internal.jank.InteractionJankMonitor; import com.android.internal.jank.InteractionJankMonitor.Configuration; import com.android.internal.logging.UiEventLogger; import com.android.internal.policy.IKeyguardDismissCallback; import com.android.internal.policy.IKeyguardExitCallback; import com.android.internal.policy.IKeyguardStateCallback; Loading Loading @@ -131,6 +133,7 @@ import com.android.systemui.dump.DumpManager; import com.android.systemui.flags.FeatureFlags; import com.android.systemui.flags.Flags; import com.android.systemui.keyguard.dagger.KeyguardModule; import com.android.systemui.log.SessionTracker; import com.android.systemui.navigationbar.NavigationModeController; import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.settings.UserTracker; Loading Loading @@ -1181,12 +1184,16 @@ public class KeyguardViewMediator implements CoreStartable, Dumpable, private Lazy<ScrimController> mScrimControllerLazy; private FeatureFlags mFeatureFlags; private final UiEventLogger mUiEventLogger; private final SessionTracker mSessionTracker; /** * Injected constructor. See {@link KeyguardModule}. */ public KeyguardViewMediator( Context context, UiEventLogger uiEventLogger, SessionTracker sessionTracker, UserTracker userTracker, FalsingCollector falsingCollector, LockPatternUtils lockPatternUtils, Loading Loading @@ -1270,6 +1277,8 @@ public class KeyguardViewMediator implements CoreStartable, Dumpable, mDreamCloseAnimationDuration = (int) LOCKSCREEN_ANIMATION_DURATION_MS; mFeatureFlags = featureFlags; mUiEventLogger = uiEventLogger; mSessionTracker = sessionTracker; } public void userActivity() { Loading Loading @@ -1660,6 +1669,13 @@ public class KeyguardViewMediator implements CoreStartable, Dumpable, if (DEBUG) Log.d(TAG, "onStartedWakingUp, seq = " + mDelayedShowingSequence); notifyStartedWakingUp(); } mUiEventLogger.logWithInstanceIdAndPosition( BiometricUnlockController.BiometricUiEvent.STARTED_WAKING_UP, 0, null, mSessionTracker.getSessionId(SESSION_KEYGUARD), pmWakeReason ); mUpdateMonitor.dispatchStartedWakingUp(pmWakeReason); maybeSendUserPresentBroadcast(); Trace.endSection(); Loading
packages/SystemUI/src/com/android/systemui/keyguard/dagger/KeyguardModule.java +8 −2 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ import android.content.Context; import android.os.PowerManager; import com.android.internal.jank.InteractionJankMonitor; import com.android.internal.logging.UiEventLogger; import com.android.internal.widget.LockPatternUtils; import com.android.keyguard.KeyguardDisplayManager; import com.android.keyguard.KeyguardUpdateMonitor; Loading Loading @@ -50,6 +51,7 @@ import com.android.systemui.keyguard.domain.interactor.StartKeyguardTransitionMo import com.android.systemui.keyguard.domain.quickaffordance.KeyguardQuickAffordanceModule; import com.android.systemui.keyguard.shared.quickaffordance.KeyguardQuickAffordancesMetricsLogger; import com.android.systemui.keyguard.shared.quickaffordance.KeyguardQuickAffordancesMetricsLoggerImpl; import com.android.systemui.log.SessionTracker; import com.android.systemui.navigationbar.NavigationModeController; import com.android.systemui.settings.UserTracker; import com.android.systemui.shade.ShadeController; Loading @@ -63,12 +65,12 @@ import com.android.systemui.statusbar.policy.KeyguardStateController; import com.android.systemui.statusbar.policy.UserSwitcherController; import com.android.systemui.util.DeviceConfigProxy; import java.util.concurrent.Executor; import dagger.Lazy; import dagger.Module; import dagger.Provides; import java.util.concurrent.Executor; /** * Dagger Module providing keyguard. */ Loading @@ -93,6 +95,8 @@ public class KeyguardModule { @SysUISingleton public static KeyguardViewMediator newKeyguardViewMediator( Context context, UiEventLogger uiEventLogger, SessionTracker sessionTracker, UserTracker userTracker, FalsingCollector falsingCollector, LockPatternUtils lockPatternUtils, Loading Loading @@ -124,6 +128,8 @@ public class KeyguardModule { FeatureFlags featureFlags) { return new KeyguardViewMediator( context, uiEventLogger, sessionTracker, userTracker, falsingCollector, lockPatternUtils, Loading
packages/SystemUI/src/com/android/systemui/statusbar/phone/BiometricUnlockController.java +4 −2 Original line number Diff line number Diff line Loading @@ -190,7 +190,6 @@ public class BiometricUnlockController extends KeyguardUpdateMonitorCallback imp } } @VisibleForTesting public enum BiometricUiEvent implements UiEventLogger.UiEventEnum { @UiEvent(doc = "A biometric event of type fingerprint succeeded.") Loading Loading @@ -221,7 +220,10 @@ public class BiometricUnlockController extends KeyguardUpdateMonitorCallback imp BIOMETRIC_IRIS_ERROR(404), @UiEvent(doc = "Bouncer was shown as a result of consecutive failed UDFPS attempts.") BIOMETRIC_BOUNCER_SHOWN(916); BIOMETRIC_BOUNCER_SHOWN(916), @UiEvent(doc = "Screen started waking up with the given PowerManager wake reason.") STARTED_WAKING_UP(1378); private final int mId; Loading
packages/SystemUI/tests/src/com/android/systemui/keyguard/KeyguardViewMediatorTest.java +23 −0 Original line number Diff line number Diff line Loading @@ -52,6 +52,8 @@ import android.view.WindowManager; import androidx.test.filters.SmallTest; import com.android.internal.jank.InteractionJankMonitor; import com.android.internal.logging.InstanceId; import com.android.internal.logging.UiEventLogger; import com.android.internal.widget.LockPatternUtils; import com.android.keyguard.KeyguardDisplayManager; import com.android.keyguard.KeyguardSecurityView; Loading @@ -68,6 +70,7 @@ import com.android.systemui.dreams.DreamOverlayStateController; import com.android.systemui.dump.DumpManager; import com.android.systemui.flags.FakeFeatureFlags; import com.android.systemui.flags.Flags; import com.android.systemui.log.SessionTracker; import com.android.systemui.navigationbar.NavigationModeController; import com.android.systemui.settings.UserTracker; import com.android.systemui.shade.NotificationShadeWindowControllerImpl; Loading @@ -77,6 +80,7 @@ import com.android.systemui.shade.ShadeWindowLogger; import com.android.systemui.statusbar.NotificationShadeDepthController; import com.android.systemui.statusbar.NotificationShadeWindowController; import com.android.systemui.statusbar.SysuiStatusBarStateController; import com.android.systemui.statusbar.phone.BiometricUnlockController; import com.android.systemui.statusbar.phone.CentralSurfaces; import com.android.systemui.statusbar.phone.DozeParameters; import com.android.systemui.statusbar.phone.KeyguardBypassController; Loading Loading @@ -143,6 +147,8 @@ public class KeyguardViewMediatorTest extends SysuiTestCase { private FalsingCollectorFake mFalsingCollector; private @Mock CentralSurfaces mCentralSurfaces; private @Mock UiEventLogger mUiEventLogger; private @Mock SessionTracker mSessionTracker; private FakeFeatureFlags mFeatureFlags; Loading Loading @@ -543,9 +549,26 @@ public class KeyguardViewMediatorTest extends SysuiTestCase { assertTrue(mViewMediator.isShowingAndNotOccluded()); } @Test public void testOnStartedWakingUp_logsUiEvent() { final InstanceId instanceId = InstanceId.fakeInstanceId(8); when(mSessionTracker.getSessionId((anyInt()))).thenReturn(instanceId); mViewMediator.onStartedWakingUp(PowerManager.WAKE_REASON_LIFT, false); verify(mUiEventLogger).logWithInstanceIdAndPosition( eq(BiometricUnlockController.BiometricUiEvent.STARTED_WAKING_UP), anyInt(), any(), eq(instanceId), eq(PowerManager.WAKE_REASON_LIFT) ); } private void createAndStartViewMediator() { mViewMediator = new KeyguardViewMediator( mContext, mUiEventLogger, mSessionTracker, mUserTracker, mFalsingCollector, mLockPatternUtils, Loading