Merge "Modify shouldProcessCall API to remove redundancy"
am: 59391aa4a0
Change-Id: Iaf27b98f03c363ca23989c251f9e5d66bae394ba
This commit is contained in:
@@ -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
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
*
|
||||
|
||||
@@ -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;
|
||||
/**
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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.
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user