summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJay Shrauner <shrauner@google.com>2015-08-07 15:39:57 -0700
committerThe Android Automerger <android-build@android.com>2015-08-10 13:48:23 -0700
commitf7b5c5c30d69dbaf5066ccfe2cf6a6abb57c2619 (patch)
tree5776897e756fdd707e4c75af9018f84922967667
parent8079ff54db204d19bd4f09b3e85ca3b5ca486010 (diff)
downloadInCallUI-f7b5c5c30d69dbaf5066ccfe2cf6a6abb57c2619.tar.gz
In onPostDialWait, onDetailsChanged, and onConferenceableCallsChanged callbacks, check to make sure the call list contains a mapping for the Telecom Call object. Bug:23031241 Change-Id: I2a9703d9c303fe0b2e320d811d21c71e5c429269 (cherry picked from commit 71a6555ac854303dc023c5e6c9a27c63ec956e3d)
-rw-r--r--src/com/android/incallui/InCallPresenter.java32
1 files changed, 19 insertions, 13 deletions
diff --git a/src/com/android/incallui/InCallPresenter.java b/src/com/android/incallui/InCallPresenter.java
index ff1a50fc..cf162c72 100644
--- a/src/com/android/incallui/InCallPresenter.java
+++ b/src/com/android/incallui/InCallPresenter.java
@@ -120,28 +120,34 @@ public class InCallPresenter implements CallList.Listener,
private final android.telecom.Call.Callback mCallCallback =
new android.telecom.Call.Callback() {
@Override
- public void onPostDialWait(android.telecom.Call call, String remainingPostDialSequence) {
- onPostDialCharWait(mCallList.getCallByTelecommCall(call).getId(),
- remainingPostDialSequence);
+ public void onPostDialWait(android.telecom.Call telecomCall,
+ String remainingPostDialSequence) {
+ final Call call = mCallList.getCallByTelecommCall(telecomCall);
+ if (call == null) {
+ Log.w(this, "Call not found in call list: " + telecomCall);
+ return;
+ }
+ onPostDialCharWait(call.getId(), remainingPostDialSequence);
}
@Override
- public void onDetailsChanged(android.telecom.Call call,
+ public void onDetailsChanged(android.telecom.Call telecomCall,
android.telecom.Call.Details details) {
+ final Call call = mCallList.getCallByTelecommCall(telecomCall);
+ if (call == null) {
+ Log.w(this, "Call not found in call list: " + telecomCall);
+ return;
+ }
for (InCallDetailsListener listener : mDetailsListeners) {
- listener.onDetailsChanged(mCallList.getCallByTelecommCall(call),
- details);
+ listener.onDetailsChanged(call, details);
}
}
@Override
- public void onConferenceableCallsChanged(
- android.telecom.Call call, List<android.telecom.Call> conferenceableCalls) {
- Log.i(this, "onConferenceableCallsChanged: " + call);
- for (InCallDetailsListener listener : mDetailsListeners) {
- listener.onDetailsChanged(mCallList.getCallByTelecommCall(call),
- call.getDetails());
- }
+ public void onConferenceableCallsChanged(android.telecom.Call telecomCall,
+ List<android.telecom.Call> conferenceableCalls) {
+ Log.i(this, "onConferenceableCallsChanged: " + telecomCall);
+ onDetailsChanged(telecomCall, telecomCall.getDetails());
}
};