From 07a3663d966f7185af90ed90664ae1c32f45daa2 Mon Sep 17 00:00:00 2001 From: Matt Casey Date: Fri, 28 Jan 2022 16:12:46 -0500 Subject: [PATCH] Add clipboard toast suppression permission. Grant that permission to SystemUI so that the clipboard overlay doesn't generate a toast. Test: Manual verification that toast is suppressed only after sysui requests the permission. Test: atest ClipboardManagerTest Bug: 216143343 Change-Id: Ia527a5d878f026b7939042b4b675037482846fbb --- core/res/AndroidManifest.xml | 4 ++++ packages/SystemUI/AndroidManifest.xml | 1 + .../java/com/android/server/clipboard/ClipboardService.java | 4 ++++ 3 files changed, 9 insertions(+) diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml index 66d5e88423e67..59b9d4e18b5a8 100644 --- a/core/res/AndroidManifest.xml +++ b/core/res/AndroidManifest.xml @@ -5923,6 +5923,10 @@

Not for use by third-party applications. --> + + diff --git a/packages/SystemUI/AndroidManifest.xml b/packages/SystemUI/AndroidManifest.xml index 59893817da6f7..31973548dd054 100644 --- a/packages/SystemUI/AndroidManifest.xml +++ b/packages/SystemUI/AndroidManifest.xml @@ -308,6 +308,7 @@ + diff --git a/services/core/java/com/android/server/clipboard/ClipboardService.java b/services/core/java/com/android/server/clipboard/ClipboardService.java index 28508f46bfe67..53fe4509b1cc4 100644 --- a/services/core/java/com/android/server/clipboard/ClipboardService.java +++ b/services/core/java/com/android/server/clipboard/ClipboardService.java @@ -1090,6 +1090,10 @@ public class ClipboardService extends SystemService { && mAutofillInternal.isAugmentedAutofillServiceForUser(uid, userId)) { return; } + if (mPm.checkPermission(Manifest.permission.SUPPRESS_CLIPBOARD_ACCESS_NOTIFICATION, + callingPackage) == PackageManager.PERMISSION_GRANTED) { + return; + } // Don't notify if already notified for this uid and clip. if (clipboard.mNotifiedUids.get(uid)) { return;