diff options
author | Robert Greenwalt <rgreenwalt@google.com> | 2011-05-04 09:59:30 -0700 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2011-05-04 09:59:30 -0700 |
commit | f13eb8301f4704179938e374129f2943c9c38d5f (patch) | |
tree | 028311ba07490cd91380100b180a47e26f79a5fb /services | |
parent | 36132a488b2974db9a90da809c2f3eeab99a4427 (diff) | |
parent | f2102f7a1a26d399cc60c516ed7d90ef660de055 (diff) | |
download | frameworks_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.java | 19 |
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 |