diff --git a/java/com/android/incallui/rtt/impl/AudioSelectMenu.java b/java/com/android/incallui/rtt/impl/AudioSelectMenu.java
index 2d4ab39..01c3950 100644
--- a/java/com/android/incallui/rtt/impl/AudioSelectMenu.java
+++ b/java/com/android/incallui/rtt/impl/AudioSelectMenu.java
@@ -39,7 +39,7 @@
       Context context,
       InCallButtonUiDelegate inCallButtonUiDelegate,
       OnButtonClickListener onButtonClickListener) {
-    super(context);
+    super(context, null, 0, R.style.OverflowMenu);
     this.context = context;
     this.inCallButtonUiDelegate = inCallButtonUiDelegate;
     this.onButtonClickListener = onButtonClickListener;
@@ -76,7 +76,6 @@
     }
     item.setOnClickListener(
         (v) -> {
-          dismiss();
           inCallButtonUiDelegate.setAudioRoute(itemRoute);
         });
   }
diff --git a/java/com/android/incallui/rtt/impl/RttChatAdapter.java b/java/com/android/incallui/rtt/impl/RttChatAdapter.java
index 8d924c9..955fc9f 100644
--- a/java/com/android/incallui/rtt/impl/RttChatAdapter.java
+++ b/java/com/android/incallui/rtt/impl/RttChatAdapter.java
@@ -33,7 +33,9 @@
 public class RttChatAdapter extends RecyclerView.Adapter<RttChatMessageViewHolder> {
 
   interface MessageListener {
-    void newMessageAdded();
+    void onUpdateRemoteMessage(int position);
+
+    void onUpdateLocalMessage(int position);
   }
 
   private static final String KEY_MESSAGE_DATA = "key_message_data";
@@ -114,7 +116,7 @@
   void addLocalMessage(String message) {
     updateCurrentLocalMessage(message);
     if (messageListener != null) {
-      messageListener.newMessageAdded();
+      messageListener.onUpdateLocalMessage(lastIndexOfLocalMessage);
     }
   }
 
@@ -143,7 +145,7 @@
     }
     updateCurrentRemoteMessage(message);
     if (messageListener != null) {
-      messageListener.newMessageAdded();
+      messageListener.onUpdateRemoteMessage(RttChatMessage.getLastIndexRemoteMessage(rttMessages));
     }
   }
 
diff --git a/java/com/android/incallui/rtt/impl/RttChatFragment.java b/java/com/android/incallui/rtt/impl/RttChatFragment.java
index 56ac242..a181f88 100644
--- a/java/com/android/incallui/rtt/impl/RttChatFragment.java
+++ b/java/com/android/incallui/rtt/impl/RttChatFragment.java
@@ -85,15 +85,6 @@
   private ImageButton submitButton;
   private boolean isClearingInput;
 
-  private final OnScrollListener onScrollListener =
-      new OnScrollListener() {
-        @Override
-        public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
-          if (dy < 0) {
-            UiUtil.hideKeyboardFrom(getContext(), editText);
-          }
-        }
-      };
   private InCallScreenDelegate inCallScreenDelegate;
   private RttCallScreenDelegate rttCallScreenDelegate;
   private InCallButtonUiDelegate inCallButtonUiDelegate;
@@ -105,6 +96,8 @@
   private SecondaryInfo savedSecondaryInfo;
   private TextView statusBanner;
   private PrimaryInfo primaryInfo;
