diff options
author | Jim Miller <jaggies@google.com> | 2015-03-04 18:07:32 -0800 |
---|---|---|
committer | Jim Miller <jaggies@google.com> | 2015-03-11 18:15:55 -0700 |
commit | 9218687e4baaf0226ef16b58f78123d979711e5d (patch) | |
tree | 0f5f51299a5f28ead30386f71243782bab000981 /src/com/android/settings/ChooseLockGeneric.java | |
parent | 5455bb540a8b4a5150a1b790c4a36fb0410f8ac3 (diff) | |
download | packages_apps_Settings-9218687e4baaf0226ef16b58f78123d979711e5d.zip packages_apps_Settings-9218687e4baaf0226ef16b58f78123d979711e5d.tar.gz packages_apps_Settings-9218687e4baaf0226ef16b58f78123d979711e5d.tar.bz2 |
Implement additional fingerprint flows in Settings.
- new onboarding flow ("locate sensor")
- changed sensor location image
- changed in-app sensor icon
- remove fingerprint animation since it caused people to
want to tap on it.
- remove enrolled fingerprint templates when switching back to "none" or "slide"
- use real in-app icon for fingerprint
- much improved layout
- basic landscape layout working
- added 250ms delay to final enrollment step so it's not so jarring
- delete is now working
- rename wired, but not functional yet
Bug 19592835
Change-Id: Ie3e73a2fc8f834f1b90e2746c4cc841216aa6031
Diffstat (limited to 'src/com/android/settings/ChooseLockGeneric.java')
-rw-r--r-- | src/com/android/settings/ChooseLockGeneric.java | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/com/android/settings/ChooseLockGeneric.java b/src/com/android/settings/ChooseLockGeneric.java index bfb328d..216b1ca 100644 --- a/src/com/android/settings/ChooseLockGeneric.java +++ b/src/com/android/settings/ChooseLockGeneric.java @@ -35,6 +35,8 @@ import android.os.UserManager; import android.preference.Preference; import android.preference.PreferenceScreen; import android.security.KeyStore; +import android.service.fingerprint.FingerprintManager; +import android.service.fingerprint.FingerprintManagerReceiver; import android.util.EventLog; import android.util.Log; import android.util.MutableBoolean; @@ -102,11 +104,14 @@ public class ChooseLockGeneric extends SettingsActivity { private boolean mEncryptionRequestDisabled; private boolean mRequirePassword; private LockPatternUtils mLockPatternUtils; + private FingerprintManager mFingerprintManager; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); + mFingerprintManager = + (FingerprintManager) getActivity().getSystemService(Context.FINGERPRINT_SERVICE); mDPM = (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE); mKeyStore = KeyStore.getInstance(); mChooseLockSettingsHelper = new ChooseLockSettingsHelper(this.getActivity()); @@ -391,13 +396,36 @@ public class ChooseLockGeneric extends SettingsActivity { } else if (quality == DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED) { mChooseLockSettingsHelper.utils().clearLock(); mChooseLockSettingsHelper.utils().setLockScreenDisabled(disabled); + removeAllFingerprintTemplates(); getActivity().setResult(Activity.RESULT_OK); finish(); } else { + removeAllFingerprintTemplates(); finish(); } } + // TODO: This is only required because we used to enforce clients have a listener, + // which is no longer required in the new API. Remove when that happens. + FingerprintManagerReceiver mReceiver = new FingerprintManagerReceiver() { + public void onRemoved(int fingerprintId) { + Log.v(TAG, "onRemoved(id=" + fingerprintId + ")"); + } + }; + + private void removeAllFingerprintTemplates() { + mFingerprintManager.startListening(mReceiver); + if (mFingerprintManager != null) { + mFingerprintManager.remove(0 /* all fingerprint templates */); + } + } + + @Override + public void onDestroy() { + super.onDestroy(); + mFingerprintManager.stopListening(); + } + @Override protected int getHelpResource() { return R.string.help_url_choose_lockscreen; |