From 14b2f9568ed0eda6c6c12c313ab6a0c2fd182207 Mon Sep 17 00:00:00 2001 From: josephpv Date: Thu, 25 Jan 2024 13:42:02 +0000 Subject: [PATCH] Add new filter to list private space apps when not in quite mode This change handles listing of private space apps in Settings > Sound & vibration > Do Not Disturb > Apps page. Based on the new filter this page - lists the apps from private space whenever profile is unlocked. - when quite mode enabled privat space apps in the list is hidden. Recording Link: b/322316632#comment3 Bug: 322316632 Test: Manual Change-Id: Ie8a7b3376351c031a1abb8488eceb7859a1930fd --- .../zen/ZenModeAddBypassingAppsPreferenceController.java | 5 ++++- .../zen/ZenModeAllBypassingAppsPreferenceController.java | 6 ++++-- .../zen/ZenModeBypassingAppsPreferenceController.java | 5 ++++- .../ZenModeAddBypassingAppsPreferenceControllerTest.java | 3 +++ 4 files changed, 15 insertions(+), 4 deletions(-) diff --git a/src/com/android/settings/notification/zen/ZenModeAddBypassingAppsPreferenceController.java b/src/com/android/settings/notification/zen/ZenModeAddBypassingAppsPreferenceController.java index 966461055f2..89af2615d63 100644 --- a/src/com/android/settings/notification/zen/ZenModeAddBypassingAppsPreferenceController.java +++ b/src/com/android/settings/notification/zen/ZenModeAddBypassingAppsPreferenceController.java @@ -118,7 +118,10 @@ public class ZenModeAddBypassingAppsPreferenceController extends AbstractPrefere return; } - ApplicationsState.AppFilter filter = ApplicationsState.FILTER_ALL_ENABLED; + ApplicationsState.AppFilter filter = android.multiuser.Flags.enablePrivateSpaceFeatures() + && android.multiuser.Flags.handleInterleavedSettingsForPrivateSpace() + ? ApplicationsState.FILTER_ENABLED_NOT_QUIET + : ApplicationsState.FILTER_ALL_ENABLED; mAppSession.rebuild(filter, ApplicationsState.ALPHA_COMPARATOR); } diff --git a/src/com/android/settings/notification/zen/ZenModeAllBypassingAppsPreferenceController.java b/src/com/android/settings/notification/zen/ZenModeAllBypassingAppsPreferenceController.java index f4b7036c3d0..2ae7d433a7b 100644 --- a/src/com/android/settings/notification/zen/ZenModeAllBypassingAppsPreferenceController.java +++ b/src/com/android/settings/notification/zen/ZenModeAllBypassingAppsPreferenceController.java @@ -45,7 +45,6 @@ import com.android.settingslib.widget.AppPreference; import java.util.ArrayList; import java.util.List; - /** * Adds a preference to the PreferenceScreen for each notification channel that can bypass DND. */ @@ -107,7 +106,10 @@ public class ZenModeAllBypassingAppsPreferenceController extends AbstractPrefere return; } - ApplicationsState.AppFilter filter = ApplicationsState.FILTER_ALL_ENABLED; + ApplicationsState.AppFilter filter = android.multiuser.Flags.enablePrivateSpaceFeatures() + && android.multiuser.Flags.handleInterleavedSettingsForPrivateSpace() + ? ApplicationsState.FILTER_ENABLED_NOT_QUIET + : ApplicationsState.FILTER_ALL_ENABLED; mAppSession.rebuild(filter, ApplicationsState.ALPHA_COMPARATOR); } diff --git a/src/com/android/settings/notification/zen/ZenModeBypassingAppsPreferenceController.java b/src/com/android/settings/notification/zen/ZenModeBypassingAppsPreferenceController.java index 8d2ae4838fd..e16124a2fe6 100644 --- a/src/com/android/settings/notification/zen/ZenModeBypassingAppsPreferenceController.java +++ b/src/com/android/settings/notification/zen/ZenModeBypassingAppsPreferenceController.java @@ -82,7 +82,10 @@ public class ZenModeBypassingAppsPreferenceController extends AbstractZenModePre return; } - ApplicationsState.AppFilter filter = ApplicationsState.FILTER_ALL_ENABLED; + ApplicationsState.AppFilter filter = android.multiuser.Flags.enablePrivateSpaceFeatures() + && android.multiuser.Flags.handleInterleavedSettingsForPrivateSpace() + ? ApplicationsState.FILTER_ENABLED_NOT_QUIET + : ApplicationsState.FILTER_ALL_ENABLED; List apps = mAppSession.rebuild(filter, ApplicationsState.ALPHA_COMPARATOR); updateAppsBypassingDndSummaryText(apps); diff --git a/tests/robotests/src/com/android/settings/notification/zen/ZenModeAddBypassingAppsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/zen/ZenModeAddBypassingAppsPreferenceControllerTest.java index 2569ca3592f..27df89046f4 100644 --- a/tests/robotests/src/com/android/settings/notification/zen/ZenModeAddBypassingAppsPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/notification/zen/ZenModeAddBypassingAppsPreferenceControllerTest.java @@ -162,4 +162,7 @@ public class ZenModeAddBypassingAppsPreferenceControllerTest { assertThat(pref.getKey()).isEqualTo( ZenModeAddBypassingAppsPreferenceController.KEY_NO_APPS); } + + // TODO(b/331624810): Add tests to verify updateAppList() when the filter is + // ApplicationsState.FILTER_ENABLED_NOT_QUIET }