diff --git a/core/java/com/android/internal/widget/LockPatternUtils.java b/core/java/com/android/internal/widget/LockPatternUtils.java index 2e0dfa5fa7312..b7ce7d7aa5f08 100644 --- a/core/java/com/android/internal/widget/LockPatternUtils.java +++ b/core/java/com/android/internal/widget/LockPatternUtils.java @@ -589,8 +589,14 @@ public class LockPatternUtils { * @return true if lock screen is disabled */ public boolean isLockScreenDisabled(int userId) { - return !isSecure(userId) && - getBoolean(DISABLE_LOCKSCREEN_KEY, false, userId); + if (isSecure(userId)) { + return false; + } + boolean disabledByDefault = mContext.getResources().getBoolean( + com.android.internal.R.bool.config_disableLockscreenByDefault); + boolean isSystemUser = UserManager.isSplitSystemUser() && userId == UserHandle.USER_SYSTEM; + return getBoolean(DISABLE_LOCKSCREEN_KEY, false, userId) + || (disabledByDefault && !isSystemUser); } /** diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml index ca079c434446e..6e4dfc7992eb3 100644 --- a/core/res/res/values/config.xml +++ b/core/res/res/values/config.xml @@ -967,6 +967,9 @@ If so, this should be set to 'false' in an overlay. --> true + + false +