diff options
author | 2020-02-04 02:55:32 +0000 | |
---|---|---|
committer | 2020-02-04 02:55:32 +0000 | |
commit | 6f87ad9abd59fb62300931a55d2ebfff99b513d6 (patch) | |
tree | 789706b6f8cf00d5d87ff6a4452349a6d41581da | |
parent | d6e6068ded2f1789b4896e85391168afe43abf99 (diff) | |
parent | 442a1ca027c4d756c4c2c48440812899be959262 (diff) |
Merge "[Mainline] Move the setAlwaysAllowMmsData from SubscriptionManager to TelephonyManager" am: 442a1ca027
Change-Id: I2b518c3bc87d2ae3db242227532c5306522e0ab7
5 files changed, 33 insertions, 28 deletions
diff --git a/api/system-current.txt b/api/system-current.txt index f8f00366a560..6db19a87c25d 100755 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -9613,6 +9613,7 @@ package android.telephony { method @RequiresPermission(android.Manifest.permission.CONNECTIVITY_INTERNAL) public void resetSettings(); method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int setAllowedCarriers(int, java.util.List<android.service.carrier.CarrierIdentifier>); method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setAllowedNetworkTypes(long); + method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setAlwaysAllowMmsData(boolean); method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setAlwaysReportSignalStrength(boolean); method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setCallForwarding(@NonNull android.telephony.CallForwardingInfo); method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setCallWaitingStatus(boolean); diff --git a/telephony/java/android/telephony/SubscriptionManager.java b/telephony/java/android/telephony/SubscriptionManager.java index df726712bffe..96729deb8ac3 100644 --- a/telephony/java/android/telephony/SubscriptionManager.java +++ b/telephony/java/android/telephony/SubscriptionManager.java @@ -3275,31 +3275,6 @@ public class SubscriptionManager { return subId; } - /** - * Set whether a subscription always allows MMS connection. If true, MMS network - * request will be accepted by telephony even if user turns "mobile data" off - * on this subscription. - * - * @param subId which subscription it's setting to. - * @param alwaysAllow whether Mms data is always allowed. - * @return whether operation is successful. - * - * @hide - */ - public boolean setAlwaysAllowMmsData(int subId, boolean alwaysAllow) { - try { - ISub iSub = ISub.Stub.asInterface(ServiceManager.getService("isub")); - if (iSub != null) { - return iSub.setAlwaysAllowMmsData(subId, alwaysAllow); - } - } catch (RemoteException ex) { - if (!isSystemProcess()) { - ex.rethrowAsRuntimeException(); - } - } - return false; - } - private interface CallISubMethodHelper { int callMethod(ISub iSub) throws RemoteException; } diff --git a/telephony/java/android/telephony/TelephonyManager.java b/telephony/java/android/telephony/TelephonyManager.java index d8204de0f4b3..d03360cb4ce5 100644 --- a/telephony/java/android/telephony/TelephonyManager.java +++ b/telephony/java/android/telephony/TelephonyManager.java @@ -12128,7 +12128,7 @@ public class TelephonyManager { * 1) User data is turned on, or * 2) APN is un-metered for this subscription, or * 3) APN type is whitelisted. E.g. MMS is whitelisted if - * {@link SubscriptionManager#setAlwaysAllowMmsData} is turned on. + * {@link #setAlwaysAllowMmsData(boolean)} is turned on. * * @param apnType Value indicating the apn type. Apn types are defined in {@link ApnSetting}. * @return whether data is enabled for a apn type. @@ -12435,4 +12435,30 @@ public class TelephonyManager { } return false; } + + /** + * Set whether the specific sim card always allows MMS connection. If true, MMS network + * request will be accepted by telephony even if user turns "mobile data" off + * on this specific sim card. + * + * @param alwaysAllow whether Mms data is always allowed. + * @return whether operation is successful. + * + * @hide + */ + @SystemApi + @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) + public boolean setAlwaysAllowMmsData(boolean alwaysAllow) { + try { + ITelephony service = getITelephony(); + if (service != null) { + return service.setAlwaysAllowMmsData(getSubId(), alwaysAllow); + } + } catch (RemoteException ex) { + if (!isSystemProcess()) { + ex.rethrowAsRuntimeException(); + } + } + return false; + } } diff --git a/telephony/java/com/android/internal/telephony/ISub.aidl b/telephony/java/com/android/internal/telephony/ISub.aidl index cc02a409c16d..571efcee0e15 100755 --- a/telephony/java/com/android/internal/telephony/ISub.aidl +++ b/telephony/java/com/android/internal/telephony/ISub.aidl @@ -295,8 +295,6 @@ interface ISub { boolean isActiveSubId(int subId, String callingPackage, String callingFeatureId); - boolean setAlwaysAllowMmsData(int subId, boolean alwaysAllow); - int getActiveDataSubscriptionId(); boolean canDisablePhysicalSubscription(); diff --git a/telephony/java/com/android/internal/telephony/ITelephony.aidl b/telephony/java/com/android/internal/telephony/ITelephony.aidl index d7fbafbcf5c7..3a6269b5951b 100644 --- a/telephony/java/com/android/internal/telephony/ITelephony.aidl +++ b/telephony/java/com/android/internal/telephony/ITelephony.aidl @@ -2241,6 +2241,11 @@ interface ITelephony { boolean isDataAllowedInVoiceCall(int subId); /** + * Set whether a subscription always allows MMS connection. + */ + boolean setAlwaysAllowMmsData(int subId, boolean allow); + + /** * Command line command to enable or disable handling of CEP data for test purposes. */ oneway void setCepEnabled(boolean isCepEnabled); |