diff options
3 files changed, 21 insertions, 0 deletions
diff --git a/java/com/android/dialer/compat/telephony/TelephonyManagerCompat.java b/java/com/android/dialer/compat/telephony/TelephonyManagerCompat.java index 655540bba..41e5be29f 100644 --- a/java/com/android/dialer/compat/telephony/TelephonyManagerCompat.java +++ b/java/com/android/dialer/compat/telephony/TelephonyManagerCompat.java @@ -35,6 +35,8 @@ public class TelephonyManagerCompat { // TODO(maxwelb): Use public API for these constants when available public static final String EVENT_HANDOVER_VIDEO_FROM_WIFI_TO_LTE = "android.telephony.event.EVENT_HANDOVER_VIDEO_FROM_WIFI_TO_LTE"; + public static final String EVENT_HANDOVER_VIDEO_FROM_LTE_TO_WIFI = + "android.telephony.event.EVENT_HANDOVER_VIDEO_FROM_LTE_TO_WIFI"; public static final String EVENT_HANDOVER_TO_WIFI_FAILED = "android.telephony.event.EVENT_HANDOVER_TO_WIFI_FAILED"; public static final String EVENT_CALL_REMOTELY_HELD = "android.telecom.event.CALL_REMOTELY_HELD"; diff --git a/java/com/android/dialer/theme/res/values/strings.xml b/java/com/android/dialer/theme/res/values/strings.xml index bab05ed41..36ff9413a 100644 --- a/java/com/android/dialer/theme/res/values/strings.xml +++ b/java/com/android/dialer/theme/res/values/strings.xml @@ -36,6 +36,9 @@ <!-- Label shown on the 'positive' button for the dialog. Indicates that the call will proceed --> <string name="call">Call</string> + <!-- Displayed when handover from WiFi to Lte occurs during a video call --> + <string name="video_call_lte_to_wifi_handover_toast">Continuing call using Wi\u2011Fi\u2026</string> + <!-- String used to build a phone number type and phone number string. Example: Mobile 650-555-1212 --> <string name="call_subject_type_and_number"> diff --git a/java/com/android/incallui/call/DialerCall.java b/java/com/android/incallui/call/DialerCall.java index 9a7c6530f..4815a6e41 100644 --- a/java/com/android/incallui/call/DialerCall.java +++ b/java/com/android/incallui/call/DialerCall.java @@ -47,6 +47,7 @@ import android.telecom.StatusHints; import android.telecom.TelecomManager; import android.telecom.VideoProfile; import android.text.TextUtils; +import android.widget.Toast; import com.android.contacts.common.compat.CallCompat; import com.android.contacts.common.compat.telecom.TelecomManagerCompat; import com.android.dialer.assisteddialing.ConcreteCreator; @@ -142,6 +143,7 @@ public class DialerCall implements VideoTechListener, StateChangedListener, Capa private int state = State.INVALID; private DisconnectCause disconnectCause; + private boolean hasShownLteToWiFiHandoverToast; private boolean hasShownWiFiToLteHandoverToast; private boolean doNotShowDialogForHandoffToWifiFailure; @@ -309,6 +311,9 @@ public class DialerCall implements VideoTechListener, StateChangedListener, Capa case TelephonyManagerCompat.EVENT_HANDOVER_VIDEO_FROM_WIFI_TO_LTE: notifyWiFiToLteHandover(); break; + case TelephonyManagerCompat.EVENT_HANDOVER_VIDEO_FROM_LTE_TO_WIFI: + onLteToWifiHandover(); + break; case TelephonyManagerCompat.EVENT_HANDOVER_TO_WIFI_FAILED: notifyHandoverToWifiFailed(); break; @@ -448,6 +453,17 @@ public class DialerCall implements VideoTechListener, StateChangedListener, Capa cannedTextResponsesLoadedListeners.remove(listener); } + private void onLteToWifiHandover() { + LogUtil.enterBlock("DialerCall.onLteToWifiHandover"); + if (hasShownLteToWiFiHandoverToast) { + return; + } + + Toast.makeText(context, R.string.video_call_lte_to_wifi_handover_toast, Toast.LENGTH_LONG) + .show(); + hasShownLteToWiFiHandoverToast = true; + } + public void notifyWiFiToLteHandover() { LogUtil.i("DialerCall.notifyWiFiToLteHandover", ""); for (DialerCallListener listener : listeners) { |