From 2cc8744a3d2e05c3602df1ca009e8d723071434a Mon Sep 17 00:00:00 2001 From: Robert Greenwalt Date: Wed, 29 Dec 2010 14:35:21 -0800 Subject: [PATCH] Always file DUN requests for tethering. A bit of a hack so that first trySetupData call uses the proper APN in strange edge cases. Made a new startUsingNetworkFeature string that ConnectivityService knows means always pass the request to telephony even if telephony connections are not currently available. bug:3133178 Change-Id: I2559b9cbaed4b4ec02bdf7ea78e6003ee2be64f2 --- .../java/com/android/server/ConnectivityService.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/services/java/com/android/server/ConnectivityService.java b/services/java/com/android/server/ConnectivityService.java index 5eb42e7d91..eeaeadc948 100644 --- a/services/java/com/android/server/ConnectivityService.java +++ b/services/java/com/android/server/ConnectivityService.java @@ -697,7 +697,8 @@ public class ConnectivityService extends IConnectivityManager.Stub { usedNetworkType = ConnectivityManager.TYPE_MOBILE_MMS; } else if (TextUtils.equals(feature, Phone.FEATURE_ENABLE_SUPL)) { usedNetworkType = ConnectivityManager.TYPE_MOBILE_SUPL; - } else if (TextUtils.equals(feature, Phone.FEATURE_ENABLE_DUN)) { + } else if (TextUtils.equals(feature, Phone.FEATURE_ENABLE_DUN) || + TextUtils.equals(feature, Phone.FEATURE_ENABLE_DUN_ALWAYS)) { usedNetworkType = ConnectivityManager.TYPE_MOBILE_DUN; } else if (TextUtils.equals(feature, Phone.FEATURE_ENABLE_HIPRI)) { usedNetworkType = ConnectivityManager.TYPE_MOBILE_HIPRI; @@ -712,7 +713,11 @@ public class ConnectivityService extends IConnectivityManager.Stub { if (ni.isAvailable() == false) { if (DBG) log("special network not available"); - return Phone.APN_TYPE_NOT_AVAILABLE; + if (!TextUtils.equals(feature,Phone.FEATURE_ENABLE_DUN_ALWAYS)) { + return Phone.APN_TYPE_NOT_AVAILABLE; + } else { + // else make the attempt anyway - probably giving REQUEST_STARTED below + } } synchronized(this) {