summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings/ChooseLockGeneric.java
diff options
context:
space:
mode:
authorJim Miller <jaggies@google.com>2015-03-04 18:07:32 -0800
committerJim Miller <jaggies@google.com>2015-03-11 18:15:55 -0700
commit9218687e4baaf0226ef16b58f78123d979711e5d (patch)
tree0f5f51299a5f28ead30386f71243782bab000981 /src/com/android/settings/ChooseLockGeneric.java
parent5455bb540a8b4a5150a1b790c4a36fb0410f8ac3 (diff)
downloadpackages_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.java28
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;