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

Commit 611f996d authored by Brad Ebinger's avatar Brad Ebinger
Browse files

Modify shouldProcessCall API to remove redundancy

No need to differentiate between CSFB for emergency
and non-emergency calls.

Test: Telephony unit tests
Bug: 72642113
Change-Id: Ibc5aed284be030cc584d774f122d6082ff013f5f
parent d35e81d6
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -5103,7 +5103,6 @@ package android.telephony.ims.feature {
    method public void setUiTtyMode(int, android.os.Message);
    method public int shouldProcessCall(java.lang.String[]);
    field public static final int PROCESS_CALL_CSFB = 1; // 0x1
    field public static final int PROCESS_CALL_EMERGENCY_CSFB = 2; // 0x2
    field public static final int PROCESS_CALL_IMS = 0; // 0x0
  }

+18 −0
Original line number Diff line number Diff line
@@ -5104,6 +5104,24 @@ public class TelephonyManager {
        return null;
    }

    /**
     * Determines if emergency calling is allowed for the MMTEL feature on the slot provided.
     * @param slotIndex The SIM slot of the MMTEL feature
     * @return true if emergency calling is allowed, false otherwise.
     * @hide
     */
    public boolean isEmergencyMmTelAvailable(int slotIndex) {
        try {
            ITelephony telephony = getITelephony();
            if (telephony != null) {
                return telephony.isEmergencyMmTelAvailable(slotIndex);
            }
        } catch (RemoteException e) {
            Rlog.e(TAG, "isEmergencyMmTelAvailable, RemoteException: " + e.getMessage());
        }
        return false;
    }

    /**
     * Set IMS registration state
     *
+3 −1
Original line number Diff line number Diff line
@@ -87,7 +87,9 @@ public abstract class ImsFeature {
    // ImsFeatures that are defined in the Manifests. Ensure that these values match the previously
    // defined values in ImsServiceClass for compatibility purposes.
    /**
     * This feature supports emergency calling over MMTEL.
     * This feature supports emergency calling over MMTEL. If defined, the framework will try to
     * place an emergency call over IMS first. If it is not defined, the framework will only use
     * CSFB for emergency calling.
     */
    public static final int FEATURE_EMERGENCY_MMTEL = 0;
    /**
+7 −10
Original line number Diff line number Diff line
@@ -332,20 +332,14 @@ public class MmTelFeature extends ImsFeature {
    public static final int PROCESS_CALL_IMS = 0;
    /**
     * To be returned by {@link #shouldProcessCall(String[])} when the telephony framework should
     * not process the outgoing NON_EMERGENCY call as IMS and should instead use circuit switch.
     * not process the outgoing call as IMS and should instead use circuit switch.
     */
    public static final int PROCESS_CALL_CSFB = 1;
    /**
     * To be returned by {@link #shouldProcessCall(String[])} when the telephony framework should
     * not process the outgoing EMERGENCY call as IMS and should instead use circuit switch.
     */
    public static final int PROCESS_CALL_EMERGENCY_CSFB = 2;

    @IntDef(flag = true,
            value = {
                    PROCESS_CALL_IMS,
                    PROCESS_CALL_CSFB,
                    PROCESS_CALL_EMERGENCY_CSFB
                    PROCESS_CALL_CSFB
            })
    @Retention(RetentionPolicy.SOURCE)
    public @interface ProcessCallResult {}
@@ -536,7 +530,10 @@ public class MmTelFeature extends ImsFeature {

    /**
     * Called by the framework to determine if the outgoing call, designated by the outgoing
     * {@link Uri}s, should be processed as an IMS call or CSFB call.
     * {@link String}s, should be processed as an IMS call or CSFB call. If this method's
     * functionality is not overridden, the platform will process every call as IMS as long as the
     * MmTelFeature reports that the {@link MmTelCapabilities#CAPABILITY_TYPE_VOICE} capability is
     * available.
     * @param numbers An array of {@link String}s that will be used for placing the call. There can
     *         be multiple {@link String}s listed in the case when we want to place an outgoing
     *         call as a conference.
+6 −0
Original line number Diff line number Diff line
@@ -822,6 +822,12 @@ interface ITelephony {
    */
    IImsConfig getImsConfig(int slotId, int feature);

    /**
    * Returns true if emergency calling is available for the MMTEL feature associated with the
    * slot specified.
    */
    boolean isEmergencyMmTelAvailable(int slotId);

    /**
     * Set the network selection mode to automatic.
     *