From 5364d754c9de464114ae084183ecd5ec43bd5b8a Mon Sep 17 00:00:00 2001 From: Robert Greenwalt Date: Wed, 15 Dec 2010 13:26:33 -0800 Subject: [PATCH] Correct an error code to pass CTS. We used to report an unmatch stopUsingNetworkFeature call with an "ok, stopped" response, but we need to report it as an error. bug:3281837 Change-Id: I35728159e62a021cb10de4396b3f60a92df0570f --- .../java/com/android/server/ConnectivityService.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/services/java/com/android/server/ConnectivityService.java b/services/java/com/android/server/ConnectivityService.java index 9d11d87e4d..f82a243a6b 100644 --- a/services/java/com/android/server/ConnectivityService.java +++ b/services/java/com/android/server/ConnectivityService.java @@ -698,9 +698,8 @@ public class ConnectivityService extends IConnectivityManager.Stub { } NetworkStateTracker network = mNetTrackers[usedNetworkType]; if (network != null) { + Integer currentPid = new Integer(getCallingPid()); if (usedNetworkType != networkType) { - Integer currentPid = new Integer(getCallingPid()); - NetworkStateTracker radio = mNetTrackers[networkType]; NetworkInfo ni = network.getNetworkInfo(); @@ -739,6 +738,14 @@ public class ConnectivityService extends IConnectivityManager.Stub { network.reconnect(); return Phone.APN_REQUEST_STARTED; } else { + // need to remember this unsupported request so we respond appropriately on stop + synchronized(this) { + mFeatureUsers.add(f); + if (!mNetRequestersPids[usedNetworkType].contains(currentPid)) { + // this gets used for per-pid dns when connected + mNetRequestersPids[usedNetworkType].add(currentPid); + } + } return -1; } }