+  private boolean isUserScrolling;
+  private boolean shouldAutoScrolling;
 
   /**
    * Create a new instance of RttChatFragment.
@@ -193,7 +186,27 @@
     recyclerView.setHasFixedSize(false);
     adapter = new RttChatAdapter(getContext(), this, savedInstanceState);
     recyclerView.setAdapter(adapter);
-    recyclerView.addOnScrollListener(onScrollListener);
+    recyclerView.addOnScrollListener(
+        new OnScrollListener() {
+          @Override
+          public void onScrollStateChanged(RecyclerView recyclerView, int i) {
+            if (i == RecyclerView.SCROLL_STATE_DRAGGING) {
+              isUserScrolling = true;
+            } else if (i == RecyclerView.SCROLL_STATE_IDLE) {
+              isUserScrolling = false;
+              // Auto scrolling for new messages should be resumed if it's scrolled to bottom.
+              shouldAutoScrolling = !recyclerView.canScrollVertically(1);
+            }
+          }
+
+          @Override
+          public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
+            if (dy < 0 && isUserScrolling) {
+              UiUtil.hideKeyboardFrom(getContext(), editText);
+            }
+          }
+        });
+
     submitButton = view.findViewById(R.id.rtt_chat_submit_button);
     submitButton.setOnClickListener(
         v -> {
@@ -202,6 +215,9 @@
           editText.setText("");
           isClearingInput = false;
           rttCallScreenDelegate.onLocalMessage(Constants.BUBBLE_BREAKER);
+          // Auto scrolling for new messages should be resumed since user has submit current
+          // message.
+          shouldAutoScrolling = true;
         });
     submitButton.setEnabled(false);
     endCallButton = view.findViewById(R.id.rtt_end_call_button);
@@ -276,8 +292,21 @@
   }
 
   @Override
-  public void newMessageAdded() {
-    recyclerView.smoothScrollToPosition(adapter.getItemCount());
+  public void onUpdateLocalMessage(int position) {
+    if (position < 0) {
+      return;
+    }
+    recyclerView.smoothScrollToPosition(position);
+  }
+
+  @Override
+  public void onUpdateRemoteMessage(int position) {
+    if (position < 0) {
+      return;
+    }
+    if (shouldAutoScrolling) {
+      recyclerView.smoothScrollToPosition(position);
+    }
   }
 
   @Override
diff --git a/java/com/android/incallui/rtt/impl/RttChatMessage.java b/java/com/android/incallui/rtt/impl/RttChatMessage.java
index cbc53ef..0060b1b 100644
--- a/java/com/android/incallui/rtt/impl/RttChatMessage.java
+++ b/java/com/android/incallui/rtt/impl/RttChatMessage.java
@@ -162,7 +162,7 @@
     return i;
   }
 
-  private static int getLastIndexRemoteMessage(List<RttChatMessage> messageList) {
+  static int getLastIndexRemoteMessage(List<RttChatMessage> messageList) {
     int i = messageList.size() - 1;
     while (i >= 0 && !messageList.get(i).isRemote) {
       i--;
diff --git a/java/com/android/incallui/rtt/impl/RttOverflowMenu.java b/java/com/android/incallui/rtt/impl/RttOverflowMenu.java
index 6a7aeba..deee8ee 100644
--- a/java/com/android/incallui/rtt/impl/RttOverflowMenu.java
+++ b/java/com/android/incallui/rtt/impl/RttOverflowMenu.java
@@ -42,7 +42,7 @@
       Context context,
       InCallButtonUiDelegate inCallButtonUiDelegate,
       InCallScreenDelegate inCallScreenDelegate) {
-    super(context);
+    super(context, null, 0, R.style.OverflowMenu);
     this.inCallButtonUiDelegate = inCallButtonUiDelegate;
     this.inCallScreenDelegate = inCallScreenDelegate;
     View view = View.inflate(context, R.layout.overflow_menu, null);
@@ -67,7 +67,6 @@
           if (isSwitchToSecondaryButtonEnabled) {
             this.inCallScreenDelegate.onSecondaryInfoClicked();
           }
-          dismiss();
         });
   }
 
@@ -80,7 +79,6 @@
     } else if (button == dialpadButton) {
       inCallButtonUiDelegate.showDialpadClicked(isChecked);
     }
-    dismiss();
   }
 
   void setMuteButtonChecked(boolean isChecked) {
diff --git a/java/com/android/incallui/rtt/impl/res/drawable/overflow_menu_background.xml b/java/com/android/incallui/rtt/impl/res/drawable/overflow_menu_background.xml
index 6142986..2af14fd 100644
--- a/java/com/android/incallui/rtt/impl/res/drawable/overflow_menu_background.xml
+++ b/java/com/android/incallui/rtt/impl/res/drawable/overflow_menu_background.xml
@@ -18,4 +18,4 @@
     android:shape="rectangle">
   <solid android:color="@android:color/white"/>
   <corners android:radius="2dp"/>
-</shape>
\ No newline at end of file
+</shape>
diff --git a/java/com/android/incallui/rtt/impl/res/layout/audio_route.xml b/java/com/android/incallui/rtt/impl/res/layout/audio_route.xml
index 89b5c76..f098316 100644
--- a/java/com/android/incallui/rtt/impl/res/layout/audio_route.xml
+++ b/java/com/android/incallui/rtt/impl/res/layout/audio_route.xml
@@ -20,7 +20,6 @@
     android:layout_height="wrap_content"
     android:paddingTop="8dp"
     android:paddingBottom="8dp"
-    android:background="@drawable/overflow_menu_background"
     android:orientation="vertical">
   <com.android.incallui.rtt.impl.RttCheckableButton
       android:id="@+id/audioroute_back"
diff --git a/java/com/android/incallui/rtt/impl/res/layout/frag_rtt_chat.xml b/java/com/android/incallui/rtt/impl/res/layout/frag_rtt_chat.xml
index 34a9954..ea7ff10 100644
--- a/java/com/android/incallui/rtt/impl/res/layout/frag_rtt_chat.xml
+++ b/java/com/android/incallui/rtt/impl/res/layout/frag_rtt_chat.xml
@@ -23,6 +23,7 @@
       android:id="@+id/rtt_recycler_view"
       android:layout_width="match_parent"
       android:layout_height="match_parent"
+      android:paddingTop="70dp"
       android:paddingBottom="70dp"
       android:clipToPadding="false"/>
 
diff --git a/java/com/android/incallui/rtt/impl/res/layout/overflow_menu.xml b/java/com/android/incallui/rtt/impl/res/layout/overflow_menu.xml
index eb7e386..0ec36f3 100644
--- a/java/com/android/incallui/rtt/impl/res/layout/overflow_menu.xml
+++ b/java/com/android/incallui/rtt/impl/res/layout/overflow_menu.xml
@@ -20,7 +20,6 @@
     android:layout_height="wrap_content"
     android:paddingTop="8dp"
     android:paddingBottom="8dp"
-    android:background="@drawable/overflow_menu_background"
     android:orientation="vertical">
   <com.android.incallui.rtt.impl.RttCheckableButton
       android:id="@+id/menu_mute"
diff --git a/java/com/android/incallui/rtt/impl/res/values/dimens.xml b/java/com/android/incallui/rtt/impl/res/values/dimens.xml
index 4c3fe02..a6418d7 100644
--- a/java/com/android/incallui/rtt/impl/res/values/dimens.xml
+++ b/java/com/android/incallui/rtt/impl/res/values/dimens.xml
@@ -18,4 +18,5 @@
   <dimen name="rtt_message_margin_top">16dp</dimen>
   <dimen name="rtt_same_group_message_margin_top">2dp</dimen>
   <dimen name="rtt_overflow_menu_width">180dp</dimen>
+  <dimen name="rtt_overflow_menu_elevation">8dp</dimen>
 </resources>
\ No newline at end of file
diff --git a/java/com/android/incallui/rtt/impl/res/values/styles.xml b/java/com/android/incallui/rtt/impl/res/values/styles.xml
index bbacde8..667cd12 100644
--- a/java/com/android/incallui/rtt/impl/res/values/styles.xml
+++ b/java/com/android/incallui/rtt/impl/res/values/styles.xml
@@ -40,4 +40,10 @@
     <item name="android:theme">@style/ButtonTheme</item>
     <item name="android:background">?attr/selectableItemBackground</item>
   </style>
+
+  <style name="OverflowMenu">
+    <item name="android:popupAnimationStyle">@android:style/Animation.Dialog</item>
+    <item name="android:popupBackground">@drawable/overflow_menu_background</item>
+    <item name="android:popupElevation">@dimen/rtt_overflow_menu_elevation</item>
+  </style>
 </resources>
\ No newline at end of file
