summaryrefslogtreecommitdiffstats
path: root/services
diff options
context:
space:
mode:
authorRobert Greenwalt <rgreenwalt@google.com>2011-05-04 09:59:30 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2011-05-04 09:59:30 -0700
commitf13eb8301f4704179938e374129f2943c9c38d5f (patch)
tree028311ba07490cd91380100b180a47e26f79a5fb /services
parent36132a488b2974db9a90da809c2f3eeab99a4427 (diff)
parentf2102f7a1a26d399cc60c516ed7d90ef660de055 (diff)
downloadframeworks_base-f13eb8301f4704179938e374129f2943c9c38d5f.zip
frameworks_base-f13eb8301f4704179938e374129f2943c9c38d5f.tar.gz
frameworks_base-f13eb8301f4704179938e374129f2943c9c38d5f.tar.bz2
Merge "Add auto-restore timeout for secondary networks." into honeycomb-LTE
Diffstat (limited to 'services')
-rw-r--r--services/java/com/android/server/ConnectivityService.java19
1 files changed, 15 insertions, 4 deletions
diff --git a/services/java/com/android/server/ConnectivityService.java b/services/java/com/android/server/ConnectivityService.java
index d77ab60..428c94f 100644
--- a/services/java/com/android/server/ConnectivityService.java
+++ b/services/java/com/android/server/ConnectivityService.java
@@ -719,9 +719,13 @@ public class ConnectivityService extends IConnectivityManager.Stub {
mNetRequestersPids[usedNetworkType].add(currentPid);
}
}
- mHandler.sendMessageDelayed(mHandler.obtainMessage(EVENT_RESTORE_DEFAULT_NETWORK,
- f), getRestoreDefaultNetworkDelay());
+ int restoreTimer = getRestoreDefaultNetworkDelay(usedNetworkType);
+
+ if (restoreTimer >= 0) {
+ mHandler.sendMessageDelayed(
+ mHandler.obtainMessage(EVENT_RESTORE_DEFAULT_NETWORK, f), restoreTimer);
+ }
if ((ni.isConnectedOrConnecting() == true) &&
!network.isTeardownRequested()) {
@@ -1658,7 +1662,7 @@ public class ConnectivityService extends IConnectivityManager.Stub {
}
}
- private int getRestoreDefaultNetworkDelay() {
+ private int getRestoreDefaultNetworkDelay(int networkType) {
String restoreDefaultNetworkDelayStr = SystemProperties.get(
NETWORK_RESTORE_DELAY_PROP_NAME);
if(restoreDefaultNetworkDelayStr != null &&
@@ -1668,7 +1672,14 @@ public class ConnectivityService extends IConnectivityManager.Stub {
} catch (NumberFormatException e) {
}
}
- return RESTORE_DEFAULT_NETWORK_DELAY;
+ // if the system property isn't set, use the value for the apn type
+ int ret = RESTORE_DEFAULT_NETWORK_DELAY;
+
+ if ((networkType <= ConnectivityManager.MAX_NETWORK_TYPE) &&
+ (mNetConfigs[networkType] != null)) {
+ ret = mNetConfigs[networkType].restoreTime;
+ }
+ return ret;
}
@Override