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
This commit is contained in:
@@ -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;
|
||||
|
Reference in New Issue
Block a user