summaryrefslogtreecommitdiff
path: root/java/com/android/incallui/RttCallPresenter.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/com/android/incallui/RttCallPresenter.java')
-rw-r--r--java/com/android/incallui/RttCallPresenter.java22
1 files changed, 14 insertions, 8 deletions
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();