diff --git a/api/current.txt b/api/current.txt index da9fd09cf1526..c16ff135a60f4 100644 --- a/api/current.txt +++ b/api/current.txt @@ -47833,6 +47833,7 @@ package android.telephony { method @Deprecated public void sendMultimediaMessage(android.content.Context, android.net.Uri, String, android.os.Bundle, android.app.PendingIntent); method public void sendMultipartTextMessage(String, String, java.util.ArrayList, java.util.ArrayList, java.util.ArrayList); method public void sendMultipartTextMessage(@NonNull String, @Nullable String, @NonNull java.util.List, @Nullable java.util.List, @Nullable java.util.List, long); + method public void sendMultipartTextMessage(@NonNull String, @Nullable String, @NonNull java.util.List, @Nullable java.util.List, @Nullable java.util.List, @NonNull String); method public void sendTextMessage(String, String, String, android.app.PendingIntent, android.app.PendingIntent); method public void sendTextMessage(@NonNull String, @Nullable String, @NonNull String, @Nullable android.app.PendingIntent, @Nullable android.app.PendingIntent, long); method @RequiresPermission(allOf={android.Manifest.permission.MODIFY_PHONE_STATE, android.Manifest.permission.SEND_SMS}) public void sendTextMessageWithoutPersisting(String, String, String, android.app.PendingIntent, android.app.PendingIntent); diff --git a/api/system-current.txt b/api/system-current.txt index c174da1dbf97e..9aff3adb5fc69 100755 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -11402,7 +11402,6 @@ package android.telephony { method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_MESSAGES_ON_ICC) public java.util.List getMessagesFromIcc(); method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getPremiumSmsConsent(@NonNull String); method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getSmsCapacityOnIcc(); - method public void sendMultipartTextMessage(@NonNull String, @Nullable String, @NonNull java.util.List, @Nullable java.util.List, @Nullable java.util.List, @NonNull String); method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void sendMultipartTextMessageWithoutPersisting(String, String, java.util.List, java.util.List, java.util.List); method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setPremiumSmsConsent(@NonNull String, int); field public static final int PREMIUM_SMS_CONSENT_ALWAYS_ALLOW = 3; // 0x3 @@ -11501,6 +11500,7 @@ package android.telephony { method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getAidForAppType(int); method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.List getAllowedCarriers(int); method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public long getAllowedNetworkTypes(); + method @Nullable @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public android.content.ComponentName getAndUpdateDefaultRespondViaMessageApplication(); method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public android.telephony.CallForwardingInfo getCallForwarding(int); method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getCallWaitingStatus(); method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public android.telephony.ImsiEncryptionInfo getCarrierInfoForImsiEncryption(int); @@ -11519,7 +11519,7 @@ package android.telephony { method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getDataActivationState(); method @Deprecated public boolean getDataEnabled(); method @Deprecated public boolean getDataEnabled(int); - method @Nullable public static android.content.ComponentName getDefaultRespondViaMessageApplication(@NonNull android.content.Context, boolean); + method @Nullable @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public android.content.ComponentName getDefaultRespondViaMessageApplication(); method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getDeviceSoftwareVersion(int); method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean getEmergencyCallbackMode(); method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getEmergencyNumberDbVersion(); diff --git a/api/test-current.txt b/api/test-current.txt index 08888d7700d00..a1a652fcea9fa 100644 --- a/api/test-current.txt +++ b/api/test-current.txt @@ -3738,7 +3738,6 @@ 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, @Nullable String, @NonNull java.util.List, @Nullable java.util.List, @Nullable java.util.List, @NonNull 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 @@ -3759,9 +3758,10 @@ package android.telephony { public class TelephonyManager { method public int addDevicePolicyOverrideApn(@NonNull android.content.Context, @NonNull android.telephony.data.ApnSetting); method public int checkCarrierPrivilegesForPackage(String); + method @Nullable @RequiresPermission("android.permission.INTERACT_ACROSS_USERS") public android.content.ComponentName getAndUpdateDefaultRespondViaMessageApplication(); method public int getCarrierIdListVersion(); method public java.util.List getCarrierPackageNamesForIntent(android.content.Intent); - method @Nullable public static android.content.ComponentName getDefaultRespondViaMessageApplication(@NonNull android.content.Context, boolean); + method @Nullable @RequiresPermission("android.permission.INTERACT_ACROSS_USERS") public android.content.ComponentName getDefaultRespondViaMessageApplication(); method @NonNull public java.util.List getDevicePolicyOverrideApns(@NonNull android.content.Context); method @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") public int getEmergencyNumberDbVersion(); method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public String getLine1AlphaTag(); diff --git a/telephony/java/android/telephony/SmsManager.java b/telephony/java/android/telephony/SmsManager.java index d3afa4a133a64..f6a305f4bf2bc 100644 --- a/telephony/java/android/telephony/SmsManager.java +++ b/telephony/java/android/telephony/SmsManager.java @@ -975,11 +975,7 @@ public final class SmsManager { * * @param packageName serves as the default package name if the package name that is * associated with the user id is null. - * - * @hide */ - @SystemApi - @TestApi public void sendMultipartTextMessage( @NonNull String destinationAddress, @Nullable String scAddress, @NonNull List parts, @Nullable List sentIntents, diff --git a/telephony/java/android/telephony/TelephonyManager.java b/telephony/java/android/telephony/TelephonyManager.java index 3f106f7c33439..2292603d96a67 100644 --- a/telephony/java/android/telephony/TelephonyManager.java +++ b/telephony/java/android/telephony/TelephonyManager.java @@ -9977,18 +9977,30 @@ public class TelephonyManager { } /** - * Gets the default Respond Via Message application - * @param context context from the calling app - * @param updateIfNeeded update the default app if there is no valid default app configured. + * Gets the default Respond Via Message application, updating the cache if there is no + * respond-via-message application currently configured. * @return component name of the app and class to direct Respond Via Message intent to, or * {@code null} if the functionality is not supported. * @hide */ @SystemApi @TestApi - public static @Nullable ComponentName getDefaultRespondViaMessageApplication( - @NonNull Context context, boolean updateIfNeeded) { - return SmsApplication.getDefaultRespondViaMessageApplication(context, updateIfNeeded); + @RequiresPermission(Manifest.permission.INTERACT_ACROSS_USERS) + public @Nullable ComponentName getAndUpdateDefaultRespondViaMessageApplication() { + return SmsApplication.getDefaultRespondViaMessageApplication(mContext, true); + } + + /** + * Gets the default Respond Via Message application. + * @return component name of the app and class to direct Respond Via Message intent to, or + * {@code null} if the functionality is not supported. + * @hide + */ + @SystemApi + @TestApi + @RequiresPermission(Manifest.permission.INTERACT_ACROSS_USERS) + public @Nullable ComponentName getDefaultRespondViaMessageApplication() { + return SmsApplication.getDefaultRespondViaMessageApplication(mContext, false); } /**