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

Commit d42f8d77 authored by Aaron Liu's avatar Aaron Liu Committed by Android Build Coastguard Worker
Browse files

DO NOT MERGE Ensure finish lockscreen when usersetup incomplete

Ensure that when the usersetup for the user is not complete, we do not
want to go to lockscreen, even if lockscreen is not disabled.

Bug: 222446076
Test: add Unit test,
Test: Wipe device, auth sim pin in setup, observe that lockscreen is
not there.
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:080a4992b2eaaffcfd3429d74050347cdcfe5168)
Merged-In: I8e33db8eb6e2c917966cab3d6a4f982670473040
Change-Id: I8e33db8eb6e2c917966cab3d6a4f982670473040
parent a985b637
Loading
Loading
Loading
Loading
+17 −5
Original line number Diff line number Diff line
@@ -62,6 +62,7 @@ import com.android.systemui.log.SessionTracker;
import com.android.systemui.plugins.FalsingManager;
import com.android.systemui.shared.system.SysUiStatsLog;
import com.android.systemui.statusbar.policy.ConfigurationController;
import com.android.systemui.statusbar.policy.DeviceProvisionedController;
import com.android.systemui.statusbar.policy.KeyguardStateController;
import com.android.systemui.statusbar.policy.UserSwitcherController;
import com.android.systemui.util.ViewController;
@@ -250,6 +251,7 @@ public class KeyguardSecurityContainerController extends ViewController<Keyguard
            showPrimarySecurityScreen(false);
        }
    };
    private final DeviceProvisionedController mDeviceProvisionedController;

    private KeyguardSecurityContainerController(KeyguardSecurityContainer view,
            AdminSecondaryLockScreenController.Factory adminSecondaryLockScreenControllerFactory,
@@ -267,7 +269,9 @@ public class KeyguardSecurityContainerController extends ViewController<Keyguard
            UserSwitcherController userSwitcherController,
            FeatureFlags featureFlags,
            GlobalSettings globalSettings,
            SessionTracker sessionTracker) {
            SessionTracker sessionTracker,
            DeviceProvisionedController deviceProvisionedController
    ) {
        super(view);
        mLockPatternUtils = lockPatternUtils;
        mUpdateMonitor = keyguardUpdateMonitor;
@@ -287,6 +291,7 @@ public class KeyguardSecurityContainerController extends ViewController<Keyguard
        mFeatureFlags = featureFlags;
        mGlobalSettings = globalSettings;
        mSessionTracker = sessionTracker;
        mDeviceProvisionedController = deviceProvisionedController;
    }

    @Override
@@ -469,8 +474,11 @@ public class KeyguardSecurityContainerController extends ViewController<Keyguard
                case SimPuk:
                    // Shortcut for SIM PIN/PUK to go to directly to user's security screen or home
                    SecurityMode securityMode = mSecurityModel.getSecurityMode(targetUserId);
                    if (securityMode == SecurityMode.None || mLockPatternUtils.isLockScreenDisabled(
                            KeyguardUpdateMonitor.getCurrentUser())) {
                    boolean isLockscreenDisabled = mLockPatternUtils.isLockScreenDisabled(
                            KeyguardUpdateMonitor.getCurrentUser())
                            || !mDeviceProvisionedController.isUserSetup(targetUserId);

                    if (securityMode == SecurityMode.None && isLockscreenDisabled) {
                        finish = true;
                        eventSubtype = BOUNCER_DISMISS_SIM;
                        uiEvent = BouncerUiEvent.BOUNCER_DISMISS_SIM;
@@ -676,6 +684,7 @@ public class KeyguardSecurityContainerController extends ViewController<Keyguard
        private final FeatureFlags mFeatureFlags;
        private final UserSwitcherController mUserSwitcherController;
        private final SessionTracker mSessionTracker;
        private final DeviceProvisionedController mDeviceProvisionedController;

        @Inject
        Factory(KeyguardSecurityContainer view,
@@ -694,7 +703,8 @@ public class KeyguardSecurityContainerController extends ViewController<Keyguard
                UserSwitcherController userSwitcherController,
                FeatureFlags featureFlags,
                GlobalSettings globalSettings,
                SessionTracker sessionTracker) {
                SessionTracker sessionTracker,
                DeviceProvisionedController deviceProvisionedController) {
            mView = view;
            mAdminSecondaryLockScreenControllerFactory = adminSecondaryLockScreenControllerFactory;
            mLockPatternUtils = lockPatternUtils;
@@ -711,6 +721,7 @@ public class KeyguardSecurityContainerController extends ViewController<Keyguard
            mGlobalSettings = globalSettings;
            mUserSwitcherController = userSwitcherController;
            mSessionTracker = sessionTracker;
            mDeviceProvisionedController = deviceProvisionedController;
        }

        public KeyguardSecurityContainerController create(
@@ -720,7 +731,8 @@ public class KeyguardSecurityContainerController extends ViewController<Keyguard
                    mKeyguardUpdateMonitor, mKeyguardSecurityModel, mMetricsLogger, mUiEventLogger,
                    mKeyguardStateController, securityCallback, mSecurityViewFlipperController,
                    mConfigurationController, mFalsingCollector, mFalsingManager,
                    mUserSwitcherController, mFeatureFlags, mGlobalSettings, mSessionTracker);
                    mUserSwitcherController, mFeatureFlags, mGlobalSettings, mSessionTracker,
                    mDeviceProvisionedController);
        }
    }
}
+3 −1
Original line number Diff line number Diff line
@@ -55,6 +55,7 @@ import com.android.systemui.flags.FeatureFlags;
import com.android.systemui.log.SessionTracker;
import com.android.systemui.plugins.FalsingManager;
import com.android.systemui.statusbar.policy.ConfigurationController;
import com.android.systemui.statusbar.policy.DeviceProvisionedController;
import com.android.systemui.statusbar.policy.KeyguardStateController;
import com.android.systemui.statusbar.policy.UserSwitcherController;
import com.android.systemui.util.settings.GlobalSettings;
@@ -164,7 +165,8 @@ public class KeyguardSecurityContainerControllerTest extends SysuiTestCase {
                mKeyguardStateController, mKeyguardSecurityViewFlipperController,
                mConfigurationController, mFalsingCollector, mFalsingManager,
                mUserSwitcherController, mFeatureFlags, mGlobalSettings,
                mSessionTracker).create(mSecurityCallback);
                mSessionTracker, mock(DeviceProvisionedController.class))
                  .create(mSecurityCallback);
    }

    @Test