am f13eb830: Merge "Add auto-restore timeout for secondary networks." into honeycomb-LTE
* commit 'f13eb8301f4704179938e374129f2943c9c38d5f': Add auto-restore timeout for secondary networks.
This commit is contained in:
@@ -49,6 +49,13 @@ public class NetworkConfig {
|
||||
*/
|
||||
public boolean dependencyMet;
|
||||
|
||||
/**
|
||||
* indicates the default restoral timer in seconds
|
||||
* if the network is used as a special network feature
|
||||
* -1 indicates no restoration of default
|
||||
*/
|
||||
public int restoreTime;
|
||||
|
||||
/**
|
||||
* input string from config.xml resource. Uses the form:
|
||||
* [Connection name],[ConnectivityManager connection type],
|
||||
@@ -60,7 +67,8 @@ public class NetworkConfig {
|
||||
type = Integer.parseInt(fragments[1]);
|
||||
radio = Integer.parseInt(fragments[2]);
|
||||
priority = Integer.parseInt(fragments[3]);
|
||||
dependencyMet = Boolean.parseBoolean(fragments[4]);
|
||||
restoreTime = Integer.parseInt(fragments[4]);
|
||||
dependencyMet = Boolean.parseBoolean(fragments[5]);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -148,17 +148,20 @@
|
||||
attributes. This is used by the connectivity manager to decide which networks can coexist
|
||||
based on the hardware -->
|
||||
<!-- An Array of "[Connection name],[ConnectivityManager connection type],
|
||||
[associated radio-type],[priority],[dependencyMet] -->
|
||||
<!-- the 5th element indicates boot-time dependency-met value. -->
|
||||
[associated radio-type],[priority],[restoral-timer(ms)],[dependencyMet] -->
|
||||
<!-- the 5th element "resore-time" indicates the number of milliseconds to delay
|
||||
before automatically restore the default connection. Set -1 if the connection
|
||||
does not require auto-restore. -->
|
||||
<!-- the 6th element indicates boot-time dependency-met value. -->
|
||||
<string-array translatable="false" name="networkAttributes">
|
||||
<item>"wifi,1,1,1,true"</item>
|
||||
<item>"mobile,0,0,0,true"</item>
|
||||
<item>"mobile_mms,2,0,2,true"</item>
|
||||
<item>"mobile_supl,3,0,2,true"</item>
|
||||
<item>"mobile_hipri,5,0,3,true"</item>
|
||||
<item>"mobile_fota,10,0,2,true"</item>
|
||||
<item>"mobile_ims,11,0,2,true"</item>
|
||||
<item>"mobile_cbs,12,0,2,true"</item>
|
||||
<item>"mobile_mms,2,0,2,60000,true"</item>
|
||||
<item>"mobile_supl,3,0,2,60000,true"</item>
|
||||
<item>"mobile_hipri,5,0,3,60000,true"</item>
|
||||
<item>"mobile_fota,10,0,2,60000,true"</item>
|
||||
<item>"mobile_ims,11,0,2,60000,true"</item>
|
||||
<item>"mobile_cbs,12,0,2,60000,true"</item>
|
||||
</string-array>
|
||||
|
||||
<!-- This string array should be overridden by the device to present a list of radio
|
||||
|
||||
@@ -709,9 +709,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()) {
|
||||
@@ -1662,7 +1666,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 &&
|
||||
@@ -1672,7 +1676,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
|
||||
|
||||
Reference in New Issue
Block a user