Update to 07.00.00.253.030

Change-Id: I3aaa31b773ca20cd08913abdd4936d3bd06513ef
This commit is contained in:
Thierry Strudel
2016-10-10 11:27:35 -07:00
parent 972168985d
commit 3d9f8fa53a
9 changed files with 230 additions and 7 deletions

View File

@@ -1,3 +1,4 @@
ifneq ($(BOARD_VENDOR_QCOM_GPS_LOC_API_HARDWARE),)
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
@@ -30,3 +31,4 @@ LOCAL_C_INCLUDES := \
$(TARGET_OUT_HEADERS)/libloc_pla
include $(BUILD_SHARED_LIBRARY)
endif

View File

@@ -75,6 +75,9 @@ public class QtiCallConstants {
/* Call fail error code for handover not feasible */
public static final int CALL_FAIL_EXTRA_CODE_LTE_3G_HA_FAILED = 149;
/* Call fail error code for validate Video call number */
public static final int CALL_FAIL_EXTRA_CODE_LOCAL_VALIDATE_NUMBER = 150;
/* Call fail error code for Retry CS call*/
public static final int CALL_FAIL_EXTRA_CODE_CALL_CS_RETRY_REQUIRED =
ImsReasonInfo.CODE_LOCAL_CALL_CS_RETRY_REQUIRED;

View File

@@ -56,4 +56,9 @@ public class QtiCarrierConfigs {
false - hard disabled.
true - then depends on user preference */
public static final String CONFIG_CS_RETRY = "config_carrier_cs_retry_available";
/* Controls modify call capabilities
FALSE - default capabilities will be retained
TRUE - remove modify call capabilities which will hide modify call button*/
public static final String REMOVE_MODIFY_CALL_CAPABILITY = "remove_modify_call_capability";
}

View File

@@ -107,6 +107,27 @@ public abstract class QtiImsExtBase {
onRegisterForParticipantStatusInfo(listener);
}
@Override
public void updateVoltePreference(int phoneId, int preference,
IQtiImsExtListener listener) {
onUpdateVoltePreference(phoneId, preference, listener);
}
@Override
public void queryVoltePreference(int phoneId, IQtiImsExtListener listener) {
onQueryVoltePreference(phoneId, listener);
}
@Override
public void getHandoverConfig(IQtiImsExtListener listener) {
onGetHandoverConfig(listener);
}
@Override
public void setHandoverConfig(int hoConfig,
IQtiImsExtListener listener) {
onSetHandoverConfig(hoConfig, listener);
}
};
private QtiImsExtBinder mQtiImsExtBinder;
@@ -159,4 +180,18 @@ public abstract class QtiImsExtBase {
protected void onRegisterForParticipantStatusInfo(IQtiImsExtListener listener) {
// no-op
}
protected void onUpdateVoltePreference(int phoneId, int preference,
IQtiImsExtListener listener) {
// no-op
}
protected void onQueryVoltePreference(int phoneId, IQtiImsExtListener listener) {
// no-op
}
protected void onGetHandoverConfig(IQtiImsExtListener listener) {
// no-op
}
protected void onSetHandoverConfig(int hoConfig,
IQtiImsExtListener listener) {
// no-op
}
}

View File

@@ -81,5 +81,21 @@ public class QtiImsExtListenerBaseImpl extends IQtiImsExtListener.Stub {
public void notifyParticipantStatusInfo(int operation, int sipStatus,
String participantUri, boolean isEct) {
}
@Override
public void onVoltePreferenceUpdated(int result) {
}
@Override
public void onVoltePreferenceQueried(int result, int mode) {
}
@Override
public void onSetHandoverConfig(int result) {
}
@Override
public void onGetHandoverConfig(int result, int hoConfig) {
}
}

View File

