Loading src/com/android/settings/biometrics/fingerprint/FingerprintSettings.java +22 −1 Original line number Diff line number Diff line Loading @@ -1654,7 +1654,10 @@ public class FingerprintSettings extends SubSettings { private static final String KEY_USER_ID = "user_id"; private static final String KEY_SENSOR_PROPERTIES = "sensor_properties"; private static final String EXTRA_FAILURE_COUNT = "failure_count"; private static final int MAX_FAILURE_COUNT = 3; private int mUserId; private int mFailureCount; private @Nullable CancellationSignal mCancellationSignal; private @Nullable FingerprintSensorPropertiesInternal mSensorPropertiesInternal; Loading @@ -1663,6 +1666,9 @@ public class FingerprintSettings extends SubSettings { @NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { if (savedInstanceState != null) { mFailureCount = savedInstanceState.getInt(EXTRA_FAILURE_COUNT, 0); } return inflater.inflate( R.layout.fingerprint_check_enrolled_dialog, container, false); } Loading @@ -1682,12 +1688,22 @@ public class FingerprintSettings extends SubSettings { final UdfpsCheckEnrolledView v = dialog.findViewById(R.id.udfps_check_enrolled_view); v.setSensorProperties(mSensorPropertiesInternal); v.setOnTouchListener((view, event) -> { Log.d(TAG, "CheckEnrollDialog dismissed: touch outside"); dialog.dismiss(); return false; }); }); } return dialog; } @Override public void onSaveInstanceState(@NonNull Bundle outState) { super.onSaveInstanceState(outState); outState.putInt(EXTRA_FAILURE_COUNT, mFailureCount); } @Override public void onStart() { super.onStart(); Loading Loading @@ -1752,6 +1768,11 @@ public class FingerprintSettings extends SubSettings { message.postDelayed(() -> { message.setText(R.string.fingerprint_check_enroll_touch_sensor); }, 2000); mFailureCount++; if (mFailureCount >= MAX_FAILURE_COUNT) { Log.d(TAG, "CheckEnrollDialog dismissed: failed 3 times"); dialog.dismiss(); } } }, null /* handler */, Loading src/com/android/settings/biometrics/fingerprint/UdfpsCheckEnrolledView.java +8 −0 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ import android.util.AttributeSet; import android.util.Log; import android.util.RotationUtils; import android.view.DisplayInfo; import android.view.MotionEvent; import android.view.Surface; import android.widget.ImageView; import android.widget.RelativeLayout; Loading Loading @@ -61,6 +62,13 @@ public class UdfpsCheckEnrolledView extends RelativeLayout { super.onFinishInflate(); mFingerprintView = findViewById(R.id.udfps_fingerprint_sensor_view); mFingerprintView.setImageDrawable(mFingerprintDrawable); mFingerprintView.setOnTouchListener((v, event) -> { if (event.getAction() == MotionEvent.ACTION_DOWN) { Log.d(TAG, "Fingerprint view touched!"); return true; } return false; }); } /** Loading Loading
src/com/android/settings/biometrics/fingerprint/FingerprintSettings.java +22 −1 Original line number Diff line number Diff line Loading @@ -1654,7 +1654,10 @@ public class FingerprintSettings extends SubSettings { private static final String KEY_USER_ID = "user_id"; private static final String KEY_SENSOR_PROPERTIES = "sensor_properties"; private static final String EXTRA_FAILURE_COUNT = "failure_count"; private static final int MAX_FAILURE_COUNT = 3; private int mUserId; private int mFailureCount; private @Nullable CancellationSignal mCancellationSignal; private @Nullable FingerprintSensorPropertiesInternal mSensorPropertiesInternal; Loading @@ -1663,6 +1666,9 @@ public class FingerprintSettings extends SubSettings { @NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { if (savedInstanceState != null) { mFailureCount = savedInstanceState.getInt(EXTRA_FAILURE_COUNT, 0); } return inflater.inflate( R.layout.fingerprint_check_enrolled_dialog, container, false); } Loading @@ -1682,12 +1688,22 @@ public class FingerprintSettings extends SubSettings { final UdfpsCheckEnrolledView v = dialog.findViewById(R.id.udfps_check_enrolled_view); v.setSensorProperties(mSensorPropertiesInternal); v.setOnTouchListener((view, event) -> { Log.d(TAG, "CheckEnrollDialog dismissed: touch outside"); dialog.dismiss(); return false; }); }); } return dialog; } @Override public void onSaveInstanceState(@NonNull Bundle outState) { super.onSaveInstanceState(outState); outState.putInt(EXTRA_FAILURE_COUNT, mFailureCount); } @Override public void onStart() { super.onStart(); Loading Loading @@ -1752,6 +1768,11 @@ public class FingerprintSettings extends SubSettings { message.postDelayed(() -> { message.setText(R.string.fingerprint_check_enroll_touch_sensor); }, 2000); mFailureCount++; if (mFailureCount >= MAX_FAILURE_COUNT) { Log.d(TAG, "CheckEnrollDialog dismissed: failed 3 times"); dialog.dismiss(); } } }, null /* handler */, Loading
src/com/android/settings/biometrics/fingerprint/UdfpsCheckEnrolledView.java +8 −0 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ import android.util.AttributeSet; import android.util.Log; import android.util.RotationUtils; import android.view.DisplayInfo; import android.view.MotionEvent; import android.view.Surface; import android.widget.ImageView; import android.widget.RelativeLayout; Loading Loading @@ -61,6 +62,13 @@ public class UdfpsCheckEnrolledView extends RelativeLayout { super.onFinishInflate(); mFingerprintView = findViewById(R.id.udfps_fingerprint_sensor_view); mFingerprintView.setImageDrawable(mFingerprintDrawable); mFingerprintView.setOnTouchListener((v, event) -> { if (event.getAction() == MotionEvent.ACTION_DOWN) { Log.d(TAG, "Fingerprint view touched!"); return true; } return false; }); } /** Loading