Persist token across activity lifecycle

Test: token is persisted

Bug: 122372584
Change-Id: Id3221d1a06c48779c743a685a49a70edff6e912c
This commit is contained in:
Kevin Chyn
2019-01-09 14:52:56 -08:00
parent 2dbdc888c3
commit 5652550c84

View File

@@ -51,11 +51,10 @@ import java.util.List;
public class FaceSettings extends DashboardFragment {
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 int mUserId;
private boolean mLaunchedConfirm;
private byte[] mToken;
private FaceSettingsAttentionPreferenceController mAttentionController;
@@ -86,7 +85,7 @@ public class FaceSettings extends DashboardFragment {
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putBoolean(KEY_LAUNCHED_CONFIRM, mLaunchedConfirm);
outState.putByteArray(KEY_TOKEN, mToken);
}
@Override
@@ -98,10 +97,10 @@ public class FaceSettings extends DashboardFragment {
Intent.EXTRA_USER_ID, UserHandle.myUserId());
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();
ChooseLockSettingsHelper helper = new ChooseLockSettingsHelper(getActivity(), this);
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
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);