summaryrefslogtreecommitdiffstats
path: root/telecomm
diff options
context:
space:
mode:
authorAndrew Lee <anwlee@google.com>2014-06-30 12:46:35 -0700
committerAndrew Lee <anwlee@google.com>2014-07-01 13:28:56 -0700
commita5736291bd5e1b953beabff8aadc6be2fc7a6f6d (patch)
treed3011a76d1d5e90c6cead578be83b4fe1237d30f /telecomm
parentc3182c557396cb7ac149fd2dba36ac779b809263 (diff)
downloadframeworks_base-a5736291bd5e1b953beabff8aadc6be2fc7a6f6d.zip
frameworks_base-a5736291bd5e1b953beabff8aadc6be2fc7a6f6d.tar.gz
frameworks_base-a5736291bd5e1b953beabff8aadc6be2fc7a6f6d.tar.bz2
Add function set CallVideoClient on the CallVideoProvider.
- Added implementation of RemoteCallVideoClient. - Filled out the proxy methods on RemoteCallVideoProvider. - Renamed methods on CallVideoClient/CallVideoProvider. Per Santos's advice, this is to distinguish between the methods handling remote communication, and the actual implementation of those methods. Bug: 15893156 Change-Id: I5f433db1faa820dc96913091ce09938ddf40ffdd
Diffstat (limited to 'telecomm')
-rw-r--r--telecomm/java/android/telecomm/CallVideoClient.java73
-rw-r--r--telecomm/java/android/telecomm/CallVideoProvider.java97
-rw-r--r--telecomm/java/android/telecomm/RemoteCallVideoClient.java65
-rw-r--r--telecomm/java/android/telecomm/RemoteCallVideoProvider.java50
-rw-r--r--telecomm/java/com/android/internal/telecomm/ICallVideoClient.aidl12
-rw-r--r--telecomm/java/com/android/internal/telecomm/ICallVideoProvider.aidl4
6 files changed, 216 insertions, 85 deletions
diff --git a/telecomm/java/android/telecomm/CallVideoClient.java b/telecomm/java/android/telecomm/CallVideoClient.java
index 9e3c48d..76b28fa 100644
--- a/telecomm/java/android/telecomm/CallVideoClient.java
+++ b/telecomm/java/android/telecomm/CallVideoClient.java
@@ -17,6 +17,7 @@
package android.telecomm;
import android.os.Handler;
+import android.os.IBinder;
import android.os.Looper;
import android.os.Message;
@@ -66,22 +67,22 @@ public abstract class CallVideoClient {
*/
public static final int SESSION_MODIFY_REQUEST_INVALID = 3;
- private static final int MSG_ON_RECEIVE_SESSION_MODIFY_REQUEST = 1;
- private static final int MSG_ON_RECEIVE_SESSION_MODIFY_RESPONSE = 2;
- private static final int MSG_ON_CALL_SESSION_EVENT = 3;
- private static final int MSG_ON_UPDATED_PEER_DIMENSIONS = 4;
- private static final int MSG_ON_UPDATE_CALL_DATA_USAGE = 5;
- private static final int MSG_ON_CAMERA_CAPABILITIES_CHANGE = 6;
+ private static final int MSG_RECEIVE_SESSION_MODIFY_REQUEST = 1;
+ private static final int MSG_RECEIVE_SESSION_MODIFY_RESPONSE = 2;
+ private static final int MSG_HANDLE_CALL_SESSION_EVENT = 3;
+ private static final int MSG_UPDATE_PEER_DIMENSIONS = 4;
+ private static final int MSG_UPDATE_CALL_DATA_USAGE = 5;
+ private static final int MSG_HANDLE_CAMERA_CAPABILITIES_CHANGE = 6;
/** Default Handler used to consolidate binder method calls onto a single thread. */
private final Handler mHandler = new Handler(Looper.getMainLooper()) {
@Override
public void handleMessage(Message msg) {
switch (msg.what) {
- case MSG_ON_RECEIVE_SESSION_MODIFY_REQUEST:
+ case MSG_RECEIVE_SESSION_MODIFY_REQUEST:
onReceiveSessionModifyRequest((VideoCallProfile) msg.obj);
break;
- case MSG_ON_RECEIVE_SESSION_MODIFY_RESPONSE: {
+ case MSG_RECEIVE_SESSION_MODIFY_RESPONSE: {
SomeArgs args = (SomeArgs) msg.obj;
try {
int status = (int) args.arg1;
@@ -95,25 +96,25 @@ public abstract class CallVideoClient {
}
break;
}
- case MSG_ON_CALL_SESSION_EVENT:
- onCallSessionEvent((int) msg.obj);
+ case MSG_HANDLE_CALL_SESSION_EVENT:
+ onHandleCallSessionEvent((int) msg.obj);
break;
- case MSG_ON_UPDATED_PEER_DIMENSIONS: {
+ case MSG_UPDATE_PEER_DIMENSIONS: {
SomeArgs args = (SomeArgs) msg.obj;
try {
int width = (int) args.arg1;
int height = (int) args.arg2;
- onUpdatedPeerDimensions(width, height);
+ onUpdatePeerDimensions(width, height);
} finally {
args.recycle();
}
break;
}
- case MSG_ON_UPDATE_CALL_DATA_USAGE:
+ case MSG_UPDATE_CALL_DATA_USAGE:
onUpdateCallDataUsage(msg.arg1);
break;
- case MSG_ON_CAMERA_CAPABILITIES_CHANGE:
- onCameraCapabilitiesChange((CallCameraCapabilities) msg.obj);
+ case MSG_HANDLE_CAMERA_CAPABILITIES_CHANGE:
+ onHandleCameraCapabilitiesChange((CallCameraCapabilities) msg.obj);
break;
default:
break;
@@ -126,42 +127,42 @@ public abstract class CallVideoClient {
*/
private final class CallVideoClientBinder extends ICallVideoClient.Stub {
@Override
- public void onReceiveSessionModifyRequest(VideoCallProfile videoCallProfile) {
- mHandler.obtainMessage(MSG_ON_RECEIVE_SESSION_MODIFY_REQUEST,
+ public void receiveSessionModifyRequest(VideoCallProfile videoCallProfile) {
+ mHandler.obtainMessage(MSG_RECEIVE_SESSION_MODIFY_REQUEST,
videoCallProfile).sendToTarget();
}
@Override
- public void onReceiveSessionModifyResponse(int status,
+ public void receiveSessionModifyResponse(int status,
VideoCallProfile requestProfile, VideoCallProfile responseProfile) {
SomeArgs args = SomeArgs.obtain();
args.arg1 = status;
args.arg2 = requestProfile;
args.arg3 = responseProfile;
- mHandler.obtainMessage(MSG_ON_RECEIVE_SESSION_MODIFY_RESPONSE, args).sendToTarget();
+ mHandler.obtainMessage(MSG_RECEIVE_SESSION_MODIFY_RESPONSE, args).sendToTarget();
}
@Override
- public void onCallSessionEvent(int event) {
- mHandler.obtainMessage(MSG_ON_CALL_SESSION_EVENT, event).sendToTarget();
+ public void handleCallSessionEvent(int event) {
+ mHandler.obtainMessage(MSG_HANDLE_CALL_SESSION_EVENT, event).sendToTarget();
}
@Override
- public void onUpdatedPeerDimensions(int width, int height) {
+ public void updatePeerDimensions(int width, int height) {
SomeArgs args = SomeArgs.obtain();
args.arg1 = width;
args.arg2 = height;
- mHandler.obtainMessage(MSG_ON_UPDATED_PEER_DIMENSIONS, args).sendToTarget();
+ mHandler.obtainMessage(MSG_UPDATE_PEER_DIMENSIONS, args).sendToTarget();
}
@Override
- public void onUpdateCallDataUsage(int dataUsage) {
- mHandler.obtainMessage(MSG_ON_UPDATE_CALL_DATA_USAGE, dataUsage).sendToTarget();
+ public void updateCallDataUsage(int dataUsage) {
+ mHandler.obtainMessage(MSG_UPDATE_CALL_DATA_USAGE, dataUsage).sendToTarget();
}
@Override
- public void onCameraCapabilitiesChange(CallCameraCapabilities cameraCapabilities) {
- mHandler.obtainMessage(MSG_ON_CAMERA_CAPABILITIES_CHANGE,
+ public void handleCameraCapabilitiesChange(CallCameraCapabilities cameraCapabilities) {
+ mHandler.obtainMessage(MSG_HANDLE_CAMERA_CAPABILITIES_CHANGE,
cameraCapabilities).sendToTarget();
}
}
@@ -173,21 +174,19 @@ public abstract class CallVideoClient {
}
/**
- * Retrieves the binder.
- *
- * @return The binder.
+ * Returns binder object which can be used across IPC methods.
* @hide
*/
- public final CallVideoClientBinder getBinder() {
+ public final IBinder getBinder() {
return mBinder;
}
/**
* Called when a session modification request is received from the remote device.
- * The remote request is sent via {@link CallVideoProvider#sendSessionModifyRequest}.
+ * The remote request is sent via {@link CallVideoProvider#onSendSessionModifyRequest}.
* The InCall UI is responsible for potentially prompting the user whether they wish to accept
* the new call profile (e.g. prompt user if they wish to accept an upgrade from an audio to a
- * video call) and should call {@link CallVideoProvider#sendSessionModifyResponse} to indicate
+ * video call) and should call {@link CallVideoProvider#onSendSessionModifyResponse} to indicate
* the video settings the user has agreed to.
*
* @param videoCallProfile The requested video call profile.
@@ -197,7 +196,7 @@ public abstract class CallVideoClient {
/**
* Called when a response to a session modification request is received from the remote device.
* The remote InCall UI sends the response using
- * {@link CallVideoProvider#sendSessionModifyResponse}.
+ * {@link CallVideoProvider#onSendSessionModifyResponse}.
*
* @param status Status of the session modify request. Valid values are
* {@link CallVideoClient#SESSION_MODIFY_REQUEST_SUCCESS},
@@ -219,7 +218,7 @@ public abstract class CallVideoClient {
*
* @param event The event.
*/
- public abstract void onCallSessionEvent(int event);
+ public abstract void onHandleCallSessionEvent(int event);
/**
* Handles a change to the video dimensions from the remote caller (peer). This could happen
@@ -228,7 +227,7 @@ public abstract class CallVideoClient {
* @param width The updated peer video width.
* @param height The updated peer video height.
*/
- public abstract void onUpdatedPeerDimensions(int width, int height);
+ public abstract void onUpdatePeerDimensions(int width, int height);
/**
* Handles an update to the total data used for the current session.
@@ -242,6 +241,6 @@ public abstract class CallVideoClient {
*
* @param callCameraCapabilities The changed camera capabilities.
*/
- public abstract void onCameraCapabilitiesChange(CallCameraCapabilities callCameraCapabilities);
+ public abstract void onHandleCameraCapabilitiesChange(CallCameraCapabilities callCameraCapabilities);
}
diff --git a/telecomm/java/android/telecomm/CallVideoProvider.java b/telecomm/java/android/telecomm/CallVideoProvider.java
index 2f16112..2a04724 100644
--- a/telecomm/java/android/telecomm/CallVideoProvider.java
+++ b/telecomm/java/android/telecomm/CallVideoProvider.java
@@ -17,22 +17,26 @@
package android.telecomm;
import android.os.Handler;
+import android.os.IBinder;
import android.os.Message;
+import android.os.RemoteException;
import android.view.Surface;
+import com.android.internal.telecomm.ICallVideoClient;
import com.android.internal.telecomm.ICallVideoProvider;
public abstract class CallVideoProvider {
- private static final int MSG_SET_CAMERA = 1;
- private static final int MSG_SET_PREVIEW_SURFACE = 2;
- private static final int MSG_SET_DISPLAY_SURFACE = 3;
- private static final int MSG_SET_DEVICE_ORIENTATION = 4;
- private static final int MSG_SET_ZOOM = 5;
- private static final int MSG_SEND_SESSION_MODIFY_REQUEST = 6;
- private static final int MSG_SEND_SESSION_MODIFY_RESPONSE = 7;
- private static final int MSG_REQUEST_CAMERA_CAPABILITIES = 8;
- private static final int MSG_REQUEST_CALL_DATA_USAGE = 9;
- private static final int MSG_SET_PAUSE_IMAGE = 10;
+ private static final int MSG_SET_CALL_VIDEO_CLIENT = 1;
+ private static final int MSG_SET_CAMERA = 2;
+ private static final int MSG_SET_PREVIEW_SURFACE = 3;
+ private static final int MSG_SET_DISPLAY_SURFACE = 4;
+ private static final int MSG_SET_DEVICE_ORIENTATION = 5;
+ private static final int MSG_SET_ZOOM = 6;
+ private static final int MSG_SEND_SESSION_MODIFY_REQUEST = 7;
+ private static final int MSG_SEND_SESSION_MODIFY_RESPONSE = 8;
+ private static final int MSG_REQUEST_CAMERA_CAPABILITIES = 9;
+ private static final int MSG_REQUEST_CALL_DATA_USAGE = 10;
+ private static final int MSG_SET_PAUSE_IMAGE = 11;
/**
* Default handler used to consolidate binder method calls onto a single thread.
@@ -41,35 +45,45 @@ public abstract class CallVideoProvider {
@Override
public void handleMessage(Message msg) {
switch (msg.what) {
+ case MSG_SET_CALL_VIDEO_CLIENT:
+ try {
+ ICallVideoClient callVideoClient =
+ ICallVideoClient.Stub.asInterface((IBinder) msg.obj);
+ RemoteCallVideoClient remoteCallVideoClient =
+ new RemoteCallVideoClient(callVideoClient);
+ onSetCallVideoClient(remoteCallVideoClient);
+ } catch (RemoteException ignored) {
+ }
+ break;
case MSG_SET_CAMERA:
- setCamera((String) msg.obj);
+ onSetCamera((String) msg.obj);
break;
case MSG_SET_PREVIEW_SURFACE:
- setPreviewSurface((Surface) msg.obj);
+ onSetPreviewSurface((Surface) msg.obj);
break;
case MSG_SET_DISPLAY_SURFACE:
- setDisplaySurface((Surface) msg.obj);
+ onSetDisplaySurface((Surface) msg.obj);
break;
case MSG_SET_DEVICE_ORIENTATION:
- setDeviceOrientation(msg.arg1);
+ onSetDeviceOrientation(msg.arg1);
break;
case MSG_SET_ZOOM:
- setZoom((Float) msg.obj);
+ onSetZoom((Float) msg.obj);
break;
case MSG_SEND_SESSION_MODIFY_REQUEST:
- sendSessionModifyRequest((VideoCallProfile) msg.obj);
+ onSendSessionModifyRequest((VideoCallProfile) msg.obj);
break;
case MSG_SEND_SESSION_MODIFY_RESPONSE:
- sendSessionModifyResponse((VideoCallProfile) msg.obj);
+ onSendSessionModifyResponse((VideoCallProfile) msg.obj);
break;
case MSG_REQUEST_CAMERA_CAPABILITIES:
- requestCameraCapabilities();
+ onRequestCameraCapabilities();
break;
case MSG_REQUEST_CALL_DATA_USAGE:
- requestCallDataUsage();
+ onRequestCallDataUsage();
break;
case MSG_SET_PAUSE_IMAGE:
- setPauseImage((String) msg.obj);
+ onSetPauseImage((String) msg.obj);
break;
default:
break;
@@ -81,6 +95,11 @@ public abstract class CallVideoProvider {
* Default ICallVideoProvider implementation.
*/
private final class CallVideoProviderBinder extends ICallVideoProvider.Stub {
+ public void setCallVideoClient(IBinder callVideoClientBinder) {
+ mMessageHandler.obtainMessage(
+ MSG_SET_CALL_VIDEO_CLIENT, callVideoClientBinder).sendToTarget();
+ }
+
public void setCamera(String cameraId) {
mMessageHandler.obtainMessage(MSG_SET_CAMERA, cameraId).sendToTarget();
}
@@ -102,13 +121,13 @@ public abstract class CallVideoProvider {
}
public void sendSessionModifyRequest(VideoCallProfile requestProfile) {
- mMessageHandler.obtainMessage(MSG_SEND_SESSION_MODIFY_REQUEST,
- requestProfile).sendToTarget();
+ mMessageHandler.obtainMessage(
+ MSG_SEND_SESSION_MODIFY_REQUEST, requestProfile).sendToTarget();
}
public void sendSessionModifyResponse(VideoCallProfile responseProfile) {
- mMessageHandler.obtainMessage(MSG_SEND_SESSION_MODIFY_RESPONSE,
- responseProfile).sendToTarget();
+ mMessageHandler.obtainMessage(
+ MSG_SEND_SESSION_MODIFY_RESPONSE, responseProfile).sendToTarget();
}
public void requestCameraCapabilities() {
@@ -140,11 +159,19 @@ public abstract class CallVideoProvider {
}
/**
+ * Sets a remote interface for invoking callback methods in the InCallUI after performing
+ * telephony actions.
+ *
+ * @param callVideoClient The call video client.
+ */
+ public abstract void onSetCallVideoClient(RemoteCallVideoClient callVideoClient);
+
+ /**
* Sets the camera to be used for video recording in a video call.
*
* @param cameraId The id of the camera.
*/
- public abstract void setCamera(String cameraId);
+ public abstract void onSetCamera(String cameraId);
/**
* Sets the surface to be used for displaying a preview of what the user's camera is
@@ -153,14 +180,14 @@ public abstract class CallVideoProvider {
*
* @param surface The surface.
*/
- public abstract void setPreviewSurface(Surface surface);
+ public abstract void onSetPreviewSurface(Surface surface);
/**
* Sets the surface to be used for displaying the video received from the remote device.
*
* @param surface The surface.
*/
- public abstract void setDisplaySurface(Surface surface);
+ public abstract void onSetDisplaySurface(Surface surface);
/**
* Sets the device orientation, in degrees. Assumes that a standard portrait orientation of the
@@ -168,14 +195,14 @@ public abstract class CallVideoProvider {
*
* @param rotation The device orientation, in degrees.
*/
- public abstract void setDeviceOrientation(int rotation);
+ public abstract void onSetDeviceOrientation(int rotation);
/**
* Sets camera zoom ratio.
*
* @param value The camera zoom ratio.
*/
- public abstract void setZoom(float value);
+ public abstract void onSetZoom(float value);
/**
* Issues a request to modify the properties of the current session. The request is sent to
@@ -186,7 +213,7 @@ public abstract class CallVideoProvider {
*
* @param requestProfile The requested call video properties.
*/
- public abstract void sendSessionModifyRequest(VideoCallProfile requestProfile);
+ public abstract void onSendSessionModifyRequest(VideoCallProfile requestProfile);
/**
* Provides a response to a request to change the current call session video
@@ -198,21 +225,21 @@ public abstract class CallVideoProvider {
*
* @param responseProfile The response call video properties.
*/
- public abstract void sendSessionModifyResponse(VideoCallProfile responseProfile);
+ public abstract void onSendSessionModifyResponse(VideoCallProfile responseProfile);
/**
* Issues a request to the video provider to retrieve the camera capabilities.
* Camera capabilities are reported back to the caller via
- * {@link CallVideoClient#onCameraCapabilitiesChange(CallCameraCapabilities)}.
+ * {@link CallVideoClient#onHandleCameraCapabilitiesChange(CallCameraCapabilities)}.
*/
- public abstract void requestCameraCapabilities();
+ public abstract void onRequestCameraCapabilities();
/**
* Issues a request to the video telephony framework to retrieve the cumulative data usage for
* the current call. Data usage is reported back to the caller via
* {@link CallVideoClient#onUpdateCallDataUsage}.
*/
- public abstract void requestCallDataUsage();
+ public abstract void onRequestCallDataUsage();
/**
* Provides the video telephony framework with the URI of an image to be displayed to remote
@@ -220,5 +247,5 @@ public abstract class CallVideoProvider {
*
* @param uri URI of image to display.
*/
- public abstract void setPauseImage(String uri);
+ public abstract void onSetPauseImage(String uri);
}
diff --git a/telecomm/java/android/telecomm/RemoteCallVideoClient.java b/telecomm/java/android/telecomm/RemoteCallVideoClient.java
new file mode 100644
index 0000000..f0a3afc
--- /dev/null
+++ b/telecomm/java/android/telecomm/RemoteCallVideoClient.java
@@ -0,0 +1,65 @@
+/*
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License
+ */
+
+package android.telecomm;
+
+import android.os.IBinder;
+import android.os.RemoteException;
+import android.telecomm.CallCameraCapabilities;
+import android.telecomm.VideoCallProfile;
+
+import com.android.internal.telecomm.ICallVideoClient;
+
+public class RemoteCallVideoClient implements IBinder.DeathRecipient {
+ private final ICallVideoClient mCallVideoClient;
+
+ RemoteCallVideoClient(ICallVideoClient callVideoProvider) throws RemoteException {
+ mCallVideoClient = callVideoProvider;
+ mCallVideoClient.asBinder().linkToDeath(this, 0);
+ }
+
+ @Override
+ public void binderDied() {
+ mCallVideoClient.asBinder().unlinkToDeath(this, 0);
+ }
+
+ public void receiveSessionModifyRequest(VideoCallProfile videoCallProfile)
+ throws RemoteException {
+ mCallVideoClient.receiveSessionModifyRequest(videoCallProfile);
+ }
+
+ public void receiveSessionModifyResponse(int status, VideoCallProfile requestedProfile,
+ VideoCallProfile responseProfile) throws RemoteException {
+ mCallVideoClient.receiveSessionModifyResponse(status, requestedProfile, responseProfile);
+ }
+
+ public void handleCallSessionEvent(int event) throws RemoteException {
+ mCallVideoClient.handleCallSessionEvent(event);
+ }
+
+ public void updatePeerDimensions(int width, int height) throws RemoteException {
+ mCallVideoClient.updatePeerDimensions(width, height);
+ }
+
+ public void updateCallDataUsage(int dataUsage) throws RemoteException {
+ mCallVideoClient.updateCallDataUsage(dataUsage);
+ }
+
+ public void handleCameraCapabilitiesChange(CallCameraCapabilities callCameraCapabilities)
+ throws RemoteException {
+ mCallVideoClient.handleCameraCapabilitiesChange(callCameraCapabilities);
+ }
+} \ No newline at end of file
diff --git a/telecomm/java/android/telecomm/RemoteCallVideoProvider.java b/telecomm/java/android/telecomm/RemoteCallVideoProvider.java
index 872085a..4a226a9 100644
--- a/telecomm/java/android/telecomm/RemoteCallVideoProvider.java
+++ b/telecomm/java/android/telecomm/RemoteCallVideoProvider.java
@@ -18,10 +18,11 @@ package android.telecomm;
import android.os.IBinder;
import android.os.RemoteException;
+import android.view.Surface;
+import com.android.internal.telecomm.ICallVideoClient;
import com.android.internal.telecomm.ICallVideoProvider;
-
public class RemoteCallVideoProvider implements IBinder.DeathRecipient {
private final ICallVideoProvider mCallVideoProvider;
@@ -35,12 +36,47 @@ public class RemoteCallVideoProvider implements IBinder.DeathRecipient {
mCallVideoProvider.asBinder().unlinkToDeath(this, 0);
}
- /**
- * Sets the camera to be used for video recording in a video call, using the binder.
- *
- * @param cameraId The id of the camera.
- */
+ public void setCallVideoClient(CallVideoClient callVideoClient) throws RemoteException {
+ mCallVideoProvider.setCallVideoClient(callVideoClient.getBinder());
+ }
+
public void setCamera(String cameraId) throws RemoteException {
mCallVideoProvider.setCamera(cameraId);
}
-}
+
+ public void setPreviewSurface(Surface surface) throws RemoteException {
+ mCallVideoProvider.setPreviewSurface(surface);
+ }
+
+ public void setDisplaySurface(Surface surface) throws RemoteException {
+ mCallVideoProvider.setDisplaySurface(surface);
+ }
+
+ public void setDeviceOrientation(int rotation) throws RemoteException {
+ mCallVideoProvider.setDeviceOrientation(rotation);
+ }
+
+ public void setZoom(float value) throws RemoteException {
+ mCallVideoProvider.setZoom(value);
+ }
+
+ public void sendSessionModifyRequest(VideoCallProfile requestProfile) throws RemoteException {
+ mCallVideoProvider.sendSessionModifyRequest(requestProfile);
+ }
+
+ public void sendSessionModifyResponse(VideoCallProfile responseProfile) throws RemoteException {
+ mCallVideoProvider.sendSessionModifyResponse(responseProfile);
+ }
+
+ public void requestCameraCapabilities() throws RemoteException {
+ mCallVideoProvider.requestCameraCapabilities();
+ }
+
+ public void requestCallDataUsage() throws RemoteException {
+ mCallVideoProvider.requestCallDataUsage();
+ }
+
+ public void onSetPauseImage(String uri) throws RemoteException {
+ mCallVideoProvider.setPauseImage(uri);
+ }
+} \ No newline at end of file
diff --git a/telecomm/java/com/android/internal/telecomm/ICallVideoClient.aidl b/telecomm/java/com/android/internal/telecomm/ICallVideoClient.aidl
index 0a854a1..2689561 100644
--- a/telecomm/java/com/android/internal/telecomm/ICallVideoClient.aidl
+++ b/telecomm/java/com/android/internal/telecomm/ICallVideoClient.aidl
@@ -29,16 +29,16 @@ import android.telecomm.VideoCallProfile;
*/
oneway interface ICallVideoClient {
- void onReceiveSessionModifyRequest(in VideoCallProfile videoCallProfile);
+ void receiveSessionModifyRequest(in VideoCallProfile videoCallProfile);
- void onReceiveSessionModifyResponse(int status, in VideoCallProfile requestedProfile,
+ void receiveSessionModifyResponse(int status, in VideoCallProfile requestedProfile,
in VideoCallProfile responseProfile);
- void onCallSessionEvent(int event);
+ void handleCallSessionEvent(int event);
- void onUpdatedPeerDimensions(int width, int height);
+ void updatePeerDimensions(int width, int height);
- void onUpdateCallDataUsage(int dataUsage);
+ void updateCallDataUsage(int dataUsage);
- void onCameraCapabilitiesChange(in CallCameraCapabilities callCameraCapabilities);
+ void handleCameraCapabilitiesChange(in CallCameraCapabilities callCameraCapabilities);
}
diff --git a/telecomm/java/com/android/internal/telecomm/ICallVideoProvider.aidl b/telecomm/java/com/android/internal/telecomm/ICallVideoProvider.aidl
index f6587b7..860a431 100644
--- a/telecomm/java/com/android/internal/telecomm/ICallVideoProvider.aidl
+++ b/telecomm/java/com/android/internal/telecomm/ICallVideoProvider.aidl
@@ -19,12 +19,16 @@ package com.android.internal.telecomm;
import android.view.Surface;
import android.telecomm.VideoCallProfile;
+import com.android.internal.telecomm.ICallVideoClient;
+
/**
* Internal remote interface for a call video provider.
* @see android.telecomm.CallVideoProvider
* @hide
*/
oneway interface ICallVideoProvider {
+ void setCallVideoClient(IBinder callVideoClient);
+
void setCamera(String cameraId);
void setPreviewSurface(in Surface surface);