summaryrefslogtreecommitdiff
path: root/InCallUI
diff options
context:
space:
mode:
authorOmkar Kolangade <omkark@codeaurora.org>2016-04-07 17:22:13 +0000
committerandroid-build-merger <android-build-merger@google.com>2016-04-07 17:22:13 +0000
commitd75990c1c893caf86cc09a2ccf6d0c3937401194 (patch)
treec22438ee36a5542c1bf8066be6a79730a5c9b5e2 /InCallUI
parent8607dfb43c2707ca534d68f2dcf728fece01c82b (diff)
parent1f77177c64177d51fe6312532195d133a7c6186c (diff)
Merge "IMS-VT: Fix race-condition causing preview freeze." into nyc-dev
am: 1f77177 * commit '1f77177c64177d51fe6312532195d133a7c6186c': IMS-VT: Fix race-condition causing preview freeze. Change-Id: I835103a509e11f4ccb2a6c9e2541e22481b2d37b
Diffstat (limited to 'InCallUI')
-rw-r--r--InCallUI/src/com/android/incallui/Call.java10
1 files changed, 9 insertions, 1 deletions
diff --git a/InCallUI/src/com/android/incallui/Call.java b/InCallUI/src/com/android/incallui/Call.java
index 54ec52829..447c34c88 100644
--- a/InCallUI/src/com/android/incallui/Call.java
+++ b/InCallUI/src/com/android/incallui/Call.java
@@ -374,6 +374,7 @@ public class Call {
private int mRequestedVideoState = VideoProfile.STATE_AUDIO_ONLY;
private InCallVideoCallCallback mVideoCallCallback;
+ private boolean mIsVideoCallCallbackRegistered;
private String mChildNumber;
private String mLastForwardedNumber;
private String mCallSubject;
@@ -448,6 +449,7 @@ public class Call {
mVideoCallCallback = new InCallVideoCallCallback(this);
}
mTelecomCall.getVideoCall().registerCallback(mVideoCallCallback);
+ mIsVideoCallCallbackRegistered = true;
}
mChildCallIds.clear();
@@ -754,8 +756,14 @@ public class Call {
return mTelecomCall == null ? null : mTelecomCall.getDetails().getAccountHandle();
}
+ /**
+ * @return The {@link VideoCall} instance associated with the {@link android.telecom.Call}.
+ * Will return {@code null} until {@link #updateFromTelecomCall()} has registered a valid
+ * callback on the {@link VideoCall}.
+ */
public VideoCall getVideoCall() {
- return mTelecomCall == null ? null : mTelecomCall.getVideoCall();
+ return mTelecomCall == null || !mIsVideoCallCallbackRegistered ? null
+ : mTelecomCall.getVideoCall();
}
public List<String> getChildCallIds() {