Variant of sendBroadcast with appOp flag for cross-user.
Needed for delivering SMS notifications to multiple users. Change-Id: Ib772292699aba37144621742e6f0ee5c68aadd78
This commit is contained in:
@@ -1345,6 +1345,15 @@ class ContextImpl extends Context {
|
||||
public void sendOrderedBroadcastAsUser(Intent intent, UserHandle user,
|
||||
String receiverPermission, BroadcastReceiver resultReceiver, Handler scheduler,
|
||||
int initialCode, String initialData, Bundle initialExtras) {
|
||||
sendOrderedBroadcastAsUser(intent, user, receiverPermission, AppOpsManager.OP_NONE,
|
||||
resultReceiver, scheduler, initialCode, initialData, initialExtras);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void sendOrderedBroadcastAsUser(Intent intent, UserHandle user,
|
||||
String receiverPermission, int appOp, BroadcastReceiver resultReceiver,
|
||||
Handler scheduler,
|
||||
int initialCode, String initialData, Bundle initialExtras) {
|
||||
IIntentReceiver rd = null;
|
||||
if (resultReceiver != null) {
|
||||
if (mPackageInfo != null) {
|
||||
|
||||
@@ -1498,6 +1498,17 @@ public abstract class Context {
|
||||
@Nullable Handler scheduler, int initialCode, @Nullable String initialData,
|
||||
@Nullable Bundle initialExtras);
|
||||
|
||||
/**
|
||||
* Similar to above but takes an appOp as well, to enforce restrictions.
|
||||
* @see #sendOrderedBroadcastAsUser(Intent, UserHandle, String,
|
||||
* BroadcastReceiver, Handler, int, String, Bundle)
|
||||
* @hide
|
||||
*/
|
||||
public abstract void sendOrderedBroadcastAsUser(Intent intent, UserHandle user,
|
||||
@Nullable String receiverPermission, int appOp, BroadcastReceiver resultReceiver,
|
||||
@Nullable Handler scheduler, int initialCode, @Nullable String initialData,
|
||||
@Nullable Bundle initialExtras);
|
||||
|
||||
/**
|
||||
* Perform a {@link #sendBroadcast(Intent)} that is "sticky," meaning the
|
||||
* Intent you are sending stays around after the broadcast is complete,
|
||||
|
||||
@@ -418,6 +418,16 @@ public class ContextWrapper extends Context {
|
||||
scheduler, initialCode, initialData, initialExtras);
|
||||
}
|
||||
|
||||
/** @hide */
|
||||
@Override
|
||||
public void sendOrderedBroadcastAsUser(Intent intent, UserHandle user,
|
||||
String receiverPermission, int appOp, BroadcastReceiver resultReceiver,
|
||||
Handler scheduler,
|
||||
int initialCode, String initialData, Bundle initialExtras) {
|
||||
mBase.sendOrderedBroadcastAsUser(intent, user, receiverPermission, appOp, resultReceiver,
|
||||
scheduler, initialCode, initialData, initialExtras);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void sendStickyBroadcast(Intent intent) {
|
||||
mBase.sendStickyBroadcast(intent);
|
||||
|
||||
@@ -350,7 +350,17 @@ public class MockContext extends Context {
|
||||
throw new UnsupportedOperationException();
|
||||
}
|
||||
|
||||
/** @hide */
|
||||
@Override
|
||||
public void sendOrderedBroadcastAsUser(Intent intent, UserHandle user,
|
||||
String receiverPermission, int appOp, BroadcastReceiver resultReceiver,
|
||||
Handler scheduler,
|
||||
int initialCode, String initialData, Bundle initialExtras) {
|
||||
throw new UnsupportedOperationException();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
public void sendStickyBroadcast(Intent intent) {
|
||||
throw new UnsupportedOperationException();
|
||||
}
|
||||
|
||||
@@ -1283,6 +1283,14 @@ public final class BridgeContext extends Context {
|
||||
// pass
|
||||
}
|
||||
|
||||
@Override
|
||||
public void sendOrderedBroadcastAsUser(Intent intent, UserHandle user,
|
||||
String receiverPermission, int appOp, BroadcastReceiver resultReceiver,
|
||||
Handler scheduler,
|
||||
int initialCode, String initialData, Bundle initialExtras) {
|
||||
// pass
|
||||
}
|
||||
|
||||
@Override
|
||||
public void sendStickyBroadcast(Intent arg0) {
|
||||
// pass
|
||||
|
||||
Reference in New Issue
Block a user