From 345b0e1ec3a435e49b36bfc6d415024a5361157f Mon Sep 17 00:00:00 2001 From: yueg Date: Fri, 22 Sep 2017 17:01:43 -0700 Subject: Fix crash on ending call. We moved onUiShowing() call from InCallActivityCommon.onPause to onStop in cl/169615685, which causes the crash since InCallPresenter is cleared up before calling onUiShowing() and mContext is null at that time. This CL fix the crash by also moving the clearup(InCallPresenter.unsetActivity()) from onPause to onStop. It also makes sense because InCallPresenter.onActivityStarted() is called in onStart instead of onPause. Test: manual PiperOrigin-RevId: 169756942 Change-Id: I222009be1b672f8a6dcb8bfdcea2d633c5810575 --- java/com/android/incallui/InCallActivityCommon.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'java/com/android/incallui') diff --git a/java/com/android/incallui/InCallActivityCommon.java b/java/com/android/incallui/InCallActivityCommon.java index fec9700ab..9e6271f3e 100644 --- a/java/com/android/incallui/InCallActivityCommon.java +++ b/java/com/android/incallui/InCallActivityCommon.java @@ -317,10 +317,6 @@ public class InCallActivityCommon { if (dialpadFragment != null) { dialpadFragment.onDialerKeyUp(null); } - - if (inCallActivity.isFinishing()) { - InCallPresenter.getInstance().unsetActivity(inCallActivity); - } } public void onStop() { @@ -342,6 +338,9 @@ public class InCallActivityCommon { if (!isRecreating) { InCallPresenter.getInstance().onUiShowing(false); } + if (inCallActivity.isFinishing()) { + InCallPresenter.getInstance().unsetActivity(inCallActivity); + } } public void onDestroy() { -- cgit v1.2.3