Rewire BiometricEnrollActivity to setup pages
When running in setup flow: - If fingerprint enrollment is desired, go to SetupFingerprintEnrollIntroduction - Makes sure WizardManagerHelper.copyWizardManagerExtras is called to propagate the extras from the incoming intent, propagating extras like whether we are in initial / deferred setup flow, theme, etc. - Forward the result code in BiometricEnrollActivity using FLAG_ACTIVITY_FORWARD_RESULT Bug: 120797018 Test: Manual Change-Id: Ibc0ecc035141d62339f5f664346ed108570e0905
This commit is contained in:
@@ -16,8 +16,6 @@
|
|||||||
|
|
||||||
package com.android.settings.biometrics;
|
package com.android.settings.biometrics;
|
||||||
|
|
||||||
import static com.android.settings.Utils.SETTINGS_PACKAGE_NAME;
|
|
||||||
|
|
||||||
import android.app.settings.SettingsEnums;
|
import android.app.settings.SettingsEnums;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.pm.PackageManager;
|
import android.content.pm.PackageManager;
|
||||||
@@ -25,8 +23,11 @@ import android.os.Bundle;
|
|||||||
|
|
||||||
import com.android.settings.biometrics.face.FaceEnrollIntroduction;
|
import com.android.settings.biometrics.face.FaceEnrollIntroduction;
|
||||||
import com.android.settings.biometrics.fingerprint.FingerprintEnrollIntroduction;
|
import com.android.settings.biometrics.fingerprint.FingerprintEnrollIntroduction;
|
||||||
|
import com.android.settings.biometrics.fingerprint.SetupFingerprintEnrollIntroduction;
|
||||||
import com.android.settings.core.InstrumentedActivity;
|
import com.android.settings.core.InstrumentedActivity;
|
||||||
|
|
||||||
|
import com.google.android.setupcompat.util.WizardManagerHelper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Trampoline activity launched by the {@code android.settings.BIOMETRIC_ENROLL} action which
|
* Trampoline activity launched by the {@code android.settings.BIOMETRIC_ENROLL} action which
|
||||||
* shows the user an appropriate enrollment flow depending on the device's biometric hardware.
|
* shows the user an appropriate enrollment flow depending on the device's biometric hardware.
|
||||||
@@ -40,20 +41,38 @@ public class BiometricEnrollActivity extends InstrumentedActivity {
|
|||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
|
|
||||||
final PackageManager pm = getApplicationContext().getPackageManager();
|
final PackageManager pm = getApplicationContext().getPackageManager();
|
||||||
final Intent intent = new Intent();
|
Intent intent;
|
||||||
|
|
||||||
// This logic may have to be modified on devices with multiple biometrics.
|
// This logic may have to be modified on devices with multiple biometrics.
|
||||||
if (pm.hasSystemFeature(PackageManager.FEATURE_FINGERPRINT)) {
|
if (pm.hasSystemFeature(PackageManager.FEATURE_FINGERPRINT)) {
|
||||||
intent.setClassName(SETTINGS_PACKAGE_NAME,
|
intent = getFingerprintEnrollIntent();
|
||||||
FingerprintEnrollIntroduction.class.getName());
|
|
||||||
} else if (pm.hasSystemFeature(PackageManager.FEATURE_FACE)) {
|
} else if (pm.hasSystemFeature(PackageManager.FEATURE_FACE)) {
|
||||||
intent.setClassName(SETTINGS_PACKAGE_NAME, FaceEnrollIntroduction.class.getName());
|
intent = getFaceEnrollIntent();
|
||||||
|
} else {
|
||||||
|
intent = new Intent();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
intent.setFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT);
|
||||||
startActivity(intent);
|
startActivity(intent);
|
||||||
finish();
|
finish();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private Intent getFingerprintEnrollIntent() {
|
||||||
|
if (WizardManagerHelper.isAnySetupWizard(getIntent())) {
|
||||||
|
Intent intent = new Intent(this, SetupFingerprintEnrollIntroduction.class);
|
||||||
|
WizardManagerHelper.copyWizardManagerExtras(getIntent(), intent);
|
||||||
|
return intent;
|
||||||
|
} else {
|
||||||
|
return new Intent(this, FingerprintEnrollIntroduction.class);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private Intent getFaceEnrollIntent() {
|
||||||
|
Intent intent = new Intent(this, FaceEnrollIntroduction.class);
|
||||||
|
WizardManagerHelper.copyWizardManagerExtras(getIntent(), intent);
|
||||||
|
return intent;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getMetricsCategory() {
|
public int getMetricsCategory() {
|
||||||
return SettingsEnums.BIOMETRIC_ENROLL_ACTIVITY;
|
return SettingsEnums.BIOMETRIC_ENROLL_ACTIVITY;
|
||||||
|
@@ -27,8 +27,10 @@ import android.widget.TextView;
|
|||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
import com.android.settings.password.ChooseLockGeneric;
|
import com.android.settings.password.ChooseLockGeneric;
|
||||||
import com.android.settings.password.ChooseLockSettingsHelper;
|
import com.android.settings.password.ChooseLockSettingsHelper;
|
||||||
|
import com.android.settings.password.SetupChooseLockGeneric;
|
||||||
|
|
||||||
import com.google.android.setupcompat.template.FooterButton;
|
import com.google.android.setupcompat.template.FooterButton;
|
||||||
|
import com.google.android.setupcompat.util.WizardManagerHelper;
|
||||||
import com.google.android.setupdesign.span.LinkSpan;
|
import com.google.android.setupdesign.span.LinkSpan;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -199,8 +201,14 @@ public abstract class BiometricEnrollIntroduction extends BiometricEnrollBase
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected Intent getChooseLockIntent() {
|
protected Intent getChooseLockIntent() {
|
||||||
|
if (WizardManagerHelper.isAnySetupWizard(getIntent())) {
|
||||||
|
Intent intent = new Intent(this, SetupChooseLockGeneric.class);
|
||||||
|
WizardManagerHelper.copyWizardManagerExtras(getIntent(), intent);
|
||||||
|
return intent;
|
||||||
|
} else {
|
||||||
return new Intent(this, ChooseLockGeneric.class);
|
return new Intent(this, ChooseLockGeneric.class);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
|
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
|
||||||
|
@@ -36,6 +36,7 @@ import com.android.settingslib.RestrictedLockUtilsInternal;
|
|||||||
|
|
||||||
import com.google.android.setupcompat.template.FooterBarMixin;
|
import com.google.android.setupcompat.template.FooterBarMixin;
|
||||||
import com.google.android.setupcompat.template.FooterButton;
|
import com.google.android.setupcompat.template.FooterButton;
|
||||||
|
import com.google.android.setupcompat.util.WizardManagerHelper;
|
||||||
import com.google.android.setupdesign.span.LinkSpan;
|
import com.google.android.setupdesign.span.LinkSpan;
|
||||||
|
|
||||||
public class FaceEnrollIntroduction extends BiometricEnrollIntroduction {
|
public class FaceEnrollIntroduction extends BiometricEnrollIntroduction {
|
||||||
@@ -166,6 +167,7 @@ public class FaceEnrollIntroduction extends BiometricEnrollIntroduction {
|
|||||||
intent.setClass(this, FaceEnrollEnrolling.class);
|
intent.setClass(this, FaceEnrollEnrolling.class);
|
||||||
}
|
}
|
||||||
intent.putExtra(EXTRA_KEY_REQUIRE_DIVERSITY, mSwitchDiversity.isChecked());
|
intent.putExtra(EXTRA_KEY_REQUIRE_DIVERSITY, mSwitchDiversity.isChecked());
|
||||||
|
WizardManagerHelper.copyWizardManagerExtras(getIntent(), intent);
|
||||||
return intent;
|
return intent;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user