Loading src/com/android/settings/accounts/AccountDashboardFragment.java +1 −2 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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, Loading src/com/android/settings/accounts/AccountPersonalDashboardFragment.java +1 −2 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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, Loading src/com/android/settings/accounts/AccountPreferenceController.java +7 −5 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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; Loading Loading @@ -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); Loading Loading @@ -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) { Loading Loading @@ -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); Loading src/com/android/settings/accounts/AccountWorkProfileDashboardFragment.java +1 −2 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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, Loading src/com/android/settings/dashboard/DashboardFragment.java +24 −0 Original line number Diff line number Diff line Loading @@ -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 Loading
src/com/android/settings/accounts/AccountDashboardFragment.java +1 −2 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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, Loading
src/com/android/settings/accounts/AccountPersonalDashboardFragment.java +1 −2 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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, Loading
src/com/android/settings/accounts/AccountPreferenceController.java +7 −5 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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; Loading Loading @@ -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); Loading Loading @@ -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) { Loading Loading @@ -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); Loading
src/com/android/settings/accounts/AccountWorkProfileDashboardFragment.java +1 −2 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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, Loading
src/com/android/settings/dashboard/DashboardFragment.java +24 −0 Original line number Diff line number Diff line Loading @@ -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