From 612d13a1295afb0f0b9e8217fc0efb211836c949 Mon Sep 17 00:00:00 2001 From: erfanian Date: Wed, 4 Apr 2018 15:27:57 -0700 Subject: Better support for multi call. Bug: 73775453,73775590 Test: unit tests PiperOrigin-RevId: 191657758 Change-Id: If1ae5505185191f04fd57aa828ae5bcc9c21b173 --- java/com/android/incallui/InCallActivity.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'java/com/android') diff --git a/java/com/android/incallui/InCallActivity.java b/java/com/android/incallui/InCallActivity.java index 65ef323fe..44d8667ca 100644 --- a/java/com/android/incallui/InCallActivity.java +++ b/java/com/android/incallui/InCallActivity.java @@ -151,6 +151,7 @@ public class InCallActivity extends TransactionSafeFragmentActivity private boolean didShowVideoCallScreen; private boolean didShowRttCallScreen; private boolean didShowSpeakEasyScreen; + private String lastShownSpeakEasyScreenUniqueCallid = ""; private boolean dismissKeyguard; private boolean isInShowMainInCallFragment; private boolean isRecreating; // whether the activity is going to be recreated @@ -1353,15 +1354,18 @@ public class InCallActivity extends TransactionSafeFragmentActivity private boolean showSpeakEasyFragment(FragmentTransaction transaction, DialerCall call) { - // TODO(erfanian): Support multiple speakeasy screens. if (didShowSpeakEasyScreen) { - return false; + if (lastShownSpeakEasyScreenUniqueCallid.equals(call.getUniqueCallId())) { + return false; + } + hideSpeakEasyFragment(transaction); } Optional speakEasyFragment = speakEasyCallManager.getSpeakEasyFragment(call); if (speakEasyFragment.isPresent()) { transaction.add(R.id.main, speakEasyFragment.get(), Tags.SPEAK_EASY_SCREEN); didShowSpeakEasyScreen = true; + lastShownSpeakEasyScreenUniqueCallid = call.getUniqueCallId(); return true; } return false; -- cgit v1.2.3