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

Commit b3081355 authored by Jack Yu's avatar Jack Yu Committed by android-build-merger
Browse files

Merge "Fixed that data was setup on incorrect transport" am: 9478baa6 am: 0b613ee5

am: 5b81df2b

Change-Id: Ide7c4d99b89182c9e717d041bda55ef2c975ab45
parents bffb17d3 5b81df2b
Loading
Loading
Loading
Loading
+12 −1
Original line number Diff line number Diff line
@@ -316,11 +316,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();
@@ -332,10 +333,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,