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

Commit 9478baa6 authored by Jack Yu's avatar Jack Yu Committed by Gerrit Code Review
Browse files

Merge "Fixed that data was setup on incorrect transport"

parents e119db96 ff549b12
Loading
Loading
Loading
Loading
+12 −1
Original line number Diff line number Diff line
@@ -310,11 +310,12 @@ public class TelephonyNetworkFactory extends NetworkFactory {
        log("onDataHandoverNeeded: apnType=" + ApnSetting.getApnTypeString(apnType)
                + ", target transport=" + TransportType.toString(targetTransport));
        if (mTransportManager.getCurrentTransport(apnType) == targetTransport) {
            log("apnType " + ApnSetting.getApnTypeString(apnType) + " is already on "
            log("APN type " + ApnSetting.getApnTypeString(apnType) + " is already on "
                    + TransportType.toString(targetTransport));
            return;
        }

        boolean handoverPending = false;
        for (HashMap.Entry<NetworkRequest, Integer> entry : mNetworkRequests.entrySet()) {
            NetworkRequest networkRequest = entry.getKey();
            int currentTransport = entry.getValue();
@@ -326,10 +327,20 @@ public class TelephonyNetworkFactory extends NetworkFactory {
                        EVENT_DATA_HANDOVER_COMPLETED);
                onCompleteMsg.getData().putParcelable(
                        DcTracker.DATA_COMPLETE_MSG_EXTRA_NETWORK_REQUEST, networkRequest);
                // TODO: Need to handle the case that the request is there, but there is no actual
                // data connections established.
                requestNetworkInternal(networkRequest, DcTracker.REQUEST_TYPE_HANDOVER,
                        targetTransport, onCompleteMsg);
                handoverPending = true;
            }
        }

        if (!handoverPending) {
            log("No handover request pending. Update the transport type to "
                    + TransportType.toString(targetTransport) + " for APN type "
                    + ApnSetting.getApnTypeString(apnType));
            mTransportManager.setCurrentTransport(apnType, targetTransport);
        }
    }

    private void onDataHandoverSetupCompleted(NetworkRequest networkRequest, boolean success,