Revert "Revert "Make synthetic password enabled by default""

This reverts commit 4519c0b1ef.

Change-Id: Ie39f1f5af085598fd9b919f25fd6548b0786524c
This commit is contained in:
Paul Crowley
2017-05-31 22:12:57 +00:00
parent 4519c0b1ef
commit 7a0cc0a7fb
3 changed files with 19 additions and 7 deletions

View File

@@ -1672,6 +1672,10 @@ public class LockPatternUtils {
setLong(SYNTHETIC_PASSWORD_ENABLED_KEY, 1L, UserHandle.USER_SYSTEM);
}
public void disableSyntheticPassword() {
setLong(SYNTHETIC_PASSWORD_ENABLED_KEY, 0L, UserHandle.USER_SYSTEM);
}
public boolean isSyntheticPasswordEnabled() {
return getLong(SYNTHETIC_PASSWORD_ENABLED_KEY, 0, UserHandle.USER_SYSTEM) != 0;
}

View File

@@ -134,6 +134,7 @@ public class LockSettingsService extends ILockSettings.Stub {
private static final int PROFILE_KEY_IV_SIZE = 12;
private static final String SEPARATE_PROFILE_CHALLENGE_KEY = "lockscreen.profilechallenge";
private static final int SYNTHETIC_PASSWORD_ENABLED_BY_DEFAULT = 1;
// Order of holding lock: mSeparateChallengeLock -> mSpManager -> this
private final Object mSeparateChallengeLock = new Object();
@@ -1895,14 +1896,16 @@ public class LockSettingsService extends ILockSettings.Stub {
private boolean isSyntheticPasswordBasedCredentialLocked(int userId) throws RemoteException {
long handle = getSyntheticPasswordHandleLocked(userId);
// This is a global setting
long enabled = getLong(SYNTHETIC_PASSWORD_ENABLED_KEY, 0, UserHandle.USER_SYSTEM);
long enabled = getLong(SYNTHETIC_PASSWORD_ENABLED_KEY,
SYNTHETIC_PASSWORD_ENABLED_BY_DEFAULT, UserHandle.USER_SYSTEM);
return enabled != 0 && handle != SyntheticPasswordManager.DEFAULT_HANDLE;
}
private boolean shouldMigrateToSyntheticPasswordLocked(int userId) throws RemoteException {
long handle = getSyntheticPasswordHandleLocked(userId);
// This is a global setting
long enabled = getLong(SYNTHETIC_PASSWORD_ENABLED_KEY, 0, UserHandle.USER_SYSTEM);
long enabled = getLong(SYNTHETIC_PASSWORD_ENABLED_KEY,
SYNTHETIC_PASSWORD_ENABLED_BY_DEFAULT, UserHandle.USER_SYSTEM);
return enabled != 0 && handle == SyntheticPasswordManager.DEFAULT_HANDLE;
}

View File

@@ -71,7 +71,7 @@ class LockSettingsShellCommand extends ShellCommand {
runClear();
break;
case COMMAND_SP:
runEnableSp();
runChangeSp();
break;
case COMMAND_SET_DISABLED:
runSetDisabled();
@@ -107,10 +107,15 @@ class LockSettingsShellCommand extends ShellCommand {
mNew = getNextArg();
}
private void runEnableSp() {
if (mNew != null) {
mLockPatternUtils.enableSyntheticPassword();
getOutPrintWriter().println("Synthetic password enabled");
private void runChangeSp() {
if (mNew != null ) {
if ("1".equals(mNew)) {
mLockPatternUtils.enableSyntheticPassword();
getOutPrintWriter().println("Synthetic password enabled");
} else if ("0".equals(mNew)) {
mLockPatternUtils.disableSyntheticPassword();
getOutPrintWriter().println("Synthetic password disabled");
}
}
getOutPrintWriter().println(String.format("SP Enabled = %b",
mLockPatternUtils.isSyntheticPasswordEnabled()));