aboutsummaryrefslogtreecommitdiff
path: root/src/java/com/android/ims/internal
diff options
context:
space:
mode:
authorRekha Kumar <rekhak@codeaurora.org>2015-03-24 11:00:34 -0700
committerTyler Gunn <tgunn@google.com>2015-04-02 18:57:55 -0700
commit5aec2e957365f20b2e75d3b8c7034e3289729b81 (patch)
treebd704babeaa799a22fd5450abf396cd8f5858277 /src/java/com/android/ims/internal
parent61d41c1f9ba249bd0df575cc1b551a9e70f54645 (diff)
downloadims-5aec2e957365f20b2e75d3b8c7034e3289729b81.tar.gz
IMS-VT: Fix propagation of device orientation.
Orientation received at VT Service is incorrect. Fixed propagation of device orientation to VT service Notify listeners of video quality changed event - Propagate the video quality changed message. IMS: Add support for video quality - Add Config interface to get/set video quality IMS-VT: Change call data usage parameters Change call data usage methods to take parameter of long type instead of int Change-Id: I543aa082337d437ec7c2bf249bafb9658f34dd1b Propagate the call substate changed message to the UI Change-Id: I695736ccfa4e4446912ba6c3df1713bae6d4486a
Diffstat (limited to 'src/java/com/android/ims/internal')
-rw-r--r--src/java/com/android/ims/internal/ImsCallSession.java18
-rw-r--r--src/java/com/android/ims/internal/ImsVideoCallProvider.java16
-rw-r--r--src/java/com/android/ims/internal/ImsVideoCallProviderWrapper.java15
3 files changed, 43 insertions, 6 deletions
diff --git a/src/java/com/android/ims/internal/ImsCallSession.java b/src/java/com/android/ims/internal/ImsCallSession.java
index 227c6be7..3e3d1df8 100644
--- a/src/java/com/android/ims/internal/ImsCallSession.java
+++ b/src/java/com/android/ims/internal/ImsCallSession.java
@@ -18,6 +18,7 @@ package com.android.ims.internal;
import android.os.Message;
import android.os.RemoteException;
+import android.telecom.Connection;
import com.android.ims.ImsCallProfile;
import com.android.ims.ImsConferenceState;
@@ -502,6 +503,23 @@ public class ImsCallSession {
}
/**
+ * Gets the call substate for this session.
+ *
+ * @return the call substate for this session.
+ */
+ public int getCallSubstate() {
+ if (mClosed) {
+ return Connection.SUBSTATE_NONE;
+ }
+
+ try {
+ return miSession.getCallSubstate();
+ } catch (RemoteException e) {
+ return Connection.SUBSTATE_NONE;
+ }
+ }
+
+ /**
* Gets the value associated with the specified property of this session.
*
* @return the string value associated with the specified property
diff --git a/src/java/com/android/ims/internal/ImsVideoCallProvider.java b/src/java/com/android/ims/internal/ImsVideoCallProvider.java
index 8eb3b275..ae70e924 100644
--- a/src/java/com/android/ims/internal/ImsVideoCallProvider.java
+++ b/src/java/com/android/ims/internal/ImsVideoCallProvider.java
@@ -109,7 +109,7 @@ public abstract class ImsVideoCallProvider {
}
public void setDeviceOrientation(int rotation) {
- mProviderHandler.obtainMessage(MSG_SET_DEVICE_ORIENTATION, rotation).sendToTarget();
+ mProviderHandler.obtainMessage(MSG_SET_DEVICE_ORIENTATION, rotation, 0).sendToTarget();
}
public void setZoom(float value) {
@@ -222,7 +222,7 @@ public abstract class ImsVideoCallProvider {
}
/** @see Connection.VideoProvider#changeCallDataUsage */
- public void changeCallDataUsage(int dataUsage) {
+ public void changeCallDataUsage(long dataUsage) {
if (mCallback != null) {
try {
mCallback.changeCallDataUsage(dataUsage);
@@ -240,4 +240,14 @@ public abstract class ImsVideoCallProvider {
}
}
}
-} \ No newline at end of file
+
+ /** @see Connection.VideoProvider#changeVideoQuality */
+ public void changeVideoQuality(int videoQuality) {
+ if (mCallback != null) {
+ try {
+ mCallback.changeVideoQuality(videoQuality);
+ } catch (RemoteException ignored) {
+ }
+ }
+ }
+}
diff --git a/src/java/com/android/ims/internal/ImsVideoCallProviderWrapper.java b/src/java/com/android/ims/internal/ImsVideoCallProviderWrapper.java
index d4382201..36fb131a 100644
--- a/src/java/com/android/ims/internal/ImsVideoCallProviderWrapper.java
+++ b/src/java/com/android/ims/internal/ImsVideoCallProviderWrapper.java
@@ -46,6 +46,7 @@ public class ImsVideoCallProviderWrapper extends Connection.VideoProvider {
private static final int MSG_CHANGE_PEER_DIMENSIONS = 4;
private static final int MSG_CHANGE_CALL_DATA_USAGE = 5;
private static final int MSG_CHANGE_CAMERA_CAPABILITIES = 6;
+ private static final int MSG_CHANGE_VIDEO_QUALITY = 7;
private final IImsVideoCallProvider mVideoCallProvider;
private final ImsVideoCallCallback mBinder;
@@ -91,7 +92,12 @@ public class ImsVideoCallProviderWrapper extends Connection.VideoProvider {
}
@Override
- public void changeCallDataUsage(int dataUsage) {
+ public void changeVideoQuality(int videoQuality) {
+ mHandler.obtainMessage(MSG_CHANGE_VIDEO_QUALITY, videoQuality, 0).sendToTarget();
+ }
+
+ @Override
+ public void changeCallDataUsage(long dataUsage) {
mHandler.obtainMessage(MSG_CHANGE_CALL_DATA_USAGE, dataUsage).sendToTarget();
}
@@ -137,11 +143,14 @@ public class ImsVideoCallProviderWrapper extends Connection.VideoProvider {
}
break;
case MSG_CHANGE_CALL_DATA_USAGE:
- changeCallDataUsage(msg.arg1);
+ changeCallDataUsage((long) msg.obj);
break;
case MSG_CHANGE_CAMERA_CAPABILITIES:
changeCameraCapabilities((CameraCapabilities) msg.obj);
break;
+ case MSG_CHANGE_VIDEO_QUALITY:
+ changeVideoQuality(msg.arg1);
+ break;
default:
break;
}
@@ -242,4 +251,4 @@ public class ImsVideoCallProviderWrapper extends Connection.VideoProvider {
} catch (RemoteException e) {
}
}
-} \ No newline at end of file
+}