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

Commit cebe5ace authored by Aaron Liu's avatar Aaron Liu Committed by Android (Google) Code Review
Browse files

Merge "Fix bugs revolving around user switching." into udc-qpr-dev

parents 4449546b d794fa6c
Loading
Loading
Loading
Loading
+6 −6
Original line number Original line Diff line number Diff line
@@ -102,6 +102,12 @@ public abstract class KeyguardAbsKeyInputViewController<T extends KeyguardAbsKey
        super.onViewAttached();
        super.onViewAttached();
        mView.setKeyDownListener(mKeyDownListener);
        mView.setKeyDownListener(mKeyDownListener);
        mEmergencyButtonController.setEmergencyButtonCallback(mEmergencyButtonCallback);
        mEmergencyButtonController.setEmergencyButtonCallback(mEmergencyButtonCallback);
        // if the user is currently locked out, enforce it.
        long deadline = mLockPatternUtils.getLockoutAttemptDeadline(
                KeyguardUpdateMonitor.getCurrentUser());
        if (shouldLockout(deadline)) {
            handleAttemptLockout(deadline);
        }
    }
    }


    @Override
    @Override
@@ -278,12 +284,6 @@ public abstract class KeyguardAbsKeyInputViewController<T extends KeyguardAbsKey
    @Override
    @Override
    public void onResume(int reason) {
    public void onResume(int reason) {
        mResumed = true;
        mResumed = true;
        // if the user is currently locked out, enforce it.
        long deadline = mLockPatternUtils.getLockoutAttemptDeadline(
                KeyguardUpdateMonitor.getCurrentUser());
        if (shouldLockout(deadline)) {
            handleAttemptLockout(deadline);
        }
    }
    }


    @Override
    @Override
+9 −9
Original line number Original line Diff line number Diff line
@@ -30,13 +30,13 @@ import com.android.internal.util.LatencyTracker;
import com.android.internal.widget.LockPatternUtils;
import com.android.internal.widget.LockPatternUtils;
import com.android.keyguard.KeyguardSecurityModel.SecurityMode;
import com.android.keyguard.KeyguardSecurityModel.SecurityMode;
import com.android.systemui.R;
import com.android.systemui.R;
import com.android.systemui.bouncer.domain.interactor.BouncerMessageInteractor;
import com.android.systemui.bouncer.ui.BouncerMessageView;
import com.android.systemui.bouncer.ui.binder.BouncerMessageViewBinder;
import com.android.systemui.classifier.FalsingCollector;
import com.android.systemui.classifier.FalsingCollector;
import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.flags.FeatureFlags;
import com.android.systemui.flags.FeatureFlags;
import com.android.systemui.flags.Flags;
import com.android.systemui.flags.Flags;
import com.android.systemui.bouncer.domain.interactor.BouncerMessageInteractor;
import com.android.systemui.bouncer.ui.BouncerMessageView;
import com.android.systemui.bouncer.ui.binder.BouncerMessageViewBinder;
import com.android.systemui.log.BouncerLogger;
import com.android.systemui.log.BouncerLogger;
import com.android.systemui.statusbar.policy.DevicePostureController;
import com.android.systemui.statusbar.policy.DevicePostureController;
import com.android.systemui.util.ViewController;
import com.android.systemui.util.ViewController;
@@ -95,6 +95,12 @@ public abstract class KeyguardInputViewController<T extends KeyguardInputView>
    @CallSuper
    @CallSuper
    protected void onViewAttached() {
    protected void onViewAttached() {
        updateMessageAreaVisibility();
        updateMessageAreaVisibility();
        if (TextUtils.isEmpty(mMessageAreaController.getMessage())
                && getInitialMessageResId() != 0) {
            mMessageAreaController.setMessage(
                    mView.getResources().getString(getInitialMessageResId()),
                    /* animate= */ false);
        }
    }
    }


    private void updateMessageAreaVisibility() {
    private void updateMessageAreaVisibility() {
@@ -147,12 +153,6 @@ public abstract class KeyguardInputViewController<T extends KeyguardInputView>
    }
    }


    public void startAppearAnimation() {
    public void startAppearAnimation() {
        if (TextUtils.isEmpty(mMessageAreaController.getMessage())
                && getInitialMessageResId() != 0) {
            mMessageAreaController.setMessage(
                    mView.getResources().getString(getInitialMessageResId()),
                    /* animate= */ false);
        }
        mView.startAppearAnimation();
        mView.startAppearAnimation();
    }
    }


