diff options
author | erfanian <erfanian@google.com> | 2018-04-04 15:27:57 -0700 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-04-04 16:28:50 -0700 |
commit | 612d13a1295afb0f0b9e8217fc0efb211836c949 (patch) | |
tree | d2efff2512c24fa05f9fd87c383d4da3f89d4fe9 /java | |
parent | ed677ef166d416743169a268664b072ace1fa93b (diff) |
Better support for multi call.
Bug: 73775453,73775590
Test: unit tests
PiperOrigin-RevId: 191657758
Change-Id: If1ae5505185191f04fd57aa828ae5bcc9c21b173
Diffstat (limited to 'java')
-rw-r--r-- | java/com/android/incallui/InCallActivity.java | 8 |
1 files changed, 6 insertions, 2 deletions
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<Fragment> 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; |