From 5aec2e957365f20b2e75d3b8c7034e3289729b81 Mon Sep 17 00:00:00 2001 From: Rekha Kumar Date: Tue, 24 Mar 2015 11:00:34 -0700 Subject: 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 --- src/java/com/android/ims/internal/ImsCallSession.java | 18 ++++++++++++++++++ .../com/android/ims/internal/ImsVideoCallProvider.java | 16 +++++++++++++--- .../ims/internal/ImsVideoCallProviderWrapper.java | 15 ++++++++++++--- 3 files changed, 43 insertions(+), 6 deletions(-) (limited to 'src/java/com/android/ims/internal') 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; @@ -501,6 +502,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. * 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 +} -- cgit v1.2.3