diff options
author | wangqi <wangqi@google.com> | 2018-06-05 11:51:01 -0700 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-06-05 12:57:41 -0700 |
commit | fb0cfff5fc540ec5872464f812f730349fb1e5ad (patch) | |
tree | ce81492ae04c9c663fa18768702686a09a2724f2 /java | |
parent | ef7ac4084e9d396e2b96a07faaccd232eca15648 (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')
-rw-r--r-- | java/com/android/incallui/InCallActivity.java | 12 |
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; } |