6262import com .android .systemui .plugins .FalsingManager ;
6363import com .android .systemui .shared .system .SysUiStatsLog ;
6464import com .android .systemui .statusbar .policy .ConfigurationController ;
65+ import com .android .systemui .statusbar .policy .DeviceProvisionedController ;
6566import com .android .systemui .statusbar .policy .KeyguardStateController ;
6667import com .android .systemui .statusbar .policy .UserSwitcherController ;
6768import 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}
0 commit comments