Fix bugs around unification when no password is set
- When in a unified state, selecting the work lock to be "none" caused a security exception - When the work lock was set to "none", unifying didn't work - When in a unified state, the work lock type selection screen showed "none" as the current type instead of the device lock type Bug: 26577247 Change-Id: I853d77186e23b6a458eaa6c1047942a7eefddc9c
This commit is contained in:
@@ -316,10 +316,11 @@ public class ChooseLockGeneric extends SettingsActivity {
|
||||
}
|
||||
|
||||
private String getKeyForCurrent() {
|
||||
if (mLockPatternUtils.isLockScreenDisabled(mUserId)) {
|
||||
final int credentialOwner = mUserManager.getCredentialOwnerProfile(mUserId);
|
||||
if (mLockPatternUtils.isLockScreenDisabled(credentialOwner)) {
|
||||
return KEY_UNLOCK_SET_OFF;
|
||||
}
|
||||
switch (mLockPatternUtils.getKeyguardStoredPasswordQuality(mUserId)) {
|
||||
switch (mLockPatternUtils.getKeyguardStoredPasswordQuality(credentialOwner)) {
|
||||
case DevicePolicyManager.PASSWORD_QUALITY_SOMETHING:
|
||||
return KEY_UNLOCK_SET_PATTERN;
|
||||
case DevicePolicyManager.PASSWORD_QUALITY_NUMERIC:
|
||||
@@ -521,6 +522,7 @@ public class ChooseLockGeneric extends SettingsActivity {
|
||||
}
|
||||
|
||||
if (quality == DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED) {
|
||||
mLockPatternUtils.setSeparateProfileChallengeEnabled(mUserId, true);
|
||||
mChooseLockSettingsHelper.utils().clearLock(mUserId);
|
||||
mChooseLockSettingsHelper.utils().setLockScreenDisabled(disabled, mUserId);
|
||||
mLockPatternUtils.setSeparateProfileChallengeEnabled(mUserId, false);
|
||||
|
Reference in New Issue
Block a user