Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9b4e9239 authored by Hao Dong's avatar Hao Dong
Browse files

Fix the flicker of buttons in FaceSettings.

Test: manual test - 1. enroll a face 2. open face settings 3. there is
no flicker
Bug: 273408521

Change-Id: I34d069cb1dbaa4bc38671dc37e3c8fe285f700aa
parent bd605524
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -208,6 +208,10 @@ public class FaceSettings extends DashboardFragment {
        mRemoveButton = findPreference(FaceSettingsRemoveButtonPreferenceController.KEY);
        mEnrollButton = findPreference(FaceSettingsEnrollButtonPreferenceController.KEY);

        final boolean hasEnrolled = mFaceManager.hasEnrolledTemplates(mUserId);
        mEnrollButton.setVisible(!hasEnrolled);
        mRemoveButton.setVisible(hasEnrolled);

        // There is no better way to do this :/
        for (AbstractPreferenceController controller : mControllers) {
            if (controller instanceof FaceSettingsPreferenceController) {
@@ -233,8 +237,6 @@ public class FaceSettings extends DashboardFragment {
    public void onStart() {
        super.onStart();
        final boolean hasEnrolled = mFaceManager.hasEnrolledTemplates(mUserId);
        mEnrollButton.setVisible(!hasEnrolled);
        mRemoveButton.setVisible(hasEnrolled);

        // When the user has face id registered but failed enrolling in device lock state,
        // lead users directly to the confirm deletion dialog in Face Unlock settings.