diff --git a/telephony/java/android/telephony/TelephonyManager.java b/telephony/java/android/telephony/TelephonyManager.java index 2e37a0725d59c..ddcdc8b33e8fe 100644 --- a/telephony/java/android/telephony/TelephonyManager.java +++ b/telephony/java/android/telephony/TelephonyManager.java @@ -5223,18 +5223,30 @@ public class TelephonyManager { * Returns the MMS user agent. */ public String getMmsUserAgent() { - if (mContext == null) return null; - return SubscriptionManager.getResourcesForSubId(mContext, getSubId()).getString( - com.android.internal.R.string.config_mms_user_agent); + try { + ITelephony telephony = getITelephony(); + if (telephony != null) { + return telephony.getMmsUserAgent(getSubId()); + } + } catch (RemoteException ex) { + } catch (NullPointerException ex) { + } + return null; } /** * Returns the MMS user agent profile URL. */ public String getMmsUAProfUrl() { - if (mContext == null) return null; - return SubscriptionManager.getResourcesForSubId(mContext, getSubId()).getString( - com.android.internal.R.string.config_mms_user_agent_profile_url); + try { + ITelephony telephony = getITelephony(); + if (telephony != null) { + return telephony.getMmsUAProfUrl(getSubId()); + } + } catch (RemoteException ex) { + } catch (NullPointerException ex) { + } + return null; } /** diff --git a/telephony/java/com/android/internal/telephony/ITelephony.aidl b/telephony/java/com/android/internal/telephony/ITelephony.aidl index d71ad09e56c0d..b47ec8bd3a46c 100644 --- a/telephony/java/com/android/internal/telephony/ITelephony.aidl +++ b/telephony/java/com/android/internal/telephony/ITelephony.aidl @@ -1973,4 +1973,14 @@ interface ITelephony { boolean isDataEnabledForApn(int apnType, int subId, String callingPackage); boolean isApnMetered(int apnType, int subId); + + /** + * Returns the MMS user agent. + */ + String getMmsUserAgent(int subId); + + /** + * Returns the MMS user agent profile URL. + */ + String getMmsUAProfUrl(int subId); }