+6 −6
Original line number Original line Diff line number Diff line
@@ -238,6 +238,12 @@ public class KeyguardPatternViewController
        }
        }
        mView.onDevicePostureChanged(mPostureController.getDevicePosture());
        mView.onDevicePostureChanged(mPostureController.getDevicePosture());
        mPostureController.addCallback(mPostureCallback);
        mPostureController.addCallback(mPostureCallback);
        // if the user is currently locked out, enforce it.
        long deadline = mLockPatternUtils.getLockoutAttemptDeadline(
                KeyguardUpdateMonitor.getCurrentUser());
        if (deadline != 0) {
            handleAttemptLockout(deadline);
        }
    }
    }


    @Override
    @Override
@@ -268,12 +274,6 @@ public class KeyguardPatternViewController
    @Override
    @Override
    public void onResume(int reason) {
    public void onResume(int reason) {
        super.onResume(reason);
        super.onResume(reason);
        // if the user is currently locked out, enforce it.
        long deadline = mLockPatternUtils.getLockoutAttemptDeadline(
                KeyguardUpdateMonitor.getCurrentUser());
        if (deadline != 0) {
            handleAttemptLockout(deadline);
        }
    }
    }


    @Override
    @Override
+4 −4
Original line number Original line Diff line number Diff line
@@ -79,6 +79,10 @@ public class KeyguardPinViewController
        mPasswordEntry.setUserActivityListener(this::onUserInput);
        mPasswordEntry.setUserActivityListener(this::onUserInput);
        mView.onDevicePostureChanged(mPostureController.getDevicePosture());
        mView.onDevicePostureChanged(mPostureController.getDevicePosture());
        mPostureController.addCallback(mPostureCallback);
        mPostureController.addCallback(mPostureCallback);
        if (mFeatureFlags.isEnabled(Flags.AUTO_PIN_CONFIRMATION)) {
            mPasswordEntry.setUsePinShapes(true);
            updateAutoConfirmationState();
        }
    }
    }


    protected void onUserInput() {
    protected void onUserInput() {
@@ -100,10 +104,6 @@ public class KeyguardPinViewController


    @Override
    @Override
    public void startAppearAnimation() {
    public void startAppearAnimation() {
        if (mFeatureFlags.isEnabled(Flags.AUTO_PIN_CONFIRMATION)) {
            mPasswordEntry.setUsePinShapes(true);
            updateAutoConfirmationState();
        }
        super.startAppearAnimation();
        super.startAppearAnimation();
    }
    }


+13 −3
Original line number Original line Diff line number Diff line
@@ -146,8 +146,19 @@ public class KeyguardSecurityContainerController extends ViewController<Keyguard
    private int mLastOrientation;
    private int mLastOrientation;


    private SecurityMode mCurrentSecurityMode = SecurityMode.Invalid;
    private SecurityMode mCurrentSecurityMode = SecurityMode.Invalid;
    private int mCurrentUser = UserHandle.USER_NULL;
    private UserSwitcherController.UserSwitchCallback mUserSwitchCallback =
    private UserSwitcherController.UserSwitchCallback mUserSwitchCallback =
            () -> showPrimarySecurityScreen(false);
            new UserSwitcherController.UserSwitchCallback() {
        @Override
        public void onUserSwitched() {
            if (mCurrentUser == KeyguardUpdateMonitor.getCurrentUser()) {
                return;
            }
            mCurrentUser = KeyguardUpdateMonitor.getCurrentUser();
            showPrimarySecurityScreen(false);
            reinflateViewFlipper((l) -> {});
        }
    };


    @VisibleForTesting
    @VisibleForTesting
    final Gefingerpoken mGlobalTouchListener = new Gefingerpoken() {
    final Gefingerpoken mGlobalTouchListener = new Gefingerpoken() {
@@ -343,7 +354,6 @@ public class KeyguardSecurityContainerController extends ViewController<Keyguard
                @Override
                @Override
                public void onThemeChanged() {
                public void onThemeChanged() {
                    reloadColors();
                    reloadColors();
                    reset();
                }
                }


                @Override
                @Override
@@ -1164,7 +1174,7 @@ public class KeyguardSecurityContainerController extends ViewController<Keyguard
    }
    }


    private void reloadColors() {
    private void reloadColors() {
        reinflateViewFlipper(controller -> mView.reloadColors());
        mView.reloadColors();
    }
    }


    /** Handles density or font scale changes. */
    /** Handles density or font scale changes. */
Loading