blob: 07e159c0dd974f769131f2efef5858a4835e5941 [file] [log] [blame]
/*
* Copyright (C) 2015 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.telecom.cts;
import android.telecom.Call;
import android.telecom.InCallService;
import android.telecom.VideoProfile;
import android.telecom.VideoProfile.CameraCapabilities;
/**
* Mock video call Callback class.
*/
public class MockVideoCallCallback extends InCallService.VideoCall.Callback {
private Call mCall;
private CameraCapabilities mCameraCapabilities;
private long mDataUsage = MockVideoProvider.DATA_USAGE_UNDEFINED;
private int mVideoQuality = MockVideoProvider.VIDEO_QUALITY_UNDEFINED;
private int mCallSessionEvent = MockVideoProvider.SESSION_EVENT_UNDEFINED;
private int mPeerWidth = MockVideoProvider.PEER_WIDTH_UNDEFINED;
private VideoProfile mResponseProfile = null;
private VideoProfile mRequestProfile = null;
public MockVideoCallCallback(Call call) {
mCall = call;
}
/**
* Store incoming session modify request so tests can inspect it.
*
* @param videoProfile The requested video profile.
*/
@Override
public void onSessionModifyRequestReceived(VideoProfile videoProfile) {
mRequestProfile = videoProfile;
}
/**
* Store incoming session modify response so tests can inspect it.
*
* @param status Status of the session modify request.
* @param requestedProfile The original request which was sent to the peer device.
* @param responseProfile The actual profile changes made by the peer device.
*/
@Override
public void onSessionModifyResponseReceived(int status, VideoProfile requestedProfile,
VideoProfile responseProfile) {
mResponseProfile = responseProfile;
}
/**
* Store incoming session event so tests can inspect it.
*
* @param event The event.
*/
@Override
public void onCallSessionEvent(int event) {
mCallSessionEvent = event;
}
/**
* Store incoming peer dimensions so tests can inspect them.
*
* @param width The updated peer video width.
* @param height The updated peer video height.
*/
@Override
public void onPeerDimensionsChanged(int width, int height) {
mPeerWidth = width;
}
/**
* Store incoming video quality so tests can inspect them.
*
* @param videoQuality The updated peer video quality. Valid values:
* {@link VideoProfile#QUALITY_HIGH},
* {@link VideoProfile#QUALITY_MEDIUM},
* {@link VideoProfile#QUALITY_LOW},
*/
@Override
public void onVideoQualityChanged(int videoQuality) {
mVideoQuality = videoQuality;
}
/**
* Store incoming call data usage so tests can inspect it.
*
* @param dataUsage The updated data usage (in bytes).
*/
@Override
public void onCallDataUsageChanged(long dataUsage) {
mDataUsage = dataUsage;
}
/**
* Store incoming camera capabilities so tests can inspect them.
*
* @param cameraCapabilities The changed camera capabilities.
*/
@Override
public void onCameraCapabilitiesChanged(CameraCapabilities cameraCapabilities) {
mCameraCapabilities = cameraCapabilities;
}
/**
* Returns the last received {@link CameraCapabilities}.
*
* @return The {@link CameraCapabilities}.
*/
public CameraCapabilities getCameraCapabilities() {
return mCameraCapabilities;
}
/**
* Returns the last received data usage.
*
* @return The data usage.
*/
public long getDataUsage() {
return mDataUsage;
}
/**
* Returns the last received video quality.
*
* @return The video quality.
*/
public int getVideoQuality()
{
return mVideoQuality;
}
/**
* Returns the last received call session event.
*
* @return The call session event.
*/
public int getCallSessionEvent()
{
return mCallSessionEvent;
}
/**
* Returns the last received peer width.
*
* @return The call session event.
*/
public int getPeerWidth()
{
return mPeerWidth;
}
/**
* Returns the last received response video profile.
*
* @return The video profile.
*/
public VideoProfile getResponseProfile() {
return mResponseProfile;
}
/**
* Returns the last requested video profile.
*
* @return The video profile.
*/
public VideoProfile getRequestProfile() {
return mRequestProfile;
}
}