Add ims registration status

Changes the below to display the "IMS registration status" menu
in Status Info setting.
1. Add a new API "isImsRegistered(int subId)" so that IMS registration
status for specific subscription is acquired.
2. Add a carrier config for the customization.

Test: manual Checked "IMS registration state" in Status Info setting
Bug: 28806101
Merged-In: I6c452c512f03cf41704b91331e44141ed3050cf9
Change-Id: I6c452c512f03cf41704b91331e44141ed3050cf9
This commit is contained in:
Ping Sun
2016-03-02 19:09:27 +08:00
committed by Brad Ebinger
parent 576305e29c
commit 816f93ed9f
3 changed files with 37 additions and 0 deletions

View File

@@ -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;
@@ -1807,6 +1815,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);
}
/**

View File

@@ -5795,6 +5795,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

View File

@@ -1088,6 +1088,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
*/