From d6b10d559f345eab2dd3dd89b07cfc3fd79c59bc Mon Sep 17 00:00:00 2001 From: wangqi Date: Thu, 12 Apr 2018 14:44:06 -0700 Subject: Add RTT transcript to call details. 1. Save RTT transcript when call is destroyed 2. Show RTT transcript link when it's available Bug: 67596257,77717594 Test: manual PiperOrigin-RevId: 192673172 Change-Id: If541ad9137c965166548d2fb449e835b95566727 --- java/com/android/incallui/RttCallPresenter.java | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) (limited to 'java/com/android/incallui/RttCallPresenter.java') diff --git a/java/com/android/incallui/RttCallPresenter.java b/java/com/android/incallui/RttCallPresenter.java index 5e8390793..21e28cee4 100644 --- a/java/com/android/incallui/RttCallPresenter.java +++ b/java/com/android/incallui/RttCallPresenter.java @@ -63,28 +63,34 @@ public class RttCallPresenter implements RttCallScreenDelegate, InCallStateListe LogUtil.enterBlock("RttCallPresenter.onRttCallScreenUiReady"); InCallPresenter.getInstance().addListener(this); startListenOnRemoteMessage(); - DialerCall call = CallList.getInstance().getActiveCall(); + DialerCall call = CallList.getInstance().getCallById(rttCallScreen.getCallId()); if (call != null) { rttCallScreen.onRestoreRttChat(call.getRttTranscript()); } } + @Override + public void onSaveRttTranscript() { + LogUtil.enterBlock("RttCallPresenter.onSaveRttTranscript"); + DialerCall call = CallList.getInstance().getCallById(rttCallScreen.getCallId()); + if (call != null) { + saveTranscript(call); + } + } + @Override public void onRttCallScreenUiUnready() { LogUtil.enterBlock("RttCallPresenter.onRttCallScreenUiUnready"); InCallPresenter.getInstance().removeListener(this); stopListenOnRemoteMessage(); - DialerCall call = CallList.getInstance().getActiveCall(); - if (call != null) { - saveTranscript(call); - } + onSaveRttTranscript(); } private void saveTranscript(DialerCall dialerCall) { LogUtil.enterBlock("RttCallPresenter.saveTranscript"); RttTranscript.Builder builder = RttTranscript.newBuilder(); builder - .setId(dialerCall.getNumber() + dialerCall.getCreationTimeMillis()) + .setId(String.valueOf(dialerCall.getCreationTimeMillis())) .setTimestamp(dialerCall.getCreationTimeMillis()) .setNumber(dialerCall.getNumber()) .addAllMessages(rttCallScreen.getRttTranscriptMessageList()); @@ -100,9 +106,9 @@ public class RttCallPresenter implements RttCallScreenDelegate, InCallStateListe } private void startListenOnRemoteMessage() { - DialerCall call = CallList.getInstance().getActiveCall(); + DialerCall call = CallList.getInstance().getCallById(rttCallScreen.getCallId()); if (call == null) { - LogUtil.i("RttCallPresenter.startListenOnRemoteMessage", "call is not active yet"); + LogUtil.i("RttCallPresenter.startListenOnRemoteMessage", "call does not exist"); return; } rttCall = call.getRttCall(); -- cgit v1.2.3