diff --git a/api/current.txt b/api/current.txt index c7a210edd7303..744ce849795ec 100644 --- a/api/current.txt +++ b/api/current.txt @@ -44631,7 +44631,9 @@ package android.telephony { field public static final String KEY_CI_ACTION_ON_SYS_UPDATE_EXTRA_STRING = "ci_action_on_sys_update_extra_string"; field public static final String KEY_CI_ACTION_ON_SYS_UPDATE_EXTRA_VAL_STRING = "ci_action_on_sys_update_extra_val_string"; field public static final String KEY_CI_ACTION_ON_SYS_UPDATE_INTENT_STRING = "ci_action_on_sys_update_intent_string"; - field public static final String KEY_CONFIG_IMS_PACKAGE_OVERRIDE_STRING = "config_ims_package_override_string"; + field public static final String KEY_CONFIG_IMS_MMTEL_PACKAGE_OVERRIDE_STRING = "config_ims_mmtel_package_override_string"; + field @Deprecated public static final String KEY_CONFIG_IMS_PACKAGE_OVERRIDE_STRING = "config_ims_package_override_string"; + field public static final String KEY_CONFIG_IMS_RCS_PACKAGE_OVERRIDE_STRING = "config_ims_rcs_package_override_string"; field public static final String KEY_CONFIG_PLANS_PACKAGE_OVERRIDE_STRING = "config_plans_package_override_string"; field public static final String KEY_CONFIG_TELEPHONY_USE_OWN_NUMBER_FOR_VOICEMAIL_BOOL = "config_telephony_use_own_number_for_voicemail_bool"; field public static final String KEY_CSP_ENABLED_BOOL = "csp_enabled_bool"; diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml index bfbd959df1a83..5d3a1ab51335e 100644 --- a/core/res/res/values/config.xml +++ b/core/res/res/values/config.xml @@ -2844,10 +2844,6 @@ false - - - diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml index ee9287c7d64c8..ca8eaf0690f96 100644 --- a/core/res/res/values/symbols.xml +++ b/core/res/res/values/symbols.xml @@ -293,7 +293,6 @@ - diff --git a/telephony/java/android/telephony/CarrierConfigManager.java b/telephony/java/android/telephony/CarrierConfigManager.java index 91646add69644..f0859c6e2dac7 100755 --- a/telephony/java/android/telephony/CarrierConfigManager.java +++ b/telephony/java/android/telephony/CarrierConfigManager.java @@ -419,11 +419,32 @@ public class CarrierConfigManager { KEY_GSM_NONROAMING_NETWORKS_STRING_ARRAY = "gsm_nonroaming_networks_string_array"; /** - * Override the device's configuration for the ImsService to use for this SIM card. + * The package name containing the ImsService that will be bound to the telephony framework to + * support both IMS MMTEL and RCS feature functionality instead of the device default + * ImsService for this subscription. + * @deprecated Use {@link #KEY_CONFIG_IMS_MMTEL_PACKAGE_OVERRIDE_STRING} and + * {@link #KEY_CONFIG_IMS_RCS_PACKAGE_OVERRIDE_STRING} instead to configure these values + * separately. If any of those values are not empty, they will override this value. */ public static final String KEY_CONFIG_IMS_PACKAGE_OVERRIDE_STRING = "config_ims_package_override_string"; + /** + * The package name containing the ImsService that will be bound to the telephony framework to + * support IMS MMTEL feature functionality instead of the device default ImsService for this + * subscription. + */ + public static final String KEY_CONFIG_IMS_MMTEL_PACKAGE_OVERRIDE_STRING = + "config_ims_mmtel_package_override_string"; + + /** + * The package name containing the ImsService that will be bound to the telephony framework to + * support IMS RCS feature functionality instead of the device default ImsService for this + * subscription. + */ + public static final String KEY_CONFIG_IMS_RCS_PACKAGE_OVERRIDE_STRING = + "config_ims_rcs_package_override_string"; + /** * Override the package that will manage {@link SubscriptionPlan} * information instead of the {@link CarrierService} that defines this @@ -3540,6 +3561,8 @@ public class CarrierConfigManager { sDefaults.putStringArray(KEY_GSM_ROAMING_NETWORKS_STRING_ARRAY, null); sDefaults.putStringArray(KEY_GSM_NONROAMING_NETWORKS_STRING_ARRAY, null); sDefaults.putString(KEY_CONFIG_IMS_PACKAGE_OVERRIDE_STRING, null); + sDefaults.putString(KEY_CONFIG_IMS_MMTEL_PACKAGE_OVERRIDE_STRING, null); + sDefaults.putString(KEY_CONFIG_IMS_RCS_PACKAGE_OVERRIDE_STRING, null); sDefaults.putStringArray(KEY_CDMA_ROAMING_NETWORKS_STRING_ARRAY, null); sDefaults.putStringArray(KEY_CDMA_NONROAMING_NETWORKS_STRING_ARRAY, null); sDefaults.putStringArray(KEY_DIAL_STRING_REPLACE_STRING_ARRAY, null); diff --git a/telephony/java/com/android/internal/telephony/ITelephony.aidl b/telephony/java/com/android/internal/telephony/ITelephony.aidl index 0ec54ecf56dff..97b24aef4af54 100644 --- a/telephony/java/com/android/internal/telephony/ITelephony.aidl +++ b/telephony/java/com/android/internal/telephony/ITelephony.aidl @@ -888,12 +888,13 @@ interface ITelephony { /** * @return true if the ImsService to bind to for the slot id specified was set, false otherwise. */ - boolean setImsService(int slotId, boolean isCarrierImsService, String packageName); + boolean setBoundImsServiceOverride(int slotIndex, boolean isCarrierService, + in int[] featureTypes, in String packageName); /** * @return the package name of the carrier/device ImsService associated with this slot. */ - String getImsService(int slotId, boolean isCarrierImsService); + String getBoundImsServicePackage(int slotIndex, boolean isCarrierImsService, int featureType); /** * Get the MmTelFeature state attached to this subscription id.