Skip to content

Commit d42f8d7

Browse files
Aaron LiuAndroid Build Coastguard Worker
authored andcommitted
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
1 parent a985b63 commit d42f8d7

2 files changed

Lines changed: 20 additions & 6 deletions

File tree

packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainerController.java

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@
6262
import com.android.systemui.plugins.FalsingManager;
6363
import com.android.systemui.shared.system.SysUiStatsLog;
6464
import com.android.systemui.statusbar.policy.ConfigurationController;
65+
import com.android.systemui.statusbar.policy.DeviceProvisionedController;
6566
import com.android.systemui.statusbar.policy.KeyguardStateController;
6667
import com.android.systemui.statusbar.policy.UserSwitcherController;
6768
import com.android.systemui.util.ViewController;
@@ -250,6 +251,7 @@ public void onDevicePolicyManagerStateChanged() {
250251
showPrimarySecurityScreen(false);
251252
}
252253
};
254+
private final DeviceProvisionedController mDeviceProvisionedController;
253255

254256
private KeyguardSecurityContainerController(KeyguardSecurityContainer view,
255257
AdminSecondaryLockScreenController.Factory adminSecondaryLockScreenControllerFactory,
@@ -267,7 +269,9 @@ private KeyguardSecurityContainerController(KeyguardSecurityContainer view,
267269
UserSwitcherController userSwitcherController,
268270
FeatureFlags featureFlags,
269271
GlobalSettings globalSettings,
270-
SessionTracker sessionTracker) {
272+
SessionTracker sessionTracker,
273+
DeviceProvisionedController deviceProvisionedController
274+
) {
271275
super(view);
272276
mLockPatternUtils = lockPatternUtils;
273277
mUpdateMonitor = keyguardUpdateMonitor;
@@ -287,6 +291,7 @@ private KeyguardSecurityContainerController(KeyguardSecurityContainer view,
287291
mFeatureFlags = featureFlags;
288292
mGlobalSettings = globalSettings;
289293
mSessionTracker = sessionTracker;
294+
mDeviceProvisionedController = deviceProvisionedController;
290295
}
291296

292297
@Override
@@ -469,8 +474,11 @@ public boolean showNextSecurityScreenOrFinish(boolean authenticated, int targetU
469474
case SimPuk:
470475
// Shortcut for SIM PIN/PUK to go to directly to user's security screen or home
471476
SecurityMode securityMode = mSecurityModel.getSecurityMode(targetUserId);
472-
if (securityMode == SecurityMode.None || mLockPatternUtils.isLockScreenDisabled(
473-
KeyguardUpdateMonitor.getCurrentUser())) {
477+
boolean isLockscreenDisabled = mLockPatternUtils.isLockScreenDisabled(
478+
KeyguardUpdateMonitor.getCurrentUser())
479+
|| !mDeviceProvisionedController.isUserSetup(targetUserId);
480+
481+
if (securityMode == SecurityMode.None && isLockscreenDisabled) {
474482
finish = true;
475483
eventSubtype = BOUNCER_DISMISS_SIM;
476484
uiEvent = BouncerUiEvent.BOUNCER_DISMISS_SIM;
@@ -676,6 +684,7 @@ static class Factory {
676684
private final FeatureFlags mFeatureFlags;
677685
private final UserSwitcherController mUserSwitcherController;
678686
private final SessionTracker mSessionTracker;
687+
private final DeviceProvisionedController mDeviceProvisionedController;
679688

680689
@Inject
681690
Factory(KeyguardSecurityContainer view,
@@ -694,7 +703,8 @@ static class Factory {
694703
UserSwitcherController userSwitcherController,
695704
FeatureFlags featureFlags,
696705
GlobalSettings globalSettings,
697-
SessionTracker sessionTracker) {
706+
SessionTracker sessionTracker,
707+
DeviceProvisionedController deviceProvisionedController) {
698708
mView = view;
699709
mAdminSecondaryLockScreenControllerFactory = adminSecondaryLockScreenControllerFactory;
700710
mLockPatternUtils = lockPatternUtils;
@@ -711,6 +721,7 @@ static class Factory {
711721
mGlobalSettings = globalSettings;
712722
mUserSwitcherController = userSwitcherController;
713723
mSessionTracker = sessionTracker;
724+
mDeviceProvisionedController = deviceProvisionedController;
714725
}
715726

716727
public KeyguardSecurityContainerController create(
@@ -720,7 +731,8 @@ public KeyguardSecurityContainerController create(
720731
mKeyguardUpdateMonitor, mKeyguardSecurityModel, mMetricsLogger, mUiEventLogger,
721732
mKeyguardStateController, securityCallback, mSecurityViewFlipperController,
722733
mConfigurationController, mFalsingCollector, mFalsingManager,
723-
mUserSwitcherController, mFeatureFlags, mGlobalSettings, mSessionTracker);
734+
mUserSwitcherController, mFeatureFlags, mGlobalSettings, mSessionTracker,
735+
mDeviceProvisionedController);
724736
}
725737
}
726738
}

packages/SystemUI/tests/src/com/android/keyguard/KeyguardSecurityContainerControllerTest.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@
5555
import com.android.systemui.log.SessionTracker;
5656
import com.android.systemui.plugins.FalsingManager;
5757
import com.android.systemui.statusbar.policy.ConfigurationController;
58+
import com.android.systemui.statusbar.policy.DeviceProvisionedController;
5859
import com.android.systemui.statusbar.policy.KeyguardStateController;
5960
import com.android.systemui.statusbar.policy.UserSwitcherController;
6061
import com.android.systemui.util.settings.GlobalSettings;
@@ -164,7 +165,8 @@ public void setup() {
164165
mKeyguardStateController, mKeyguardSecurityViewFlipperController,
165166
mConfigurationController, mFalsingCollector, mFalsingManager,
166167
mUserSwitcherController, mFeatureFlags, mGlobalSettings,
167-
mSessionTracker).create(mSecurityCallback);
168+
mSessionTracker, mock(DeviceProvisionedController.class))
169+
.create(mSecurityCallback);
168170
}
169171

170172
@Test

0 commit comments

Comments
 (0)