From 0bd85cfe221ab5fc8184b71b5af3c0f19f076d94 Mon Sep 17 00:00:00 2001 From: sallyyuen Date: Mon, 11 May 2020 17:17:49 -0700 Subject: [PATCH] Add SELF permission to SystemActions receiver Listen to only internal broadcasts with this permission. Also set an explicit package with setPackage Bug: 155968134 Test: Sent a test intent that was denied. Successfully triggered system actions with TalkBack Change-Id: I65b8eb060288a32b014f3fcfda11b2273015041e --- .../android/systemui/accessibility/SystemActions.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/SystemUI/src/com/android/systemui/accessibility/SystemActions.java b/packages/SystemUI/src/com/android/systemui/accessibility/SystemActions.java index b7275634c6a60..0135e4cddc56c 100644 --- a/packages/SystemUI/src/com/android/systemui/accessibility/SystemActions.java +++ b/packages/SystemUI/src/com/android/systemui/accessibility/SystemActions.java @@ -128,6 +128,8 @@ public class SystemActions extends SystemUI { public static final int SYSTEM_ACTION_ID_ACCESSIBILITY_SHORTCUT = AccessibilityService.GLOBAL_ACTION_ACCESSIBILITY_SHORTCUT; // 13 + private static final String PERMISSION_SELF = "com.android.systemui.permission.SELF"; + private Recents mRecents; private StatusBar mStatusBar; private SystemActionsBroadcastReceiver mReceiver; @@ -147,7 +149,11 @@ public class SystemActions extends SystemUI { @Override public void start() { - mContext.registerReceiverForAllUsers(mReceiver, mReceiver.createIntentFilter(), null, null); + mContext.registerReceiverForAllUsers( + mReceiver, + mReceiver.createIntentFilter(), + PERMISSION_SELF, + null); registerActions(); } @@ -397,6 +403,7 @@ public class SystemActions extends SystemUI { case INTENT_ACTION_ACCESSIBILITY_BUTTON_CHOOSER: case INTENT_ACTION_ACCESSIBILITY_SHORTCUT: { Intent intent = new Intent(intentAction); + intent.setPackage(context.getPackageName()); return PendingIntent.getBroadcast(context, 0, intent, 0); } default: