Fast enroll
Test: manual Bug: 375320734 Flag: com.google.android.settings.flags.pixel_fingerprint_enroll Change-Id: Iaf3acfca8471165514660a2403e69be161392501
This commit is contained in:
@@ -2792,6 +2792,10 @@
|
|||||||
android:exported="false"
|
android:exported="false"
|
||||||
android:theme="@style/GlifTheme.Light"
|
android:theme="@style/GlifTheme.Light"
|
||||||
android:taskAffinity="com.android.settings.root" />
|
android:taskAffinity="com.android.settings.root" />
|
||||||
|
<activity android:name=".biometrics.fingerprint.FingerprintEnroll$AddAdditionalFingerprint"
|
||||||
|
android:exported="false"
|
||||||
|
android:theme="@style/GlifTheme.Light"
|
||||||
|
android:taskAffinity="com.android.settings.root" />
|
||||||
|
|
||||||
<activity android:name=".biometrics.fingerprint.SetupFingerprintEnrollFindSensor"
|
<activity android:name=".biometrics.fingerprint.SetupFingerprintEnrollFindSensor"
|
||||||
android:exported="false"
|
android:exported="false"
|
||||||
|
@@ -257,9 +257,10 @@ public class ActivityEmbeddingRulesController {
|
|||||||
final FingerprintEnrollActivityClassProvider fpClassProvider = FeatureFactory
|
final FingerprintEnrollActivityClassProvider fpClassProvider = FeatureFactory
|
||||||
.getFeatureFactory()
|
.getFeatureFactory()
|
||||||
.getFingerprintFeatureProvider()
|
.getFingerprintFeatureProvider()
|
||||||
.getEnrollActivityClassProvider();
|
.getEnrollActivityClassProvider(mContext);
|
||||||
addActivityFilter(activityFilters, fpClassProvider.getDefault());
|
addActivityFilter(activityFilters, fpClassProvider.getDefault());
|
||||||
addActivityFilter(activityFilters, fpClassProvider.getInternal());
|
addActivityFilter(activityFilters, fpClassProvider.getInternal());
|
||||||
|
addActivityFilter(activityFilters, fpClassProvider.getAddAnother());
|
||||||
addActivityFilter(activityFilters, FingerprintEnrollEnrolling.class);
|
addActivityFilter(activityFilters, FingerprintEnrollEnrolling.class);
|
||||||
addActivityFilter(activityFilters, FaceEnrollIntroductionInternal.class);
|
addActivityFilter(activityFilters, FaceEnrollIntroductionInternal.class);
|
||||||
addActivityFilter(activityFilters, FaceEnrollIntroduction.class);
|
addActivityFilter(activityFilters, FaceEnrollIntroduction.class);
|
||||||
|
@@ -40,6 +40,14 @@ open class FingerprintEnroll: AppCompatActivity() {
|
|||||||
get() = enrollActivityProvider.internal
|
get() = enrollActivityProvider.internal
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Inner class to request adding of an additional fingerprint
|
||||||
|
*/
|
||||||
|
class AddAdditionalFingerprint : FingerprintEnroll() {
|
||||||
|
override val nextActivityClass: Class<*>
|
||||||
|
get() = enrollActivityProvider.addAnother
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The class of the next activity to launch. This is open to allow subclasses to provide their
|
* The class of the next activity to launch. This is open to allow subclasses to provide their
|
||||||
* own behavior. Defaults to the default activity class provided by the
|
* own behavior. Defaults to the default activity class provided by the
|
||||||
@@ -49,7 +57,7 @@ open class FingerprintEnroll: AppCompatActivity() {
|
|||||||
get() = enrollActivityProvider.default
|
get() = enrollActivityProvider.default
|
||||||
|
|
||||||
protected val enrollActivityProvider: FingerprintEnrollActivityClassProvider
|
protected val enrollActivityProvider: FingerprintEnrollActivityClassProvider
|
||||||
get() = featureFactory.fingerprintFeatureProvider.enrollActivityClassProvider
|
get() = featureFactory.fingerprintFeatureProvider.getEnrollActivityClassProvider(this)
|
||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
|
@@ -26,6 +26,8 @@ open class FingerprintEnrollActivityClassProvider {
|
|||||||
get() = SetupFingerprintEnrollIntroduction::class.java
|
get() = SetupFingerprintEnrollIntroduction::class.java
|
||||||
open val internal: Class<out Activity>
|
open val internal: Class<out Activity>
|
||||||
get() = FingerprintEnrollIntroductionInternal::class.java
|
get() = FingerprintEnrollIntroductionInternal::class.java
|
||||||
|
open val addAnother: Class<out Activity>
|
||||||
|
get() = FingerprintEnrollEnrolling::class.java
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
|
@@ -57,7 +57,7 @@ public interface FingerprintFeatureProvider {
|
|||||||
* @return the provider
|
* @return the provider
|
||||||
*/
|
*/
|
||||||
@NonNull
|
@NonNull
|
||||||
default FingerprintEnrollActivityClassProvider getEnrollActivityClassProvider() {
|
default FingerprintEnrollActivityClassProvider getEnrollActivityClassProvider(@NonNull Context context) {
|
||||||
return FingerprintEnrollActivityClassProvider.getInstance();
|
return FingerprintEnrollActivityClassProvider.getInstance();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -537,8 +537,9 @@ public class FingerprintSettings extends SubSettings {
|
|||||||
activity, DevicePolicyManager.KEYGUARD_DISABLE_FINGERPRINT, mUserId);
|
activity, DevicePolicyManager.KEYGUARD_DISABLE_FINGERPRINT, mUserId);
|
||||||
final Intent helpIntent = HelpUtils.getHelpIntent(
|
final Intent helpIntent = HelpUtils.getHelpIntent(
|
||||||
activity, getString(getHelpResource()), activity.getClass().getName());
|
activity, getString(getHelpResource()), activity.getClass().getName());
|
||||||
final View.OnClickListener learnMoreClickListener = (v) ->
|
final View.OnClickListener learnMoreClickListener = (v) -> {
|
||||||
activity.startActivityForResult(helpIntent, 0);
|
activity.startActivityForResult(helpIntent, 0);
|
||||||
|
};
|
||||||
|
|
||||||
mFooterColumns.clear();
|
mFooterColumns.clear();
|
||||||
if (admin != null) {
|
if (admin != null) {
|
||||||
@@ -910,7 +911,7 @@ public class FingerprintSettings extends SubSettings {
|
|||||||
mIsEnrolling = true;
|
mIsEnrolling = true;
|
||||||
Intent intent = new Intent();
|
Intent intent = new Intent();
|
||||||
intent.setClassName(SETTINGS_PACKAGE_NAME,
|
intent.setClassName(SETTINGS_PACKAGE_NAME,
|
||||||
FingerprintEnrollEnrolling.class.getName());
|
FingerprintEnroll.AddAdditionalFingerprint.class.getName());
|
||||||
intent.putExtra(Intent.EXTRA_USER_ID, mUserId);
|
intent.putExtra(Intent.EXTRA_USER_ID, mUserId);
|
||||||
intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN, mToken);
|
intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN, mToken);
|
||||||
if (mCalibrator != null) {
|
if (mCalibrator != null) {
|
||||||
|
@@ -24,6 +24,7 @@ import org.junit.Before
|
|||||||
import org.junit.Test
|
import org.junit.Test
|
||||||
import org.junit.runner.RunWith
|
import org.junit.runner.RunWith
|
||||||
import org.mockito.Mockito.`when`
|
import org.mockito.Mockito.`when`
|
||||||
|
import org.mockito.kotlin.any
|
||||||
import org.robolectric.Robolectric
|
import org.robolectric.Robolectric
|
||||||
import org.robolectric.RobolectricTestRunner
|
import org.robolectric.RobolectricTestRunner
|
||||||
import org.robolectric.Shadows
|
import org.robolectric.Shadows
|
||||||
@@ -46,7 +47,7 @@ class FingerprintEnrollTest {
|
|||||||
@Before
|
@Before
|
||||||
fun setUp() {
|
fun setUp() {
|
||||||
featureFactory = FakeFeatureFactory.setupForTest()
|
featureFactory = FakeFeatureFactory.setupForTest()
|
||||||
`when`(featureFactory.fingerprintFeatureProvider.enrollActivityClassProvider)
|
`when`(featureFactory.fingerprintFeatureProvider.getEnrollActivityClassProvider(any()))
|
||||||
.thenReturn(activityProvider)
|
.thenReturn(activityProvider)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -81,6 +82,15 @@ class FingerprintEnrollTest {
|
|||||||
verifyLaunchNextActivity(activity, activityProvider.internal)
|
verifyLaunchNextActivity(activity, activityProvider.internal)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun testAndFinishLaunchAddAdditional() {
|
||||||
|
// Run
|
||||||
|
val activity = setupActivity(FingerprintEnroll.AddAdditionalFingerprint::class.java)
|
||||||
|
|
||||||
|
// Verify
|
||||||
|
verifyLaunchNextActivity(activity, activityProvider.addAnother)
|
||||||
|
}
|
||||||
|
|
||||||
private fun verifyLaunchNextActivity(
|
private fun verifyLaunchNextActivity(
|
||||||
currentActivityInstance : FingerprintEnroll,
|
currentActivityInstance : FingerprintEnroll,
|
||||||
nextActivityClass: Class<out Activity>
|
nextActivityClass: Class<out Activity>
|
||||||
|
Reference in New Issue
Block a user