use of android.net.NetworkConfig in project XobotOS by xamarin.
the class GsmDataConnectionTracker method initApnContextsAndDataConnection.
protected void initApnContextsAndDataConnection() {
boolean defaultEnabled = SystemProperties.getBoolean(DEFALUT_DATA_ON_BOOT_PROP, true);
// Load device network attributes from resources
String[] networkConfigStrings = mPhone.getContext().getResources().getStringArray(com.android.internal.R.array.networkAttributes);
for (String networkConfigString : networkConfigStrings) {
NetworkConfig networkConfig = new NetworkConfig(networkConfigString);
ApnContext apnContext = null;
switch(networkConfig.type) {
case ConnectivityManager.TYPE_MOBILE:
apnContext = addApnContext(Phone.APN_TYPE_DEFAULT);
apnContext.setEnabled(defaultEnabled);
break;
case ConnectivityManager.TYPE_MOBILE_MMS:
apnContext = addApnContext(Phone.APN_TYPE_MMS);
break;
case ConnectivityManager.TYPE_MOBILE_SUPL:
apnContext = addApnContext(Phone.APN_TYPE_SUPL);
break;
case ConnectivityManager.TYPE_MOBILE_DUN:
apnContext = addApnContext(Phone.APN_TYPE_DUN);
break;
case ConnectivityManager.TYPE_MOBILE_HIPRI:
apnContext = addApnContext(Phone.APN_TYPE_HIPRI);
ApnContext defaultContext = mApnContexts.get(Phone.APN_TYPE_DEFAULT);
if (defaultContext != null) {
applyNewState(apnContext, apnContext.isEnabled(), defaultContext.getDependencyMet());
} else {
// the default will set the hipri dep-met when it is created
}
continue;
case ConnectivityManager.TYPE_MOBILE_FOTA:
apnContext = addApnContext(Phone.APN_TYPE_FOTA);
break;
case ConnectivityManager.TYPE_MOBILE_IMS:
apnContext = addApnContext(Phone.APN_TYPE_IMS);
break;
case ConnectivityManager.TYPE_MOBILE_CBS:
apnContext = addApnContext(Phone.APN_TYPE_CBS);
break;
default:
// skip unknown types
continue;
}
if (apnContext != null) {
// set the prop, but also apply the newly set enabled and dependency values
onSetDependencyMet(apnContext.getApnType(), networkConfig.dependencyMet);
}
}
}
Aggregations