diff options
| author | 2017-09-11 19:42:43 +0000 | |
|---|---|---|
| committer | 2017-09-11 19:42:43 +0000 | |
| commit | bd1f2b56bba54be21eacf37fd181135b4ef590f5 (patch) | |
| tree | c08277ab9ebd793f219db4792d271ed2cb70776a | |
| parent | 447b7c49fc602269c87e6b28dba51453face23e8 (diff) | |
| parent | 816f93ed9f31558bdff97a151b9635d41587934e (diff) | |
Merge "Add ims registration status" into stage-aosp-master
3 files changed, 37 insertions, 0 deletions
diff --git a/telephony/java/android/telephony/CarrierConfigManager.java b/telephony/java/android/telephony/CarrierConfigManager.java index 0392be7db2db..671ced44b283 100644 --- a/telephony/java/android/telephony/CarrierConfigManager.java +++ b/telephony/java/android/telephony/CarrierConfigManager.java @@ -1539,6 +1539,14 @@ public class CarrierConfigManager { */ public static final String KEY_CONVERT_CDMA_CALLER_ID_MMI_CODES_WHILE_ROAMING_ON_3GPP_BOOL = "convert_cdma_caller_id_mmi_codes_while_roaming_on_3gpp_bool"; + + /** + * Flag specifying whether IMS registration state menu is shown in Status Info setting, + * default to false. + * @hide + */ + public static final String KEY_SHOW_IMS_REGISTRATION_STATUS_BOOL = + "show_ims_registration_status_bool"; /** The default value for every variable. */ private final static PersistableBundle sDefaults; @@ -1805,6 +1813,7 @@ public class CarrierConfigManager { false); sDefaults.putStringArray(KEY_NON_ROAMING_OPERATOR_STRING_ARRAY, null); sDefaults.putStringArray(KEY_ROAMING_OPERATOR_STRING_ARRAY, null); + sDefaults.putBoolean(KEY_SHOW_IMS_REGISTRATION_STATUS_BOOL, false); } /** diff --git a/telephony/java/android/telephony/TelephonyManager.java b/telephony/java/android/telephony/TelephonyManager.java index c0241deb8be7..fc2d2d5196a2 100644 --- a/telephony/java/android/telephony/TelephonyManager.java +++ b/telephony/java/android/telephony/TelephonyManager.java @@ -5816,6 +5816,25 @@ public class TelephonyManager { } /** + * Returns the IMS Registration Status for a particular Subscription ID + * + * @param subId Subscription ID + * @return true if IMS status is registered, false if the IMS status is not registered or a + * RemoteException occurred. + * + * @hide + */ + public boolean isImsRegistered(int subId) { + try { + return getITelephony().isImsRegisteredForSubscriber(subId); + } catch (RemoteException ex) { + return false; + } catch (NullPointerException ex) { + return false; + } + } + + /** * Returns the Status of Volte * @hide */ diff --git a/telephony/java/com/android/internal/telephony/ITelephony.aidl b/telephony/java/com/android/internal/telephony/ITelephony.aidl index 9262ec5ed53b..2ac11b55d4fd 100644 --- a/telephony/java/com/android/internal/telephony/ITelephony.aidl +++ b/telephony/java/com/android/internal/telephony/ITelephony.aidl @@ -1089,6 +1089,15 @@ interface ITelephony { boolean isImsRegistered(); /** + * Get IMS Registration Status on a particular subid. + * + * @param subId user preferred subId. + * + * @return {@code true} if the IMS status is registered. + */ + boolean isImsRegisteredForSubscriber(int subId); + + /** * Returns the Status of Wi-Fi Calling */ boolean isWifiCallingAvailable(); |