Refactor getPersistedNetworkPreference
Optimize for updating mNetworkPreference according to device's networkAttributes setting from overlay config.xml when connectivityservice start. Change-Id: I90286332d4f453038f1ddac7dd9d1265d96b4859 Signed-off-by: Jianzheng Zhou <jianzheng.zhou@freescale.com>
This commit is contained in:
parent
402d9c853f
commit
028d203d0f
1 changed files with 28 additions and 6 deletions
|
|
@ -412,8 +412,6 @@ public class ConnectivityService extends IConnectivityManager.Stub {
|
|||
ConnectivityManager.MAX_NETWORK_TYPE+1];
|
||||
mCurrentLinkProperties = new LinkProperties[ConnectivityManager.MAX_NETWORK_TYPE+1];
|
||||
|
||||
mNetworkPreference = getPersistedNetworkPreference();
|
||||
|
||||
mRadioAttributes = new RadioAttributes[ConnectivityManager.MAX_RADIO_TYPE+1];
|
||||
mNetConfigs = new NetworkConfig[ConnectivityManager.MAX_NETWORK_TYPE+1];
|
||||
|
||||
|
|
@ -495,6 +493,21 @@ public class ConnectivityService extends IConnectivityManager.Stub {
|
|||
}
|
||||
}
|
||||
|
||||
// Update mNetworkPreference according to user mannually first then overlay config.xml
|
||||
mNetworkPreference = getPersistedNetworkPreference();
|
||||
if (mNetworkPreference == -1) {
|
||||
for (int n : mPriorityList) {
|
||||
if (mNetConfigs[n].isDefault() && ConnectivityManager.isNetworkTypeValid(n)) {
|
||||
mNetworkPreference = n;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (mNetworkPreference == -1) {
|
||||
throw new IllegalStateException(
|
||||
"You should set at least one default Network in config.xml!");
|
||||
}
|
||||
}
|
||||
|
||||
mNetRequestersPids = new ArrayList[ConnectivityManager.MAX_NETWORK_TYPE+1];
|
||||
for (int i : mPriorityList) {
|
||||
mNetRequestersPids[i] = new ArrayList();
|
||||
|
|
@ -726,11 +739,8 @@ public class ConnectivityService extends IConnectivityManager.Stub {
|
|||
|
||||
final int networkPrefSetting = Settings.Global
|
||||
.getInt(cr, Settings.Global.NETWORK_PREFERENCE, -1);
|
||||
if (networkPrefSetting != -1) {
|
||||
return networkPrefSetting;
|
||||
}
|
||||
|
||||
return ConnectivityManager.DEFAULT_NETWORK_PREFERENCE;
|
||||
return networkPrefSetting;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
Loading…
Reference in a new issue