Merge "Add an API hint for metered multipath traffic."
This commit is contained in:
@@ -632,6 +632,7 @@ public class ConnectivityServiceTest extends AndroidTestCase {
|
||||
|
||||
private class WrappedMultinetworkPolicyTracker extends MultinetworkPolicyTracker {
|
||||
public volatile boolean configRestrictsAvoidBadWifi;
|
||||
public volatile int configMeteredMultipathPreference;
|
||||
|
||||
public WrappedMultinetworkPolicyTracker(Context c, Handler h, Runnable r) {
|
||||
super(c, h, r);
|
||||
@@ -641,6 +642,11 @@ public class ConnectivityServiceTest extends AndroidTestCase {
|
||||
public boolean configRestrictsAvoidBadWifi() {
|
||||
return configRestrictsAvoidBadWifi;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int configMeteredMultipathPreference() {
|
||||
return configMeteredMultipathPreference;
|
||||
}
|
||||
}
|
||||
|
||||
private class WrappedConnectivityService extends ConnectivityService {
|
||||
@@ -2454,6 +2460,26 @@ public class ConnectivityServiceTest extends AndroidTestCase {
|
||||
mCm.unregisterNetworkCallback(defaultCallback);
|
||||
}
|
||||
|
||||
@SmallTest
|
||||
public void testMeteredMultipathPreferenceSetting() throws Exception {
|
||||
final ContentResolver cr = mServiceContext.getContentResolver();
|
||||
final WrappedMultinetworkPolicyTracker tracker = mService.getMultinetworkPolicyTracker();
|
||||
final String settingName = Settings.Global.NETWORK_METERED_MULTIPATH_PREFERENCE;
|
||||
|
||||
for (int config : Arrays.asList(0, 3, 2)) {
|
||||
for (String setting: Arrays.asList(null, "0", "2", "1")) {
|
||||
tracker.configMeteredMultipathPreference = config;
|
||||
Settings.Global.putString(cr, settingName, setting);
|
||||
tracker.reevaluate();
|
||||
mService.waitForIdle();
|
||||
|
||||
final int expected = (setting != null) ? Integer.parseInt(setting) : config;
|
||||
String msg = String.format("config=%d, setting=%s", config, setting);
|
||||
assertEquals(msg, expected, mCm.getMultipathPreference(null));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Validate that a satisfied network request does not trigger onUnavailable() once the
|
||||
* time-out period expires.
|
||||
|
||||
Reference in New Issue
Block a user