Loading core/java/android/app/ContextImpl.java +16 −0 Original line number Diff line number Diff line Loading @@ -1008,6 +1008,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(); Loading core/java/android/content/Context.java +27 −0 Original line number Diff line number Diff line Loading @@ -1950,6 +1950,33 @@ public abstract class Context { public abstract void sendBroadcastMultiplePermissions(Intent intent, String[] receiverPermissions); /** * Broadcast the given intent to all interested BroadcastReceivers, allowing * an array of required permissions to be enforced. This call is asynchronous; it returns * immediately, and you will continue executing while the receivers are run. No results are * propagated from receivers and receivers can not abort the broadcast. If you want to allow * receivers to propagate results or abort the broadcast, you must send an ordered broadcast * using {@link #sendOrderedBroadcast(Intent, String)}. * * <p>See {@link BroadcastReceiver} for more information on Intent broadcasts. * * @param intent The Intent to broadcast; all receivers matching this * Intent will receive the broadcast. * @param user The user to send the broadcast to. * @param receiverPermissions Array of names of permissions that a receiver must hold * in order to receive your broadcast. * If null or empty, no permissions are required. * * @see android.content.BroadcastReceiver * @see #registerReceiver * @see #sendBroadcast(Intent) * @see #sendOrderedBroadcast(Intent, String) * @see #sendOrderedBroadcast(Intent, String, BroadcastReceiver, Handler, int, String, Bundle) * @hide */ public abstract void sendBroadcastAsUserMultiplePermissions(Intent intent, UserHandle user, String[] receiverPermissions); /** * Broadcast the given intent to all interested BroadcastReceivers, allowing * an optional required permission to be enforced. This Loading core/java/android/content/ContextWrapper.java +7 −0 Original line number Diff line number Diff line Loading @@ -448,6 +448,13 @@ public class ContextWrapper extends Context { mBase.sendBroadcastMultiplePermissions(intent, receiverPermissions); } /** @hide */ @Override public void sendBroadcastAsUserMultiplePermissions(Intent intent, UserHandle user, String[] receiverPermissions) { mBase.sendBroadcastAsUserMultiplePermissions(intent, user, receiverPermissions); } /** @hide */ @SystemApi @Override Loading services/tests/servicestests/src/com/android/server/devicepolicy/DpmMockContext.java +6 −0 Original line number Diff line number Diff line Loading @@ -234,6 +234,12 @@ public class DpmMockContext extends MockContext { spiedContext.sendBroadcastMultiplePermissions(intent, receiverPermissions); } @Override public void sendBroadcastAsUserMultiplePermissions(Intent intent, UserHandle user, String[] receiverPermissions) { spiedContext.sendBroadcastAsUserMultiplePermissions(intent, user, receiverPermissions); } @Override public void sendBroadcast(Intent intent, String receiverPermission, Bundle options) { spiedContext.sendBroadcast(intent, receiverPermission, options); Loading test-runner/api/android-test-mock-current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -133,6 +133,7 @@ package android.test.mock { method public void sendBroadcastAsUser(android.content.Intent, android.os.UserHandle, java.lang.String); method public void sendBroadcastAsUser(android.content.Intent, android.os.UserHandle, java.lang.String, android.os.Bundle); method public void sendBroadcastAsUser(android.content.Intent, android.os.UserHandle, java.lang.String, int); method public void sendBroadcastAsUserMultiplePermissions(android.content.Intent, android.os.UserHandle, java.lang.String[]); method public void sendBroadcastMultiplePermissions(android.content.Intent, java.lang.String[]); method public void sendOrderedBroadcast(android.content.Intent, java.lang.String); method public void sendOrderedBroadcast(android.content.Intent, java.lang.String, android.content.BroadcastReceiver, android.os.Handler, int, java.lang.String, android.os.Bundle); Loading Loading
core/java/android/app/ContextImpl.java +16 −0 Original line number Diff line number Diff line Loading @@ -1008,6 +1008,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(); Loading
core/java/android/content/Context.java +27 −0 Original line number Diff line number Diff line Loading @@ -1950,6 +1950,33 @@ public abstract class Context { public abstract void sendBroadcastMultiplePermissions(Intent intent, String[] receiverPermissions); /** * Broadcast the given intent to all interested BroadcastReceivers, allowing * an array of required permissions to be enforced. This call is asynchronous; it returns * immediately, and you will continue executing while the receivers are run. No results are * propagated from receivers and receivers can not abort the broadcast. If you want to allow * receivers to propagate results or abort the broadcast, you must send an ordered broadcast * using {@link #sendOrderedBroadcast(Intent, String)}. * * <p>See {@link BroadcastReceiver} for more information on Intent broadcasts. * * @param intent The Intent to broadcast; all receivers matching this * Intent will receive the broadcast. * @param user The user to send the broadcast to. * @param receiverPermissions Array of names of permissions that a receiver must hold * in order to receive your broadcast. * If null or empty, no permissions are required. * * @see android.content.BroadcastReceiver * @see #registerReceiver * @see #sendBroadcast(Intent) * @see #sendOrderedBroadcast(Intent, String) * @see #sendOrderedBroadcast(Intent, String, BroadcastReceiver, Handler, int, String, Bundle) * @hide */ public abstract void sendBroadcastAsUserMultiplePermissions(Intent intent, UserHandle user, String[] receiverPermissions); /** * Broadcast the given intent to all interested BroadcastReceivers, allowing * an optional required permission to be enforced. This Loading
core/java/android/content/ContextWrapper.java +7 −0 Original line number Diff line number Diff line Loading @@ -448,6 +448,13 @@ public class ContextWrapper extends Context { mBase.sendBroadcastMultiplePermissions(intent, receiverPermissions); } /** @hide */ @Override public void sendBroadcastAsUserMultiplePermissions(Intent intent, UserHandle user, String[] receiverPermissions) { mBase.sendBroadcastAsUserMultiplePermissions(intent, user, receiverPermissions); } /** @hide */ @SystemApi @Override Loading
services/tests/servicestests/src/com/android/server/devicepolicy/DpmMockContext.java +6 −0 Original line number Diff line number Diff line Loading @@ -234,6 +234,12 @@ public class DpmMockContext extends MockContext { spiedContext.sendBroadcastMultiplePermissions(intent, receiverPermissions); } @Override public void sendBroadcastAsUserMultiplePermissions(Intent intent, UserHandle user, String[] receiverPermissions) { spiedContext.sendBroadcastAsUserMultiplePermissions(intent, user, receiverPermissions); } @Override public void sendBroadcast(Intent intent, String receiverPermission, Bundle options) { spiedContext.sendBroadcast(intent, receiverPermission, options); Loading
test-runner/api/android-test-mock-current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -133,6 +133,7 @@ package android.test.mock { method public void sendBroadcastAsUser(android.content.Intent, android.os.UserHandle, java.lang.String); method public void sendBroadcastAsUser(android.content.Intent, android.os.UserHandle, java.lang.String, android.os.Bundle); method public void sendBroadcastAsUser(android.content.Intent, android.os.UserHandle, java.lang.String, int); method public void sendBroadcastAsUserMultiplePermissions(android.content.Intent, android.os.UserHandle, java.lang.String[]); method public void sendBroadcastMultiplePermissions(android.content.Intent, java.lang.String[]); method public void sendOrderedBroadcast(android.content.Intent, java.lang.String); method public void sendOrderedBroadcast(android.content.Intent, java.lang.String, android.content.BroadcastReceiver, android.os.Handler, int, java.lang.String, android.os.Bundle); Loading