Merge "Added sub id to SmsCbMessage"
diff --git a/src/com/android/cellbroadcastservice/CellBroadcastHandler.java b/src/com/android/cellbroadcastservice/CellBroadcastHandler.java
index 61f87f0..cc91f3d 100644
--- a/src/com/android/cellbroadcastservice/CellBroadcastHandler.java
+++ b/src/com/android/cellbroadcastservice/CellBroadcastHandler.java
@@ -459,7 +459,7 @@
protected void broadcastMessage(@NonNull SmsCbMessage message, @Nullable Uri messageUri,
int slotIndex) {
String receiverPermission;
- String appOp;
+ int appOp;
String msg;
Intent intent;
if (message.isEmergencyMessage()) {
@@ -470,7 +470,7 @@
//Emergency alerts need to be delivered with high priority
intent.addFlags(Intent.FLAG_RECEIVER_FOREGROUND);
receiverPermission = Manifest.permission.RECEIVE_EMERGENCY_BROADCAST;
- appOp = AppOpsManager.OPSTR_RECEIVE_EMERGENCY_BROADCAST;
+ appOp = AppOpsManager.OP_RECEIVE_EMERGECY_SMS;
intent.putExtra(EXTRA_MESSAGE, message);
int subId = getSubIdForPhone(slotIndex);
@@ -491,9 +491,9 @@
Intent additionalIntent = new Intent(intent);
for (String pkg : testPkgs) {
additionalIntent.setPackage(pkg);
- mContext.createContextAsUser(UserHandle.ALL, 0).sendOrderedBroadcast(
- additionalIntent, receiverPermission, appOp, null, getHandler(),
- Activity.RESULT_OK, null, null);
+ mContext.sendOrderedBroadcastAsUser(additionalIntent, UserHandle.ALL,
+ receiverPermission, appOp, null, getHandler(), Activity.RESULT_OK,
+ null, null);
}
}
}
@@ -505,9 +505,8 @@
for (String pkg : pkgs) {
// Explicitly send the intent to all the configured cell broadcast receivers.
intent.setPackage(pkg);
- mContext.createContextAsUser(UserHandle.ALL, 0).sendOrderedBroadcast(
- intent, receiverPermission, appOp, null, getHandler(),
- Activity.RESULT_OK, null, null);
+ mContext.sendOrderedBroadcastAsUser(intent, UserHandle.ALL, receiverPermission,
+ appOp, null, mReceiver, getHandler(), Activity.RESULT_OK, null, null);
}
}
} else {
@@ -519,15 +518,14 @@
// this intent.
intent.addFlags(Intent.FLAG_RECEIVER_INCLUDE_BACKGROUND);
receiverPermission = Manifest.permission.RECEIVE_SMS;
- appOp = AppOpsManager.OPSTR_RECEIVE_SMS;
+ appOp = AppOpsManager.OP_RECEIVE_SMS;
intent.putExtra(EXTRA_MESSAGE, message);
SubscriptionManager.putPhoneIdAndSubIdExtra(intent, slotIndex);
mReceiverCount.incrementAndGet();
- mContext.createContextAsUser(UserHandle.ALL, 0).sendOrderedBroadcast(
- intent, receiverPermission, appOp, mReceiver, getHandler(),
- Activity.RESULT_OK, null, null);
+ mContext.sendOrderedBroadcastAsUser(intent, UserHandle.ALL, receiverPermission,
+ appOp, null, mReceiver, getHandler(), Activity.RESULT_OK, null, null);
}
if (messageUri != null) {
diff --git a/tests/src/com/android/cellbroadcastservice/tests/GsmCellBroadcastHandlerTest.java b/tests/src/com/android/cellbroadcastservice/tests/GsmCellBroadcastHandlerTest.java
index 1fefbbf..5a7979c 100644
--- a/tests/src/com/android/cellbroadcastservice/tests/GsmCellBroadcastHandlerTest.java
+++ b/tests/src/com/android/cellbroadcastservice/tests/GsmCellBroadcastHandlerTest.java
@@ -18,6 +18,7 @@
import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.any;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.never;
@@ -33,6 +34,7 @@
import android.location.LocationRequest;
import android.net.Uri;
import android.os.Bundle;
+import android.os.UserHandle;
import android.provider.Settings;
import android.provider.Telephony;
import android.telephony.SmsCbCmasInfo;
@@ -179,8 +181,8 @@
mTestableLooper.processAllMessages();
ArgumentCaptor<Intent> captor = ArgumentCaptor.forClass(Intent.class);
- verify(mMockedContext).sendOrderedBroadcast(captor.capture(), anyString(), anyString(),
- any(), any(), anyInt(), any(), any());
+ verify(mMockedContext).sendOrderedBroadcastAsUser(captor.capture(), eq(UserHandle.ALL),
+ anyString(), anyInt(), any(), any(), any(), anyInt(), any(), any());
Intent intent = captor.getValue();
assertEquals(Telephony.Sms.Intents.ACTION_SMS_EMERGENCY_CB_RECEIVED, intent.getAction());
SmsCbMessage msg = intent.getParcelableExtra("message");