From 146fc11958ae93d4c97ce83839188ece762f3275 Mon Sep 17 00:00:00 2001 From: Andrei Kapishnikov Date: Thu, 9 Apr 2015 11:08:16 -0400 Subject: Added support for DO_NOT_ASK_CREDENTIALS_ON_BOOT DPM flag When DO_NOT_ASK_CREDENTIALS_ON_BOOT flag is set in DevicePolicyManager, the Settings UI: 1) Should not encrypt the device with password when the user encrypts the device for the first time. The default encryption type should be used instead. 2) Should not give the choice to the user whether to encrypt the device with password/PIN or not but always encrypt the device without password. Related CL: https://googleplex-android-review.git.corp.google.com/#/c/665371/ Change-Id: Ic09f02c033a0b16b7ffc45bf6d675b62d1be4bd8 --- src/com/android/settings/CryptKeeperSettings.java | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) (limited to 'src/com/android/settings/CryptKeeperSettings.java') diff --git a/src/com/android/settings/CryptKeeperSettings.java b/src/com/android/settings/CryptKeeperSettings.java index c5a06eb64..46d7dd186 100644 --- a/src/com/android/settings/CryptKeeperSettings.java +++ b/src/com/android/settings/CryptKeeperSettings.java @@ -39,6 +39,8 @@ import com.android.internal.logging.MetricsLogger; public class CryptKeeperSettings extends InstrumentedFragment { private static final String TAG = "CryptKeeper"; + private static final String TYPE = "type"; + private static final String PASSWORD = "password"; private static final int KEYGUARD_REQUEST = 55; @@ -194,8 +196,20 @@ public class CryptKeeperSettings extends InstrumentedFragment { Preference preference = new Preference(getActivity()); preference.setFragment(CryptKeeperConfirm.class.getName()); preference.setTitle(R.string.crypt_keeper_confirm_title); - preference.getExtras().putInt("type", type); - preference.getExtras().putString("password", password); + addEncryptionInfoToPreference(preference, type, password); ((SettingsActivity) getActivity()).onPreferenceStartFragment(null, preference); } + + private void addEncryptionInfoToPreference(Preference preference, int type, String password) { + Activity activity = getActivity(); + DevicePolicyManager dpm = (DevicePolicyManager) + activity.getSystemService(Context.DEVICE_POLICY_SERVICE); + if (dpm.getDoNotAskCredentialsOnBoot()) { + preference.getExtras().putInt(TYPE, StorageManager.CRYPT_TYPE_DEFAULT); + preference.getExtras().putString(PASSWORD, ""); + } else { + preference.getExtras().putInt(TYPE, type); + preference.getExtras().putString(PASSWORD, password); + } + } } -- cgit v1.2.3