summaryrefslogtreecommitdiffstats
path: root/java/com/android/incallui/InCallActivity.java
diff options
context:
space:
mode:
authorlinyuh <linyuh@google.com>2017-11-15 11:23:51 -0800
committerzachh <zachh@google.com>2017-11-18 07:29:43 +0000
commitf99f630265628ce4ff899d0ba74de91fb116ffdd (patch)
tree3656489d6a70174fa2c7a34a81bc4af14b931e3c /java/com/android/incallui/InCallActivity.java
parent006ac375f0abdbe65fb86373987a7a320e0f3358 (diff)
downloadandroid_packages_apps_Dialer-f99f630265628ce4ff899d0ba74de91fb116ffdd.tar.gz
android_packages_apps_Dialer-f99f630265628ce4ff899d0ba74de91fb116ffdd.tar.bz2
android_packages_apps_Dialer-f99f630265628ce4ff899d0ba74de91fb116ffdd.zip
Move InCallActivityCommon#dismissPendingDialogs to InCallActivity.
This is part of the effort to delete InCallActivityCommon. Related instance variables remain in InCallActivityCommon for now as they are used in several other places. Temporary getters/setters are added in InCallActivityCommon so that InCallActivity has access to these instance variables. Bug: 69272096 Test: None PiperOrigin-RevId: 175853702 Change-Id: Iaeb96c8ad7acb628393dd5c775ad7f3b40940a2b
Diffstat (limited to 'java/com/android/incallui/InCallActivity.java')
-rw-r--r--java/com/android/incallui/InCallActivity.java54
1 files changed, 42 insertions, 12 deletions
diff --git a/java/com/android/incallui/InCallActivity.java b/java/com/android/incallui/InCallActivity.java
index 93534697c..f9311f8d3 100644
--- a/java/com/android/incallui/InCallActivity.java
+++ b/java/com/android/incallui/InCallActivity.java
@@ -16,6 +16,7 @@
package com.android.incallui;
+import android.app.Dialog;
import android.content.Context;
import android.content.Intent;
import android.graphics.drawable.GradientDrawable;
@@ -35,6 +36,7 @@ import android.view.MenuItem;
import android.view.MotionEvent;
import android.view.View;
import android.view.WindowManager;
+import com.android.contacts.common.widget.SelectPhoneAccountDialogFragment;
import com.android.dialer.common.Assert;
import com.android.dialer.common.LogUtil;
import com.android.dialer.common.concurrent.ThreadUtil;
@@ -60,6 +62,7 @@ import com.android.incallui.incall.protocol.InCallButtonUiDelegateFactory;
import com.android.incallui.incall.protocol.InCallScreen;
import com.android.incallui.incall.protocol.InCallScreenDelegate;
import com.android.incallui.incall.protocol.InCallScreenDelegateFactory;
+import com.android.incallui.telecomeventui.InternationalCallOnWifiDialogFragment;
import com.android.incallui.video.bindings.VideoBindings;
import com.android.incallui.video.protocol.VideoCallScreen;
import com.android.incallui.video.protocol.VideoCallScreenDelegate;
@@ -77,8 +80,9 @@ public class InCallActivity extends TransactionSafeFragmentActivity
public static final int PENDING_INTENT_REQUEST_CODE_FULL_SCREEN = 1;
public static final int PENDING_INTENT_REQUEST_CODE_BUBBLE = 2;
- private static final String TAG_IN_CALL_SCREEN = "tag_in_call_screen";
private static final String TAG_ANSWER_SCREEN = "tag_answer_screen";
+ private static final String TAG_INTERNATIONAL_CALL_ON_WIFI = "tag_international_call_on_wifi";
+ private static final String TAG_IN_CALL_SCREEN = "tag_in_call_screen";
private static final String TAG_VIDEO_CALL_SCREEN = "tag_video_call_screen";
private static final String DID_SHOW_ANSWER_SCREEN_KEY = "did_show_answer_screen";
@@ -442,21 +446,47 @@ public class InCallActivity extends TransactionSafeFragmentActivity
}
public void dismissPendingDialogs() {
- if (isVisible) {
- LogUtil.i("InCallActivity.dismissPendingDialogs", "");
- common.dismissPendingDialogs();
- AnswerScreen answerScreen = getAnswerScreen();
- if (answerScreen != null) {
- answerScreen.dismissPendingDialogs();
- }
- needDismissPendingDialogs = false;
- } else {
- // The activity is not visible and onSaveInstanceState may have been called so defer the
- // dismissing action.
+ LogUtil.i("InCallActivity.dismissPendingDialogs", "");
+
+ if (!isVisible) {
+ // Defer the dismissing action as the activity is not visible and onSaveInstanceState may have
+ // been called.
LogUtil.i(
"InCallActivity.dismissPendingDialogs", "defer actions since activity is not visible");
needDismissPendingDialogs = true;
+ return;
+ }
+
+ // Dismiss the error dialog
+ Dialog errorDialog = common.getErrorDialog();
+ if (errorDialog != null) {
+ errorDialog.dismiss();
+ common.setErrorDialog(null);
}
+
+ // Dismiss the phone account selection dialog
+ SelectPhoneAccountDialogFragment selectPhoneAccountDialogFragment =
+ common.getSelectPhoneAccountDialogFragment();
+ if (selectPhoneAccountDialogFragment != null) {
+ selectPhoneAccountDialogFragment.dismiss();
+ common.setSelectPhoneAccountDialogFragment(null);
+ }
+
+ // Dismiss the dialog for international call on WiFi
+ InternationalCallOnWifiDialogFragment internationalCallOnWifiFragment =
+ (InternationalCallOnWifiDialogFragment)
+ getSupportFragmentManager().findFragmentByTag(TAG_INTERNATIONAL_CALL_ON_WIFI);
+ if (internationalCallOnWifiFragment != null) {
+ internationalCallOnWifiFragment.dismiss();
+ }
+
+ // Dismiss the answer screen
+ AnswerScreen answerScreen = getAnswerScreen();
+ if (answerScreen != null) {
+ answerScreen.dismissPendingDialogs();
+ }
+
+ needDismissPendingDialogs = false;
}
private void enableInCallOrientationEventListener(boolean enable) {