diff options
Diffstat (limited to 'src/java/com/android/ims/internal/ImsVideoCallProviderWrapper.java')
-rw-r--r-- | src/java/com/android/ims/internal/ImsVideoCallProviderWrapper.java | 15 |
1 files changed, 15 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(); + } + } } |