Merge "Modify shouldProcessCall API to remove redundancy"

am: 59391aa4a0

Change-Id: Iaf27b98f03c363ca23989c251f9e5d66bae394ba
This commit is contained in:
Brad Ebinger
2018-02-28 04:33:28 +00:00
committed by android-build-merger
5 changed files with 34 additions and 12 deletions

View File

@@ -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
}

View File

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

View File

@@ -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;
/**

View File

@@ -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,12 +530,15 @@ 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.
* @return a {@link ProcessCallResult} to the framework, which will be used to determine if the
* call wil lbe placed over IMS or via CSFB.
* call will be placed over IMS or via CSFB.
*/
public @ProcessCallResult int shouldProcessCall(String[] numbers) {
return PROCESS_CALL_IMS;

View File

@@ -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.
*