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

Commit 3af0fbfc authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Add full list api" into main

parents abf3b48d d2514f7c
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -270,6 +270,7 @@ interface INotificationManager

    int[] getAllowedAdjustmentKeyTypes();
    void setAssistantAdjustmentKeyTypeState(int type, boolean enabled);
    String[] getAdjustmentDeniedPackages(String key);
    boolean isAdjustmentSupportedForPackage(String key, String pkg);
    void setAdjustmentSupportedForPackage(String key, String pkg, boolean enabled);

+16 −0
Original line number Diff line number Diff line
@@ -4564,6 +4564,12 @@ public class NotificationManagerService extends SystemService {
            handleSavePolicyFile();
        }
        @Override
        public String[] getAdjustmentDeniedPackages(String key) {
            checkCallerIsSystemOrSystemUiOrShell();
            return mAssistants.getAdjustmentDeniedPackages(key);
        }
        @Override
        public boolean isAdjustmentSupportedForPackage(String key, String pkg) {
            checkCallerIsSystemOrSystemUiOrShell();
@@ -12283,6 +12289,16 @@ public class NotificationManagerService extends SystemService {
            }
        }
        protected @NonNull String[] getAdjustmentDeniedPackages(@Adjustment.Keys String key) {
            synchronized (mLock) {
                if (notificationClassificationUi() || nmSummarization() | nmSummarizationUi()) {
                    return mAdjustmentKeyDeniedPackages.getOrDefault(
                            key, new ArraySet<>()).toArray(new String[0]);
                }
            }
            return new String[]{};
        }
        protected @NonNull boolean isAdjustmentAllowedForPackage(@Adjustment.Keys String key,
                String pkg) {
            synchronized (mLock) {
+8 −0
Original line number Diff line number Diff line
@@ -757,18 +757,22 @@ public class NotificationAssistantsTest extends UiServiceTestCase {
        String allowedPackage = "allowed.package";

        assertThat(mAssistants.isAdjustmentAllowedForPackage(key, allowedPackage)).isTrue();
        assertThat(mAssistants.getAdjustmentDeniedPackages(key)).isEmpty();

        // Set type adjustment disallowed for this package
        mAssistants.setAdjustmentSupportedForPackage(key, allowedPackage, false);

        // Then the package is marked as denied
        assertThat(mAssistants.isAdjustmentAllowedForPackage(key, allowedPackage)).isFalse();
        assertThat(mAssistants.getAdjustmentDeniedPackages(key)).asList()
                .containsExactly(allowedPackage);

        // Set type adjustment allowed again
        mAssistants.setAdjustmentSupportedForPackage(key, allowedPackage, true);

        // Then the package is marked as allowed again
        assertThat(mAssistants.isAdjustmentAllowedForPackage(key, allowedPackage)).isTrue();
        assertThat(mAssistants.getAdjustmentDeniedPackages(key)).isEmpty();
    }

    @Test
@@ -789,6 +793,8 @@ public class NotificationAssistantsTest extends UiServiceTestCase {
        assertThat(mAssistants.isAdjustmentAllowedForPackage(key, deniedPkg1)).isFalse();
        assertThat(mAssistants.isAdjustmentAllowedForPackage(key, deniedPkg2)).isFalse();
        assertThat(mAssistants.isAdjustmentAllowedForPackage(key, deniedPkg3)).isFalse();
        assertThat(mAssistants.getAdjustmentDeniedPackages(key)).asList()
                .containsExactlyElementsIn(List.of(deniedPkg1, deniedPkg2, deniedPkg3));

        // And when we re-allow one of them,
        mAssistants.setAdjustmentSupportedForPackage(key, deniedPkg2, true);
@@ -797,6 +803,8 @@ public class NotificationAssistantsTest extends UiServiceTestCase {
        assertThat(mAssistants.isAdjustmentAllowedForPackage(key, deniedPkg1)).isFalse();
        assertThat(mAssistants.isAdjustmentAllowedForPackage(key, deniedPkg2)).isTrue();
        assertThat(mAssistants.isAdjustmentAllowedForPackage(key, deniedPkg3)).isFalse();
        assertThat(mAssistants.getAdjustmentDeniedPackages(key)).asList()
                .containsExactlyElementsIn(List.of(deniedPkg1, deniedPkg3));
    }

    @Test