summaryrefslogtreecommitdiffstats
path: root/ims
diff options
context:
space:
mode:
Diffstat (limited to 'ims')
-rw-r--r--ims/src/org/codeaurora/ims/QtiCallConstants.java6
-rw-r--r--ims/src/org/codeaurora/ims/QtiCarrierConfigs.java6
-rw-r--r--ims/src/org/codeaurora/ims/QtiImsExtBase.java16
-rw-r--r--ims/src/org/codeaurora/ims/QtiImsExtListenerBaseImpl.java10
-rw-r--r--ims/src/org/codeaurora/ims/QtiImsExtManager.java25
-rw-r--r--ims/src/org/codeaurora/ims/internal/IQtiImsExt.aidl18
-rw-r--r--ims/src/org/codeaurora/ims/internal/IQtiImsExtListener.aidl10
-rw-r--r--ims/src/org/codeaurora/ims/utils/QtiImsExtUtils.java9
8 files changed, 98 insertions, 2 deletions
diff --git a/ims/src/org/codeaurora/ims/QtiCallConstants.java b/ims/src/org/codeaurora/ims/QtiCallConstants.java
index f52da96..ca662de 100644
--- a/ims/src/org/codeaurora/ims/QtiCallConstants.java
+++ b/ims/src/org/codeaurora/ims/QtiCallConstants.java
@@ -244,6 +244,12 @@ public class QtiCallConstants {
public static final String EXTRA_PHONE_ID = "phoneId";
+ //holds the call fail cause because of which redial is attempted
+ public static final String EXTRA_RETRY_CALL_FAIL_REASON = "RetryCallFailReason";
+ //holds the radiotech on which lower layers may try attempting redial
+ public static final String EXTRA_RETRY_CALL_FAIL_RADIOTECH = "RetryCallFailRadioTech";
+
+
/**
* Whether RTT visibility is on or off
* The value 1 - enable, 0 - disable
diff --git a/ims/src/org/codeaurora/ims/QtiCarrierConfigs.java b/ims/src/org/codeaurora/ims/QtiCarrierConfigs.java
index 32980f7..1386f43 100644
--- a/ims/src/org/codeaurora/ims/QtiCarrierConfigs.java
+++ b/ims/src/org/codeaurora/ims/QtiCarrierConfigs.java
@@ -128,4 +128,10 @@ public class QtiCarrierConfigs {
*/
public static final String KEY_CARRIER_CANCEL_MODIFY_CALL_SUPPORTED =
"support_cancel_modify_call";
+
+ /* Config to determine if carrier supports accepting MT video call as one way
+ * true if user can accept MT video call as one way else false
+ */
+ public static final String ALLOW_ONE_WAY_ACCEPT_FOR_VIDEO_CALL =
+ "allow_one_way_accept_video_call";
}
diff --git a/ims/src/org/codeaurora/ims/QtiImsExtBase.java b/ims/src/org/codeaurora/ims/QtiImsExtBase.java
index 95423ed..9cf2548 100644
--- a/ims/src/org/codeaurora/ims/QtiImsExtBase.java
+++ b/ims/src/org/codeaurora/ims/QtiImsExtBase.java
@@ -157,6 +157,14 @@ public abstract class QtiImsExtBase {
public void setAnswerExtras(int phoneId, Bundle extras) {
onSetAnswerExtras(phoneId, extras);
}
+
+ @Override
+ public void setCallBarring(int phoneId, boolean operationType, String facilityType,
+ String[] cbNumListInfo, String password, int serviceClass,
+ IQtiImsExtListener listener) {
+ onSetCallBarring(phoneId, operationType, facilityType, cbNumListInfo, password,
+ serviceClass, listener);
+ }
};
private QtiImsExtBinder mQtiImsExtBinder;
@@ -250,4 +258,12 @@ public abstract class QtiImsExtBase {
protected void onSetAnswerExtras(int phoneId, Bundle extras) {
// no-op
}
+ /**
+ * To activate/deactive the call barring request with password.
+ */
+ protected void onSetCallBarring(int phoneId, boolean operationType, String facilityType,
+ String[] cbNumListInfo, String password, int serviceClass,
+ IQtiImsExtListener listener) {
+ // no-op
+ }
}
diff --git a/ims/src/org/codeaurora/ims/QtiImsExtListenerBaseImpl.java b/ims/src/org/codeaurora/ims/QtiImsExtListenerBaseImpl.java
index daf9779..170cd04 100644
--- a/ims/src/org/codeaurora/ims/QtiImsExtListenerBaseImpl.java
+++ b/ims/src/org/codeaurora/ims/QtiImsExtListenerBaseImpl.java
@@ -1,4 +1,4 @@
-/* Copyright (c) 2015-2017, The Linux Foundation. All rights reserved.
+/* Copyright (c) 2015-2017, 2019 The Linux Foundation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
@@ -97,5 +97,13 @@ public class QtiImsExtListenerBaseImpl extends IQtiImsExtListener.Stub {
public void onUssdFailed(int phoneId, int type, int errorCode,
String errorMessage) {
}
+
+ /**
+ * This API is invoked when setCallBarring with password is success to notify to clients.
+ * onUTReqFailed API will be invoked in case of any failure in setCallBarring with password.
+ */
+ @Override
+ public void onSetCallBarring() {
+ }
}
diff --git a/ims/src/org/codeaurora/ims/QtiImsExtManager.java b/ims/src/org/codeaurora/ims/QtiImsExtManager.java
index 908bf68..5f416db 100644
--- a/ims/src/org/codeaurora/ims/QtiImsExtManager.java
+++ b/ims/src/org/codeaurora/ims/QtiImsExtManager.java
@@ -352,6 +352,31 @@ public class QtiImsExtManager {
}
}
+ /**
+ * Used by clients to activate/deactivate call barring with password over IMS pipe.
+ *
+ * @param phoneId indicates the phone instance which triggered the request
+ * @param operationType is false (CommandsInterface.CF_ACTION_ENABLE) or
+ true (CommandsInterface.CF_ACTION_DISABLE)
+ * @param facilityType type of operation same as @link ImsUtInterface.CB_*
+ * @param cbNumListInfo ICB number list
+ * @param password Password to activate/deactivate the call barring.
+ * @param serviceClass service class for call barring @link CommandsInterface.SERVICE_CLASS*
+ * @param listener an IQtiImsExtListener instance to indicate the response
+ * @return void
+ */
+ public void setCallBarring(int phoneId, boolean operationType, String facilityType,
+ String[] cbNumListInfo, String password, int serviceClass, IQtiImsExtListener listener)
+ throws QtiImsException {
+ validateInvariants(phoneId);
+ try {
+ mQtiImsExt.setCallBarring(phoneId, operationType, facilityType, cbNumListInfo, password,
+ serviceClass, listener);
+ } catch(RemoteException e) {
+ throw new QtiImsException("Remote ImsService setCallBarring: " + e);
+ }
+ }
+
/*package private*/
void validateInvariants(int phoneId) throws QtiImsException {
checkBinder();
diff --git a/ims/src/org/codeaurora/ims/internal/IQtiImsExt.aidl b/ims/src/org/codeaurora/ims/internal/IQtiImsExt.aidl
index 1b756ef..c5feddf 100644
--- a/ims/src/org/codeaurora/ims/internal/IQtiImsExt.aidl
+++ b/ims/src/org/codeaurora/ims/internal/IQtiImsExt.aidl
@@ -285,4 +285,22 @@ interface IQtiImsExt {
* @return void
*/
oneway void setUssdInfoListener(int phoneId, IQtiImsExtListener listener);
+
+ /**
+ * setCallBarring
+ * Set call barring operation with password support
+ *
+ * @param phoneId indicates the phone instance which triggered the request
+ * @param operationType is false (CommandsInterface.CF_ACTION_ENABLE) or
+ true (CommandsInterface.CF_ACTION_DISABLE)
+ * @param facilityType type of operation same as @link ImsUtInterface.CB_*
+ * @param cbNumListInfo ICB number list
+ * @param password Password to activate/deactivate the call barring.
+ * @param serviceClass service class for call barring @link CommandsInterface.SERVICE_CLASS*
+ * @param listener an IQtiImsExtListener instance to indicate the response
+ * @return void
+ */
+ oneway void setCallBarring(int phoneId, boolean operationType, String facilityType,
+ in String[] cbNumListInfo, String password, int serviceClass,
+ IQtiImsExtListener listener);
}
diff --git a/ims/src/org/codeaurora/ims/internal/IQtiImsExtListener.aidl b/ims/src/org/codeaurora/ims/internal/IQtiImsExtListener.aidl
index a72a593..24f1739 100644
--- a/ims/src/org/codeaurora/ims/internal/IQtiImsExtListener.aidl
+++ b/ims/src/org/codeaurora/ims/internal/IQtiImsExtListener.aidl
@@ -1,4 +1,4 @@
-/* Copyright (c) 2015-2016, The Linux Foundation. All rights reserved.
+/* Copyright (c) 2015-2016, 2019 The Linux Foundation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
@@ -189,4 +189,12 @@ oneway interface IQtiImsExtListener {
*
*/
void onUssdFailed(int phoneId, int type, int errorCode, String errorMessage);
+
+ /**
+ * Notifies client that setCallBarring operation is success.
+ *
+ * onUTReqFailed API will be invoked in case of any failure in setCallBarring with password.
+ * @return void
+ */
+ void onSetCallBarring();
}
diff --git a/ims/src/org/codeaurora/ims/utils/QtiImsExtUtils.java b/ims/src/org/codeaurora/ims/utils/QtiImsExtUtils.java
index b997c94..3b14cd2 100644
--- a/ims/src/org/codeaurora/ims/utils/QtiImsExtUtils.java
+++ b/ims/src/org/codeaurora/ims/utils/QtiImsExtUtils.java
@@ -113,6 +113,10 @@ public class QtiImsExtUtils {
*/
public static final String EXTRA_SSAC = "Ssac";
+ /* @Deprecated
+ * Use SubscriptionManager.EXTRA_SUBSCRIPTION_INDEX
+ * as key to carry sub id value instead
+ */
public static final String SUBSCRIPTION_ID = "subId";
/**
@@ -669,4 +673,9 @@ public class QtiImsExtUtils {
QtiCallConstants.IMS_AUTO_REJECT + phoneId,
QtiCallConstants.AUTO_REJECT_CALL_DISABLED);
}
+
+ public static boolean canAcceptAsOneWayVideo(int phoneId, Context context) {
+ return (isCarrierConfigEnabled(phoneId, context,
+ QtiCarrierConfigs.ALLOW_ONE_WAY_ACCEPT_FOR_VIDEO_CALL));
+ }
}