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 long TIMEOUT_MILLIS = 50L;
|
||||||
|
|
||||||
private static final List<String> ACCOUNT_INJECTED_KEYS = Arrays.asList(
|
private static final List<String> ACCOUNT_INJECTED_KEYS = Arrays.asList(
|
||||||
"dashboard_tile_pref_com.google.android.gms.backup.component.BackupOrRestoreSettingsActivity",
|
"dashboard_tile_pref_com.google.android.gms.backup.component.BackupOrRestoreSettingsActivity"
|
||||||
"top_level_google"
|
|
||||||
);
|
);
|
||||||
|
|
||||||
private static final List<String> SECURITY_PRIVACY_INJECTED_KEYS = Arrays.asList(
|
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
|
@VisibleForTesting
|
||||||
final ArrayMap<String, List<DynamicDataObserver>> mDashboardTilePrefKeys = new ArrayMap<>();
|
final ArrayMap<String, List<DynamicDataObserver>> mDashboardTilePrefKeys = new ArrayMap<>();
|
||||||
private final Map<Class, List<AbstractPreferenceController>> mPreferenceControllers =
|
private final Map<Class, List<AbstractPreferenceController>> mPreferenceControllers =
|
||||||
@@ -609,12 +617,20 @@ public abstract class DashboardFragment extends SettingsPreferenceFragment
|
|||||||
observers = mDashboardFeatureProvider.bindPreferenceToTileAndGetObservers(
|
observers = mDashboardFeatureProvider.bindPreferenceToTileAndGetObservers(
|
||||||
getActivity(), this, forceRoundedIcons, preference, tile, key,
|
getActivity(), this, forceRoundedIcons, preference, tile, key,
|
||||||
mPlaceholderPreferenceController.getOrder());
|
mPlaceholderPreferenceController.getOrder());
|
||||||
|
// Order the prefs within their respective category
|
||||||
|
if (KEY_ORDER.containsKey(key)) {
|
||||||
|
preference.setOrder(KEY_ORDER.get(key));
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
// Don't have this key, add it.
|
// Don't have this key, add it.
|
||||||
final Preference pref = createPreference(tile);
|
final Preference pref = createPreference(tile);
|
||||||
observers = mDashboardFeatureProvider.bindPreferenceToTileAndGetObservers(
|
observers = mDashboardFeatureProvider.bindPreferenceToTileAndGetObservers(
|
||||||
getActivity(), this, forceRoundedIcons, pref, tile, key,
|
getActivity(), this, forceRoundedIcons, pref, tile, key,
|
||||||
mPlaceholderPreferenceController.getOrder());
|
mPlaceholderPreferenceController.getOrder());
|
||||||
|
// Order the prefs within their respective category
|
||||||
|
if (KEY_ORDER.containsKey(key)) {
|
||||||
|
pref.setOrder(KEY_ORDER.get(key));
|
||||||
|
}
|
||||||
if (Flags.dynamicInjectionCategory()) {
|
if (Flags.dynamicInjectionCategory()) {
|
||||||
if (tile.hasGroupKey()) {
|
if (tile.hasGroupKey()) {
|
||||||
Preference group = screen.findPreference(tile.getGroupKey());
|
Preference group = screen.findPreference(tile.getGroupKey());
|
||||||
@@ -636,6 +652,10 @@ public abstract class DashboardFragment extends SettingsPreferenceFragment
|
|||||||
} else if (SECURITY_PRIVACY_INJECTED_KEYS.contains(key)) {
|
} else if (SECURITY_PRIVACY_INJECTED_KEYS.contains(key)) {
|
||||||
group = screen.findPreference("top_level_security_privacy_category");
|
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) {
|
if (group instanceof PreferenceCategory) {
|
||||||
((PreferenceCategory) group).addPreference(pref);
|
((PreferenceCategory) group).addPreference(pref);
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Reference in New Issue
Block a user