summaryrefslogtreecommitdiff
path: root/services/java/com/android/server/ConnectivityService.java
diff options
context:
space:
mode:
authorRobert Greenwalt <rgreenwalt@google.com>2011-05-03 19:02:44 -0700
committerRobert Greenwalt <rgreenwalt@google.com>2011-05-03 19:10:26 -0700
commitf2102f7a1a26d399cc60c516ed7d90ef660de055 (patch)
treeef5a798c8adddd8fc300cdfe9766581b97e12b79 /services/java/com/android/server/ConnectivityService.java
parent7e74c60db5261ea137c8f6672f8573873eb5814e (diff)
Add auto-restore timeout for secondary networks.
Settable per network so you can have not timeout for some and some for others. If you set the old NETWORK_RESTORE_DELAY_PROP_NAME system property (android.telephony.apn-restore) it will override this value. Change-Id: Icca706fdc74245dce679209116660e5dc4b05d23
Diffstat (limited to 'services/java/com/android/server/ConnectivityService.java')
-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 998382cbf231..78fdf7f6a965 100644
--- a/services/java/com/android/server/ConnectivityService.java
+++ b/services/java/com/android/server/ConnectivityService.java
@@ -718,9 +718,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()) {
@@ -1652,7 +1656,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 &&
@@ -1662,7 +1666,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