Handle setCallVideoProvider by setting a video provider on a call.
Bug: 15893156
Change-Id: I3a5c339dba88939bcb9e495e623c03ff44001e29
diff --git a/src/com/android/telecomm/CallServiceWrapper.java b/src/com/android/telecomm/CallServiceWrapper.java
index 782f7a4..365a5ce 100644
--- a/src/com/android/telecomm/CallServiceWrapper.java
+++ b/src/com/android/telecomm/CallServiceWrapper.java
@@ -31,9 +31,11 @@
import android.telephony.DisconnectCause;
import com.android.internal.os.SomeArgs;
+
import com.android.internal.telecomm.ICallService;
import com.android.internal.telecomm.ICallServiceAdapter;
import com.android.internal.telecomm.ICallServiceProvider;
+import com.android.internal.telecomm.ICallVideoProvider;
import com.android.internal.telecomm.RemoteServiceCallback;
import com.android.telecomm.BaseRepository.LookupCallback;
import com.google.common.base.Preconditions;
@@ -74,6 +76,7 @@
private static final int MSG_ADD_CONFERENCE_CALL = 14;
private static final int MSG_HANDOFF_CALL = 15;
private static final int MSG_QUERY_REMOTE_CALL_SERVICES = 16;
+ private static final int MSG_SET_CALL_VIDEO_PROVIDER = 17;
private final Handler mHandler = new Handler() {
@Override
@@ -278,6 +281,19 @@
case MSG_QUERY_REMOTE_CALL_SERVICES: {
CallServiceWrapper.this.queryRemoteConnectionServices(
(RemoteServiceCallback) msg.obj);
+ break;
+ }
+ case MSG_SET_CALL_VIDEO_PROVIDER: {
+ SomeArgs args = (SomeArgs) msg.obj;
+ try {
+ call = mCallIdMapper.getCall(args.arg1);
+ if (call != null) {
+ call.setCallVideoProvider();
+ }
+ } finally {
+ args.recycle();
+ }
+ break;
}
}
}
@@ -340,6 +356,17 @@
/** {@inheritDoc} */
@Override
+ public void setCallVideoProvider(String callId, ICallVideoProvider callVideoProvider) {
+ logIncoming("setCallVideoProvider %s", callId);
+ mCallIdMapper.checkValidCallId(callId);
+ SomeArgs args = SomeArgs.obtain();
+ args.arg1 = callId;
+ args.arg2 = callVideoProvider;
+ mHandler.obtainMessage(MSG_SET_CALL_VIDEO_PROVIDER, args).sendToTarget();
+ }
+
+ /** {@inheritDoc} */
+ @Override
public void setDialing(String callId) {
logIncoming("setDialing %s", callId);
mCallIdMapper.checkValidCallId(callId);