Add attribution tag to MMS Service
MmsManager picks up client app's attribution tag and send it to MmsServiceBroker.
MmsServiceBroker includes it in the call to noteOp. It then calls MmsService sendMessage and pass it along.
These changes are applied to sendMessage and downloadMessage methods only.
Null entries are passed to noteOp methods in other methods like importTextMessage, etc.
These methods were removed from MmsManager(ag/9431535), but not removed from IMms.
Bug: 224831002
Test: Manually verify multimedia send/receive message.
Change-Id: I83a1b5c4c184747d9a22f672b1dbd4f02950c645
diff --git a/mms/java/android/telephony/MmsManager.java b/mms/java/android/telephony/MmsManager.java
index d541da0..b893b45 100644
--- a/mms/java/android/telephony/MmsManager.java
+++ b/mms/java/android/telephony/MmsManager.java
@@ -70,7 +70,8 @@
}
iMms.sendMessage(subId, ActivityThread.currentPackageName(), contentUri,
- locationUrl, configOverrides, sentIntent, messageId);
+ locationUrl, configOverrides, sentIntent, messageId,
+ mContext.getAttributionTag());
} catch (RemoteException e) {
// Ignore it
}
@@ -102,7 +103,7 @@
}
iMms.downloadMessage(subId, ActivityThread.currentPackageName(),
locationUrl, contentUri, configOverrides, downloadedIntent,
- messageId);
+ messageId, mContext.getAttributionTag());
} catch (RemoteException e) {
// Ignore it
}
diff --git a/mms/java/com/android/internal/telephony/IMms.aidl b/mms/java/com/android/internal/telephony/IMms.aidl
index e0e0a4a..3cdde10 100644
--- a/mms/java/com/android/internal/telephony/IMms.aidl
+++ b/mms/java/com/android/internal/telephony/IMms.aidl
@@ -26,7 +26,7 @@
*/
interface IMms {
/**
- * Send an MMS message
+ * Send an MMS message with attribution tag.
*
* @param subId the SIM id
* @param callingPkg the package name of the calling app
@@ -38,10 +38,11 @@
* @param sentIntent if not NULL this <code>PendingIntent</code> is
* broadcast when the message is successfully sent, or failed
* @param messageId An id that uniquely identifies the message requested to be sent.
+ * @param attributionTag a tag that attributes the call to a client App.
*/
void sendMessage(int subId, String callingPkg, in Uri contentUri,
String locationUrl, in Bundle configOverrides, in PendingIntent sentIntent,
- in long messageId);
+ in long messageId, String attributionTag);
/**
* Download an MMS message using known location and transaction id
@@ -57,10 +58,11 @@
* @param downloadedIntent if not NULL this <code>PendingIntent</code> is
* broadcast when the message is downloaded, or the download is failed
* @param messageId An id that uniquely identifies the message requested to be downloaded.
+ * @param attributionTag a tag that attributes the call to a client App.
*/
void downloadMessage(int subId, String callingPkg, String locationUrl,
in Uri contentUri, in Bundle configOverrides,
- in PendingIntent downloadedIntent, in long messageId);
+ in PendingIntent downloadedIntent, in long messageId, String attributionTag);
/**
* Import a text message into system's SMS store