summaryrefslogtreecommitdiff
path: root/java/com/android/incallui/rtt/impl/RttChatFragment.java
diff options
context:
space:
mode:
authorwangqi <wangqi@google.com>2018-03-01 13:58:01 -0800
committerCopybara-Service <copybara-piper@google.com>2018-03-01 15:08:35 -0800
commit604e481f53eccaefc6763498b525b6e88d9e08e1 (patch)
treee362686302bbc3952dedb539f46d560a6e567559 /java/com/android/incallui/rtt/impl/RttChatFragment.java
parent0cf82d3d03c13236f7bfea2ae4ffd3e11a4ecb07 (diff)
Implement overflow menu for RTT call.
Bug: 67596257 Test: manual PiperOrigin-RevId: 187529383 Change-Id: I6ef6593a79ef0c4fb407284eede966a1eaabcd1e
Diffstat (limited to 'java/com/android/incallui/rtt/impl/RttChatFragment.java')
-rw-r--r--java/com/android/incallui/rtt/impl/RttChatFragment.java33
1 files changed, 30 insertions, 3 deletions
diff --git a/java/com/android/incallui/rtt/impl/RttChatFragment.java b/java/com/android/incallui/rtt/impl/RttChatFragment.java
index deb205ce6..396b89e75 100644
--- a/java/com/android/incallui/rtt/impl/RttChatFragment.java
+++ b/java/com/android/incallui/rtt/impl/RttChatFragment.java
@@ -29,6 +29,7 @@ import android.telecom.CallAudioState;
import android.text.Editable;
import android.text.TextUtils;
import android.text.TextWatcher;
+import android.view.Gravity;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.View;
@@ -45,6 +46,8 @@ import android.widget.TextView.OnEditorActionListener;
import com.android.dialer.common.Assert;
import com.android.dialer.common.FragmentUtils;
import com.android.dialer.common.LogUtil;
+import com.android.incallui.audioroute.AudioRouteSelectorDialogFragment;
+import com.android.incallui.audioroute.AudioRouteSelectorDialogFragment.AudioRouteSelectorPresenter;
import com.android.incallui.call.DialerCall.State;
import com.android.incallui.incall.protocol.InCallButtonUi;
import com.android.incallui.incall.protocol.InCallButtonUiDelegate;
@@ -68,7 +71,8 @@ public class RttChatFragment extends Fragment
MessageListener,
RttCallScreen,
InCallScreen,
- InCallButtonUi {
+ InCallButtonUi,
+ AudioRouteSelectorPresenter {
private static final String ARG_CALL_ID = "call_id";
@@ -94,6 +98,7 @@ public class RttChatFragment extends Fragment
private TextView nameTextView;
private Chronometer chronometer;
private boolean isTimerStarted;
+ private RttOverflowMenu overflowMenu;
/**
* Create a new instance of RttChatFragment.
@@ -173,6 +178,10 @@ public class RttChatFragment extends Fragment
inCallButtonUiDelegate.onEndCallClicked();
});
+ overflowMenu = new RttOverflowMenu(getContext(), inCallButtonUiDelegate);
+ view.findViewById(R.id.rtt_overflow_button)
+ .setOnClickListener(v -> overflowMenu.showAtLocation(v, Gravity.TOP | Gravity.RIGHT, 0, 0));
+
nameTextView = view.findViewById(R.id.rtt_name_or_number);
chronometer = view.findViewById(R.id.rtt_timer);
return view;
@@ -240,6 +249,9 @@ public class RttChatFragment extends Fragment
public void onStop() {
LogUtil.enterBlock("RttChatFragment.onStop");
super.onStop();
+ if (overflowMenu.isShowing()) {
+ overflowMenu.dismiss();
+ }
onRttScreenStop();
}
@@ -360,7 +372,11 @@ public class RttChatFragment extends Fragment
public void setVideoPaused(boolean isPaused) {}
@Override
- public void setAudioState(CallAudioState audioState) {}
+ public void setAudioState(CallAudioState audioState) {
+ LogUtil.i("RttChatFragment.setAudioState", "audioState: " + audioState);
+ overflowMenu.setMuteButtonChecked(audioState.isMuted());
+ overflowMenu.setAudioState(audioState);
+ }
@Override
public void updateButtonStates() {}
@@ -374,5 +390,16 @@ public class RttChatFragment extends Fragment
}
@Override
- public void showAudioRouteSelector() {}
+ public void showAudioRouteSelector() {
+ AudioRouteSelectorDialogFragment.newInstance(inCallButtonUiDelegate.getCurrentAudioState())
+ .show(getChildFragmentManager(), null);
+ }
+
+ @Override
+ public void onAudioRouteSelected(int audioRoute) {
+ inCallButtonUiDelegate.setAudioRoute(audioRoute);
+ }
+
+ @Override
+ public void onAudioRouteSelectorDismiss() {}
}