summaryrefslogtreecommitdiff
path: root/core/java/android/app/ContextImpl.java
diff options
context:
space:
mode:
authorTyler Gunn <tgunn@google.com>2018-04-26 14:43:31 -0700
committerDavid Su <dysu@google.com>2020-09-29 21:52:45 +0000
commitea7ef4ad2a15bae23039034fa00a36d6ff84e6cd (patch)
tree9e6935be0146da4152f464995ea1e14bf886409f /core/java/android/app/ContextImpl.java
parentdcc3d1d5fdbd56886422ee1be6b5a1f101421066 (diff)
Backport sendBroadcastAsUserMultiplePermissions to oc-dev
Bug: 159373687 Test: Verify Settings still works correctly. Change-Id: I857ea00cc58a0abbb77960643f361dd6dd9c8b56 Merged-In: I857ea00cc58a0abbb77960643f361dd6dd9c8b56
Diffstat (limited to 'core/java/android/app/ContextImpl.java')
-rw-r--r--core/java/android/app/ContextImpl.java16
1 files changed, 16 insertions, 0 deletions
diff --git a/core/java/android/app/ContextImpl.java b/core/java/android/app/ContextImpl.java
index 5f3432264ca0..06d63ea14a2c 100644
--- a/core/java/android/app/ContextImpl.java
+++ b/core/java/android/app/ContextImpl.java
@@ -1009,6 +1009,22 @@ class ContextImpl extends Context {
}
@Override
+ public void sendBroadcastAsUserMultiplePermissions(Intent intent, UserHandle user,
+ String[] receiverPermissions) {
+ warnIfCallingFromSystemProcess();
+ String resolvedType = intent.resolveTypeIfNeeded(getContentResolver());
+ try {
+ intent.prepareToLeaveProcess(this);
+ ActivityManager.getService().broadcastIntent(
+ mMainThread.getApplicationThread(), intent, resolvedType, null,
+ Activity.RESULT_OK, null, null, receiverPermissions, AppOpsManager.OP_NONE,
+ null, false, false, user.getIdentifier());
+ } catch (RemoteException e) {
+ throw e.rethrowFromSystemServer();
+ }
+ }
+
+ @Override
public void sendBroadcast(Intent intent, String receiverPermission, Bundle options) {
warnIfCallingFromSystemProcess();
String resolvedType = intent.resolveTypeIfNeeded(getContentResolver());