From 4a220bd6fda5df9be02e2473b49518cb0db9b7c8 Mon Sep 17 00:00:00 2001 From: Wenlu Wu Date: Wed, 20 Jan 2016 16:42:20 +0800 Subject: Display incoming call when phone account selection dialog shows CallCardFragment is not created if there is an incoming call when phone account selection dialog shows, which results in incoming call not being shown. Fix issue by dismissing dialog and showing CallCardFragment in that case. Bug: 33893516 Change-Id: Icd7a729da974717945275cc5cec93da20864fde3 --- InCallUI/src/com/android/incallui/InCallActivity.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'InCallUI/src/com/android/incallui/InCallActivity.java') diff --git a/InCallUI/src/com/android/incallui/InCallActivity.java b/InCallUI/src/com/android/incallui/InCallActivity.java index eca79f8a7..abbdf4679 100644 --- a/InCallUI/src/com/android/incallui/InCallActivity.java +++ b/InCallUI/src/com/android/incallui/InCallActivity.java @@ -844,6 +844,12 @@ public class InCallActivity extends TransactionSafeActivity implements FragmentD } public void showAnswerFragment(boolean show) { + // CallCardFragment is the parent fragment of AnswerFragment. + // Must create the CallCardFragment first before creating + // AnswerFragment if CallCardFragment is null. + if (show && getCallCardFragment() == null) { + showCallCardFragment(true); + } showFragment(TAG_ANSWER_FRAGMENT, show, true); } @@ -888,6 +894,12 @@ public class InCallActivity extends TransactionSafeActivity implements FragmentD if (mAnswerFragment != null) { mAnswerFragment.dismissPendingDialogs(); } + + SelectPhoneAccountDialogFragment dialogFragment = (SelectPhoneAccountDialogFragment) + getFragmentManager().findFragmentByTag(TAG_SELECT_ACCT_FRAGMENT); + if (dialogFragment != null) { + dialogFragment.dismiss(); + } } /** -- cgit v1.2.3