diff options
author | Jack Yu <jackyu@google.com> | 2019-05-04 17:07:19 -0700 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2019-05-04 17:07:19 -0700 |
commit | cf8034b8abca13b2ff1ee8d607196b75dc806f47 (patch) | |
tree | ebb9670b352c58f823e835f387452e2fddbe1522 | |
parent | 22445ab641709e572e329afcb68bbf63c99890ef (diff) | |
parent | c49627019d483246dcbb13a979504765fb8b49e8 (diff) | |
download | telephony-cf8034b8abca13b2ff1ee8d607196b75dc806f47.tar.gz |
Merge "Fixed corner case when handover fails"
am: c49627019d
Change-Id: Ib343b1ff081fa6fb4c6e51481e89eb43967143b8
-rw-r--r-- | src/java/com/android/internal/telephony/dataconnection/TelephonyNetworkFactory.java | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/java/com/android/internal/telephony/dataconnection/TelephonyNetworkFactory.java b/src/java/com/android/internal/telephony/dataconnection/TelephonyNetworkFactory.java index 9f1d34fd16..d86e6763d9 100644 --- a/src/java/com/android/internal/telephony/dataconnection/TelephonyNetworkFactory.java +++ b/src/java/com/android/internal/telephony/dataconnection/TelephonyNetworkFactory.java @@ -392,8 +392,14 @@ public class TelephonyNetworkFactory extends NetworkFactory { int originTransport = (targetTransport == AccessNetworkConstants.TRANSPORT_TYPE_WWAN) ? AccessNetworkConstants.TRANSPORT_TYPE_WLAN : AccessNetworkConstants.TRANSPORT_TYPE_WWAN; - releaseNetworkInternal(networkRequest, DcTracker.RELEASE_TYPE_HANDOVER, - originTransport); + int releaseType = success + ? DcTracker.RELEASE_TYPE_HANDOVER + // If handover fails, we need to tear down the existing connection, so the + // new data connection can be re-established on the new transport. If we leave + // the existing data connection in current transport, then DCT and qualified + // network service will be out of sync. + : DcTracker.RELEASE_TYPE_NORMAL; + releaseNetworkInternal(networkRequest, releaseType, originTransport); mNetworkRequests.put(networkRequest, targetTransport); handoverParams.callback.onCompleted(success); |