Merge "Persist token across activity lifecycle"

This commit is contained in:
Kevin Chyn
2019-01-10 03:19:42 +00:00
committed by Android (Google) Code Review

View File

@@ -51,11 +51,10 @@ import java.util.List;
public class FaceSettings extends DashboardFragment { public class FaceSettings extends DashboardFragment {
private static final String TAG = "FaceSettings"; private static final String TAG = "FaceSettings";
private static final String KEY_LAUNCHED_CONFIRM = "key_launched_confirm"; private static final String KEY_TOKEN = "key_token";
private FaceManager mFaceManager; private FaceManager mFaceManager;
private int mUserId; private int mUserId;
private boolean mLaunchedConfirm;
private byte[] mToken; private byte[] mToken;
private FaceSettingsAttentionPreferenceController mAttentionController; private FaceSettingsAttentionPreferenceController mAttentionController;
@@ -86,7 +85,7 @@ public class FaceSettings extends DashboardFragment {
@Override @Override
public void onSaveInstanceState(Bundle outState) { public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState); super.onSaveInstanceState(outState);
outState.putBoolean(KEY_LAUNCHED_CONFIRM, mLaunchedConfirm); outState.putByteArray(KEY_TOKEN, mToken);
} }
@Override @Override
@@ -98,10 +97,10 @@ public class FaceSettings extends DashboardFragment {
Intent.EXTRA_USER_ID, UserHandle.myUserId()); Intent.EXTRA_USER_ID, UserHandle.myUserId());
if (savedInstanceState != null) { if (savedInstanceState != null) {
mLaunchedConfirm = savedInstanceState.getBoolean(KEY_LAUNCHED_CONFIRM, false); mToken = savedInstanceState.getByteArray(KEY_TOKEN);
} }
if (!mLaunchedConfirm) { if (mToken == null) {
final long challenge = mFaceManager.generateChallenge(); final long challenge = mFaceManager.generateChallenge();
ChooseLockSettingsHelper helper = new ChooseLockSettingsHelper(getActivity(), this); ChooseLockSettingsHelper helper = new ChooseLockSettingsHelper(getActivity(), this);
if (!helper.launchConfirmationActivity(CONFIRM_REQUEST, if (!helper.launchConfirmationActivity(CONFIRM_REQUEST,
@@ -113,6 +112,14 @@ public class FaceSettings extends DashboardFragment {
} }
} }
@Override
public void onResume() {
super.onResume();
if (mToken != null) {
mAttentionController.setToken(mToken);
}
}
@Override @Override
public void onActivityResult(int requestCode, int resultCode, Intent data) { public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data); super.onActivityResult(requestCode, resultCode, data);