1 /* 2 * Copyright (C) 2014 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 package com.android.server.telecom.testapps; 18 19 import android.net.Uri; 20 import android.telecom.Connection; 21 import android.telecom.RemoteConnection; 22 import android.telecom.VideoProfile; 23 import android.telecom.VideoProfile.CameraCapabilities; 24 import android.view.Surface; 25 26 public class TestManagedVideoProvider extends Connection.VideoProvider { 27 28 private final RemoteConnection.VideoProvider.Callback mRemoteCallback = 29 new RemoteConnection.VideoProvider.Callback() { 30 @Override 31 public void onSessionModifyRequestReceived(RemoteConnection.VideoProvider rvp, 32 VideoProfile videoProfile) { 33 super.onSessionModifyRequestReceived(rvp, videoProfile); 34 } 35 36 @Override 37 public void onSessionModifyResponseReceived(RemoteConnection.VideoProvider rvp, 38 int status, 39 VideoProfile requestedProfile, VideoProfile responseProfile) { 40 super.onSessionModifyResponseReceived(rvp, status, requestedProfile, 41 responseProfile); 42 } 43 44 @Override 45 public void onCallSessionEvent(RemoteConnection.VideoProvider rvp, int event) { 46 super.onCallSessionEvent(rvp, event); 47 } 48 49 @Override 50 public void onPeerDimensionsChanged(RemoteConnection.VideoProvider rvp, int width, 51 int height) { 52 super.onPeerDimensionsChanged(rvp, width, height); 53 } 54 55 @Override 56 public void onCallDataUsageChanged(RemoteConnection.VideoProvider rvp, long dataUsage) { 57 super.onCallDataUsageChanged(rvp, dataUsage); 58 } 59 60 @Override 61 public void onCameraCapabilitiesChanged(RemoteConnection.VideoProvider rvp, 62 CameraCapabilities cameraCapabilities) { 63 super.onCameraCapabilitiesChanged(rvp, cameraCapabilities); 64 } 65 }; 66 67 private final RemoteConnection.VideoProvider mRemoteVideoProvider; 68 TestManagedVideoProvider(RemoteConnection.VideoProvider remoteVideoProvider)69 public TestManagedVideoProvider(RemoteConnection.VideoProvider remoteVideoProvider) { 70 mRemoteVideoProvider = remoteVideoProvider; 71 mRemoteVideoProvider.registerCallback(mRemoteCallback); 72 } 73 74 @Override onSetCamera(String cameraId)75 public void onSetCamera(String cameraId) { 76 mRemoteVideoProvider.setCamera(cameraId); 77 } 78 79 @Override onSetPreviewSurface(Surface surface)80 public void onSetPreviewSurface(Surface surface) { 81 mRemoteVideoProvider.setPreviewSurface(surface); 82 } 83 84 @Override onSetDisplaySurface(Surface surface)85 public void onSetDisplaySurface(Surface surface) { 86 mRemoteVideoProvider.setDisplaySurface(surface); 87 } 88 89 @Override onSetDeviceOrientation(int rotation)90 public void onSetDeviceOrientation(int rotation) { 91 mRemoteVideoProvider.setDeviceOrientation(rotation); 92 } 93 94 @Override onSetZoom(float value)95 public void onSetZoom(float value) { 96 mRemoteVideoProvider.setZoom(value); 97 } 98 99 @Override onSendSessionModifyRequest(VideoProfile fromProfile, VideoProfile requestProfile)100 public void onSendSessionModifyRequest(VideoProfile fromProfile, 101 VideoProfile requestProfile) { 102 mRemoteVideoProvider.sendSessionModifyRequest(fromProfile, requestProfile); 103 } 104 105 @Override onSendSessionModifyResponse(VideoProfile responseProfile)106 public void onSendSessionModifyResponse(VideoProfile responseProfile) { 107 mRemoteVideoProvider.sendSessionModifyResponse(responseProfile); 108 } 109 110 @Override onRequestCameraCapabilities()111 public void onRequestCameraCapabilities() { 112 mRemoteVideoProvider.requestCameraCapabilities(); 113 } 114 115 @Override onRequestConnectionDataUsage()116 public void onRequestConnectionDataUsage() { 117 mRemoteVideoProvider.requestCallDataUsage(); 118 } 119 120 @Override onSetPauseImage(Uri uri)121 public void onSetPauseImage(Uri uri) { 122 mRemoteVideoProvider.setPauseImage(uri); 123 } 124 } 125