From c0e7879684d7d9c5cd102b124ee8cf1a2637d49d Mon Sep 17 00:00:00 2001 From: Maurice Lam Date: Mon, 20 Jul 2015 14:49:29 -0700 Subject: [PATCH] [Fingerprint] Change message in encryption Change the message for encryption interstitial when enrollin fingerprint, to make it clear that fingerprint unlock is still used, just that the backup unlock PIN / password / pattern will be needed to start the device. Bug: 22559146 Change-Id: Ia134e0d9b118151833a9118ff44667dcc9122185 --- res/values/strings.xml | 7 +++++++ src/com/android/settings/ChooseLockGeneric.java | 5 +++++ .../android/settings/ChooseLockSettingsHelper.java | 1 + .../android/settings/EncryptionInterstitial.java | 14 +++++++++++--- .../fingerprint/FingerprintEnrollOnboard.java | 1 + 5 files changed, 25 insertions(+), 3 deletions(-) diff --git a/res/values/strings.xml b/res/values/strings.xml index 9eb008b58c4..4290e8d3c97 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -6389,6 +6389,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); }