summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xapi/system-current.txt3
-rw-r--r--api/test-current.txt3
-rw-r--r--telephony/java/android/telephony/SmsManager.java57
-rw-r--r--telephony/java/com/android/internal/telephony/ISms.aidl31
-rw-r--r--telephony/java/com/android/internal/telephony/ISmsImplBase.java21
-rw-r--r--telephony/java/com/android/internal/telephony/ITelephony.aidl3
6 files changed, 71 insertions, 47 deletions
diff --git a/api/system-current.txt b/api/system-current.txt
index aea1f61804ed..be7d8e0acdcb 100755
--- a/api/system-current.txt
+++ b/api/system-current.txt
@@ -9100,7 +9100,8 @@ package android.telephony {
method public boolean enableCellBroadcastRange(int, int, int);
method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_MESSAGES_ON_ICC) public java.util.List<android.telephony.SmsMessage> getMessagesFromIcc();
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getSmsCapacityOnIcc();
- method public void sendMultipartTextMessage(@NonNull String, @NonNull String, @NonNull java.util.List<java.lang.String>, @Nullable java.util.List<android.app.PendingIntent>, @Nullable java.util.List<android.app.PendingIntent>, @NonNull String);
+ method @Deprecated public void sendMultipartTextMessage(@NonNull String, @NonNull String, @NonNull java.util.List<java.lang.String>, @Nullable java.util.List<android.app.PendingIntent>, @Nullable java.util.List<android.app.PendingIntent>, @NonNull String);
+ method public void sendMultipartTextMessage(@NonNull String, @NonNull String, @NonNull java.util.List<java.lang.String>, @Nullable java.util.List<android.app.PendingIntent>, @Nullable java.util.List<android.app.PendingIntent>, @NonNull String, @Nullable String);
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void sendMultipartTextMessageWithoutPersisting(String, String, java.util.List<java.lang.String>, java.util.List<android.app.PendingIntent>, java.util.List<android.app.PendingIntent>);
}
diff --git a/api/test-current.txt b/api/test-current.txt
index f4a02fab227d..e96630858f5c 100644
--- a/api/test-current.txt
+++ b/api/test-current.txt
@@ -3227,7 +3227,8 @@ package android.telephony {
public final class SmsManager {
method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public int checkSmsShortCodeDestination(String, String);
- method public void sendMultipartTextMessage(@NonNull String, @NonNull String, @NonNull java.util.List<java.lang.String>, @Nullable java.util.List<android.app.PendingIntent>, @Nullable java.util.List<android.app.PendingIntent>, @NonNull String);
+ method @Deprecated public void sendMultipartTextMessage(@NonNull String, @NonNull String, @NonNull java.util.List<java.lang.String>, @Nullable java.util.List<android.app.PendingIntent>, @Nullable java.util.List<android.app.PendingIntent>, @NonNull String);
+ method public void sendMultipartTextMessage(@NonNull String, @NonNull String, @NonNull java.util.List<java.lang.String>, @Nullable java.util.List<android.app.PendingIntent>, @Nullable java.util.List<android.app.PendingIntent>, @NonNull String, @Nullable String);
field public static final int SMS_CATEGORY_FREE_SHORT_CODE = 1; // 0x1
field public static final int SMS_CATEGORY_NOT_SHORT_CODE = 0; // 0x0
field public static final int SMS_CATEGORY_POSSIBLE_PREMIUM_SHORT_CODE = 3; // 0x3
diff --git a/telephony/java/android/telephony/SmsManager.java b/telephony/java/android/telephony/SmsManager.java
index b6d07aec61bb..0f52ba7935ab 100644
--- a/telephony/java/android/telephony/SmsManager.java
+++ b/telephony/java/android/telephony/SmsManager.java
@@ -389,7 +389,7 @@ public final class SmsManager {
String destinationAddress, String scAddress, String text,
PendingIntent sentIntent, PendingIntent deliveryIntent) {
sendTextMessageInternal(destinationAddress, scAddress, text, sentIntent, deliveryIntent,
- true /* persistMessage*/, null);
+ true /* persistMessage*/, null, null);
}
/**
@@ -507,7 +507,7 @@ public final class SmsManager {
private void sendTextMessageInternal(String destinationAddress, String scAddress,
String text, PendingIntent sentIntent, PendingIntent deliveryIntent,
- boolean persistMessage, String packageName) {
+ boolean persistMessage, String packageName, String attributionTag) {
if (TextUtils.isEmpty(destinationAddress)) {
throw new IllegalArgumentException("Invalid destinationAddress");
}
@@ -532,7 +532,7 @@ public final class SmsManager {
public void onSuccess(int subId) {
ISms iSms = getISmsServiceOrThrow();
try {
- iSms.sendTextForSubscriber(subId, packageName,
+ iSms.sendTextForSubscriber(subId, packageName, attributionTag,
destinationAddress, scAddress, text, sentIntent, deliveryIntent,
persistMessage);
} catch (RemoteException e) {
@@ -552,7 +552,7 @@ public final class SmsManager {
// visible to the user.
ISms iSms = getISmsServiceOrThrow();
try {
- iSms.sendTextForSubscriber(getSubscriptionId(), packageName,
+ iSms.sendTextForSubscriber(getSubscriptionId(), packageName, attributionTag,
destinationAddress, scAddress, text, sentIntent, deliveryIntent,
persistMessage);
} catch (RemoteException e) {
@@ -599,7 +599,7 @@ public final class SmsManager {
String destinationAddress, String scAddress, String text,
PendingIntent sentIntent, PendingIntent deliveryIntent) {
sendTextMessageInternal(destinationAddress, scAddress, text, sentIntent, deliveryIntent,
- false /* persistMessage */, null);
+ false /* persistMessage */, null, null);
}
private void sendTextMessageInternal(
@@ -882,7 +882,24 @@ public final class SmsManager {
String destinationAddress, String scAddress, ArrayList<String> parts,
ArrayList<PendingIntent> sentIntents, ArrayList<PendingIntent> deliveryIntents) {
sendMultipartTextMessageInternal(destinationAddress, scAddress, parts, sentIntents,
- deliveryIntents, true /* persistMessage*/, null);
+ deliveryIntents, true /* persistMessage*/, null, null);
+ }
+
+ /**
+ * @deprecated Use {@link #sendMultipartTextMessage(String, String, List, List, List, String,
+ * String)} instead.
+ *
+ * @hide
+ */
+ @Deprecated
+ @SystemApi
+ @TestApi
+ public void sendMultipartTextMessage(
+ @NonNull String destinationAddress, @NonNull String scAddress,
+ @NonNull List<String> parts, @Nullable List<PendingIntent> sentIntents,
+ @Nullable List<PendingIntent> deliveryIntents, @NonNull String packageName) {
+ sendMultipartTextMessage(destinationAddress, scAddress, parts, sentIntents, deliveryIntents,
+ packageName, null);
}
/**
@@ -909,15 +926,16 @@ public final class SmsManager {
public void sendMultipartTextMessage(
@NonNull String destinationAddress, @NonNull String scAddress,
@NonNull List<String> parts, @Nullable List<PendingIntent> sentIntents,
- @Nullable List<PendingIntent> deliveryIntents, @NonNull String packageName) {
+ @Nullable List<PendingIntent> deliveryIntents, @NonNull String packageName,
+ @Nullable String attributionTag) {
sendMultipartTextMessageInternal(destinationAddress, scAddress, parts, sentIntents,
- deliveryIntents, true /* persistMessage*/, packageName);
+ deliveryIntents, true /* persistMessage*/, packageName, attributionTag);
}
private void sendMultipartTextMessageInternal(
String destinationAddress, String scAddress, List<String> parts,
List<PendingIntent> sentIntents, List<PendingIntent> deliveryIntents,
- boolean persistMessage, String packageName) {
+ boolean persistMessage, String packageName, String attributionTag) {
if (TextUtils.isEmpty(destinationAddress)) {
throw new IllegalArgumentException("Invalid destinationAddress");
}
@@ -942,7 +960,7 @@ public final class SmsManager {
public void onSuccess(int subId) {
try {
ISms iSms = getISmsServiceOrThrow();
- iSms.sendMultipartTextForSubscriber(subId, packageName,
+ iSms.sendMultipartTextForSubscriber(subId, packageName, attributionTag,
destinationAddress, scAddress, parts, sentIntents,
deliveryIntents, persistMessage);
} catch (RemoteException e) {
@@ -963,8 +981,8 @@ public final class SmsManager {
ISms iSms = getISmsServiceOrThrow();
if (iSms != null) {
iSms.sendMultipartTextForSubscriber(getSubscriptionId(), packageName,
- destinationAddress, scAddress, parts, sentIntents, deliveryIntents,
- persistMessage);
+ attributionTag, destinationAddress, scAddress, parts, sentIntents,
+ deliveryIntents, persistMessage);
}
} catch (RemoteException e) {
Log.e(TAG, "sendMultipartTextMessageInternal: Couldn't send SMS - "
@@ -982,7 +1000,7 @@ public final class SmsManager {
deliveryIntent = deliveryIntents.get(0);
}
sendTextMessageInternal(destinationAddress, scAddress, parts.get(0),
- sentIntent, deliveryIntent, true, packageName);
+ sentIntent, deliveryIntent, true, packageName, attributionTag);
}
}
@@ -1012,7 +1030,7 @@ public final class SmsManager {
String destinationAddress, String scAddress, List<String> parts,
List<PendingIntent> sentIntents, List<PendingIntent> deliveryIntents) {
sendMultipartTextMessageInternal(destinationAddress, scAddress, parts, sentIntents,
- deliveryIntents, false /* persistMessage*/, null);
+ deliveryIntents, false /* persistMessage*/, null, null);
}
/**
@@ -1174,7 +1192,7 @@ public final class SmsManager {
ISms iSms = getISmsServiceOrThrow();
if (iSms != null) {
iSms.sendMultipartTextForSubscriberWithOptions(subId,
- null, destinationAddress,
+ null, null, destinationAddress,
scAddress, parts, sentIntents, deliveryIntents,
persistMessage, finalPriority, expectMore, finalValidity);
}
@@ -1196,7 +1214,7 @@ public final class SmsManager {
ISms iSms = getISmsServiceOrThrow();
if (iSms != null) {
iSms.sendMultipartTextForSubscriberWithOptions(getSubscriptionId(),
- null, destinationAddress,
+ null, null, destinationAddress,
scAddress, parts, sentIntents, deliveryIntents,
persistMessage, finalPriority, expectMore, finalValidity);
}
@@ -1327,9 +1345,8 @@ public final class SmsManager {
public void onSuccess(int subId) {
try {
ISms iSms = getISmsServiceOrThrow();
- iSms.sendDataForSubscriber(subId, null,
- destinationAddress, scAddress, destinationPort & 0xFFFF, data,
- sentIntent, deliveryIntent);
+ iSms.sendDataForSubscriber(subId, null, null, destinationAddress, scAddress,
+ destinationPort & 0xFFFF, data, sentIntent, deliveryIntent);
} catch (RemoteException e) {
Log.e(TAG, "sendDataMessage: Couldn't send SMS - Exception: " + e.getMessage());
notifySmsError(sentIntent, RESULT_REMOTE_EXCEPTION);
@@ -1481,7 +1498,7 @@ public final class SmsManager {
// it here because we do not have access to the activity context that is performing this
// operation.
// Requires that the calling process has the SEND_SMS permission.
- getITelephony().enqueueSmsPickResult(null,
+ getITelephony().enqueueSmsPickResult(null, null,
new IIntegerConsumer.Stub() {
@Override
public void accept(int subId) {
diff --git a/telephony/java/com/android/internal/telephony/ISms.aidl b/telephony/java/com/android/internal/telephony/ISms.aidl
index 7002aa1d1706..88da3c94748b 100644
--- a/telephony/java/com/android/internal/telephony/ISms.aidl
+++ b/telephony/java/com/android/internal/telephony/ISms.aidl
@@ -86,9 +86,9 @@ interface ISms {
* raw pdu of the status report is in the extended data ("pdu").
* @param subId the subId id.
*/
- void sendDataForSubscriber(int subId, String callingPkg, in String destAddr,
- in String scAddr, in int destPort, in byte[] data, in PendingIntent sentIntent,
- in PendingIntent deliveryIntent);
+ void sendDataForSubscriber(int subId, String callingPkg, String callingattributionTag,
+ in String destAddr, in String scAddr, in int destPort,in byte[] data,
+ in PendingIntent sentIntent, in PendingIntent deliveryIntent);
/**
* Send an SMS.
@@ -118,8 +118,8 @@ interface ISms {
* by a non-default SMS app. Currently only the carrier app can set this
* parameter to false to skip auto message persistence.
*/
- void sendTextForSubscriber(in int subId, String callingPkg, in String destAddr,
- in String scAddr, in String text, in PendingIntent sentIntent,
+ void sendTextForSubscriber(in int subId, String callingPkg, String callingAttributionTag,
+ in String destAddr, in String scAddr, in String text, in PendingIntent sentIntent,
in PendingIntent deliveryIntent, in boolean persistMessageForNonDefaultSmsApp);
/**
@@ -217,7 +217,7 @@ interface ISms {
* parameter to false to skip auto message persistence.
*/
void sendMultipartTextForSubscriber(in int subId, String callingPkg,
- in String destinationAddress, in String scAddress,
+ String callingAttributionTag, in String destinationAddress, in String scAddress,
in List<String> parts, in List<PendingIntent> sentIntents,
in List<PendingIntent> deliveryIntents, in boolean persistMessageForNonDefaultSmsApp);
@@ -266,10 +266,10 @@ interface ISms {
* Any Other values included Negative considered as Invalid Validity Period of the message.
*/
void sendMultipartTextForSubscriberWithOptions(in int subId, String callingPkg,
- in String destinationAddress, in String scAddress, in List<String> parts,
- in List<PendingIntent> sentIntents, in List<PendingIntent> deliveryIntents,
- in boolean persistMessageForNonDefaultSmsApp, in int priority, in boolean expectMore,
- in int validityPeriod);
+ String callingAttributionTag, in String destinationAddress, in String scAddress,
+ in List<String> parts, in List<PendingIntent> sentIntents,
+ in List<PendingIntent> deliveryIntents, in boolean persistMessageForNonDefaultSmsApp,
+ in int priority, in boolean expectMore, in int validityPeriod);
/**
* Enable reception of cell broadcast (SMS-CB) messages with the given
@@ -427,6 +427,7 @@ interface ISms {
*
* @param subId the SIM id.
* @param callingPkg the package name of the calling app
+ * @param callingAttributionTag the attribution tag of calling context
* @param messageUri the URI of the stored message
* @param scAddress is the service center address or null to use the current default SMSC
* @param sentIntent if not NULL this <code>PendingIntent</code> is
@@ -446,8 +447,9 @@ interface ISms {
* broadcast when the message is delivered to the recipient. The
* raw pdu of the status report is in the extended data ("pdu").
*/
- void sendStoredText(int subId, String callingPkg, in Uri messageUri, String scAddress,
- in PendingIntent sentIntent, in PendingIntent deliveryIntent);
+ void sendStoredText(int subId, String callingPkg, String callingAttributionTag,
+ in Uri messageUri, String scAddress, in PendingIntent sentIntent,
+ in PendingIntent deliveryIntent);
/**
* Send a system stored multi-part text message.
@@ -459,6 +461,7 @@ interface ISms {
*
* @param subId the SIM id.
* @param callingPkg the package name of the calling app
+ * @param callingAttributeTag the attribute tag of the calling context
* @param messageUri the URI of the stored message
* @param scAddress is the service center address or null to use
* the current default SMSC
@@ -482,8 +485,8 @@ interface ISms {
* to the recipient. The raw pdu of the status report is in the
* extended data ("pdu").
*/
- void sendStoredMultipartText(int subId, String callingPkg, in Uri messageUri,
- String scAddress, in List<PendingIntent> sentIntents,
+ void sendStoredMultipartText(int subId, String callingPkg, String callingAttributeTag,
+ in Uri messageUri, String scAddress, in List<PendingIntent> sentIntents,
in List<PendingIntent> deliveryIntents);
/**
diff --git a/telephony/java/com/android/internal/telephony/ISmsImplBase.java b/telephony/java/com/android/internal/telephony/ISmsImplBase.java
index 53ae9258609c..51af6de78627 100644
--- a/telephony/java/com/android/internal/telephony/ISmsImplBase.java
+++ b/telephony/java/com/android/internal/telephony/ISmsImplBase.java
@@ -45,15 +45,15 @@ public class ISmsImplBase extends ISms.Stub {
}
@Override
- public void sendDataForSubscriber(int subId, String callingPkg, String destAddr,
- String scAddr, int destPort, byte[] data, PendingIntent sentIntent,
+ public void sendDataForSubscriber(int subId, String callingPkg, String callingAttributionTag,
+ String destAddr, String scAddr, int destPort, byte[] data, PendingIntent sentIntent,
PendingIntent deliveryIntent) {
throw new UnsupportedOperationException();
}
@Override
- public void sendTextForSubscriber(int subId, String callingPkg, String destAddr,
- String scAddr, String text, PendingIntent sentIntent,
+ public void sendTextForSubscriber(int subId, String callingPkg, String callingAttributionTag,
+ String destAddr, String scAddr, String text, PendingIntent sentIntent,
PendingIntent deliveryIntent, boolean persistMessageForNonDefaultSmsApp) {
throw new UnsupportedOperationException();
}
@@ -75,7 +75,7 @@ public class ISmsImplBase extends ISms.Stub {
@Override
public void sendMultipartTextForSubscriber(int subId, String callingPkg,
- String destinationAddress, String scAddress,
+ String callingAttributionTag, String destinationAddress, String scAddress,
List<String> parts, List<PendingIntent> sentIntents,
List<PendingIntent> deliveryIntents, boolean persistMessageForNonDefaultSmsApp) {
throw new UnsupportedOperationException();
@@ -83,7 +83,7 @@ public class ISmsImplBase extends ISms.Stub {
@Override
public void sendMultipartTextForSubscriberWithOptions(int subId, String callingPkg,
- String destinationAddress, String scAddress,
+ String callingAttributionTag, String destinationAddress, String scAddress,
List<String> parts, List<PendingIntent> sentIntents,
List<PendingIntent> deliveryIntents, boolean persistMessageForNonDefaultSmsApp,
int priority, boolean expectMore, int validityPeriod) {
@@ -160,14 +160,15 @@ public class ISmsImplBase extends ISms.Stub {
}
@Override
- public void sendStoredText(int subId, String callingPkg, Uri messageUri, String scAddress,
- PendingIntent sentIntent, PendingIntent deliveryIntent) {
+ public void sendStoredText(int subId, String callingPkg, String callingAttributionTag,
+ Uri messageUri, String scAddress, PendingIntent sentIntent,
+ PendingIntent deliveryIntent) {
throw new UnsupportedOperationException();
}
@Override
- public void sendStoredMultipartText(int subId, String callingPkg, Uri messageUri,
- String scAddress, List<PendingIntent> sentIntents,
+ public void sendStoredMultipartText(int subId, String callingPkg, String callingAttributionTag,
+ Uri messageUri, String scAddress, List<PendingIntent> sentIntents,
List<PendingIntent> deliveryIntents) {
throw new UnsupportedOperationException();
}
diff --git a/telephony/java/com/android/internal/telephony/ITelephony.aidl b/telephony/java/com/android/internal/telephony/ITelephony.aidl
index 794ad9238574..1face6c4f4cd 100644
--- a/telephony/java/com/android/internal/telephony/ITelephony.aidl
+++ b/telephony/java/com/android/internal/telephony/ITelephony.aidl
@@ -2204,7 +2204,8 @@ interface ITelephony {
* Enqueue a pending sms Consumer, which will answer with the user specified selection for an
* outgoing SmsManager operation.
*/
- oneway void enqueueSmsPickResult(String callingPackage, IIntegerConsumer subIdResult);
+ oneway void enqueueSmsPickResult(String callingPackage, String callingAttributeTag,
+ IIntegerConsumer subIdResult);
/**
* Returns the MMS user agent.