Merge "Allow Watch Unlock to exit back to Device Unlock settings." into main
This commit is contained in:
committed by
Android (Google) Code Review
commit
6faaf80204
@@ -14,3 +14,10 @@ flag {
|
|||||||
description: "This flag enables or disables the Fingerprint v2 enrollment"
|
description: "This flag enables or disables the Fingerprint v2 enrollment"
|
||||||
bug: "295206723"
|
bug: "295206723"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
flag {
|
||||||
|
name: "active_unlock_finish_parent"
|
||||||
|
namespace: "biometrics_framework"
|
||||||
|
description: "This flag enables the Active Unlock settings activity to finish its parent activity"
|
||||||
|
bug: "343576960"
|
||||||
|
}
|
||||||
|
@@ -24,14 +24,19 @@ import android.content.Intent;
|
|||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.UserHandle;
|
import android.os.UserHandle;
|
||||||
|
|
||||||
|
import androidx.activity.result.ActivityResult;
|
||||||
|
import androidx.activity.result.ActivityResultLauncher;
|
||||||
|
import androidx.activity.result.contract.ActivityResultContracts;
|
||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
import androidx.preference.Preference;
|
import androidx.preference.Preference;
|
||||||
|
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
|
import com.android.settings.biometrics.BiometricEnrollBase;
|
||||||
import com.android.settings.biometrics.activeunlock.ActiveUnlockContentListener.OnContentChangedListener;
|
import com.android.settings.biometrics.activeunlock.ActiveUnlockContentListener.OnContentChangedListener;
|
||||||
import com.android.settings.biometrics.activeunlock.ActiveUnlockDeviceNameListener;
|
import com.android.settings.biometrics.activeunlock.ActiveUnlockDeviceNameListener;
|
||||||
import com.android.settings.biometrics.activeunlock.ActiveUnlockRequireBiometricSetup;
|
import com.android.settings.biometrics.activeunlock.ActiveUnlockRequireBiometricSetup;
|
||||||
import com.android.settings.biometrics.activeunlock.ActiveUnlockStatusUtils;
|
import com.android.settings.biometrics.activeunlock.ActiveUnlockStatusUtils;
|
||||||
|
import com.android.settings.flags.Flags;
|
||||||
import com.android.settings.search.BaseSearchIndexProvider;
|
import com.android.settings.search.BaseSearchIndexProvider;
|
||||||
import com.android.settingslib.search.SearchIndexable;
|
import com.android.settingslib.search.SearchIndexable;
|
||||||
|
|
||||||
@@ -52,6 +57,10 @@ public class CombinedBiometricSettings extends BiometricsSettingsBase {
|
|||||||
private CombinedBiometricStatusUtils mCombinedBiometricStatusUtils;
|
private CombinedBiometricStatusUtils mCombinedBiometricStatusUtils;
|
||||||
@Nullable private ActiveUnlockDeviceNameListener mActiveUnlockDeviceNameListener;
|
@Nullable private ActiveUnlockDeviceNameListener mActiveUnlockDeviceNameListener;
|
||||||
|
|
||||||
|
private final ActivityResultLauncher<Intent> mActiveUnlockPreferenceLauncher =
|
||||||
|
registerForActivityResult(new ActivityResultContracts.StartActivityForResult(),
|
||||||
|
this::onActiveUnlockPreferenceResult);
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onAttach(Context context) {
|
public void onAttach(Context context) {
|
||||||
super.onAttach(context);
|
super.onAttach(context);
|
||||||
@@ -158,12 +167,25 @@ public class CombinedBiometricSettings extends BiometricsSettingsBase {
|
|||||||
intent = mActiveUnlockStatusUtils.getIntent();
|
intent = mActiveUnlockStatusUtils.getIntent();
|
||||||
}
|
}
|
||||||
if (intent != null) {
|
if (intent != null) {
|
||||||
startActivityForResult(intent, ACTIVE_UNLOCK_REQUEST);
|
if (Flags.activeUnlockFinishParent()) {
|
||||||
|
mActiveUnlockPreferenceLauncher.launch(intent);
|
||||||
|
} else {
|
||||||
|
startActivityForResult(intent, ACTIVE_UNLOCK_REQUEST);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void onActiveUnlockPreferenceResult(@Nullable ActivityResult result) {
|
||||||
|
if (result != null && result.getResultCode() == BiometricEnrollBase.RESULT_TIMEOUT) {
|
||||||
|
mDoNotFinishActivity = false;
|
||||||
|
// When "Watch Unlock" is closed due to entering onStop(),
|
||||||
|
// "Face & Fingerprint Unlock" shall also close itself and back to "Security" page.
|
||||||
|
finish();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected String getUseAnyBiometricSummary() {
|
protected String getUseAnyBiometricSummary() {
|
||||||
// either Active Unlock is not enabled or no device is enrolled.
|
// either Active Unlock is not enabled or no device is enrolled.
|
||||||
|
Reference in New Issue
Block a user