From 31cac38fba0ba3396942ef069b3f710112bd4013 Mon Sep 17 00:00:00 2001 From: roldenburg Date: Fri, 27 Oct 2017 16:42:08 -0700 Subject: Clear cached requested video state This CL accepts this AOSP CL: ag/64881150 Author: Ravi Paluri Bug: 64881150 Test: manual, ImsVideoTechTest PiperOrigin-RevId: 173734014 Change-Id: Ibccc610c85c4bd06f34fc6bb057c356dd74f362d --- java/com/android/incallui/videotech/ims/ImsVideoCallCallback.java | 1 + java/com/android/incallui/videotech/ims/ImsVideoTech.java | 6 ++---- 2 files changed, 3 insertions(+), 4 deletions(-) (limited to 'java/com/android') diff --git a/java/com/android/incallui/videotech/ims/ImsVideoCallCallback.java b/java/com/android/incallui/videotech/ims/ImsVideoCallCallback.java index 954dfcd8b..d254d6df6 100644 --- a/java/com/android/incallui/videotech/ims/ImsVideoCallCallback.java +++ b/java/com/android/incallui/videotech/ims/ImsVideoCallCallback.java @@ -134,6 +134,7 @@ public class ImsVideoCallCallback extends VideoCall.Callback { CLEAR_FAILED_REQUEST_TIMEOUT_MILLIS); } else if (videoTech.getSessionModificationState() == SessionModificationState.RECEIVED_UPGRADE_TO_VIDEO_REQUEST) { + requestedVideoState = VideoProfile.STATE_AUDIO_ONLY; videoTech.setSessionModificationState(SessionModificationState.NO_REQUEST); } else if (videoTech.getSessionModificationState() == SessionModificationState.WAITING_FOR_RESPONSE) { diff --git a/java/com/android/incallui/videotech/ims/ImsVideoTech.java b/java/com/android/incallui/videotech/ims/ImsVideoTech.java index 0310a90ac..17bad5588 100644 --- a/java/com/android/incallui/videotech/ims/ImsVideoTech.java +++ b/java/com/android/incallui/videotech/ims/ImsVideoTech.java @@ -20,6 +20,7 @@ import android.content.Context; import android.os.Build; import android.support.annotation.NonNull; import android.support.annotation.Nullable; +import android.support.annotation.VisibleForTesting; import android.telecom.Call; import android.telecom.Call.Details; import android.telecom.VideoProfile; @@ -38,7 +39,7 @@ public class ImsVideoTech implements VideoTech { private final LoggingBindings logger; private final Call call; private final VideoTechListener listener; - private ImsVideoCallCallback callback; + @VisibleForTesting ImsVideoCallCallback callback; private @SessionModificationState int sessionModificationState = SessionModificationState.NO_REQUEST; private int previousVideoState = VideoProfile.STATE_AUDIO_ONLY; @@ -188,7 +189,6 @@ public class ImsVideoTech implements VideoTech { Assert.checkArgument(requestedVideoState != VideoProfile.STATE_AUDIO_ONLY); LogUtil.i("ImsVideoTech.acceptUpgradeRequest", "videoState: " + requestedVideoState); call.getVideoCall().sendSessionModifyResponse(new VideoProfile(requestedVideoState)); - setSessionModificationState(SessionModificationState.NO_REQUEST); // Telecom manages audio route for us listener.onUpgradedToVideo(false /* switchToSpeaker */); logger.logImpression(DialerImpression.Type.IMS_VIDEO_REQUEST_ACCEPTED); @@ -198,7 +198,6 @@ public class ImsVideoTech implements VideoTech { public void acceptVideoRequestAsAudio() { LogUtil.enterBlock("ImsVideoTech.acceptVideoRequestAsAudio"); call.getVideoCall().sendSessionModifyResponse(new VideoProfile(VideoProfile.STATE_AUDIO_ONLY)); - setSessionModificationState(SessionModificationState.NO_REQUEST); logger.logImpression(DialerImpression.Type.IMS_VIDEO_REQUEST_ACCEPTED_AS_AUDIO); } @@ -207,7 +206,6 @@ public class ImsVideoTech implements VideoTech { LogUtil.enterBlock("ImsVideoTech.declineUpgradeRequest"); call.getVideoCall() .sendSessionModifyResponse(new VideoProfile(call.getDetails().getVideoState())); - setSessionModificationState(SessionModificationState.NO_REQUEST); logger.logImpression(DialerImpression.Type.IMS_VIDEO_REQUEST_DECLINED); } -- cgit v1.2.3