@@ -190,6 +190,45 @@ public class QtiImsExtManager {
}
}
public void updateVoltePreference(int phoneId, int preference,
IQtiImsExtListener listener) throws QtiImsException {
obtainBinder();
try {
mQtiImsExt.updateVoltePreference(phoneId, preference, listener);
} catch(RemoteException e) {
throw new QtiImsException("Remote ImsService updateVoltePreference : " + e);
}
}
public void queryVoltePreference(int phoneId,
IQtiImsExtListener listener) throws QtiImsException {
obtainBinder();
try {
mQtiImsExt.queryVoltePreference(phoneId, listener);
} catch(RemoteException e) {
throw new QtiImsException("Remote ImsService queryVoltePreference : " + e);
}
}
public void getHandoverConfig(IQtiImsExtListener listener) throws QtiImsException {
obtainBinder();
try {
mQtiImsExt.getHandoverConfig(listener);
} catch(RemoteException e) {
throw new QtiImsException("Remote ImsService getHandoverConfig : " + e);
}
}
public void setHandoverConfig(int hoConfig, IQtiImsExtListener listener)
throws QtiImsException {
obtainBinder();
try {
mQtiImsExt.setHandoverConfig(hoConfig, listener);
} catch(RemoteException e) {
throw new QtiImsException("Remote ImsService setHandoverConfig : " + e);
}
}
/**
* Check if binder is available, else try to retrieve it from ServiceManager
* if binder still doesn't exists throw {@link QtiImsException}

View File

@@ -53,7 +53,7 @@ interface IQtiImsExt {
* SERVICE_CLASS, as defined in
* <code>com.android.internal.telephony.CommandsInterface.</code>
* @param dialingNumber is the target phone number to forward calls to
* @param QtiImsExtListener listener to request
* @param listener an IQtiImsExtListener instance to indicate the response
* @return void
*/
oneway void setCallForwardUncondTimer(int startHour, int startMinute, int endHour,
@@ -70,7 +70,7 @@ interface IQtiImsExt {
* @param serviceClass is service class, that is used to get CFT
* SERVICE_CLASS, as defined in
* <code>com.android.internal.telephony.CommandsInterface.</code>
* @param QtiImsExtListener listener to request
* @param listener an IQtiImsExtListener instance to indicate the response
* @return void
*/
oneway void getCallForwardUncondTimer(int reason, int serviceClass,
@@ -113,10 +113,10 @@ interface IQtiImsExt {
* Transfer an established call to given number or call id
*
* @param phoneId indicates the phone instance which triggered the request
* @param type is one of the values QTI_IMS_TRANSFER_TYPE_*, as defined in
* <code>org.codeaurora.ims.qtiims.QtiImsInterfaceUtils.</code>
* @param type is one of the values QTI_IMS_*_TRANSFER, as defined in
* <code>org.codeaurora.ims.utils.QtiImsExtUtils.</code>
* @param number indicates the target number to transfer
* @param listener an IQtiImsInterfaceListener instance to indicate the response
* @param listener an IQtiImsExtListener instance to indicate the response
* @return void
*/
oneway void sendCallTransferRequest(int phoneId, int type, String number,
@@ -172,4 +172,49 @@ interface IQtiImsExt {
*/
oneway void registerForParticipantStatusInfo(IQtiImsExtListener listener);
/**
* updateVoltePreference
* Updates the user's VoLTE preference to lower layers
*
* @param phoneId indicates the phone instance which triggered the request
* @param preference is one of the values QTI_IMS_VOLTE_PREF_*, as defined in
* <code>org.codeaurora.ims.utils.QtiImsExtUtils.</code>
* @param listener an IQtiImsExtListener instance to indicate the response
* @return void
*/
oneway void updateVoltePreference(int phoneId, int preference, IQtiImsExtListener listener);
/**
* queryVoltePreference
* Retrieves the user's VoLTE preference from lower layers
*
* @param phoneId indicates the phone instance which triggered the request
* @param listener an IQtiImsExtListener instance to indicate the response
* @return void
*/
oneway void queryVoltePreference(int phoneId, IQtiImsExtListener listener);
/**
* getHandoverConfig
* Get IMS Handover Enabled status
*
* @param listener, provided if caller needs to be notified for get result.
* @return void
*
* @throws RemoteException if calling the IMS service results in an error.
*/
oneway void getHandoverConfig(IQtiImsExtListener listener);
/**
* setHandoverConfig
* Set IMS Handover Enabled status
*
* @param hoConfig is one of the values QTI_IMS_HO_*, as defined in
* <code>org.codeaurora.ims.utils.QtiImsExtUtils</code>
* @param listener, provided if caller needs to be notified for set result.
* @return void
*
* @throws RemoteException if calling the IMS service results in an error.
*/
oneway void setHandoverConfig(int hoConfig, IQtiImsExtListener listener);
}

View File

@@ -92,7 +92,7 @@ oneway interface IQtiImsExtListener {
/**
* Notifies client the result of call deflect request
*
* @param <result> is one of the values QTIIMS_REQUEST_*, as defined in
* @param <result> is one of the values QTI_IMS_REQUEST_*, as defined in
* <code>org.codeaurora.ims.utils.QtiImsExtUtils.</code>
* @return void.
*/
@@ -102,7 +102,7 @@ oneway interface IQtiImsExtListener {
* Notifies client the result of call transfer request
*
* @param <result> is one of the values QTI_IMS_REQUEST_*, as defined in
* <code>org.codeaurora.ims.qtiims.QtiImsInterfaceUtils.</code>
* <code>org.codeaurora.ims.utils.QtiImsExtUtils.</code>
* @return void.
*/
void receiveCallTransferResponse(int result);
@@ -153,4 +153,47 @@ oneway interface IQtiImsExtListener {
*/
void notifyParticipantStatusInfo(int operation, int sipStatus,
String participantUri, boolean isEct);
/**
* Notifies client the result of updateVoltePreference request
*
* @param <result> is one of the values QTI_IMS_REQUEST_*, as defined in
* <code>org.codeaurora.ims.utils.QtiImsExtUtils.</code>
* @return void.
*/
void onVoltePreferenceUpdated(int result);
/**
* Notifies client the result of queryVoltePreference request
*
* @param <result> is one of the values QTI_IMS_REQUEST_*, as defined in
* <code>org.codeaurora.ims.utils.QtiImsExtUtils.</code>
* @param <mode> is valid only when <result> is QTI_IMS_REQUEST_SUCCESS and
* is one of the values QTI_IMS_VOLTE_PREF_*, as defined in
* <code>org.codeaurora.ims.utils.QtiImsExtUtils.</code>
* @return void.
*/
void onVoltePreferenceQueried(int result, int mode);
/**
* Notifies client the value of the set handover config result.
*
* @param <status> is one of the values QTI_IMS_REQUEST_*, as defined in
* <code>org.codeaurora.ims.utils.QtiImsExtUtils</code>
* @return void.
*/
void onSetHandoverConfig(int status);
/**
* Notifies client the value of the get operation result on get handover config item.
*
* @param <status> is one of the values QTI_IMS_REQUEST_*, as defined in
* <code>org.codeaurora.ims.utils.QtiImsExtUtils</code>
* @param hoConfig is valid when status is QTI_IMS_REQUEST_SUCCESS and it can have
* one of the values QTI_IMS_HO_* excluding QTI_IMS_HO_INVALID, as defined in
* <code>org.codeaurora.ims.utils.QtiImsExtUtils</code>
* @return void
*/
void onGetHandoverConfig(int status, int hoConfig);
}

View File

@@ -62,6 +62,12 @@ public class QtiImsExtUtils {
/* Default error value */
public static final int QTI_IMS_REQUEST_ERROR = 1;
/* name for carrier property */
public static final String PROPERTY_RADIO_ATEL_CARRIER = "persist.radio.atel.carrier";
/* Carrier one default mcc mnc */
public static final String CARRIER_ONE_DEFAULT_MCC_MNC = "405854";
/**
* Definitions for the call transfer type. For easier implementation,
* the transfer type is defined as a bit mask value.
@@ -93,10 +99,27 @@ public class QtiImsExtUtils {
*/
public static final String EXTRA_SSAC = "Ssac";
/**
* Definitions for the volte preference values.
*/
//Value representing volte preference is OFF
public static final int QTI_IMS_VOLTE_PREF_OFF = 0;
//Value representing volte preference is ON
public static final int QTI_IMS_VOLTE_PREF_ON = 1;
//Value representing volte preference is NOT known
public static final int QTI_IMS_VOLTE_PREF_UNKNOWN = 2;
/* Incoming conference call extra key */
public static final String QTI_IMS_INCOMING_CONF_EXTRA_KEY = "incomingConference";
/* Handover config params */
public static final int QTI_IMS_HO_INVALID = 0x00;
public static final int QTI_IMS_HO_ENABLE_ALL = 0x01;
public static final int QTI_IMS_HO_DISABLE_ALL = 0x02;
public static final int QTI_IMS_HO_ENABLED_WLAN_TO_WWAN_ONLY = 0x03;
public static final int QTI_IMS_HO_ENABLED_WWAN_TO_WLAN_ONLY = 0x04;
/**
* Private constructor for QtiImsExtUtils as we don't want to instantiate this class
*/
@@ -148,6 +171,14 @@ public class QtiImsExtUtils {
return isCarrierConfigEnabled(context, QtiCarrierConfigs.CONFIG_CS_RETRY);
}
/**
* Check is carrier one supported or not
*/
public static boolean isCarrierOneSupported() {
return CARRIER_ONE_DEFAULT_MCC_MNC.equals(SystemProperties.get(
PROPERTY_RADIO_ATEL_CARRIER));
}
/**
* Returns true if config flag is enabled.
*/
@@ -172,6 +203,10 @@ public class QtiImsExtUtils {
QtiCarrierConfigs.HIDE_PREVIEW_IN_VT_CONFERENCE);
}
public static boolean shallRemoveModifyCallCapability(Context context) {
return isCarrierConfigEnabled(context, QtiCarrierConfigs.REMOVE_MODIFY_CALL_CAPABILITY);
}
private static PersistableBundle getConfigForDefaultImsPhoneId(Context context) {
return getConfigForPhoneId(context, getImsPhoneId());
}