summaryrefslogtreecommitdiff
path: root/java/com/android/incallui/rtt/impl/RttChatFragment.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/com/android/incallui/rtt/impl/RttChatFragment.java')
-rw-r--r--java/com/android/incallui/rtt/impl/RttChatFragment.java12
1 files changed, 11 insertions, 1 deletions
diff --git a/java/com/android/incallui/rtt/impl/RttChatFragment.java b/java/com/android/incallui/rtt/impl/RttChatFragment.java
index f9c91e5fb..9e8a24a48 100644
--- a/java/com/android/incallui/rtt/impl/RttChatFragment.java
+++ b/java/com/android/incallui/rtt/impl/RttChatFragment.java
@@ -124,6 +124,8 @@ public class RttChatFragment extends Fragment
if (savedInstanceState != null) {
inCallButtonUiDelegate.onRestoreInstanceState(savedInstanceState);
}
+ // Prevent updating local message until UI is ready.
+ isClearingInput = true;
}
@Override
@@ -158,7 +160,7 @@ public class RttChatFragment extends Fragment
layoutManager.setStackFromEnd(true);
recyclerView.setLayoutManager(layoutManager);
recyclerView.setHasFixedSize(false);
- adapter = new RttChatAdapter(getContext(), this);
+ adapter = new RttChatAdapter(getContext(), this, savedInstanceState);
recyclerView.setAdapter(adapter);
recyclerView.addOnScrollListener(onScrollListener);
submitButton = view.findViewById(R.id.rtt_chat_submit_button);
@@ -242,13 +244,21 @@ public class RttChatFragment extends Fragment
public void onStart() {
LogUtil.enterBlock("RttChatFragment.onStart");
super.onStart();
+ isClearingInput = false;
onRttScreenStart();
}
@Override
+ public void onSaveInstanceState(@NonNull Bundle bundle) {
+ super.onSaveInstanceState(bundle);
+ adapter.onSaveInstanceState(bundle);
+ }
+
+ @Override
public void onStop() {
LogUtil.enterBlock("RttChatFragment.onStop");
super.onStop();
+ isClearingInput = true;
if (overflowMenu.isShowing()) {
overflowMenu.dismiss();
}