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
diff --git a/java/com/android/incallui/RttCallPresenter.java b/java/com/android/incallui/RttCallPresenter.java
index 5e83907..21e28ce 100644
--- a/java/com/android/incallui/RttCallPresenter.java
+++ b/java/com/android/incallui/RttCallPresenter.java
@@ -63,28 +63,34 @@
     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 @@
   }
 
   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();