Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 19f7a93c authored by Tyler Gunn's avatar Tyler Gunn
Browse files

Filter invalid handover requests.

Prevent sending connection events when the handover to/from states
an unknown radio technology.

Test: Manual
Bug: 37720358
Change-Id: I23a1fab1a1c3b9624bbae30d094567e6879ab212
parent 7fd619a6
Loading
Loading
Loading
Loading
+8 −5
Original line number Diff line number Diff line
@@ -2322,16 +2322,19 @@ public class ImsPhoneCallTracker extends CallTracker implements ImsPullCall {
                    targetAccessTech + ", reasonInfo=" + reasonInfo);
            }

            boolean isHandoverToWifi = srcAccessTech != ServiceState.RIL_RADIO_TECHNOLOGY_IWLAN &&
                    targetAccessTech == ServiceState.RIL_RADIO_TECHNOLOGY_IWLAN;
            // Only consider it a valid handover to WIFI if the source radio tech is known.
            boolean isHandoverToWifi = srcAccessTech != ServiceState.RIL_RADIO_TECHNOLOGY_UNKNOWN
                    && srcAccessTech != ServiceState.RIL_RADIO_TECHNOLOGY_IWLAN
                    && targetAccessTech == ServiceState.RIL_RADIO_TECHNOLOGY_IWLAN;
            if (isHandoverToWifi) {
                // If we handed over to wifi successfully, don't check for failure in the future.
                removeMessages(EVENT_CHECK_FOR_WIFI_HANDOVER);
            }

            boolean isHandoverFromWifi =
                    srcAccessTech == ServiceState.RIL_RADIO_TECHNOLOGY_IWLAN &&
                            targetAccessTech != ServiceState.RIL_RADIO_TECHNOLOGY_IWLAN;
            // Only consider it a handover from WIFI if the source and target radio tech is known.
            boolean isHandoverFromWifi = srcAccessTech == ServiceState.RIL_RADIO_TECHNOLOGY_IWLAN
                    && targetAccessTech != ServiceState.RIL_RADIO_TECHNOLOGY_UNKNOWN
                    && targetAccessTech != ServiceState.RIL_RADIO_TECHNOLOGY_IWLAN;
            if (mNotifyHandoverVideoFromWifiToLTE && isHandoverFromWifi && imsCall.isVideoCall()) {
                log("onCallHandover :: notifying of WIFI to LTE handover.");
                ImsPhoneConnection conn = findConnection(imsCall);