Move "metered" persistence to WifiConfiguration.
For a long time we've had a nasty tangled dependency between Wi-Fi and NPMS, since they both persisted different details for configured networks. As part of preparing for new carrier data plan APIs, move the tracking of meteredness over to WifiConfiguration. We've never really supported "unmetered" mobile networks inside the framework, so remove the option to configure those flags. Replace MeteredPreference.notifyChanged() with explicit listener to avoid confusing an invalidation pass as expression of user intent to change metered values. Bug: 63391323 Test: builds, boots, Wi-Fi policy is upgraded Exempt-From-Owner-Approval: No owner was found for changed files. Change-Id: If8a6e12650d1d060a729ed1a80f07ebb65e0ffd7
This commit is contained in:
@@ -94,60 +94,6 @@ public class DataUsageSummaryTest {
|
||||
R.plurals.network_restrictions_summary, 0, 0));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testIsMetered_noSsid_shouldReturnFalse() {
|
||||
final DataUsageSummary dataUsageSummary = new DataUsageSummary();
|
||||
final NetworkPolicyEditor policyEditor = mock(NetworkPolicyEditor.class);
|
||||
ReflectionHelpers.setField(dataUsageSummary, "mPolicyEditor", policyEditor);
|
||||
WifiConfiguration config = mock(WifiConfiguration.class);
|
||||
|
||||
assertThat(dataUsageSummary.isMetered(config)).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testIsMetered_noNetworkPolicy_shouldReturnFalse() {
|
||||
final DataUsageSummary dataUsageSummary = new DataUsageSummary();
|
||||
final NetworkPolicyEditor policyEditor = mock(NetworkPolicyEditor.class);
|
||||
ReflectionHelpers.setField(dataUsageSummary, "mPolicyEditor", policyEditor);
|
||||
WifiConfiguration config = mock(WifiConfiguration.class);
|
||||
config.SSID = "network1";
|
||||
doReturn(null).when(policyEditor).getPolicyMaybeUnquoted(any());
|
||||
|
||||
assertThat(dataUsageSummary.isMetered(config)).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testIsMetered_policyHasLimit_shouldReturnTrue() {
|
||||
final DataUsageSummary dataUsageSummary = new DataUsageSummary();
|
||||
final NetworkPolicyEditor policyEditor = mock(NetworkPolicyEditor.class);
|
||||
ReflectionHelpers.setField(dataUsageSummary, "mPolicyEditor", policyEditor);
|
||||
WifiConfiguration config = mock(WifiConfiguration.class);
|
||||
config.SSID = "network1";
|
||||
NetworkPolicy policy = mock(NetworkPolicy.class);
|
||||
policy.limitBytes = 100;
|
||||
doReturn(policy).when(policyEditor).getPolicyMaybeUnquoted(any());
|
||||
|
||||
assertThat(dataUsageSummary.isMetered(config)).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testIsMetered_noPolicyLimit_shouldReturnMeteredValue() {
|
||||
final DataUsageSummary dataUsageSummary = new DataUsageSummary();
|
||||
final NetworkPolicyEditor policyEditor = mock(NetworkPolicyEditor.class);
|
||||
ReflectionHelpers.setField(dataUsageSummary, "mPolicyEditor", policyEditor);
|
||||
WifiConfiguration config = mock(WifiConfiguration.class);
|
||||
config.SSID = "network1";
|
||||
NetworkPolicy policy = mock(NetworkPolicy.class);
|
||||
policy.limitBytes = NetworkPolicy.LIMIT_DISABLED;
|
||||
doReturn(policy).when(policyEditor).getPolicyMaybeUnquoted(any());
|
||||
|
||||
policy.metered = true;
|
||||
assertThat(dataUsageSummary.isMetered(config)).isTrue();
|
||||
|
||||
policy.metered = false;
|
||||
assertThat(dataUsageSummary.isMetered(config)).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testNonIndexableKeys_existInXmlLayout() {
|
||||
final Context context = RuntimeEnvironment.application;
|
||||
|
Reference in New Issue
Block a user