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

Commit a686b931 authored by Stanislav Zholnin's avatar Stanislav Zholnin
Browse files

Fix NotificationManagerServiceTest to properly use DeviceConfig API with shell permission

identity in preparation to enforcement of permissions through ag/6055289.

Bug:117663715
Test: atest NotificationManagerServiceTest with ag/6055289 patched in.
Change-Id: I65fc4a7b40df04e56f9676e6c296e86809292d29
parent 94904dcb
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ android_test {
        "services.usage",
        "guava",
        "androidx.test.rules", "hamcrest-library",
        "compatibility-device-util-axt",
        "mockito-target-inline-minus-junit4",
        "platform-test-annotations",
        "hamcrest-library",
+9 −7
Original line number Diff line number Diff line
@@ -42,6 +42,8 @@ import static android.os.Build.VERSION_CODES.P;
import static android.service.notification.NotificationListenerService.Ranking.USER_SENTIMENT_NEGATIVE;
import static android.service.notification.NotificationListenerService.Ranking.USER_SENTIMENT_NEUTRAL;

import static com.android.compatibility.common.util.SystemUtil.runWithShellPermissionIdentity;

import static junit.framework.Assert.assertEquals;
import static junit.framework.Assert.assertFalse;
import static junit.framework.Assert.assertNotNull;
@@ -4178,7 +4180,7 @@ public class NotificationManagerServiceTest extends UiServiceTestCase {
        mService.setNotificationAssistantAccessGrantedCallback(
                mNotificationAssistantAccessGrantedCallback);

        mService.setDefaultAssistantForUser(0);
        runWithShellPermissionIdentity(() -> mService.setDefaultAssistantForUser(0));

        verify(mNotificationAssistantAccessGrantedCallback)
                .onGranted(eq(xmlConfig), eq(0), eq(true));
@@ -4198,7 +4200,7 @@ public class NotificationManagerServiceTest extends UiServiceTestCase {
        mService.setNotificationAssistantAccessGrantedCallback(
                mNotificationAssistantAccessGrantedCallback);

        mService.setDefaultAssistantForUser(0);
        runWithShellPermissionIdentity(() -> mService.setDefaultAssistantForUser(0));

        verify(mNotificationAssistantAccessGrantedCallback)
                .onGranted(eq(deviceConfig), eq(0), eq(true));
@@ -4219,22 +4221,22 @@ public class NotificationManagerServiceTest extends UiServiceTestCase {
        mService.setNotificationAssistantAccessGrantedCallback(
                mNotificationAssistantAccessGrantedCallback);

        mService.setDefaultAssistantForUser(0);
        runWithShellPermissionIdentity(() -> mService.setDefaultAssistantForUser(0));

        verify(mNotificationAssistantAccessGrantedCallback)
                .onGranted(eq(xmlConfig), eq(0), eq(true));
    }

    private void clearDeviceConfig() {
        DeviceConfig.resetToDefaults(
                Settings.RESET_MODE_PACKAGE_DEFAULTS, DeviceConfig.NAMESPACE_SYSTEMUI);
        runWithShellPermissionIdentity(() -> DeviceConfig.resetToDefaults(
                Settings.RESET_MODE_PACKAGE_DEFAULTS, DeviceConfig.NAMESPACE_SYSTEMUI));
    }

    private void setDefaultAssistantInDeviceConfig(String componentName) {
        DeviceConfig.setProperty(
        runWithShellPermissionIdentity(() -> DeviceConfig.setProperty(
                DeviceConfig.NAMESPACE_SYSTEMUI,
                SystemUiDeviceConfigFlags.NAS_DEFAULT_SERVICE,
                componentName,
                false);
                false));
    }
}