diff --git a/src/com/android/settings/dashboard/DashboardFragment.java b/src/com/android/settings/dashboard/DashboardFragment.java index 1d802de43d7..49616543b68 100644 --- a/src/com/android/settings/dashboard/DashboardFragment.java +++ b/src/com/android/settings/dashboard/DashboardFragment.java @@ -78,14 +78,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 = @@ -574,6 +582,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 {