Merge "[Settings] Enable ActivityResultLauncher for keyguard" am: d1e0b46a44 am: a0baef444d am: 5d2afa168a

Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/2313406

Change-Id: Ib998f0407156c5f16aed4b0a977ec8f85e048560
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Bonian Chen
2022-11-24 15:46:37 +00:00
committed by Automerger Merge Worker
2 changed files with 37 additions and 13 deletions

View File

@@ -40,6 +40,9 @@ import android.widget.Button;
import android.widget.CheckBox;
import android.widget.Spinner;
import androidx.activity.result.ActivityResult;
import androidx.activity.result.ActivityResultLauncher;
import androidx.activity.result.contract.ActivityResultContracts;
import androidx.annotation.VisibleForTesting;
import com.android.settings.core.InstrumentedFragment;
@@ -70,6 +73,7 @@ public class ResetNetwork extends InstrumentedFragment {
// Arbitrary to avoid conficts
private static final int KEYGUARD_REQUEST = 55;
private ActivityResultLauncher mActivityResultLauncher;
private List<SubscriptionInfo> mSubscriptions;
private View mContentView;
@@ -82,6 +86,10 @@ public class ResetNetwork extends InstrumentedFragment {
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getActivity().setTitle(R.string.reset_network_title);
mActivityResultLauncher = registerForActivityResult(
new ActivityResultContracts.StartActivityForResult(),
result -> onActivityLauncherResult(result));
}
/**
@@ -96,20 +104,14 @@ public class ResetNetwork extends InstrumentedFragment {
new ChooseLockSettingsHelper.Builder(getActivity(), this);
return builder.setRequestCode(request)
.setTitle(res.getText(R.string.reset_network_title))
.setActivityResultLauncher(mActivityResultLauncher)
.show();
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode != KEYGUARD_REQUEST) {
return;
}
public void onActivityLauncherResult(ActivityResult result) {
// If the user entered a valid keyguard trace, present the final
// confirmation prompt; otherwise, go back to the initial state.
if (resultCode == Activity.RESULT_OK) {
if (result.getResultCode() == Activity.RESULT_OK) {
showFinalConfirmation();
} else if (mContentView != null) {
establishInitialState(getActiveSubscriptionInfoList());