Loading res/values/strings.xml +6 −0 Original line number Diff line number Diff line Loading @@ -7893,6 +7893,12 @@ <!-- Configure Notifications: setting summary [CHAR LIMIT=200] --> <string name="asst_capability_prioritizer_summary">Automatically set lower priority notifications to Gentle</string> <!-- Configure Notifications: setting title [CHAR LIMIT=80 BACKUP_MESSAGE_ID=6691908606916292167] --> <string name="asst_capability_ranking_title">Adaptive notification ranking</string> <!-- Configure Notifications: setting summary [CHAR LIMIT=200] --> <string name="asst_capability_ranking_summary">Automatically rank notifications by relevance</string> <!-- Configure Notifications: setting title [CHAR LIMIT=80] --> <string name="asst_capabilities_actions_replies_title">Suggested actions and replies</string> res/xml/development_settings.xml +5 −0 Original line number Diff line number Diff line Loading @@ -546,6 +546,11 @@ android:title="@string/asst_capability_prioritizer_title" settings:controller="com.android.settings.notification.AssistantCapabilityPreferenceController" /> <SwitchPreference android:key="asst_capability_ranking" android:title="@string/asst_capability_ranking_title" settings:controller="com.android.settings.notification.AssistantCapabilityPreferenceController" /> <Preference android:key="inactive_apps" android:title="@string/inactive_apps_title" Loading src/com/android/settings/notification/AssistantCapabilityPreferenceController.java +6 −1 Original line number Diff line number Diff line Loading @@ -28,6 +28,7 @@ import java.util.List; public class AssistantCapabilityPreferenceController extends TogglePreferenceController { static final String PRIORITIZER_KEY = "asst_capability_prioritizer"; static final String RANKING_KEY = "asst_capability_ranking"; static final String SMART_KEY = "asst_capabilities_actions_replies"; private NotificationBackend mBackend; Loading @@ -46,6 +47,8 @@ public class AssistantCapabilityPreferenceController extends TogglePreferenceCon List<String> capabilities = mBackend.getAssistantAdjustments(mContext.getPackageName()); if (PRIORITIZER_KEY.equals(getPreferenceKey())) { return capabilities.contains(Adjustment.KEY_IMPORTANCE); } else if (RANKING_KEY.equals(getPreferenceKey())) { return capabilities.contains(Adjustment.KEY_RANKING_SCORE); } else if (SMART_KEY.equals(getPreferenceKey())) { return capabilities.contains(Adjustment.KEY_CONTEXTUAL_ACTIONS) && capabilities.contains(Adjustment.KEY_TEXT_REPLIES); Loading @@ -57,6 +60,8 @@ public class AssistantCapabilityPreferenceController extends TogglePreferenceCon public boolean setChecked(boolean isChecked) { if (PRIORITIZER_KEY.equals(getPreferenceKey())) { mBackend.allowAssistantAdjustment(Adjustment.KEY_IMPORTANCE, isChecked); } else if (RANKING_KEY.equals(getPreferenceKey())) { mBackend.allowAssistantAdjustment(Adjustment.KEY_RANKING_SCORE, isChecked); } else if (SMART_KEY.equals(getPreferenceKey())) { mBackend.allowAssistantAdjustment(Adjustment.KEY_CONTEXTUAL_ACTIONS, isChecked); mBackend.allowAssistantAdjustment(Adjustment.KEY_TEXT_REPLIES, isChecked); Loading tests/robotests/src/com/android/settings/notification/AssistantCapabilityPreferenceControllerTest.java +48 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ package com.android.settings.notification; import static com.android.settings.core.BasePreferenceController.AVAILABLE; import static com.android.settings.core.BasePreferenceController.DISABLED_DEPENDENT_SETTING; import static com.android.settings.notification.AssistantCapabilityPreferenceController.PRIORITIZER_KEY; import static com.android.settings.notification.AssistantCapabilityPreferenceController.RANKING_KEY; import static com.android.settings.notification.AssistantCapabilityPreferenceController.SMART_KEY; import static com.google.common.truth.Truth.assertThat; Loading Loading @@ -56,8 +57,10 @@ public class AssistantCapabilityPreferenceControllerTest { private Context mContext; private AssistantCapabilityPreferenceController mPrioritizerController; private AssistantCapabilityPreferenceController mRankingController; private AssistantCapabilityPreferenceController mChipController; private Preference mPrioritizerPreference; private Preference mRankingPreference; private Preference mChipPreference; @Before Loading @@ -71,6 +74,13 @@ public class AssistantCapabilityPreferenceControllerTest { mPrioritizerPreference.setKey(mPrioritizerController.getPreferenceKey()); when(mScreen.findPreference( mPrioritizerController.getPreferenceKey())).thenReturn(mPrioritizerPreference); mRankingController = new AssistantCapabilityPreferenceController( mContext, RANKING_KEY); mRankingController.setBackend(mBackend); mRankingPreference = new Preference(mContext); mRankingPreference.setKey(mRankingController.getPreferenceKey()); when(mScreen.findPreference( mRankingController.getPreferenceKey())).thenReturn(mRankingPreference); mChipController = new AssistantCapabilityPreferenceController(mContext, SMART_KEY); mChipController.setBackend(mBackend); mChipPreference = new Preference(mContext); Loading Loading @@ -111,6 +121,27 @@ public class AssistantCapabilityPreferenceControllerTest { capabilities.add(Adjustment.KEY_IMPORTANCE); when(mBackend.getAssistantAdjustments(anyString())).thenReturn(capabilities); assertThat(mPrioritizerController.isChecked()).isTrue(); capabilities = new ArrayList<>(); capabilities.add(Adjustment.KEY_RANKING_SCORE); when(mBackend.getAssistantAdjustments(anyString())).thenReturn(capabilities); assertThat(mPrioritizerController.isChecked()).isFalse(); } @Test public void isChecked_rankingSettingIsOff_false() { List<String> capabilities = new ArrayList<>(); capabilities.add(Adjustment.KEY_IMPORTANCE); when(mBackend.getAssistantAdjustments(anyString())).thenReturn(capabilities); assertThat(mRankingController.isChecked()).isFalse(); } @Test public void isChecked_rankingSettingIsOn_true() { List<String> capabilities = new ArrayList<>(); capabilities.add(Adjustment.KEY_RANKING_SCORE); when(mBackend.getAssistantAdjustments(anyString())).thenReturn(capabilities); assertThat(mRankingController.isChecked()).isTrue(); } @Test Loading @@ -120,6 +151,11 @@ public class AssistantCapabilityPreferenceControllerTest { when(mBackend.getAssistantAdjustments(anyString())).thenReturn(capabilities); assertThat(mChipController.isChecked()).isFalse(); capabilities = new ArrayList<>(); capabilities.add(Adjustment.KEY_RANKING_SCORE); when(mBackend.getAssistantAdjustments(anyString())).thenReturn(capabilities); assertThat(mChipController.isChecked()).isFalse(); capabilities = new ArrayList<>(); capabilities.add(Adjustment.KEY_CONTEXTUAL_ACTIONS); when(mBackend.getAssistantAdjustments(anyString())).thenReturn(capabilities); Loading Loading @@ -152,6 +188,18 @@ public class AssistantCapabilityPreferenceControllerTest { verify(mBackend).allowAssistantAdjustment(Adjustment.KEY_IMPORTANCE, false); } @Test public void onPreferenceChange_rankingOn() { mRankingController.onPreferenceChange(mRankingPreference, true); verify(mBackend).allowAssistantAdjustment(Adjustment.KEY_RANKING_SCORE, true); } @Test public void onPreferenceChange_rankingOff() { mRankingController.onPreferenceChange(mRankingPreference, false); verify(mBackend).allowAssistantAdjustment(Adjustment.KEY_RANKING_SCORE, false); } @Test public void onPreferenceChange_chipsOn() { mChipController.onPreferenceChange(mChipPreference, true); Loading Loading
res/values/strings.xml +6 −0 Original line number Diff line number Diff line Loading @@ -7893,6 +7893,12 @@ <!-- Configure Notifications: setting summary [CHAR LIMIT=200] --> <string name="asst_capability_prioritizer_summary">Automatically set lower priority notifications to Gentle</string> <!-- Configure Notifications: setting title [CHAR LIMIT=80 BACKUP_MESSAGE_ID=6691908606916292167] --> <string name="asst_capability_ranking_title">Adaptive notification ranking</string> <!-- Configure Notifications: setting summary [CHAR LIMIT=200] --> <string name="asst_capability_ranking_summary">Automatically rank notifications by relevance</string> <!-- Configure Notifications: setting title [CHAR LIMIT=80] --> <string name="asst_capabilities_actions_replies_title">Suggested actions and replies</string>
res/xml/development_settings.xml +5 −0 Original line number Diff line number Diff line Loading @@ -546,6 +546,11 @@ android:title="@string/asst_capability_prioritizer_title" settings:controller="com.android.settings.notification.AssistantCapabilityPreferenceController" /> <SwitchPreference android:key="asst_capability_ranking" android:title="@string/asst_capability_ranking_title" settings:controller="com.android.settings.notification.AssistantCapabilityPreferenceController" /> <Preference android:key="inactive_apps" android:title="@string/inactive_apps_title" Loading
src/com/android/settings/notification/AssistantCapabilityPreferenceController.java +6 −1 Original line number Diff line number Diff line Loading @@ -28,6 +28,7 @@ import java.util.List; public class AssistantCapabilityPreferenceController extends TogglePreferenceController { static final String PRIORITIZER_KEY = "asst_capability_prioritizer"; static final String RANKING_KEY = "asst_capability_ranking"; static final String SMART_KEY = "asst_capabilities_actions_replies"; private NotificationBackend mBackend; Loading @@ -46,6 +47,8 @@ public class AssistantCapabilityPreferenceController extends TogglePreferenceCon List<String> capabilities = mBackend.getAssistantAdjustments(mContext.getPackageName()); if (PRIORITIZER_KEY.equals(getPreferenceKey())) { return capabilities.contains(Adjustment.KEY_IMPORTANCE); } else if (RANKING_KEY.equals(getPreferenceKey())) { return capabilities.contains(Adjustment.KEY_RANKING_SCORE); } else if (SMART_KEY.equals(getPreferenceKey())) { return capabilities.contains(Adjustment.KEY_CONTEXTUAL_ACTIONS) && capabilities.contains(Adjustment.KEY_TEXT_REPLIES); Loading @@ -57,6 +60,8 @@ public class AssistantCapabilityPreferenceController extends TogglePreferenceCon public boolean setChecked(boolean isChecked) { if (PRIORITIZER_KEY.equals(getPreferenceKey())) { mBackend.allowAssistantAdjustment(Adjustment.KEY_IMPORTANCE, isChecked); } else if (RANKING_KEY.equals(getPreferenceKey())) { mBackend.allowAssistantAdjustment(Adjustment.KEY_RANKING_SCORE, isChecked); } else if (SMART_KEY.equals(getPreferenceKey())) { mBackend.allowAssistantAdjustment(Adjustment.KEY_CONTEXTUAL_ACTIONS, isChecked); mBackend.allowAssistantAdjustment(Adjustment.KEY_TEXT_REPLIES, isChecked); Loading
tests/robotests/src/com/android/settings/notification/AssistantCapabilityPreferenceControllerTest.java +48 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ package com.android.settings.notification; import static com.android.settings.core.BasePreferenceController.AVAILABLE; import static com.android.settings.core.BasePreferenceController.DISABLED_DEPENDENT_SETTING; import static com.android.settings.notification.AssistantCapabilityPreferenceController.PRIORITIZER_KEY; import static com.android.settings.notification.AssistantCapabilityPreferenceController.RANKING_KEY; import static com.android.settings.notification.AssistantCapabilityPreferenceController.SMART_KEY; import static com.google.common.truth.Truth.assertThat; Loading Loading @@ -56,8 +57,10 @@ public class AssistantCapabilityPreferenceControllerTest { private Context mContext; private AssistantCapabilityPreferenceController mPrioritizerController; private AssistantCapabilityPreferenceController mRankingController; private AssistantCapabilityPreferenceController mChipController; private Preference mPrioritizerPreference; private Preference mRankingPreference; private Preference mChipPreference; @Before Loading @@ -71,6 +74,13 @@ public class AssistantCapabilityPreferenceControllerTest { mPrioritizerPreference.setKey(mPrioritizerController.getPreferenceKey()); when(mScreen.findPreference( mPrioritizerController.getPreferenceKey())).thenReturn(mPrioritizerPreference); mRankingController = new AssistantCapabilityPreferenceController( mContext, RANKING_KEY); mRankingController.setBackend(mBackend); mRankingPreference = new Preference(mContext); mRankingPreference.setKey(mRankingController.getPreferenceKey()); when(mScreen.findPreference( mRankingController.getPreferenceKey())).thenReturn(mRankingPreference); mChipController = new AssistantCapabilityPreferenceController(mContext, SMART_KEY); mChipController.setBackend(mBackend); mChipPreference = new Preference(mContext); Loading Loading @@ -111,6 +121,27 @@ public class AssistantCapabilityPreferenceControllerTest { capabilities.add(Adjustment.KEY_IMPORTANCE); when(mBackend.getAssistantAdjustments(anyString())).thenReturn(capabilities); assertThat(mPrioritizerController.isChecked()).isTrue(); capabilities = new ArrayList<>(); capabilities.add(Adjustment.KEY_RANKING_SCORE); when(mBackend.getAssistantAdjustments(anyString())).thenReturn(capabilities); assertThat(mPrioritizerController.isChecked()).isFalse(); } @Test public void isChecked_rankingSettingIsOff_false() { List<String> capabilities = new ArrayList<>(); capabilities.add(Adjustment.KEY_IMPORTANCE); when(mBackend.getAssistantAdjustments(anyString())).thenReturn(capabilities); assertThat(mRankingController.isChecked()).isFalse(); } @Test public void isChecked_rankingSettingIsOn_true() { List<String> capabilities = new ArrayList<>(); capabilities.add(Adjustment.KEY_RANKING_SCORE); when(mBackend.getAssistantAdjustments(anyString())).thenReturn(capabilities); assertThat(mRankingController.isChecked()).isTrue(); } @Test Loading @@ -120,6 +151,11 @@ public class AssistantCapabilityPreferenceControllerTest { when(mBackend.getAssistantAdjustments(anyString())).thenReturn(capabilities); assertThat(mChipController.isChecked()).isFalse(); capabilities = new ArrayList<>(); capabilities.add(Adjustment.KEY_RANKING_SCORE); when(mBackend.getAssistantAdjustments(anyString())).thenReturn(capabilities); assertThat(mChipController.isChecked()).isFalse(); capabilities = new ArrayList<>(); capabilities.add(Adjustment.KEY_CONTEXTUAL_ACTIONS); when(mBackend.getAssistantAdjustments(anyString())).thenReturn(capabilities); Loading Loading @@ -152,6 +188,18 @@ public class AssistantCapabilityPreferenceControllerTest { verify(mBackend).allowAssistantAdjustment(Adjustment.KEY_IMPORTANCE, false); } @Test public void onPreferenceChange_rankingOn() { mRankingController.onPreferenceChange(mRankingPreference, true); verify(mBackend).allowAssistantAdjustment(Adjustment.KEY_RANKING_SCORE, true); } @Test public void onPreferenceChange_rankingOff() { mRankingController.onPreferenceChange(mRankingPreference, false); verify(mBackend).allowAssistantAdjustment(Adjustment.KEY_RANKING_SCORE, false); } @Test public void onPreferenceChange_chipsOn() { mChipController.onPreferenceChange(mChipPreference, true); Loading