Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 56b0dfb3 authored by Ping Sun's avatar Ping Sun Committed by Brad Ebinger
Browse files

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
parent d82bed1c
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -1567,6 +1567,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;

@@ -1833,6 +1841,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);
    }

    /**
+19 −0
Original line number Diff line number Diff line
@@ -5849,6 +5849,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
+9 −0
Original line number Diff line number Diff line
@@ -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
     */