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

Commit 6ee26178 authored by Julia Reynolds's avatar Julia Reynolds
Browse files

Allow signature apps to modify notification policies.

Bug: 22977552
Change-Id: Ib2bc3a55a904011218bb3adb19998cc4a0b7e709
parent aeaa12c3
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -2530,6 +2530,12 @@
        android:label="@string/permlab_access_notification_policy"
        android:protectionLevel="normal" />

    <!-- Allows modification of do not disturb rules and policies. Only allowed for system
        processes.
        @hide -->
    <permission android:name="android.permission.MANAGE_NOTIFICATIONS"
                android:protectionLevel="signature" />

    <!-- Allows access to keyguard secure storage.  Only allowed for system processes.
        @hide -->
    <permission android:name="android.permission.ACCESS_KEYGUARD_SECURE_STORAGE"
+4 −0
Original line number Diff line number Diff line
@@ -1642,6 +1642,10 @@ public class NotificationManagerService extends SystemService {
        }

        private void enforcePolicyAccess(String pkg, String method) {
            if (PackageManager.PERMISSION_GRANTED == getContext().checkCallingPermission(
                    android.Manifest.permission.MANAGE_NOTIFICATIONS)) {
                return;
            }
            if (!checkPolicyAccess(pkg)) {
                Slog.w(TAG, "Notification policy access denied calling " + method);
                throw new SecurityException("Notification policy access denied");
+3 −2
Original line number Diff line number Diff line
@@ -248,8 +248,9 @@ public class ZenModeHelper {
        }
        pw.printf("allow(calls=%s,callsFrom=%s,repeatCallers=%s,messages=%s,messagesFrom=%s,"
                + "events=%s,reminders=%s)\n",
                config.allowCalls, config.allowCallsFrom, config.allowRepeatCallers,
                config.allowMessages, config.allowMessagesFrom,
                config.allowCalls, ZenModeConfig.sourceToString(config.allowCallsFrom),
                config.allowRepeatCallers, config.allowMessages,
                ZenModeConfig.sourceToString(config.allowMessagesFrom),
                config.allowEvents, config.allowReminders);
        pw.print(prefix); pw.print("  manualRule="); pw.println(config.manualRule);
        if (config.automaticRules.isEmpty()) return;