Fix Delete face model button flicker

Update the visibility of button in onCreate & onActivityResult to
avoid button flicker

Bug: 191112124
Test: Reference reproduce step in b/191112124
Change-Id: I68e42433631db27e3f8f03ab4fc68e2326852f9b
This commit is contained in:
Vincent Wang
2022-07-21 16:52:37 +08:00
parent 3bab68f912
commit 65f53e98e3

View File

@@ -203,6 +203,10 @@ public class FaceSettings extends DashboardFragment {
if (savedInstanceState != null) { if (savedInstanceState != null) {
mToken = savedInstanceState.getByteArray(KEY_TOKEN); mToken = savedInstanceState.getByteArray(KEY_TOKEN);
} }
final boolean hasEnrolled = mFaceManager.hasEnrolledTemplates(mUserId);
mEnrollButton.setVisible(!hasEnrolled);
mRemoveButton.setVisible(hasEnrolled);
} }
@Override @Override
@@ -230,10 +234,6 @@ public class FaceSettings extends DashboardFragment {
mEnrollController.setToken(mToken); mEnrollController.setToken(mToken);
} }
final boolean hasEnrolled = mFaceManager.hasEnrolledTemplates(mUserId);
mEnrollButton.setVisible(!hasEnrolled);
mRemoveButton.setVisible(hasEnrolled);
if (!mFaceFeatureProvider.isAttentionSupported(getContext())) { if (!mFaceFeatureProvider.isAttentionSupported(getContext())) {
removePreference(FaceSettingsAttentionPreferenceController.KEY); removePreference(FaceSettingsAttentionPreferenceController.KEY);
} }
@@ -261,6 +261,10 @@ public class FaceSettings extends DashboardFragment {
mEnrollController.setToken(mToken); mEnrollController.setToken(mToken);
mConfirmingPassword = false; mConfirmingPassword = false;
}); });
final boolean hasEnrolled = mFaceManager.hasEnrolledTemplates(mUserId);
mEnrollButton.setVisible(!hasEnrolled);
mRemoveButton.setVisible(hasEnrolled);
} }
} else if (requestCode == ENROLL_REQUEST) { } else if (requestCode == ENROLL_REQUEST) {
if (resultCode == RESULT_TIMEOUT) { if (resultCode == RESULT_TIMEOUT) {