diff options
author | 2025-03-06 13:58:59 +0000 | |
---|---|---|
committer | 2025-03-07 08:59:36 -0800 | |
commit | e3cb9fc88f1b147319c7e93e61d94fb618af0ff1 (patch) | |
tree | 4fb981284cc15063a39c0d677f2833a139ace930 /PermissionController/src | |
parent | 4529ad1ee5ba19e62df7aacc6848c3d85023a896 (diff) |
Modify privacy section hack for BC25.
This puts all the privacy entries in a single PreferenceCategory.
Fixes: 382490686
Test: atest CtsSafetyCenterTestCases and manual
Relnote: UI fix for expressive redesign
Flag: EXEMPT bugfix
LOW_COVERAGE_REASON=b/401532883
Change-Id: I532c3b37cbcc9ae0a35512c2d3f552328b6b7a9a
Diffstat (limited to 'PermissionController/src')
-rw-r--r-- | PermissionController/src/com/android/permissioncontroller/safetycenter/ui/SafetyCenterDashboardFragment.java | 30 |
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()); |