aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorandroid-build-team Robot <android-build-team-robot@google.com>2017-06-22 07:10:28 +0000
committerandroid-build-team Robot <android-build-team-robot@google.com>2017-06-22 07:10:28 +0000
commit6e6abc28565e2828b8153ac1fc6b18c91197616d (patch)
treea624067517d3b78520d52d3f306ede3fe13d71e3
parent4c4d91d74d16a0af2bb3f04b13e2107035af81c6 (diff)
parent077dd3fef020b839e37b0c02fb5df7fadc7bf875 (diff)
downloadims-6e6abc28565e2828b8153ac1fc6b18c91197616d.tar.gz
Change-Id: I60116c2c4e42bf72105caa32af9424015a4c5ad9
-rw-r--r--src/java/com/android/ims/internal/ImsVideoCallProviderWrapper.java15
-rw-r--r--src/java/com/android/ims/internal/VideoPauseTracker.java9
2 files changed, 24 insertions, 0 deletions
diff --git a/src/java/com/android/ims/internal/ImsVideoCallProviderWrapper.java b/src/java/com/android/ims/internal/ImsVideoCallProviderWrapper.java
index 1aae5338..d6da824f 100644
--- a/src/java/com/android/ims/internal/ImsVideoCallProviderWrapper.java
+++ b/src/java/com/android/ims/internal/ImsVideoCallProviderWrapper.java
@@ -535,4 +535,19 @@ public class ImsVideoCallProviderWrapper extends Connection.VideoProvider {
public void setUseVideoPauseWorkaround(boolean useVideoPauseWorkaround) {
mUseVideoPauseWorkaround = useVideoPauseWorkaround;
}
+
+ /**
+ * Called by {@code ImsPhoneConnection} when there is a change to the video state of the call.
+ * Informs the video pause tracker that the video is no longer paused. This ensures that
+ * subsequent pause requests are not filtered out.
+ *
+ * @param newVideoState The new video state.
+ */
+ public void onVideoStateChanged(int newVideoState) {
+ if (mVideoPauseTracker.isPaused() && !VideoProfile.isPaused(newVideoState)) {
+ Log.i(this, "onVideoStateChanged: newVideoState=%s, clearing pending pause requests.",
+ VideoProfile.videoStateToString(newVideoState));
+ mVideoPauseTracker.clearPauseRequests();
+ }
+ }
}
diff --git a/src/java/com/android/ims/internal/VideoPauseTracker.java b/src/java/com/android/ims/internal/VideoPauseTracker.java
index d37f7fa8..a23c5901 100644
--- a/src/java/com/android/ims/internal/VideoPauseTracker.java
+++ b/src/java/com/android/ims/internal/VideoPauseTracker.java
@@ -150,6 +150,15 @@ public class VideoPauseTracker {
}
/**
+ * Clears pending pause requests for the tracker.
+ */
+ public void clearPauseRequests() {
+ synchronized (mPauseRequestsLock) {
+ mPauseRequests.clear();
+ }
+ }
+
+ /**
* Returns a string equivalent of a {@code SOURCE_*} constant.
*
* @param source A {@code SOURCE_*} constant.