From d117f53b77db735e26f5c086096dc0d480fb3a9a Mon Sep 17 00:00:00 2001 From: Michael W Date: Mon, 11 Nov 2024 21:16:46 +0100 Subject: [PATCH] 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 Change-Id: I666ebd7f90c11f1836bac10f7fca38baa5aedf93 --- .../settings/dashboard/DashboardFragment.java | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/src/com/android/settings/dashboard/DashboardFragment.java b/src/com/android/settings/dashboard/DashboardFragment.java index 2f887f69f91..f9e66015aa9 100644 --- a/src/com/android/settings/dashboard/DashboardFragment.java +++ b/src/com/android/settings/dashboard/DashboardFragment.java @@ -82,14 +82,22 @@ public abstract class DashboardFragment extends SettingsPreferenceFragment private static final long TIMEOUT_MILLIS = 50L; private static final List 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 SECURITY_PRIVACY_INJECTED_KEYS = Arrays.asList( - "top_level_wellbeing" + "top_level_wellbeing", + "top_level_google" ); + private static final ArrayMap 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> mDashboardTilePrefKeys = new ArrayMap<>(); private final Map> mPreferenceControllers = @@ -657,6 +665,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 {