diff options
author | Yorke Lee <yorkelee@google.com> | 2014-08-15 11:47:07 -0700 |
---|---|---|
committer | Yorke Lee <yorkelee@google.com> | 2014-08-15 11:47:07 -0700 |
commit | 0f884d94a7fd19a7bee87acf45a983d4190337b1 (patch) | |
tree | 4deb5c0708c18c865b7a1620c878bda083c55829 | |
parent | dafdd695a411ae653e659cb1e31860b154e07692 (diff) | |
download | packages_apps_InCallUI-0f884d94a7fd19a7bee87acf45a983d4190337b1.tar.gz packages_apps_InCallUI-0f884d94a7fd19a7bee87acf45a983d4190337b1.tar.bz2 packages_apps_InCallUI-0f884d94a7fd19a7bee87acf45a983d4190337b1.zip |
Fix NPE in InCallUI
If there is no call for some reason, just ignore the touch point.
Bug: 17065151
Change-Id: Ib208e08465cf8247d3fded6df323c66ccf7778d8
-rw-r--r-- | src/com/android/incallui/CallCardFragment.java | 2 | ||||
-rw-r--r-- | src/com/android/incallui/InCallActivity.java | 12 |
2 files changed, 8 insertions, 6 deletions
diff --git a/src/com/android/incallui/CallCardFragment.java b/src/com/android/incallui/CallCardFragment.java index 6127a1d9..be9b18de 100644 --- a/src/com/android/incallui/CallCardFragment.java +++ b/src/com/android/incallui/CallCardFragment.java @@ -814,7 +814,7 @@ public class CallCardFragment extends BaseFragment<CallCardPresenter, CallCardPr } } - public void animateForNewOutgoingCall(Point touchPoint, Call call) { + public void animateForNewOutgoingCall(Point touchPoint) { final ViewGroup parent = (ViewGroup) mPrimaryCallCardContainer.getParent(); final Point startPoint = touchPoint; diff --git a/src/com/android/incallui/InCallActivity.java b/src/com/android/incallui/InCallActivity.java index 03ccf157..c3dc7275 100644 --- a/src/com/android/incallui/InCallActivity.java +++ b/src/com/android/incallui/InCallActivity.java @@ -453,15 +453,17 @@ public class InCallActivity extends Activity { if (intent.getBooleanExtra(NEW_OUTGOING_CALL, false)) { intent.removeExtra(NEW_OUTGOING_CALL); + Point touchPoint = null; Call call = CallList.getInstance().getOutgoingCall(); if (call == null) { call = CallList.getInstance().getPendingOutgoingCall(); } - - Bundle extras = call.getTelecommCall().getDetails().getExtras(); - Point touchPoint = (Point) (extras == null? - null : extras.getParcelable(TouchPointManager.TOUCH_POINT)); - mCallCardFragment.animateForNewOutgoingCall(touchPoint, call); + if (call != null) { + Bundle extras = call.getTelecommCall().getDetails().getExtras(); + touchPoint = (Point) (extras == null ? + null : extras.getParcelable(TouchPointManager.TOUCH_POINT)); + } + mCallCardFragment.animateForNewOutgoingCall(touchPoint); } if (CallList.getInstance().getWaitingForAccountCall() != null) { |