diff --git a/res/values/strings.xml b/res/values/strings.xml index 5f71b08d3ae..6fe13cce012 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -6392,6 +6392,13 @@ \n\nThis helps protect data on lost or stolen devices. + + In addition to using your fingerprint to unlock your device, you can further protect this device by requiring your PIN before it starts up. Until the device starts up, it can\u2019t receive calls, messages, or notifications, including alarms.\n\nThis helps protect data on lost or stolen devices. + + In addition to using your fingerprint to unlock your device, you can further protect this device by requiring your pattern before it starts up. Until the device starts up, it can\u2019t receive calls, messages, or notifications, including alarms.\n\nThis helps protect data on lost or stolen devices. + + In addition to using your fingerprint to unlock your device, you can further protect this device by requiring your password before it starts up. Until the device starts up, it can\u2019t receive calls, messages, or notifications, including alarms.\n\nThis helps protect data on lost or stolen devices. + Require PIN to start device diff --git a/src/com/android/settings/ChooseLockGeneric.java b/src/com/android/settings/ChooseLockGeneric.java index 317d372c8e5..27e8c93dab2 100644 --- a/src/com/android/settings/ChooseLockGeneric.java +++ b/src/com/android/settings/ChooseLockGeneric.java @@ -97,6 +97,7 @@ public class ChooseLockGeneric extends SettingsActivity { private int mEncryptionRequestQuality; private boolean mEncryptionRequestDisabled; private boolean mRequirePassword; + private boolean mForFingerprint = false; private String mUserPassword; private LockPatternUtils mLockPatternUtils; private FingerprintManager mFingerprintManager; @@ -140,6 +141,8 @@ public class ChooseLockGeneric extends SettingsActivity { ChooseLockSettingsHelper.EXTRA_KEY_HAS_CHALLENGE, false); mChallenge = getActivity().getIntent().getLongExtra( ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE, 0); + mForFingerprint = getActivity().getIntent().getBooleanExtra( + ChooseLockSettingsHelper.EXTRA_KEY_FOR_FINGERPRINT, false); if (savedInstanceState != null) { mPasswordConfirmed = savedInstanceState.getBoolean(PASSWORD_CONFIRMED); @@ -201,6 +204,8 @@ public class ChooseLockGeneric extends SettingsActivity { final boolean accEn = AccessibilityManager.getInstance(context).isEnabled(); final boolean required = mLockPatternUtils.isCredentialRequiredToDecrypt(!accEn); Intent intent = getEncryptionInterstitialIntent(context, quality, required); + intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_FOR_FINGERPRINT, + mForFingerprint); startActivityForResult(intent, ENABLE_ENCRYPTION_REQUEST); } else { mRequirePassword = false; // device encryption not enabled or not device owner. diff --git a/src/com/android/settings/ChooseLockSettingsHelper.java b/src/com/android/settings/ChooseLockSettingsHelper.java index 8b8d97647d5..c07186f6806 100644 --- a/src/com/android/settings/ChooseLockSettingsHelper.java +++ b/src/com/android/settings/ChooseLockSettingsHelper.java @@ -32,6 +32,7 @@ public final class ChooseLockSettingsHelper { public static final String EXTRA_KEY_HAS_CHALLENGE = "has_challenge"; public static final String EXTRA_KEY_CHALLENGE = "challenge"; public static final String EXTRA_KEY_CHALLENGE_TOKEN = "hw_auth_token"; + public static final String EXTRA_KEY_FOR_FINGERPRINT = "for_fingerprint"; private LockPatternUtils mLockPatternUtils; diff --git a/src/com/android/settings/EncryptionInterstitial.java b/src/com/android/settings/EncryptionInterstitial.java index 794005b0bdf..73d8257b678 100644 --- a/src/com/android/settings/EncryptionInterstitial.java +++ b/src/com/android/settings/EncryptionInterstitial.java @@ -95,24 +95,32 @@ public class EncryptionInterstitial extends SettingsActivity { (RadioButton) view.findViewById(R.id.encrypt_dont_require_password); mEncryptionMessage = (TextView) view.findViewById(R.id.encryption_message); + boolean forFingerprint = getActivity().getIntent().getBooleanExtra( + ChooseLockSettingsHelper.EXTRA_KEY_FOR_FINGERPRINT, false); int quality = getActivity().getIntent().getIntExtra(EXTRA_PASSWORD_QUALITY, 0); final int msgId; final int enableId; final int disableId; switch (quality) { case DevicePolicyManager.PASSWORD_QUALITY_SOMETHING: - msgId = R.string.encryption_interstitial_message_pattern; + msgId = forFingerprint ? + R.string.encryption_interstitial_message_pattern_for_fingerprint : + R.string.encryption_interstitial_message_pattern; enableId = R.string.encrypt_require_pattern; disableId = R.string.encrypt_dont_require_pattern; break; case DevicePolicyManager.PASSWORD_QUALITY_NUMERIC: case DevicePolicyManager.PASSWORD_QUALITY_NUMERIC_COMPLEX: - msgId = R.string.encryption_interstitial_message_pin; + msgId = forFingerprint ? + R.string.encryption_interstitial_message_pin_for_fingerprint : + R.string.encryption_interstitial_message_pin; enableId = R.string.encrypt_require_pin; disableId = R.string.encrypt_dont_require_pin; break; default: - msgId = R.string.encryption_interstitial_message_password; + msgId = forFingerprint ? + R.string.encryption_interstitial_message_password_for_fingerprint : + R.string.encryption_interstitial_message_password; enableId = R.string.encrypt_require_password; disableId = R.string.encrypt_dont_require_password; break; diff --git a/src/com/android/settings/fingerprint/FingerprintEnrollOnboard.java b/src/com/android/settings/fingerprint/FingerprintEnrollOnboard.java index db1a20bfabe..e81b0ffdd59 100644 --- a/src/com/android/settings/fingerprint/FingerprintEnrollOnboard.java +++ b/src/com/android/settings/fingerprint/FingerprintEnrollOnboard.java @@ -64,6 +64,7 @@ public class FingerprintEnrollOnboard extends FingerprintEnrollBase { intent.putExtra(ChooseLockGeneric.ChooseLockGenericFragment.HIDE_DISABLED_PREFS, true); intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_HAS_CHALLENGE, true); intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE, challenge); + intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_FOR_FINGERPRINT, true); startActivityForResult(intent, CHOOSE_LOCK_GENERIC_REQUEST); }