Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a5736291 authored by Andrew Lee's avatar Andrew Lee
Browse files

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
parent c3182c55
Loading
Loading
Loading
Loading
+34 −13
Original line number Diff line number Diff line
@@ -27557,12 +27557,12 @@ package android.telecomm {
  public abstract class CallVideoClient {
    ctor protected CallVideoClient();
    method public abstract void onCallSessionEvent(int);
    method public abstract void onCameraCapabilitiesChange(android.telecomm.CallCameraCapabilities);
    method public abstract void onHandleCallSessionEvent(int);
    method public abstract void onHandleCameraCapabilitiesChange(android.telecomm.CallCameraCapabilities);
    method public abstract void onReceiveSessionModifyRequest(android.telecomm.VideoCallProfile);
    method public abstract void onReceiveSessionModifyResponse(int, android.telecomm.VideoCallProfile, android.telecomm.VideoCallProfile);
    method public abstract void onUpdateCallDataUsage(int);
    method public abstract void onUpdatedPeerDimensions(int, int);
    method public abstract void onUpdatePeerDimensions(int, int);
    field public static final int SESSION_EVENT_RX_PAUSE = 1; // 0x1
    field public static final int SESSION_EVENT_RX_RESUME = 2; // 0x2
    field public static final int SESSION_EVENT_TX_START = 3; // 0x3
@@ -27574,16 +27574,17 @@ package android.telecomm {
  public abstract class CallVideoProvider {
    ctor protected CallVideoProvider();
    method public abstract void requestCallDataUsage();
    method public abstract void requestCameraCapabilities();
    method public abstract void sendSessionModifyRequest(android.telecomm.VideoCallProfile);
    method public abstract void sendSessionModifyResponse(android.telecomm.VideoCallProfile);
    method public abstract void setCamera(java.lang.String);
    method public abstract void setDeviceOrientation(int);
    method public abstract void setDisplaySurface(android.view.Surface);
    method public abstract void setPauseImage(java.lang.String);
    method public abstract void setPreviewSurface(android.view.Surface);
    method public abstract void setZoom(float);
    method public abstract void onRequestCallDataUsage();
    method public abstract void onRequestCameraCapabilities();
    method public abstract void onSendSessionModifyRequest(android.telecomm.VideoCallProfile);
    method public abstract void onSendSessionModifyResponse(android.telecomm.VideoCallProfile);
    method public abstract void onSetCallVideoClient(android.telecomm.RemoteCallVideoClient);
    method public abstract void onSetCamera(java.lang.String);
    method public abstract void onSetDeviceOrientation(int);
    method public abstract void onSetDisplaySurface(android.view.Surface);
    method public abstract void onSetPauseImage(java.lang.String);
    method public abstract void onSetPreviewSurface(android.view.Surface);
    method public abstract void onSetZoom(float);
  }
  public abstract class Connection {
@@ -27734,9 +27735,29 @@ package android.telecomm {
    method protected abstract void updateCall(android.telecomm.InCallCall);
  }
  public class RemoteCallVideoClient implements android.os.IBinder.DeathRecipient {
    method public void binderDied();
    method public void handleCallSessionEvent(int) throws android.os.RemoteException;
    method public void handleCameraCapabilitiesChange(android.telecomm.CallCameraCapabilities) throws android.os.RemoteException;
    method public void receiveSessionModifyRequest(android.telecomm.VideoCallProfile) throws android.os.RemoteException;
    method public void receiveSessionModifyResponse(int, android.telecomm.VideoCallProfile, android.telecomm.VideoCallProfile) throws android.os.RemoteException;
    method public void updateCallDataUsage(int) throws android.os.RemoteException;
    method public void updatePeerDimensions(int, int) throws android.os.RemoteException;
  }
  public class RemoteCallVideoProvider implements android.os.IBinder.DeathRecipient {
    method public void binderDied();
    method public void onSetPauseImage(java.lang.String) throws android.os.RemoteException;
    method public void requestCallDataUsage() throws android.os.RemoteException;
    method public void requestCameraCapabilities() throws android.os.RemoteException;
    method public void sendSessionModifyRequest(android.telecomm.VideoCallProfile) throws android.os.RemoteException;
    method public void sendSessionModifyResponse(android.telecomm.VideoCallProfile) throws android.os.RemoteException;
    method public void setCallVideoClient(android.telecomm.CallVideoClient) throws android.os.RemoteException;
    method public void setCamera(java.lang.String) throws android.os.RemoteException;
    method public void setDeviceOrientation(int) throws android.os.RemoteException;
    method public void setDisplaySurface(android.view.Surface) throws android.os.RemoteException;
    method public void setPreviewSurface(android.view.Surface) throws android.os.RemoteException;
    method public void setZoom(float) throws android.os.RemoteException;
  }
  public final class RemoteConnection {
+36 −37
Original line number Diff line number Diff line
@@ -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);
}
+62 −35
Original line number Diff line number Diff line
@@ -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() {
@@ -139,12 +158,20 @@ public abstract class CallVideoProvider {
        return mBinder;
    }

    /**
     * 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);
}
+65 −0
Original line number Diff line number Diff line
/*
 * 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
+43 −7

File changed.

Preview size limit exceeded, changes collapsed.

Loading