summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--PermissionController/src/com/android/permissioncontroller/safetycenter/ui/SafetyCenterDashboardFragment.java30
1 files changed, 20 insertions, 10 deletions
diff --git a/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/SafetyCenterDashboardFragment.java b/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/SafetyCenterDashboardFragment.java
index 1297bc4c2..47f9fd591 100644
--- a/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/SafetyCenterDashboardFragment.java
+++ b/PermissionController/src/com/android/permissioncontroller/safetycenter/ui/SafetyCenterDashboardFragment.java
@@ -81,6 +81,7 @@ public final class SafetyCenterDashboardFragment extends SafetyCenterFragment {
new CollapsableGroupCardHelper();
private PreferenceGroup mIssuesGroup;
private PreferenceGroup mEntriesGroup;
+ @Nullable private PreferenceGroup mPrivacyEntriesGroup;
private PreferenceGroup mStaticEntriesGroup;
private boolean mIsQuickSettingsFragment;
@@ -263,12 +264,17 @@ public final class SafetyCenterDashboardFragment extends SafetyCenterFragment {
if (SdkLevel.isAtLeastV()
&& group != null
&& Objects.equals(group.getId(), PRIVACY_SOURCES_GROUP_ID)) {
- // Add an extra header before the privacy sources
- PreferenceCategory category = new ComparablePreferenceCategory(context);
- SafetyCenterResourcesApk safetyCenterResourcesApk =
- new SafetyCenterResourcesApk(requireContext());
- category.setTitle(safetyCenterResourcesApk.getStringByName("privacy_title"));
- mEntriesGroup.addPreference(category);
+ // Add a special group for the privacy sources
+ mPrivacyEntriesGroup = new ComparablePreferenceCategory(context);
+ mPrivacyEntriesGroup.setTitle(
+ new SafetyCenterResourcesApk(requireContext())
+ .getStringByName("privacy_title"));
+ mEntriesGroup.addPreference(mPrivacyEntriesGroup);
+
+ mPrivacyEntriesGroup.addPreference(
+ new SafetyHomepageEntryPreference(
+ context, group, getSafetyCenterSessionId()));
+ continue;
}
if (SafetyCenterUiFlags.getShowSubpages() && group != null) {
@@ -327,10 +333,14 @@ public final class SafetyCenterDashboardFragment extends SafetyCenterFragment {
private void updateStaticSafetyEntries(Context context, SafetyCenterData data) {
mStaticEntriesGroup.removeAll();
- for (SafetyCenterStaticEntryGroup group : data.getStaticEntryGroups()) {
- if (group.getTitle().toString().isEmpty()) {
- // Interpret an empty title as signal to not create a titled category
- addStaticEntriesTo(context, data, mStaticEntriesGroup, group.getStaticEntries());
+ List<SafetyCenterStaticEntryGroup> staticEntryGroups = data.getStaticEntryGroups();
+ for (int i = 0, size = staticEntryGroups.size(); i < size; i++) {
+ SafetyCenterStaticEntryGroup group = staticEntryGroups.get(i);
+
+ if (i == 0 && group.getTitle().toString().isEmpty() && mPrivacyEntriesGroup != null) {
+ // Interpret an empty title for the first group as signal to extend the privacy
+ // category.
+ addStaticEntriesTo(context, data, mPrivacyEntriesGroup, group.getStaticEntries());
} else {
PreferenceCategory category = new ComparablePreferenceCategory(context);
category.setTitle(group.getTitle());