From 12243dee79feee46d6b2b127620261b1f7093d3c Mon Sep 17 00:00:00 2001 From: erfanian Date: Tue, 17 Apr 2018 12:17:08 -0700 Subject: More improvements call flow. Bug: 73774461,73774884,73775516,73775590,73775873 Test: unit/manual PiperOrigin-RevId: 193236364 Change-Id: I03726ed7e5a3383f6e8632fb2cf9b948c3203f87 --- java/com/android/incallui/InCallActivity.java | 11 +++++++++++ java/com/android/incallui/InCallPresenter.java | 5 ++++- 2 files changed, 15 insertions(+), 1 deletion(-) (limited to 'java/com/android') diff --git a/java/com/android/incallui/InCallActivity.java b/java/com/android/incallui/InCallActivity.java index 0c57dff7b..91f557bd5 100644 --- a/java/com/android/incallui/InCallActivity.java +++ b/java/com/android/incallui/InCallActivity.java @@ -1347,9 +1347,11 @@ public class InCallActivity extends TransactionSafeFragmentActivity if (didShowSpeakEasyScreen) { if (lastShownSpeakEasyScreenUniqueCallid.equals(call.getUniqueCallId())) { + LogUtil.i("InCallActivity.showSpeakEasyFragment", "found existing fragment"); return false; } hideSpeakEasyFragment(transaction); + LogUtil.i("InCallActivity.showSpeakEasyFragment", "hid existing fragment"); } Optional speakEasyFragment = speakEasyCallManager.getSpeakEasyFragment(call); @@ -1357,6 +1359,10 @@ public class InCallActivity extends TransactionSafeFragmentActivity transaction.add(R.id.main, speakEasyFragment.get(), Tags.SPEAK_EASY_SCREEN); didShowSpeakEasyScreen = true; lastShownSpeakEasyScreenUniqueCallid = call.getUniqueCallId(); + LogUtil.i( + "InCallActivity.showSpeakEasyFragment", + "set fragment for call %s", + lastShownSpeakEasyScreenUniqueCallid); return true; } return false; @@ -1381,11 +1387,16 @@ public class InCallActivity extends TransactionSafeFragmentActivity return false; } + @VisibleForTesting public void setSpeakEasyCallManager(SpeakEasyCallManager speakEasyCallManager) { this.speakEasyCallManager = speakEasyCallManager; } + @Nullable public SpeakEasyCallManager getSpeakEasyCallManager() { + if (this.speakEasyCallManager == null) { + this.speakEasyCallManager = InCallPresenter.getInstance().getSpeakEasyCallManager(); + } return speakEasyCallManager; } diff --git a/java/com/android/incallui/InCallPresenter.java b/java/com/android/incallui/InCallPresenter.java index 7468b83ac..1dc150d56 100644 --- a/java/com/android/incallui/InCallPresenter.java +++ b/java/com/android/incallui/InCallPresenter.java @@ -513,7 +513,6 @@ public class InCallPresenter implements CallList.Listener, AudioModeProvider.Aud this.inCallActivity = inCallActivity; this.inCallActivity.setExcludeFromRecents(false); - this.inCallActivity.setSpeakEasyCallManager(this.speakEasyCallManager); // By the time the UI finally comes up, the call may already be disconnected. // If that's the case, we may need to show an error dialog. @@ -569,6 +568,10 @@ public class InCallPresenter implements CallList.Listener, AudioModeProvider.Aud Trace.endSection(); } + public SpeakEasyCallManager getSpeakEasyCallManager() { + return this.speakEasyCallManager; + } + public void setManageConferenceActivity( @Nullable ManageConferenceActivity manageConferenceActivity) { this.manageConferenceActivity = manageConferenceActivity; -- cgit v1.2.3