Settings: Place and order Google & Digital Wellbeing
... in the same category as Security & privacy ... with an approach that can be reused for other keys in the future Co-authored-by: AnierinB <anierin@evolution-x.org> Change-Id: I666ebd7f90c11f1836bac10f7fca38baa5aedf93
This commit is contained in:
committed by
Michael Bestas
parent
7045bdead2
commit
e3863afe68
@@ -80,14 +80,22 @@ public abstract class DashboardFragment extends SettingsPreferenceFragment
|
||||
private static final long TIMEOUT_MILLIS = 50L;
|
||||
|
||||
private static final List<String> ACCOUNT_INJECTED_KEYS = Arrays.asList(
|
||||
"dashboard_tile_pref_com.google.android.gms.backup.component.BackupOrRestoreSettingsActivity",
|
||||
"top_level_google"
|
||||
"dashboard_tile_pref_com.google.android.gms.backup.component.BackupOrRestoreSettingsActivity"
|
||||
);
|
||||
|
||||
private static final List<String> SECURITY_PRIVACY_INJECTED_KEYS = Arrays.asList(
|
||||
"top_level_wellbeing"
|
||||
"top_level_wellbeing",
|
||||
"top_level_google"
|
||||
);
|
||||
|
||||
private static final ArrayMap<String, Integer> KEY_ORDER = new ArrayMap<>();
|
||||
static {
|
||||
// We have "Passwords, passkeys & accounts with order "-10" above
|
||||
KEY_ORDER.put("top_level_wellbeing", -5);
|
||||
KEY_ORDER.put("top_level_google", 0);
|
||||
// We have "Safety & emergency with order "10" below
|
||||
}
|
||||
|
||||
@VisibleForTesting
|
||||
final ArrayMap<String, List<DynamicDataObserver>> mDashboardTilePrefKeys = new ArrayMap<>();
|
||||
private final Map<Class, List<AbstractPreferenceController>> mPreferenceControllers =
|
||||
@@ -609,12 +617,20 @@ public abstract class DashboardFragment extends SettingsPreferenceFragment
|
||||
observers = mDashboardFeatureProvider.bindPreferenceToTileAndGetObservers(
|
||||
getActivity(), this, forceRoundedIcons, preference, tile, key,
|
||||
mPlaceholderPreferenceController.getOrder());
|
||||
// Order the prefs within their respective category
|
||||
if (KEY_ORDER.containsKey(key)) {
|
||||
preference.setOrder(KEY_ORDER.get(key));
|
||||
}
|
||||
} else {
|
||||
// Don't have this key, add it.
|
||||
final Preference pref = createPreference(tile);
|
||||
observers = mDashboardFeatureProvider.bindPreferenceToTileAndGetObservers(
|
||||
getActivity(), this, forceRoundedIcons, pref, tile, key,
|
||||
mPlaceholderPreferenceController.getOrder());
|
||||
// Order the prefs within their respective category
|
||||
if (KEY_ORDER.containsKey(key)) {
|
||||
pref.setOrder(KEY_ORDER.get(key));
|
||||
}
|
||||
if (Flags.dynamicInjectionCategory()) {
|
||||
if (tile.hasGroupKey()) {
|
||||
Preference group = screen.findPreference(tile.getGroupKey());
|
||||
@@ -636,6 +652,10 @@ public abstract class DashboardFragment extends SettingsPreferenceFragment
|
||||
} else if (SECURITY_PRIVACY_INJECTED_KEYS.contains(key)) {
|
||||
group = screen.findPreference("top_level_security_privacy_category");
|
||||
}
|
||||
// Order the prefs within their respective category
|
||||
if (KEY_ORDER.containsKey(key)) {
|
||||
pref.setOrder(KEY_ORDER.get(key));
|
||||
}
|
||||
if (group instanceof PreferenceCategory) {
|
||||
((PreferenceCategory) group).addPreference(pref);
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user