summaryrefslogtreecommitdiff
path: root/java/com/android
diff options
context:
space:
mode:
authorroldenburg <roldenburg@google.com>2017-06-23 17:03:57 -0700
committerEric Erfanian <erfanian@google.com>2017-06-26 09:08:13 -0700
commit4b499669dde98f485199fd38883ad0dc26d1f0f3 (patch)
tree69d617e473b7542599aea32df2b331852c43d1ca /java/com/android
parent059d2e2a9ef121edfbd0596cf0f8c22b167a7b8d (diff)
Fix pause / unpause in the scenario where calls are swapped
The previous fix (cl/159623587) has a regression in this scenario: Device A: video call Device B Device B: accept video call Device B: go into background (press Home) Device A: go into background (press Home) Device B: return to foreground (return to call) Unexpected result: A is transmitting video even though it has not returned to the foreground as well Bug: 62784036,38359325 Test: manual PiperOrigin-RevId: 160013824 Change-Id: I6e9c89c8fa52882c49d32e061032b93b1e8552f0
Diffstat (limited to 'java/com/android')
-rw-r--r--java/com/android/incallui/VideoPauseController.java7
-rw-r--r--java/com/android/incallui/videotech/ims/ImsVideoCallCallback.java2
-rw-r--r--java/com/android/incallui/videotech/ims/ImsVideoTech.java18
3 files changed, 1 insertions, 26 deletions
diff --git a/java/com/android/incallui/VideoPauseController.java b/java/com/android/incallui/VideoPauseController.java
index 2595e2f8b..36c9ef350 100644
--- a/java/com/android/incallui/VideoPauseController.java
+++ b/java/com/android/incallui/VideoPauseController.java
@@ -66,11 +66,6 @@ class VideoPauseController implements InCallStateListener, IncomingCallListener
return sVideoPauseController;
}
- private boolean wasIncomingCall() {
- return (mPrevCallState == DialerCall.State.CALL_WAITING
- || mPrevCallState == DialerCall.State.INCOMING);
- }
-
/**
* Determines if a call is in incoming/waiting state.
*
@@ -198,7 +193,7 @@ class VideoPauseController implements InCallStateListener, IncomingCallListener
}
final boolean canVideoPause = videoCanPause(call);
- if ((wasIncomingCall() || wasDialing()) && canVideoPause && !mIsInBackground) {
+ if (canVideoPause && !mIsInBackground) {
// Send resume request for the active call, if user rejects incoming call, ends dialing
// call, or the call was previously in a paused state and UI is in the foreground.
sendRequest(call, true);
diff --git a/java/com/android/incallui/videotech/ims/ImsVideoCallCallback.java b/java/com/android/incallui/videotech/ims/ImsVideoCallCallback.java
index f4e0a01ea..b83929304 100644
--- a/java/com/android/incallui/videotech/ims/ImsVideoCallCallback.java
+++ b/java/com/android/incallui/videotech/ims/ImsVideoCallCallback.java
@@ -173,11 +173,9 @@ public class ImsVideoCallCallback extends VideoCall.Callback {
switch (event) {
case Connection.VideoProvider.SESSION_EVENT_RX_PAUSE:
LogUtil.i("ImsVideoCallCallback.onCallSessionEvent", "rx_pause");
- videoTech.onPausedEvent();
break;
case Connection.VideoProvider.SESSION_EVENT_RX_RESUME:
LogUtil.i("ImsVideoCallCallback.onCallSessionEvent", "rx_resume");
- videoTech.onResumedEvent();
break;
case Connection.VideoProvider.SESSION_EVENT_CAMERA_FAILURE:
LogUtil.i("ImsVideoCallCallback.onCallSessionEvent", "camera_failure");
diff --git a/java/com/android/incallui/videotech/ims/ImsVideoTech.java b/java/com/android/incallui/videotech/ims/ImsVideoTech.java
index 4e7443960..99d812a91 100644
--- a/java/com/android/incallui/videotech/ims/ImsVideoTech.java
+++ b/java/com/android/incallui/videotech/ims/ImsVideoTech.java
@@ -269,24 +269,6 @@ public class ImsVideoTech implements VideoTech {
call.getVideoCall().setDeviceOrientation(rotation);
}
- /**
- * Called when we receive an rx_pause from the IMS stack. Update our state so we know we are
- * currently paused. This is important in the cases where we swap calls since pause() and
- * unpause() are not called.
- */
- void onPausedEvent() {
- paused = true;
- }
-
- /**
- * Called when we receive an rx_resume from the IMS stack. Update our state so we know we are
- * currently not paused. This is important in the cases where we swap calls since pause() and
- * unpause() are not called.
- */
- void onResumedEvent() {
- paused = false;
- }
-
private boolean canPause() {
return call.getDetails().can(Details.CAPABILITY_CAN_PAUSE_VIDEO)
&& call.getState() == Call.STATE_ACTIVE