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 Original line Diff line number Diff line
@@ -270,6 +270,7 @@ interface INotificationManager


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


+16 −0
Original line number Original line Diff line number Diff line
@@ -4564,6 +4564,12 @@ public class NotificationManagerService extends SystemService {
            handleSavePolicyFile();
            handleSavePolicyFile();
        }
        }
        @Override
        public String[] getAdjustmentDeniedPackages(String key) {
            checkCallerIsSystemOrSystemUiOrShell();
            return mAssistants.getAdjustmentDeniedPackages(key);
        }
        @Override
        @Override
        public boolean isAdjustmentSupportedForPackage(String key, String pkg) {
        public boolean isAdjustmentSupportedForPackage(String key, String pkg) {
            checkCallerIsSystemOrSystemUiOrShell();
            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,
        protected @NonNull boolean isAdjustmentAllowedForPackage(@Adjustment.Keys String key,
                String pkg) {
                String pkg) {
            synchronized (mLock) {
            synchronized (mLock) {
+8 −0
Original line number Original line Diff line number Diff line
@@ -757,18 +757,22 @@ public class NotificationAssistantsTest extends UiServiceTestCase {
        String allowedPackage = "allowed.package";
        String allowedPackage = "allowed.package";


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


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


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


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


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


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


    @Test
    @Test