summaryrefslogtreecommitdiff
path: root/java/com/android/incallui
diff options
context:
space:
mode:
authorwangqi <wangqi@google.com>2018-06-05 11:51:01 -0700
committerCopybara-Service <copybara-piper@google.com>2018-06-05 12:57:41 -0700
commitfb0cfff5fc540ec5872464f812f730349fb1e5ad (patch)
treece81492ae04c9c663fa18768702686a09a2724f2 /java/com/android/incallui
parentef7ac4084e9d396e2b96a07faaccd232eca15648 (diff)
Dismiss RTT request dialog if RTT is already active.
On VZW, RTT request will be accepted by modem automatically, in which case the dialog will be useless and should be dismissed. User won't see the dialog in this case since it's not visible yet when dismissed. This is a workaround since change in modem/telecom is not feasible at this point. Bug: 80259700 Test: manual PiperOrigin-RevId: 199334017 Change-Id: Ie5fb40e7a11975a423135ad7e5e6ef2dddbac56b
Diffstat (limited to 'java/com/android/incallui')
-rw-r--r--java/com/android/incallui/InCallActivity.java12
1 files changed, 10 insertions, 2 deletions
diff --git a/java/com/android/incallui/InCallActivity.java b/java/com/android/incallui/InCallActivity.java
index 7d9608a56..7e1519724 100644
--- a/java/com/android/incallui/InCallActivity.java
+++ b/java/com/android/incallui/InCallActivity.java
@@ -159,6 +159,7 @@ public class InCallActivity extends TransactionSafeFragmentActivity
private int[] backgroundDrawableColors;
@DialpadRequestType private int showDialpadRequest = DIALPAD_REQUEST_NONE;
private SpeakEasyCallManager speakEasyCallManager;
+ private DialogFragment rttRequestDialogFragment;
public static Intent getIntent(
Context context, boolean showDialpad, boolean newOutgoingCall, boolean isForFullScreen) {
@@ -1175,8 +1176,8 @@ public class InCallActivity extends TransactionSafeFragmentActivity
public void showDialogForRttRequest(DialerCall call, int rttRequestId) {
LogUtil.enterBlock("InCallActivity.showDialogForRttRequest");
- DialogFragment fragment = RttRequestDialogFragment.newInstance(call.getId(), rttRequestId);
- fragment.show(getSupportFragmentManager(), Tags.RTT_REQUEST_DIALOG);
+ rttRequestDialogFragment = RttRequestDialogFragment.newInstance(call.getId(), rttRequestId);
+ rttRequestDialogFragment.show(getSupportFragmentManager(), Tags.RTT_REQUEST_DIALOG);
}
public void setAllowOrientationChange(boolean allowOrientationChange) {
@@ -1564,6 +1565,13 @@ public class InCallActivity extends TransactionSafeFragmentActivity
transaction.add(R.id.main, rttCallScreen.getRttCallScreenFragment(), Tags.RTT_CALL_SCREEN);
Logger.get(this).logScreenView(ScreenEvent.Type.INCALL, this);
didShowRttCallScreen = true;
+ // In some cases such as VZW, RTT request will be automatically accepted by modem. So the dialog
+ // won't make any sense and should be dismissed if it's already switched to RTT.
+ if (rttRequestDialogFragment != null) {
+ LogUtil.i("InCallActivity.showRttCallScreenFragment", "dismiss RTT request dialog");
+ rttRequestDialogFragment.dismiss();
+ rttRequestDialogFragment = null;
+ }
return true;
}