diff options
author | Jay Shrauner <shrauner@google.com> | 2015-08-07 15:39:57 -0700 |
---|---|---|
committer | The Android Automerger <android-build@android.com> | 2015-08-10 13:48:23 -0700 |
commit | f7b5c5c30d69dbaf5066ccfe2cf6a6abb57c2619 (patch) | |
tree | 5776897e756fdd707e4c75af9018f84922967667 | |
parent | 8079ff54db204d19bd4f09b3e85ca3b5ca486010 (diff) | |
download | InCallUI-marshmallow-cts-release.tar.gz |
DO NOT MERGE Null check CallList mapping in callbacksandroid-cts-6.0_r9android-cts-6.0_r8android-cts-6.0_r7android-cts-6.0_r6android-cts-6.0_r5android-cts-6.0_r4android-cts-6.0_r32android-cts-6.0_r31android-cts-6.0_r30android-cts-6.0_r3android-cts-6.0_r29android-cts-6.0_r28android-cts-6.0_r27android-cts-6.0_r26android-cts-6.0_r25android-cts-6.0_r24android-cts-6.0_r23android-cts-6.0_r22android-cts-6.0_r21android-cts-6.0_r20android-cts-6.0_r2android-cts-6.0_r19android-cts-6.0_r18android-cts-6.0_r17android-cts-6.0_r16android-cts-6.0_r15android-cts-6.0_r14android-cts-6.0_r13android-cts-6.0_r12android-cts-6.0_r1android-6.0.0_r7android-6.0.0_r6android-6.0.0_r5android-6.0.0_r4android-6.0.0_r3android-6.0.0_r2android-6.0.0_r1marshmallow-releasemarshmallow-cts-release
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.java | 32 |
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()); } }; |