IMS: Support Video Online Service
- Handle video online service elements:
Add new VosActionInfo class.
Add new VosMoveInfo class.
Add new VosTouchInfo class.
Add new Coordinate2D class.
- Introduce new request and response api to send vos support status.
- Introduce new request and response api to send vos action info.
- Add new extra to provide isVosSupported to upper layer.
- Add carrier config to control vos feature for carriers.
Change-Id: I09a7b15cbd7788fb74ecbf40842ad6607d816cd5
CRs-Fixed: 3380218
diff --git a/ims/ims-ext-common/src/org/codeaurora/ims/Coordinate2D.aidl b/ims/ims-ext-common/src/org/codeaurora/ims/Coordinate2D.aidl
new file mode 100644
index 0000000..8ffc0c4
--- /dev/null
+++ b/ims/ims-ext-common/src/org/codeaurora/ims/Coordinate2D.aidl
@@ -0,0 +1,8 @@
+/*
+ * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
+ * SPDX-License-Identifier: BSD-3-Clause-Clear.
+ */
+
+package org.codeaurora.ims;
+
+parcelable Coordinate2D;
diff --git a/ims/ims-ext-common/src/org/codeaurora/ims/Coordinate2D.java b/ims/ims-ext-common/src/org/codeaurora/ims/Coordinate2D.java
new file mode 100644
index 0000000..251366a
--- /dev/null
+++ b/ims/ims-ext-common/src/org/codeaurora/ims/Coordinate2D.java
@@ -0,0 +1,71 @@
+/*
+ * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
+ * SPDX-License-Identifier: BSD-3-Clause-Clear.
+ */
+
+package org.codeaurora.ims;
+
+import android.os.Parcel;
+import android.os.Parcelable;
+
+/**
+ * Parcelable object to handle Coordinate2D info
+ * @hide
+ */
+
+public class Coordinate2D implements Parcelable {
+
+ private int mX;
+ private int mY;
+
+ public Coordinate2D(int x, int y) {
+ mX = x;
+ mY = y;
+ }
+
+ public Coordinate2D(Parcel in) {
+ readFromParcel(in);
+ }
+
+ public int getX() {
+ return mX;
+ }
+
+ public int getY() {
+ return mY;
+ }
+
+ @Override
+ public void writeToParcel(Parcel dest, int flag) {
+ dest.writeInt(mX);
+ dest.writeInt(mY);
+ }
+
+ public void readFromParcel(Parcel in) {
+ mX = in.readInt();
+ mY = in.readInt();
+ }
+
+ @Override
+ public int describeContents() {
+ return 0;
+ }
+
+
+ public static final Creator<Coordinate2D> CREATOR =
+ new Creator<Coordinate2D>() {
+ @Override
+ public Coordinate2D createFromParcel(Parcel in) {
+ return new Coordinate2D(in);
+ }
+
+ @Override
+ public Coordinate2D[] newArray(int size) {
+ return new Coordinate2D[size];
+ }
+ };
+
+ public String toString() {
+ return ("{Coordinate2D: " + "x = " + mX + " , y = " + mY + "}");
+ }
+}
diff --git a/ims/ims-ext-common/src/org/codeaurora/ims/QtiCallConstants.java b/ims/ims-ext-common/src/org/codeaurora/ims/QtiCallConstants.java
index b52efde..b6c0002 100755
--- a/ims/ims-ext-common/src/org/codeaurora/ims/QtiCallConstants.java
+++ b/ims/ims-ext-common/src/org/codeaurora/ims/QtiCallConstants.java
@@ -27,7 +27,7 @@
*
* Changes from Qualcomm Innovation Center are provided under the following license:
*
- * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
+ * Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted (subject to the limitations in the
@@ -553,4 +553,7 @@
// Data Channel call information
public static final String EXTRA_DATA_CHANNEL_MODEM_CALL_ID = "modemCallId";
public static final String EXTRA_IS_DATA_CHANNEL_CALL = "isDcCall";
+
+ // Video online service
+ public static final String EXTRA_VIDEO_ONLINE_SERVICE_SUPPORTED = "isVosSupported";
}
diff --git a/ims/ims-ext-common/src/org/codeaurora/ims/QtiCarrierConfigs.java b/ims/ims-ext-common/src/org/codeaurora/ims/QtiCarrierConfigs.java
index ebdc1b6..543aaab 100755
--- a/ims/ims-ext-common/src/org/codeaurora/ims/QtiCarrierConfigs.java
+++ b/ims/ims-ext-common/src/org/codeaurora/ims/QtiCarrierConfigs.java
@@ -27,7 +27,7 @@
*
* Changes from Qualcomm Innovation Center are provided under the following license:
*
- * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
+ * Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted (subject to the limitations in the
@@ -145,25 +145,25 @@
"allow_one_way_accept_video_call";
/* Config to determine if Carrier supports call composer
- * true - if call composer is support else false
+ * true - if call composer is supported else false
*/
public static final String KEY_CARRIER_CALL_COMPOSER_SUPPORTED =
"carrier_call_composer_supported_bool";
/* Config to determine if Carrier supports b2c enriched calling
- * true - if b2c enriched calling is support else false
+ * true - if b2c enriched calling is supported else false
*/
public static final String KEY_CARRIER_B2C_ENRICHED_CALLING_SUPPORTED =
"carrier_b2c_enriched_calling_supported_bool";
/* Config to determine if Carrier supports video CRS
- * true - if video CRS is support else false
+ * true - if video CRS is supported else false
*/
public static final String KEY_CARRIER_VIDEO_CRS_SUPPORTED =
"carrier_video_crs_supported_bool";
/* Config to determine if Carrier supports video CRBT
- * true - if video CRBT is support else false
+ * true - if video CRBT is supported else false
*/
public static final String KEY_CARRIER_VIDEO_CRBT_SUPPORTED =
"config_enable_video_crbt";
@@ -199,8 +199,14 @@
"is_private_network";
/* Config to determine if Carrier supports ims data channel
- * true - if data channel is support else false
+ * true - if data channel is supported else false
*/
public static final String KEY_CARRIER_DATA_CHANNEL_SUPPORTED =
"carrier_data_channel_supported_bool";
+
+ /* Config to determine if Carrier supports video online service
+ * true - if video online service is supported else false
+ */
+ public static final String KEY_CARRIER_VIDEO_ONLINE_SERVICE_SUPPORTED =
+ "carrier_video_online_service_supported_bool";
}
diff --git a/ims/ims-ext-common/src/org/codeaurora/ims/QtiImsExtBase.java b/ims/ims-ext-common/src/org/codeaurora/ims/QtiImsExtBase.java
index c63c29d..dee1a72 100644
--- a/ims/ims-ext-common/src/org/codeaurora/ims/QtiImsExtBase.java
+++ b/ims/ims-ext-common/src/org/codeaurora/ims/QtiImsExtBase.java
@@ -24,6 +24,10 @@
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
* IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * Changes from Qualcomm Innovation Center are provided under the following license:
+ * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
+ * SPDX-License-Identifier: BSD-3-Clause-Clear.
*/
package org.codeaurora.ims;
@@ -36,6 +40,7 @@
import org.codeaurora.ims.internal.IImsMultiIdentityInterface;
import org.codeaurora.ims.internal.IImsScreenShareController;
import org.codeaurora.ims.QtiCallConstants;
+import org.codeaurora.ims.VosActionInfo;
/**
* Base implementation for IQtiImsExt.
*/
@@ -196,6 +201,18 @@
public boolean isDataChannelEnabled(int phoneId) {
return onIsDataChannelEnabled(phoneId);
}
+
+ @Override
+ public void sendVosSupportStatus(int phoneId, boolean isVosSupported,
+ IQtiImsExtListener listener) {
+ onSendVosSupportStatus(phoneId, isVosSupported, listener);
+ }
+
+ @Override
+ public void sendVosActionInfo(int phoneId, VosActionInfo vosActionInfo,
+ IQtiImsExtListener listener) {
+ onSendVosActionInfo(phoneId, vosActionInfo, listener);
+ }
};
private QtiImsExtBinder mQtiImsExtBinder;
@@ -319,4 +336,14 @@
// no-op
return false;
}
+
+ protected void onSendVosSupportStatus(int phoneId, boolean isVosSupported,
+ IQtiImsExtListener listener) {
+ // no-op
+ }
+
+ protected void onSendVosActionInfo(int phoneId, VosActionInfo vosActionInfo,
+ IQtiImsExtListener listener) {
+ // no-op
+ }
}
diff --git a/ims/ims-ext-common/src/org/codeaurora/ims/QtiImsExtListenerBaseImpl.java b/ims/ims-ext-common/src/org/codeaurora/ims/QtiImsExtListenerBaseImpl.java
index 0dac915..e0507fa 100644
--- a/ims/ims-ext-common/src/org/codeaurora/ims/QtiImsExtListenerBaseImpl.java
+++ b/ims/ims-ext-common/src/org/codeaurora/ims/QtiImsExtListenerBaseImpl.java
@@ -24,6 +24,10 @@
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
* IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * Changes from Qualcomm Innovation Center are provided under the following license:
+ * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
+ * SPDX-License-Identifier: BSD-3-Clause-Clear.
*/
package org.codeaurora.ims;
@@ -110,5 +114,13 @@
@Override
public void notifyDataChannelCapability(int phoneId, boolean dcCapability) {
}
+
+ @Override
+ public void handleSendVosSupportStatusResponse(int phoneId, int result) {
+ }
+
+ @Override
+ public void handleSendVosActionInfoResponse(int phoneId, int result) {
+ }
}
diff --git a/ims/ims-ext-common/src/org/codeaurora/ims/QtiImsExtManager.java b/ims/ims-ext-common/src/org/codeaurora/ims/QtiImsExtManager.java
index 42eae0d..8e70265 100644
--- a/ims/ims-ext-common/src/org/codeaurora/ims/QtiImsExtManager.java
+++ b/ims/ims-ext-common/src/org/codeaurora/ims/QtiImsExtManager.java
@@ -24,6 +24,10 @@
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
* IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * Changes from Qualcomm Innovation Center are provided under the following license:
+ * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
+ * SPDX-License-Identifier: BSD-3-Clause-Clear.
*/
package org.codeaurora.ims;
@@ -451,4 +455,24 @@
throw new QtiImsException("Remote ImsService isDataChannelEnabled: " + e);
}
}
+
+ public void sendVosSupportStatus(int phoneId, boolean isVosSupported,
+ IQtiImsExtListener listener) throws QtiImsException {
+ validateInvariants(phoneId);
+ try {
+ mQtiImsExt.sendVosSupportStatus(phoneId, isVosSupported, listener);
+ } catch (RemoteException e) {
+ throw new QtiImsException("Remote ImsService sendVosSupportStatus: " + e);
+ }
+ }
+
+ public void sendVosActionInfo(int phoneId, VosActionInfo vosActionInfo,
+ IQtiImsExtListener listener) throws QtiImsException {
+ validateInvariants(phoneId);
+ try {
+ mQtiImsExt.sendVosActionInfo(phoneId, vosActionInfo, listener);
+ } catch (RemoteException e) {
+ throw new QtiImsException("Remote ImsService sendVosActionInfo: " + e);
+ }
+ }
}
diff --git a/ims/ims-ext-common/src/org/codeaurora/ims/VosActionInfo.aidl b/ims/ims-ext-common/src/org/codeaurora/ims/VosActionInfo.aidl
new file mode 100644
index 0000000..27fac40
--- /dev/null
+++ b/ims/ims-ext-common/src/org/codeaurora/ims/VosActionInfo.aidl
@@ -0,0 +1,8 @@
+/*
+ * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
+ * SPDX-License-Identifier: BSD-3-Clause-Clear.
+ */
+
+package org.codeaurora.ims;
+
+parcelable VosActionInfo;
diff --git a/ims/ims-ext-common/src/org/codeaurora/ims/VosActionInfo.java b/ims/ims-ext-common/src/org/codeaurora/ims/VosActionInfo.java
new file mode 100644
index 0000000..18e3648
--- /dev/null
+++ b/ims/ims-ext-common/src/org/codeaurora/ims/VosActionInfo.java
@@ -0,0 +1,85 @@
+/*
+ * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
+ * SPDX-License-Identifier: BSD-3-Clause-Clear.
+ */
+
+package org.codeaurora.ims;
+
+import android.os.Parcel;
+import android.os.Parcelable;
+
+import org.codeaurora.ims.VosMoveInfo;
+import org.codeaurora.ims.VosTouchInfo;
+
+/**
+ * Parcelable object to handle VosActionInfo info
+ * @hide
+ */
+
+public class VosActionInfo implements Parcelable {
+ public static final VosMoveInfo INVALID_MOVEINFO = null;
+ public static final VosTouchInfo INVALID_TOUCHINFO = null;
+
+ private VosMoveInfo mVosMoveInfo;
+ private VosTouchInfo mVosTouchInfo;
+
+ public VosActionInfo(VosMoveInfo vosMoveInfo, VosTouchInfo vosTouchInfo) {
+ mVosMoveInfo = vosMoveInfo;
+ mVosTouchInfo = vosTouchInfo;
+ }
+
+ public VosActionInfo(VosTouchInfo vosTouchInfo) {
+ this(INVALID_MOVEINFO, vosTouchInfo);
+ }
+
+ public VosActionInfo(VosMoveInfo vosMoveInfo) {
+ this(vosMoveInfo, INVALID_TOUCHINFO);
+ }
+
+ public VosActionInfo(Parcel in) {
+ readFromParcel(in);
+ }
+
+ public VosMoveInfo getVosMoveInfo() {
+ return mVosMoveInfo;
+ }
+
+ public VosTouchInfo getVosTouchInfo() {
+ return mVosTouchInfo;
+ }
+
+ @Override
+ public void writeToParcel(Parcel dest, int flag) {
+ dest.writeParcelable(mVosMoveInfo, flag);
+ dest.writeParcelable(mVosTouchInfo, flag);
+ }
+
+ public void readFromParcel(Parcel in) {
+ mVosMoveInfo = in.readParcelable(VosMoveInfo.class.getClassLoader());
+ mVosTouchInfo = in.readParcelable(VosTouchInfo.class.getClassLoader());
+ }
+
+ @Override
+ public int describeContents() {
+ return 0;
+ }
+
+
+ public static final Creator<VosActionInfo> CREATOR =
+ new Creator<VosActionInfo>() {
+ @Override
+ public VosActionInfo createFromParcel(Parcel in) {
+ return new VosActionInfo(in);
+ }
+
+ @Override
+ public VosActionInfo[] newArray(int size) {
+ return new VosActionInfo[size];
+ }
+ };
+
+ public String toString() {
+ return ("{VosActionInfo: " + "vosMoveInfo = " +
+ mVosMoveInfo + " , vosTouchInfo = " + mVosTouchInfo + "}");
+ }
+}
diff --git a/ims/ims-ext-common/src/org/codeaurora/ims/VosMoveInfo.aidl b/ims/ims-ext-common/src/org/codeaurora/ims/VosMoveInfo.aidl
new file mode 100644
index 0000000..db84d92
--- /dev/null
+++ b/ims/ims-ext-common/src/org/codeaurora/ims/VosMoveInfo.aidl
@@ -0,0 +1,8 @@
+/*
+ * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
+ * SPDX-License-Identifier: BSD-3-Clause-Clear.
+ */
+
+package org.codeaurora.ims;
+
+parcelable VosMoveInfo;
diff --git a/ims/ims-ext-common/src/org/codeaurora/ims/VosMoveInfo.java b/ims/ims-ext-common/src/org/codeaurora/ims/VosMoveInfo.java
new file mode 100644
index 0000000..ae4316a
--- /dev/null
+++ b/ims/ims-ext-common/src/org/codeaurora/ims/VosMoveInfo.java
@@ -0,0 +1,73 @@
+/*
+ * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
+ * SPDX-License-Identifier: BSD-3-Clause-Clear.
+ */
+
+package org.codeaurora.ims;
+
+import android.os.Parcel;
+import android.os.Parcelable;
+
+import org.codeaurora.ims.Coordinate2D;
+
+/**
+ * Parcelable object to handle VosMoveInfo info
+ * @hide
+ */
+
+public class VosMoveInfo implements Parcelable {
+
+ private Coordinate2D mStart;
+ private Coordinate2D mEnd;
+
+ public VosMoveInfo(Coordinate2D start, Coordinate2D end) {
+ mStart = start;
+ mEnd = end;
+ }
+
+ public VosMoveInfo(Parcel in) {
+ readFromParcel(in);
+ }
+
+ public Coordinate2D getStart() {
+ return mStart;
+ }
+
+ public Coordinate2D getEnd() {
+ return mEnd;
+ }
+
+ @Override
+ public void writeToParcel(Parcel dest, int flag) {
+ dest.writeParcelable(mStart, flag);
+ dest.writeParcelable(mEnd, flag);
+ }
+
+ public void readFromParcel(Parcel in) {
+ mStart = in.readParcelable(Coordinate2D.class.getClassLoader());
+ mEnd = in.readParcelable(Coordinate2D.class.getClassLoader());
+ }
+
+ @Override
+ public int describeContents() {
+ return 0;
+ }
+
+
+ public static final Creator<VosMoveInfo> CREATOR =
+ new Creator<VosMoveInfo>() {
+ @Override
+ public VosMoveInfo createFromParcel(Parcel in) {
+ return new VosMoveInfo(in);
+ }
+
+ @Override
+ public VosMoveInfo[] newArray(int size) {
+ return new VosMoveInfo[size];
+ }
+ };
+
+ public String toString() {
+ return ("{VosMoveInfo: " + "start = " + mStart + " , end = " + mEnd + "}");
+ }
+}
diff --git a/ims/ims-ext-common/src/org/codeaurora/ims/VosTouchInfo.aidl b/ims/ims-ext-common/src/org/codeaurora/ims/VosTouchInfo.aidl
new file mode 100644
index 0000000..1807cab
--- /dev/null
+++ b/ims/ims-ext-common/src/org/codeaurora/ims/VosTouchInfo.aidl
@@ -0,0 +1,8 @@
+/*
+ * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
+ * SPDX-License-Identifier: BSD-3-Clause-Clear.
+ */
+
+package org.codeaurora.ims;
+
+parcelable VosTouchInfo;
diff --git a/ims/ims-ext-common/src/org/codeaurora/ims/VosTouchInfo.java b/ims/ims-ext-common/src/org/codeaurora/ims/VosTouchInfo.java
new file mode 100644
index 0000000..46e518c
--- /dev/null
+++ b/ims/ims-ext-common/src/org/codeaurora/ims/VosTouchInfo.java
@@ -0,0 +1,75 @@
+/*
+ * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
+ * SPDX-License-Identifier: BSD-3-Clause-Clear.nd
+ */
+
+package org.codeaurora.ims;
+
+import android.os.Parcel;
+import android.os.Parcelable;
+
+import org.codeaurora.ims.Coordinate2D;
+
+/**
+ * Parcelable object to handle VosTouchInfo info
+ * @hide
+ */
+
+public class VosTouchInfo implements Parcelable {
+
+ private Coordinate2D mTouch;
+ // Milliseconds
+ private int mTouchDuration;
+
+ public VosTouchInfo(Coordinate2D touch, int touchDuration) {
+ mTouch = touch;
+ mTouchDuration = touchDuration;
+ }
+
+ public VosTouchInfo(Parcel in) {
+ readFromParcel(in);
+ }
+
+ public Coordinate2D getTouch() {
+ return mTouch;
+ }
+
+ public int getTouchDuration() {
+ return mTouchDuration;
+ }
+
+ @Override
+ public void writeToParcel(Parcel dest, int flag) {
+ dest.writeParcelable(mTouch, flag);
+ dest.writeInt(mTouchDuration);
+ }
+
+ public void readFromParcel(Parcel in) {
+ mTouch = in.readParcelable(Coordinate2D.class.getClassLoader());
+ mTouchDuration = in.readInt();
+ }
+
+ @Override
+ public int describeContents() {
+ return 0;
+ }
+
+
+ public static final Creator<VosTouchInfo> CREATOR =
+ new Creator<VosTouchInfo>() {
+ @Override
+ public VosTouchInfo createFromParcel(Parcel in) {
+ return new VosTouchInfo(in);
+ }
+
+ @Override
+ public VosTouchInfo[] newArray(int size) {
+ return new VosTouchInfo[size];
+ }
+ };
+
+ public String toString() {
+ return ("{VosTouchInfo: " + "touch = " +
+ mTouch + " , touchDuration = " + mTouchDuration + "}");
+ }
+}
diff --git a/ims/ims-ext-common/src/org/codeaurora/ims/internal/IQtiImsExt.aidl b/ims/ims-ext-common/src/org/codeaurora/ims/internal/IQtiImsExt.aidl
index 8e960a2..12caa31 100644
--- a/ims/ims-ext-common/src/org/codeaurora/ims/internal/IQtiImsExt.aidl
+++ b/ims/ims-ext-common/src/org/codeaurora/ims/internal/IQtiImsExt.aidl
@@ -24,6 +24,10 @@
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
* IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * Changes from Qualcomm Innovation Center are provided under the following license:
+ * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
+ * SPDX-License-Identifier: BSD-3-Clause-Clear.
*/
package org.codeaurora.ims.internal;
@@ -33,6 +37,7 @@
import org.codeaurora.ims.internal.IQtiImsExtListener;
import org.codeaurora.ims.internal.IImsMultiIdentityInterface;
import org.codeaurora.ims.internal.IImsScreenShareController;
+import org.codeaurora.ims.VosActionInfo;
/**
* Interface through which APP and vendor communicates.
@@ -362,4 +367,28 @@
*@throws RemoteException if calling the IMS service results in an error.
*/
boolean isDataChannelEnabled(int phoneId);
+
+ /**
+ * sendVosSupportStatus
+ * Send video online service status supported
+ *
+ * @param phoneId indicates the phone instance which triggered the request
+ * @param isVosSupported sends whether device supports video online service to lower layer
+ * @param listener an IQtiImsExtListener instance to indicate the response
+ * @return void
+ */
+ oneway void sendVosSupportStatus(int phoneId, boolean isVosSupported,
+ IQtiImsExtListener listener);
+
+ /**
+ * sendVosActionInfo
+ * Send user's action info like touch or move
+ *
+ * @param phoneId indicates the phone instance which triggered the request
+ * @param vosActionInfo sends user's touch or move info to lower layer
+ * @param listener an IQtiImsExtListener instance to indicate the response
+ * @return void
+ */
+ oneway void sendVosActionInfo(int phoneId, in VosActionInfo vosActionInfo,
+ IQtiImsExtListener listener);
}
diff --git a/ims/ims-ext-common/src/org/codeaurora/ims/internal/IQtiImsExtListener.aidl b/ims/ims-ext-common/src/org/codeaurora/ims/internal/IQtiImsExtListener.aidl
index 3d3c73c..55f7359 100644
--- a/ims/ims-ext-common/src/org/codeaurora/ims/internal/IQtiImsExtListener.aidl
+++ b/ims/ims-ext-common/src/org/codeaurora/ims/internal/IQtiImsExtListener.aidl
@@ -24,6 +24,10 @@
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
* IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * Changes from Qualcomm Innovation Center are provided under the following license:
+ * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
+ * SPDX-License-Identifier: BSD-3-Clause-Clear.
*/
package org.codeaurora.ims.internal;
@@ -205,4 +209,24 @@
* @return void.
*/
void notifyDataChannelCapability(int phoneId, boolean dcCapability);
+
+ /**
+ * Notifies client the result of send vos support status
+ *
+ * @param phoneId indicates the phone instance which triggered the request
+ * @param <result> is one of the values QTI_IMS_REQUEST_*, as defined in
+ * <code>org.codeaurora.ims.utils.QtiImsExtUtils.</code>
+ * @return void.
+ */
+ void handleSendVosSupportStatusResponse(int phoneId, int result);
+
+ /**
+ * Notifies client the result of send vos action info
+ *
+ * @param phoneId indicates the phone instance which triggered the request
+ * @param <result> is one of the values QTI_IMS_REQUEST_*, as defined in
+ * <code>org.codeaurora.ims.utils.QtiImsExtUtils.</code>
+ * @return void.
+ */
+ void handleSendVosActionInfoResponse(int phoneId, int result);
}
diff --git a/ims/ims-ext-common/src/org/codeaurora/ims/utils/QtiImsExtUtils.java b/ims/ims-ext-common/src/org/codeaurora/ims/utils/QtiImsExtUtils.java
index 6f482ee..cb7505a 100755
--- a/ims/ims-ext-common/src/org/codeaurora/ims/utils/QtiImsExtUtils.java
+++ b/ims/ims-ext-common/src/org/codeaurora/ims/utils/QtiImsExtUtils.java
@@ -28,7 +28,7 @@
*
* Changes from Qualcomm Innovation Center are provided under the following license:
*
- * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
+ * Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted (subject to the limitations in the
@@ -846,4 +846,10 @@
QtiCallConstants.DATA_CHANNEL + phoneId,
QtiCallConstants.DATA_CHANNEL_DISABLED);
}
+
+ // Returns true if Carrier supports video online service
+ public static boolean isVosSupported(int phoneId, Context context) {
+ return isCarrierConfigEnabled(phoneId, context,
+ QtiCarrierConfigs.KEY_CARRIER_VIDEO_ONLINE_SERVICE_SUPPORTED);
+ }
}