Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 956e424d authored by Jim Miller's avatar Jim Miller Committed by Android Git Automerger
Browse files

am d9b81b11: am a054a828: am c6c843fb: Merge "Add utility methods to...

am d9b81b11: am a054a828: am c6c843fb: Merge "Add utility methods to LockPatternUtils for encryption" into lmp-dev

* commit 'd9b81b11':
  Add utility methods to LockPatternUtils for encryption
parents 438723e6 d9b81b11
Loading
Loading
Loading
Loading
+17 −7
Original line number Diff line number Diff line
@@ -560,9 +560,7 @@ public class LockPatternUtils {
                // Update the device encryption password.
                if (userId == UserHandle.USER_OWNER
                        && LockPatternUtils.isDeviceEncryptionEnabled()) {
                    final ContentResolver cr = mContext.getContentResolver();
                    final boolean required = Settings.Global.getInt(cr,
                            Settings.Global.REQUIRE_PASSWORD_TO_DECRYPT, 1) == 1 ? true : false;
                    final boolean required = isCredentialRequiredToDecrypt(true);
                    if (!required) {
                        clearEncryptionPassword();
                    } else {
@@ -793,10 +791,7 @@ public class LockPatternUtils {
                // Update the device encryption password.
                if (userHandle == UserHandle.USER_OWNER
                        && LockPatternUtils.isDeviceEncryptionEnabled()) {
                    final ContentResolver cr = mContext.getContentResolver();
                    final boolean required = Settings.Global.getInt(cr,
                            Settings.Global.REQUIRE_PASSWORD_TO_DECRYPT, 1) == 1 ? true : false;
                    if (!required) {
                    if (!isCredentialRequiredToDecrypt(true)) {
                        clearEncryptionPassword();
                    } else {
                        boolean numeric = computedQuality
@@ -1658,4 +1653,19 @@ public class LockPatternUtils {
    private void onAfterChangingPassword() {
        getTrustManager().reportEnabledTrustAgentsChanged(getCurrentOrCallingUserId());
    }

    public boolean isCredentialRequiredToDecrypt(boolean defaultValue) {
        final int value = Settings.Global.getInt(mContentResolver,
                Settings.Global.REQUIRE_PASSWORD_TO_DECRYPT, -1);
        return value == -1 ? defaultValue : (value != 0);
    }

    public void setCredentialRequiredToDecrypt(boolean required) {
        if (getCurrentUser() != UserHandle.USER_OWNER) {
            Log.w(TAG, "Only device owner may call setCredentialRequiredForDecrypt()");
            return;
        }
        Settings.Global.putInt(mContext.getContentResolver(),
                Settings.Global.REQUIRE_PASSWORD_TO_DECRYPT, required ? 1 : 0);
    }
}