Show fingerprint preferences after enrolling from settings

Bug: 131231334
Test: tested on blueline
Change-Id: Ifd43f28001fcb42ec61a62ad6656d2da2a0629eb
This commit is contained in:
Ilya Matyukhin
2019-04-28 15:10:02 -07:00
parent cee87535e2
commit 8979f84865
5 changed files with 30 additions and 0 deletions

View File

@@ -436,6 +436,17 @@
android:value="com.android.settings.biometrics.face.FaceSettings" /> android:value="com.android.settings.biometrics.face.FaceSettings" />
</activity> </activity>
<activity android:name="Settings$FingerprintSettingsActivity"
android:label="@string/security_settings_fingerprint_preference_title"
android:icon="@drawable/ic_fingerprint_header">
<intent-filter>
<action android:name="android.settings.FINGERPRINT_SETTINGS" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<meta-data android:name="com.android.settings.FRAGMENT_CLASS"
android:value="com.android.settings.biometrics.fingerprint.FingerprintSettings$FingerprintSettingsFragment" />
</activity>
<activity android:name=".bluetooth.DevicePickerActivity" <activity android:name=".bluetooth.DevicePickerActivity"
android:label="@string/device_picker" android:label="@string/device_picker"
android:configChanges="orientation|keyboardHidden|screenSize" android:configChanges="orientation|keyboardHidden|screenSize"

View File

@@ -32,6 +32,7 @@ public class Settings extends SettingsActivity {
public static class BluetoothSettingsActivity extends SettingsActivity { /* empty */ } public static class BluetoothSettingsActivity extends SettingsActivity { /* empty */ }
public static class CreateShortcutActivity extends SettingsActivity { /* empty */ } public static class CreateShortcutActivity extends SettingsActivity { /* empty */ }
public static class FaceSettingsActivity extends SettingsActivity { /* empty */ } public static class FaceSettingsActivity extends SettingsActivity { /* empty */ }
public static class FingerprintSettingsActivity extends SettingsActivity { /* empty */ }
public static class SimSettingsActivity extends SettingsActivity { /* empty */ } public static class SimSettingsActivity extends SettingsActivity { /* empty */ }
public static class TetherSettingsActivity extends SettingsActivity { /* empty */ } public static class TetherSettingsActivity extends SettingsActivity { /* empty */ }
public static class WifiTetherSettingsActivity extends SettingsActivity { /* empty */ } public static class WifiTetherSettingsActivity extends SettingsActivity { /* empty */ }

View File

@@ -30,6 +30,7 @@ import androidx.annotation.VisibleForTesting;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.Utils; import com.android.settings.Utils;
import com.android.settings.biometrics.BiometricEnrollBase; import com.android.settings.biometrics.BiometricEnrollBase;
import com.android.settings.password.ChooseLockSettingsHelper;
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;
@@ -41,6 +42,8 @@ import com.google.android.setupcompat.util.WizardManagerHelper;
public class FingerprintEnrollFinish extends BiometricEnrollBase { public class FingerprintEnrollFinish extends BiometricEnrollBase {
private static final String TAG = "FingerprintEnrollFinish"; private static final String TAG = "FingerprintEnrollFinish";
private static final String ACTION_FINGERPRINT_SETTINGS =
"android.settings.FINGERPRINT_SETTINGS";
@VisibleForTesting @VisibleForTesting
static final int REQUEST_ADD_ANOTHER = 1; static final int REQUEST_ADD_ANOTHER = 1;
@VisibleForTesting @VisibleForTesting
@@ -107,6 +110,8 @@ public class FingerprintEnrollFinish extends BiometricEnrollBase {
setResult(RESULT_FINISHED); setResult(RESULT_FINISHED);
if (WizardManagerHelper.isAnySetupWizard(getIntent())) { if (WizardManagerHelper.isAnySetupWizard(getIntent())) {
postEnroll(); postEnroll();
} else {
launchFingerprintSettings();
} }
finish(); finish();
} }
@@ -141,6 +146,14 @@ public class FingerprintEnrollFinish extends BiometricEnrollBase {
} }
} }
private void launchFingerprintSettings() {
final Intent intent = new Intent(ACTION_FINGERPRINT_SETTINGS);
intent.setPackage(Utils.SETTINGS_PACKAGE_NAME);
intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN, mToken);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
}
private void onAddAnotherButtonClick(View view) { private void onAddAnotherButtonClick(View view) {
startActivityForResult(getFingerprintEnrollingIntent(), REQUEST_ADD_ANOTHER); startActivityForResult(getFingerprintEnrollingIntent(), REQUEST_ADD_ANOTHER);
} }

View File

@@ -276,6 +276,9 @@ public class FingerprintSettings extends SubSettings {
Activity activity = getActivity(); Activity activity = getActivity();
mFingerprintManager = Utils.getFingerprintManagerOrNull(activity); mFingerprintManager = Utils.getFingerprintManagerOrNull(activity);
mToken = getIntent().getByteArrayExtra(
ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN);
mAuthenticateSidecar = (FingerprintAuthenticateSidecar) mAuthenticateSidecar = (FingerprintAuthenticateSidecar)
getFragmentManager().findFragmentByTag(TAG_AUTHENTICATE_SIDECAR); getFragmentManager().findFragmentByTag(TAG_AUTHENTICATE_SIDECAR);
if (mAuthenticateSidecar == null) { if (mAuthenticateSidecar == null) {

View File

@@ -54,6 +54,7 @@ import com.android.settings.backup.PrivacySettings;
import com.android.settings.backup.ToggleBackupSettingFragment; import com.android.settings.backup.ToggleBackupSettingFragment;
import com.android.settings.backup.UserBackupSettingsActivity; import com.android.settings.backup.UserBackupSettingsActivity;
import com.android.settings.biometrics.face.FaceSettings; import com.android.settings.biometrics.face.FaceSettings;
import com.android.settings.biometrics.fingerprint.FingerprintSettings;
import com.android.settings.bluetooth.BluetoothDeviceDetailsFragment; import com.android.settings.bluetooth.BluetoothDeviceDetailsFragment;
import com.android.settings.connecteddevice.AdvancedConnectedDeviceDashboardFragment; import com.android.settings.connecteddevice.AdvancedConnectedDeviceDashboardFragment;
import com.android.settings.connecteddevice.ConnectedDeviceDashboardFragment; import com.android.settings.connecteddevice.ConnectedDeviceDashboardFragment;
@@ -203,6 +204,7 @@ public class SettingsGateway {
AccountSyncSettings.class.getName(), AccountSyncSettings.class.getName(),
AssistGestureSettings.class.getName(), AssistGestureSettings.class.getName(),
FaceSettings.class.getName(), FaceSettings.class.getName(),
FingerprintSettings.FingerprintSettingsFragment.class.getName(),
SwipeToNotificationSettings.class.getName(), SwipeToNotificationSettings.class.getName(),
DoubleTapPowerSettings.class.getName(), DoubleTapPowerSettings.class.getName(),
DoubleTapScreenSettings.class.getName(), DoubleTapScreenSettings.class.getName(),