Loading src/com/android/settings/Utils.java +11 −0 Original line number Diff line number Diff line Loading @@ -103,6 +103,8 @@ import com.android.internal.app.UnlaunchableAppActivity; import com.android.internal.util.ArrayUtils; import com.android.internal.util.UserIcons; import com.android.internal.widget.LockPatternUtils; import com.android.settings.password.FingerprintManagerWrapper; import com.android.settings.password.IFingerprintManager; import java.io.IOException; import java.io.InputStream; Loading Loading @@ -1197,6 +1199,15 @@ public final class Utils extends com.android.settingslib.Utils { } } public static IFingerprintManager getFingerprintManagerWrapperOrNull(Context context) { FingerprintManager fingerprintManager = getFingerprintManagerOrNull(context); if (fingerprintManager != null) { return new FingerprintManagerWrapper(fingerprintManager); } else { return null; } } /** * Launches an intent which may optionally have a user id defined. * @param fragment Fragment to use to launch the activity. Loading src/com/android/settings/fingerprint/FingerprintEnrollFindSensor.java +17 −11 Original line number Diff line number Diff line Loading @@ -82,9 +82,7 @@ public class FingerprintEnrollFindSensor extends FingerprintEnrollBase { @Override public void onEnrollmentProgressChange(int steps, int remaining) { mNextClicked = true; if (!mSidecar.cancelEnrollment()) { proceedToEnrolling(); } proceedToEnrolling(true /* cancelEnrollment */); } @Override Loading @@ -95,7 +93,7 @@ public class FingerprintEnrollFindSensor extends FingerprintEnrollBase { public void onEnrollmentError(int errMsgId, CharSequence errString) { if (mNextClicked && errMsgId == FingerprintManager.FINGERPRINT_ERROR_CANCELED) { mNextClicked = false; proceedToEnrolling(); proceedToEnrolling(false /* cancelEnrollment */); } } }); Loading Loading @@ -123,16 +121,24 @@ public class FingerprintEnrollFindSensor extends FingerprintEnrollBase { @Override protected void onNextButtonClick() { mNextClicked = true; if (mSidecar == null || (mSidecar != null && !mSidecar.cancelEnrollment())) { proceedToEnrolling(); } proceedToEnrolling(true /* cancelEnrollment */); } private void proceedToEnrolling() { private void proceedToEnrolling(boolean cancelEnrollment) { if (mSidecar != null) { if (cancelEnrollment) { if (mSidecar.cancelEnrollment()) { // Enrollment cancel requested. When the cancellation is successful, // onEnrollmentError will be called with FINGERPRINT_ERROR_CANCELED, calling // this again. return; } } getFragmentManager().beginTransaction().remove(mSidecar).commit(); mSidecar = null; startActivityForResult(getEnrollingIntent(), ENROLLING); } } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { Loading src/com/android/settings/fingerprint/FingerprintEnrollSidecar.java +5 −4 Original line number Diff line number Diff line Loading @@ -28,12 +28,13 @@ import android.os.UserHandle; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import com.android.settings.ChooseLockSettingsHelper; import com.android.settings.Utils; import com.android.settings.core.InstrumentedPreferenceFragment; import com.android.settings.core.InstrumentedFragment; import com.android.settings.password.IFingerprintManager; /** * Sidecar fragment to handle the state around fingerprint enrollment. */ public class FingerprintEnrollSidecar extends InstrumentedPreferenceFragment { public class FingerprintEnrollSidecar extends InstrumentedFragment { private int mEnrollmentSteps = -1; private int mEnrollmentRemaining = 0; Loading @@ -44,7 +45,7 @@ public class FingerprintEnrollSidecar extends InstrumentedPreferenceFragment { private byte[] mToken; private boolean mDone; private int mUserId; private FingerprintManager mFingerprintManager; private IFingerprintManager mFingerprintManager; @Override public void onCreate(@Nullable Bundle savedInstanceState) { Loading @@ -55,7 +56,7 @@ public class FingerprintEnrollSidecar extends InstrumentedPreferenceFragment { @Override public void onAttach(Activity activity) { super.onAttach(activity); mFingerprintManager = Utils.getFingerprintManagerOrNull(activity); mFingerprintManager = Utils.getFingerprintManagerWrapperOrNull(activity); mToken = activity.getIntent().getByteArrayExtra( ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN); mUserId = activity.getIntent().getIntExtra(Intent.EXTRA_USER_ID, UserHandle.USER_NULL); Loading src/com/android/settings/password/FingerprintManagerWrapper.java +20 −0 Original line number Diff line number Diff line Loading @@ -18,6 +18,8 @@ package com.android.settings.password; import android.annotation.NonNull; import android.hardware.fingerprint.FingerprintManager; import android.hardware.fingerprint.FingerprintManager.EnrollmentCallback; import android.os.CancellationSignal; import com.android.internal.util.Preconditions; Loading @@ -33,15 +35,33 @@ public class FingerprintManagerWrapper implements IFingerprintManager { mFingerprintManager = fingerprintManager; } @Override public boolean isHardwareDetected() { return mFingerprintManager.isHardwareDetected(); } @Override public boolean hasEnrolledFingerprints(int userId) { return mFingerprintManager.hasEnrolledFingerprints(userId); } @Override public long preEnroll() { return mFingerprintManager.preEnroll(); } @Override public void setActiveUser(int userId) { mFingerprintManager.setActiveUser(userId); } @Override public void enroll( byte[] token, CancellationSignal cancel, int flags, int userId, EnrollmentCallback callback) { mFingerprintManager.enroll(token, cancel, flags, userId, callback); } } src/com/android/settings/password/IFingerprintManager.java +8 −0 Original line number Diff line number Diff line Loading @@ -16,6 +16,9 @@ package com.android.settings.password; import android.hardware.fingerprint.FingerprintManager.EnrollmentCallback; import android.os.CancellationSignal; /** * This is the workaround to allow us test {@link SetNewPasswordController} which uses a new hidden * API {@link android.hardware.fingerprint.FingerprintManager#hasEnrolledFingerprints(int)} that Loading @@ -28,4 +31,9 @@ public interface IFingerprintManager { boolean hasEnrolledFingerprints(int userId); long preEnroll(); void setActiveUser(int userId); void enroll(byte [] token, CancellationSignal cancel, int flags, int userId, EnrollmentCallback callback); } Loading
src/com/android/settings/Utils.java +11 −0 Original line number Diff line number Diff line Loading @@ -103,6 +103,8 @@ import com.android.internal.app.UnlaunchableAppActivity; import com.android.internal.util.ArrayUtils; import com.android.internal.util.UserIcons; import com.android.internal.widget.LockPatternUtils; import com.android.settings.password.FingerprintManagerWrapper; import com.android.settings.password.IFingerprintManager; import java.io.IOException; import java.io.InputStream; Loading Loading @@ -1197,6 +1199,15 @@ public final class Utils extends com.android.settingslib.Utils { } } public static IFingerprintManager getFingerprintManagerWrapperOrNull(Context context) { FingerprintManager fingerprintManager = getFingerprintManagerOrNull(context); if (fingerprintManager != null) { return new FingerprintManagerWrapper(fingerprintManager); } else { return null; } } /** * Launches an intent which may optionally have a user id defined. * @param fragment Fragment to use to launch the activity. Loading
src/com/android/settings/fingerprint/FingerprintEnrollFindSensor.java +17 −11 Original line number Diff line number Diff line Loading @@ -82,9 +82,7 @@ public class FingerprintEnrollFindSensor extends FingerprintEnrollBase { @Override public void onEnrollmentProgressChange(int steps, int remaining) { mNextClicked = true; if (!mSidecar.cancelEnrollment()) { proceedToEnrolling(); } proceedToEnrolling(true /* cancelEnrollment */); } @Override Loading @@ -95,7 +93,7 @@ public class FingerprintEnrollFindSensor extends FingerprintEnrollBase { public void onEnrollmentError(int errMsgId, CharSequence errString) { if (mNextClicked && errMsgId == FingerprintManager.FINGERPRINT_ERROR_CANCELED) { mNextClicked = false; proceedToEnrolling(); proceedToEnrolling(false /* cancelEnrollment */); } } }); Loading Loading @@ -123,16 +121,24 @@ public class FingerprintEnrollFindSensor extends FingerprintEnrollBase { @Override protected void onNextButtonClick() { mNextClicked = true; if (mSidecar == null || (mSidecar != null && !mSidecar.cancelEnrollment())) { proceedToEnrolling(); } proceedToEnrolling(true /* cancelEnrollment */); } private void proceedToEnrolling() { private void proceedToEnrolling(boolean cancelEnrollment) { if (mSidecar != null) { if (cancelEnrollment) { if (mSidecar.cancelEnrollment()) { // Enrollment cancel requested. When the cancellation is successful, // onEnrollmentError will be called with FINGERPRINT_ERROR_CANCELED, calling // this again. return; } } getFragmentManager().beginTransaction().remove(mSidecar).commit(); mSidecar = null; startActivityForResult(getEnrollingIntent(), ENROLLING); } } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { Loading
src/com/android/settings/fingerprint/FingerprintEnrollSidecar.java +5 −4 Original line number Diff line number Diff line Loading @@ -28,12 +28,13 @@ import android.os.UserHandle; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import com.android.settings.ChooseLockSettingsHelper; import com.android.settings.Utils; import com.android.settings.core.InstrumentedPreferenceFragment; import com.android.settings.core.InstrumentedFragment; import com.android.settings.password.IFingerprintManager; /** * Sidecar fragment to handle the state around fingerprint enrollment. */ public class FingerprintEnrollSidecar extends InstrumentedPreferenceFragment { public class FingerprintEnrollSidecar extends InstrumentedFragment { private int mEnrollmentSteps = -1; private int mEnrollmentRemaining = 0; Loading @@ -44,7 +45,7 @@ public class FingerprintEnrollSidecar extends InstrumentedPreferenceFragment { private byte[] mToken; private boolean mDone; private int mUserId; private FingerprintManager mFingerprintManager; private IFingerprintManager mFingerprintManager; @Override public void onCreate(@Nullable Bundle savedInstanceState) { Loading @@ -55,7 +56,7 @@ public class FingerprintEnrollSidecar extends InstrumentedPreferenceFragment { @Override public void onAttach(Activity activity) { super.onAttach(activity); mFingerprintManager = Utils.getFingerprintManagerOrNull(activity); mFingerprintManager = Utils.getFingerprintManagerWrapperOrNull(activity); mToken = activity.getIntent().getByteArrayExtra( ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN); mUserId = activity.getIntent().getIntExtra(Intent.EXTRA_USER_ID, UserHandle.USER_NULL); Loading
src/com/android/settings/password/FingerprintManagerWrapper.java +20 −0 Original line number Diff line number Diff line Loading @@ -18,6 +18,8 @@ package com.android.settings.password; import android.annotation.NonNull; import android.hardware.fingerprint.FingerprintManager; import android.hardware.fingerprint.FingerprintManager.EnrollmentCallback; import android.os.CancellationSignal; import com.android.internal.util.Preconditions; Loading @@ -33,15 +35,33 @@ public class FingerprintManagerWrapper implements IFingerprintManager { mFingerprintManager = fingerprintManager; } @Override public boolean isHardwareDetected() { return mFingerprintManager.isHardwareDetected(); } @Override public boolean hasEnrolledFingerprints(int userId) { return mFingerprintManager.hasEnrolledFingerprints(userId); } @Override public long preEnroll() { return mFingerprintManager.preEnroll(); } @Override public void setActiveUser(int userId) { mFingerprintManager.setActiveUser(userId); } @Override public void enroll( byte[] token, CancellationSignal cancel, int flags, int userId, EnrollmentCallback callback) { mFingerprintManager.enroll(token, cancel, flags, userId, callback); } }
src/com/android/settings/password/IFingerprintManager.java +8 −0 Original line number Diff line number Diff line Loading @@ -16,6 +16,9 @@ package com.android.settings.password; import android.hardware.fingerprint.FingerprintManager.EnrollmentCallback; import android.os.CancellationSignal; /** * This is the workaround to allow us test {@link SetNewPasswordController} which uses a new hidden * API {@link android.hardware.fingerprint.FingerprintManager#hasEnrolledFingerprints(int)} that Loading @@ -28,4 +31,9 @@ public interface IFingerprintManager { boolean hasEnrolledFingerprints(int userId); long preEnroll(); void setActiveUser(int userId); void enroll(byte [] token, CancellationSignal cancel, int flags, int userId, EnrollmentCallback callback); }