Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit be484fd5 authored by Chandru S's avatar Chandru S
Browse files

Add additonal logging around user switching in KeyguardUpdateMonitor

Face auth either gets cancelled or doesn't run because we think user switching is currently in progress,
add more logs to KUM to identify which user switching API provides the information at the right time.

Bug: 285516490
Bug: 263757590
Test: NA, logging changes
Change-Id: I996044d65466c752b3c5256b27ca160edf7e03d4
parent 1ce6427a
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -3563,6 +3563,7 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab
     */
    @VisibleForTesting
    void handleUserSwitching(int userId, CountDownLatch latch) {
        mLogger.logUserSwitching(userId, "from UserTracker");
        Assert.isMainThread();
        clearBiometricRecognized();
        boolean trustUsuallyManaged = mTrustManager.isTrustUsuallyManaged(userId);
@@ -3583,6 +3584,7 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab
     */
    @VisibleForTesting
    void handleUserSwitchComplete(int userId) {
        mLogger.logUserSwitchComplete(userId, "from UserTracker");
        Assert.isMainThread();
        for (int i = 0; i < mCallbacks.size(); i++) {
            KeyguardUpdateMonitorCallback cb = mCallbacks.get(i).get();
@@ -4036,6 +4038,11 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab

    @AnyThread
    public void setSwitchingUser(boolean switching) {
        if (switching) {
            mLogger.logUserSwitching(getCurrentUser(), "from setSwitchingUser");
        } else {
            mLogger.logUserSwitchComplete(getCurrentUser(), "from setSwitchingUser");
        }
        mSwitchingUser = switching;
        // Since this comes in on a binder thread, we need to post it first
        mHandler.post(() -> updateBiometricListeningState(BIOMETRIC_ACTION_UPDATE,
+28 −4
Original line number Diff line number Diff line
@@ -727,4 +727,28 @@ constructor(@KeyguardUpdateMonitorLog private val logBuffer: LogBuffer) {
            { "notifying about enrollments changed: $str1" }
        )
    }

    fun logUserSwitching(userId: Int, context: String) {
        logBuffer.log(
            TAG,
            DEBUG,
            {
                int1 = userId
                str1 = context
            },
            { "userCurrentlySwitching: $str1, userId: $int1" }
        )
    }

    fun logUserSwitchComplete(userId: Int, context: String) {
        logBuffer.log(
            TAG,
            DEBUG,
            {
                int1 = userId
                str1 = context
            },
            { "userSwitchComplete: $str1, userId: $int1" }
        )
    }
}