Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e74929d9 authored by Alex Mang's avatar Alex Mang Committed by Android (Google) Code Review
Browse files

Merge "Add flag to allow NAS to peform ranking"

parents 1b6bdf93 8f966787
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -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>
+5 −0
Original line number Diff line number Diff line
@@ -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"
+6 −1
Original line number Diff line number Diff line
@@ -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;

@@ -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);
@@ -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);
+48 −0
Original line number Diff line number Diff line
@@ -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;
@@ -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
@@ -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);
@@ -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
@@ -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);
@@ -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);