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

Commit b47e7b42 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Update all preferences when the account preference updates UI" into...

Merge "Update all preferences when the account preference updates UI" into tm-qpr-dev am: 6e14ff02

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



Change-Id: I832dcbc2fa78a81f9d64169d80cdc5a9aed5df4d
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 5aff3d9d 6e14ff02
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -26,7 +26,6 @@ import android.os.UserHandle;
import android.os.UserManager;

import com.android.settings.R;
import com.android.settings.SettingsPreferenceFragment;
import com.android.settings.applications.autofill.PasswordsPreferenceController;
import com.android.settings.applications.defaultapps.DefaultAutofillPreferenceController;
import com.android.settings.applications.defaultapps.DefaultWorkAutofillPreferenceController;
@@ -96,7 +95,7 @@ public class AccountDashboardFragment extends DashboardFragment {
    }

    private static void buildAccountPreferenceControllers(
            Context context, SettingsPreferenceFragment parent, String[] authorities,
            Context context, DashboardFragment parent, String[] authorities,
            List<AbstractPreferenceController> controllers) {
        final AccountPreferenceController accountPrefController =
                new AccountPreferenceController(context, parent, authorities,
+1 −2
Original line number Diff line number Diff line
@@ -24,7 +24,6 @@ import android.app.settings.SettingsEnums;
import android.content.Context;

import com.android.settings.R;
import com.android.settings.SettingsPreferenceFragment;
import com.android.settings.applications.autofill.PasswordsPreferenceController;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.dashboard.profileselector.ProfileSelectFragment;
@@ -78,7 +77,7 @@ public class AccountPersonalDashboardFragment extends DashboardFragment {
    }

    private static void buildAccountPreferenceControllers(
            Context context, SettingsPreferenceFragment parent, String[] authorities,
            Context context, DashboardFragment parent, String[] authorities,
            List<AbstractPreferenceController> controllers) {
        final AccountPreferenceController accountPrefController =
                new AccountPreferenceController(context, parent, authorities,
+7 −5
Original line number Diff line number Diff line
@@ -58,10 +58,10 @@ import androidx.preference.PreferenceScreen;

import com.android.settings.AccessiblePreferenceCategory;
import com.android.settings.R;
import com.android.settings.SettingsPreferenceFragment;
import com.android.settings.Utils;
import com.android.settings.core.PreferenceControllerMixin;
import com.android.settings.core.SubSettingLauncher;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.dashboard.profileselector.ProfileSelectFragment;
import com.android.settings.overlay.FeatureFactory;
import com.android.settingslib.RestrictedPreference;
@@ -101,7 +101,7 @@ public class AccountPreferenceController extends AbstractPreferenceController
    private Preference mProfileNotAvailablePreference;
    private String[] mAuthorities;
    private int mAuthoritiesCount = 0;
    private SettingsPreferenceFragment mFragment;
    private DashboardFragment mFragment;
    private int mAccountProfileOrder = ORDER_ACCOUNT_PROFILES;
    private AccountRestrictionHelper mHelper;
    private MetricsFeatureProvider mMetricsFeatureProvider;
@@ -145,13 +145,13 @@ public class AccountPreferenceController extends AbstractPreferenceController
        public ArrayMap<String, AccountTypePreference> accountPreferences = new ArrayMap<>();
    }

    public AccountPreferenceController(Context context, SettingsPreferenceFragment parent,
    public AccountPreferenceController(Context context, DashboardFragment parent,
            String[] authorities, @ProfileSelectFragment.ProfileType int type) {
        this(context, parent, authorities, new AccountRestrictionHelper(context), type);
    }

    @VisibleForTesting
    AccountPreferenceController(Context context, SettingsPreferenceFragment parent,
    AccountPreferenceController(Context context, DashboardFragment parent,
            String[] authorities, AccountRestrictionHelper helper,
            @ProfileSelectFragment.ProfileType int type) {
        super(context);
@@ -314,6 +314,9 @@ public class AccountPreferenceController extends AbstractPreferenceController
        for (int i = 0; i < profilesCount; i++) {
            updateAccountTypes(mProfiles.valueAt(i));
        }

        // Refresh for the auto-sync preferences
        mFragment.forceUpdatePreferences();
    }

    private void updateProfileUi(final UserInfo userInfo) {
@@ -409,7 +412,6 @@ public class AccountPreferenceController extends AbstractPreferenceController
        return preference;
    }


    private Preference newManagedProfileSettings() {
        Preference preference = new Preference(mFragment.getPreferenceManager().getContext());
        preference.setKey(PREF_KEY_WORK_PROFILE_SETTING);
+1 −2
Original line number Diff line number Diff line
@@ -24,7 +24,6 @@ import android.app.settings.SettingsEnums;
import android.content.Context;

import com.android.settings.R;
import com.android.settings.SettingsPreferenceFragment;
import com.android.settings.applications.autofill.PasswordsPreferenceController;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.dashboard.profileselector.ProfileSelectFragment;
@@ -78,7 +77,7 @@ public class AccountWorkProfileDashboardFragment extends DashboardFragment {
    }

    private static void buildAccountPreferenceControllers(
            Context context, SettingsPreferenceFragment parent, String[] authorities,
            Context context, DashboardFragment parent, String[] authorities,
            List<AbstractPreferenceController> controllers) {
        final AccountPreferenceController accountPrefController =
                new AccountPreferenceController(context, parent, authorities,
+24 −0
Original line number Diff line number Diff line
@@ -415,6 +415,30 @@ public abstract class DashboardFragment extends SettingsPreferenceFragment
        updatePreferenceVisibility(mPreferenceControllers);
    }

    /**
     * Force update all the preferences in this fragment.
     */
    public void forceUpdatePreferences() {
        final PreferenceScreen screen = getPreferenceScreen();
        if (screen == null || mPreferenceControllers == null) {
            return;
        }
        for (List<AbstractPreferenceController> controllerList : mPreferenceControllers.values()) {
            for (AbstractPreferenceController controller : controllerList) {
                final String key = controller.getPreferenceKey();
                final Preference preference = findPreference(key);
                if (preference == null) {
                    continue;
                }
                final boolean available = controller.isAvailable();
                if (available) {
                    controller.updateState(preference);
                }
                preference.setVisible(available);
            }
        }
    }

    @VisibleForTesting
    void updatePreferenceVisibility(
            Map<Class, List<AbstractPreferenceController>> preferenceControllers) {
Loading