diff --git a/src/com/android/settings/dashboard/DashboardFragment.java b/src/com/android/settings/dashboard/DashboardFragment.java index e97834f0b87..8a20d9ad26f 100644 --- a/src/com/android/settings/dashboard/DashboardFragment.java +++ b/src/com/android/settings/dashboard/DashboardFragment.java @@ -79,6 +79,15 @@ public abstract class DashboardFragment extends SettingsPreferenceFragment private static final String TAG = "DashboardFragment"; 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" + ); + + private static final List SECURITY_PRIVACY_INJECTED_KEYS = Arrays.asList( + "top_level_wellbeing" + ); + @VisibleForTesting final ArrayMap> mDashboardTilePrefKeys = new ArrayMap<>(); private final Map> mPreferenceControllers = @@ -618,12 +627,17 @@ public abstract class DashboardFragment extends SettingsPreferenceFragment screen.addPreference(pref); } } else { + Preference group = null; if (tile.hasGroupKey() && mDashboardTilePrefKeys.containsKey(tile.getGroupKey())) { - Preference group = screen.findPreference(tile.getGroupKey()); - if (group instanceof PreferenceCategory) { - ((PreferenceCategory) group).addPreference(pref); - } + group = screen.findPreference(tile.getGroupKey()); + } else if (ACCOUNT_INJECTED_KEYS.contains(key)) { + group = screen.findPreference("top_level_account_category"); + } else if (SECURITY_PRIVACY_INJECTED_KEYS.contains(key)) { + group = screen.findPreference("top_level_security_privacy_category"); + } + if (group instanceof PreferenceCategory) { + ((PreferenceCategory) group).addPreference(pref); } else { screen.addPreference(pref); }