| /* |
| * 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 com.android.ims.internal; |
| |
| import android.net.Uri; |
| import android.view.Surface; |
| import android.telecom.VideoProfile; |
| |
| import com.android.ims.internal.IImsVideoCallCallback; |
| |
| /** |
| * Internal remote interface for IMS's video call provider. |
| * |
| * At least initially, this aidl mirrors telecomm's {@link IVideoCallProvider}. We created a |
| * separate aidl interface even though the methods and parameters are same because the |
| * {@link IVideoCallProvider} was specifically created as a binder for inter-process communication |
| * between Telecomm and Telephony. |
| * |
| * We don't want to use the same aidl in other places for communication, namely communication |
| * between Telephony and the IMS Service, even if that communication may be for similar methods. |
| * This decouples the communication among these processes. Similarly, third parties implementing a |
| * video call provider will not have the benefit of accessing the internal |
| * {@link IVideoCallProvider} aidl for interprocess communication. |
| * |
| * @see android.telecom.internal.IVideoCallProvider |
| * @see android.telecom.VideoCallProvider |
| * @hide |
| */ |
| oneway interface IImsVideoCallProvider { |
| void setCallback(IImsVideoCallCallback callback); |
| |
| void setCamera(String cameraId, int uid); |
| |
| void setPreviewSurface(in Surface surface); |
| |
| void setDisplaySurface(in Surface surface); |
| |
| void setDeviceOrientation(int rotation); |
| |
| void setZoom(float value); |
| |
| void sendSessionModifyRequest(in VideoProfile fromProfile, in VideoProfile toProfile); |
| |
| void sendSessionModifyResponse(in VideoProfile responseProfile); |
| |
| void requestCameraCapabilities(); |
| |
| void requestCallDataUsage(); |
| |
| void setPauseImage(in Uri uri); |
| } |