wifi: Use new API for wifi data usage function
For wifi, a old API: buildTemplateWifiWildcard will includes the merged wifi which is included to mobile usage. It should not double count again. Call new API: buildTemplateWifi with NetworkId: NetworkTemplate.WIFI_NETWORKID_ALL and null subscriberId to get non-merged wifi usage. Test: make RunSettingsRoboTests ROBOTEST_FILTER=AppDataUsageTest Test: make RunSettingsRoboTests ROBOTEST_FILTER=AppDataUsagePreferenceControllerTest Test: make RunSettingsRoboTests ROBOTEST_FILTER=DataUsageSummaryTest Test: make RunSettingsRoboTests ROBOTEST_FILTER=DataUsageSummaryPreferenceTest Test: make RunSettingsRoboTests ROBOTEST_FILTER=DataUsageSummaryPreferenceControllerTest Test: make RunSettingsRoboTests ROBOTEST_FILTER=DataUsageUtilsTest Test: make RunSettingsRoboTests ROBOTEST_FILTER=NetworkProviderSettingsTest Test: make RunSettingsRoboTests ROBOTEST_FILTER=SettingsDumpServiceTest Test: make RunSettingsRoboTests ROBOTEST_FILTER=WifiSettingsTest Test: make RunSettingsRoboTests ROBOTEST_FILTER=DataUsageInfoControllerTest Test: Manual Test, wifi data usage count correctly. Bug: 176396812 Merged-In: Ia4d8fa67ea3cb75c2d35be9ab60e5c5ffa391ffb Change-Id: Ia4d8fa67ea3cb75c2d35be9ab60e5c5ffa391ffb
This commit is contained in:
@@ -120,7 +120,9 @@ public class SettingsDumpService extends Service {
|
||||
obj.put("cell", array);
|
||||
}
|
||||
if (packageManager.hasSystemFeature(FEATURE_WIFI)) {
|
||||
obj.put("wifi", dumpDataUsage(NetworkTemplate.buildTemplateWifiWildcard(), controller));
|
||||
obj.put("wifi", dumpDataUsage(
|
||||
NetworkTemplate.buildTemplateWifi(
|
||||
NetworkTemplate.WIFI_NETWORKID_ALL, null /* subscriberId */), controller));
|
||||
}
|
||||
|
||||
if (packageManager.hasSystemFeature(FEATURE_ETHERNET)) {
|
||||
|
@@ -139,7 +139,8 @@ public class AppDataUsagePreferenceController extends AppInfoPreferenceControlle
|
||||
return NetworkTemplate.buildTemplateMobileWildcard();
|
||||
}
|
||||
if (DataUsageUtils.hasWifiRadio(context)) {
|
||||
return NetworkTemplate.buildTemplateWifiWildcard();
|
||||
return NetworkTemplate.buildTemplateWifi(NetworkTemplate.WIFI_NETWORKID_ALL,
|
||||
null /* subscriberId */);
|
||||
}
|
||||
return NetworkTemplate.buildTemplateEthernet();
|
||||
}
|
||||
|
@@ -180,7 +180,9 @@ public class DataUsageSummary extends DataUsageBaseFragment implements DataUsage
|
||||
void addWifiSection() {
|
||||
TemplatePreferenceCategory category = (TemplatePreferenceCategory)
|
||||
inflatePreferences(R.xml.data_usage_wifi);
|
||||
category.setTemplate(NetworkTemplate.buildTemplateWifiWildcard(), 0, services);
|
||||
category.setTemplate(
|
||||
NetworkTemplate.buildTemplateWifi(NetworkTemplate.WIFI_NETWORKID_ALL,
|
||||
null /* subscriberId */), 0, services);
|
||||
}
|
||||
|
||||
private void addEthernetSection() {
|
||||
|
@@ -224,7 +224,8 @@ public class DataUsageSummaryPreference extends Preference {
|
||||
static void launchWifiDataUsage(Context context) {
|
||||
final Bundle args = new Bundle(1);
|
||||
args.putParcelable(DataUsageList.EXTRA_NETWORK_TEMPLATE,
|
||||
NetworkTemplate.buildTemplateWifiWildcard());
|
||||
NetworkTemplate.buildTemplateWifi(NetworkTemplate.WIFI_NETWORKID_ALL,
|
||||
null /* subscriberId */));
|
||||
args.putInt(DataUsageList.EXTRA_NETWORK_TYPE, ConnectivityManager.TYPE_WIFI);
|
||||
final SubSettingLauncher launcher = new SubSettingLauncher(context)
|
||||
.setArguments(args)
|
||||
@@ -364,7 +365,9 @@ public class DataUsageSummaryPreference extends Preference {
|
||||
@VisibleForTesting
|
||||
long getHistoricalUsageLevel() {
|
||||
final DataUsageController controller = new DataUsageController(getContext());
|
||||
return controller.getHistoricalUsageLevel(NetworkTemplate.buildTemplateWifiWildcard());
|
||||
return controller.getHistoricalUsageLevel(
|
||||
NetworkTemplate.buildTemplateWifi(NetworkTemplate.WIFI_NETWORKID_ALL,
|
||||
null /* subscriberId */));
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -138,7 +138,8 @@ public class DataUsageSummaryPreferenceController extends TelephonyBasePreferenc
|
||||
mDefaultTemplate = DataUsageLib.getMobileTemplate(context, subscriptionId);
|
||||
} else if (DataUsageUtils.hasWifiRadio(context)) {
|
||||
mDataUsageTemplate = R.string.wifi_data_template;
|
||||
mDefaultTemplate = NetworkTemplate.buildTemplateWifiWildcard();
|
||||
mDefaultTemplate = NetworkTemplate.buildTemplateWifi(
|
||||
NetworkTemplate.WIFI_NETWORKID_ALL, null /* subscriberId */);
|
||||
} else {
|
||||
mDataUsageTemplate = R.string.ethernet_data_template;
|
||||
mDefaultTemplate = DataUsageUtils.getDefaultTemplate(context, subscriptionId);
|
||||
|
@@ -184,7 +184,8 @@ public final class DataUsageUtils extends com.android.settingslib.net.DataUsageU
|
||||
if (SubscriptionManager.isValidSubscriptionId(defaultSubId) && hasMobileData(context)) {
|
||||
return DataUsageLib.getMobileTemplate(context, defaultSubId);
|
||||
} else if (hasWifiRadio(context)) {
|
||||
return NetworkTemplate.buildTemplateWifiWildcard();
|
||||
return NetworkTemplate.buildTemplateWifi(NetworkTemplate.WIFI_NETWORKID_ALL,
|
||||
null /* subscriberId */);
|
||||
} else {
|
||||
return NetworkTemplate.buildTemplateEthernet();
|
||||
}
|
||||
|
@@ -73,6 +73,7 @@ public class DataUsageLib {
|
||||
|
||||
private static NetworkTemplate getMobileTemplateForSubId(
|
||||
TelephonyManager telephonyManager, int subId) {
|
||||
return NetworkTemplate.buildTemplateMobileAll(telephonyManager.getSubscriberId(subId));
|
||||
return NetworkTemplate.buildTemplateMobileAll(
|
||||
telephonyManager.getSubscriberId(subId));
|
||||
}
|
||||
}
|
||||
|
@@ -272,9 +272,9 @@ public class WifiSettings extends RestrictedSettingsFragment
|
||||
mUserBadgeCache = new AccessPointPreference.UserBadgeCache(getPackageManager());
|
||||
mDataUsagePreference = findPreference(PREF_KEY_DATA_USAGE);
|
||||
mDataUsagePreference.setVisible(DataUsageUtils.hasWifiRadio(getContext()));
|
||||
mDataUsagePreference.setTemplate(NetworkTemplate.buildTemplateWifiWildcard(),
|
||||
0 /*subId*/,
|
||||
null /*service*/);
|
||||
mDataUsagePreference.setTemplate(
|
||||
NetworkTemplate.buildTemplateWifi(NetworkTemplate.WIFI_NETWORKID_ALL,
|
||||
null /* subscriberId */), 0 /*subId*/, null /*service*/);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@@ -249,9 +249,9 @@ public class WifiSettings2 extends RestrictedSettingsFragment
|
||||
mStatusMessagePreference = findPreference(PREF_KEY_STATUS_MESSAGE);
|
||||
mDataUsagePreference = findPreference(PREF_KEY_DATA_USAGE);
|
||||
mDataUsagePreference.setVisible(DataUsageUtils.hasWifiRadio(getContext()));
|
||||
mDataUsagePreference.setTemplate(NetworkTemplate.buildTemplateWifiWildcard(),
|
||||
0 /*subId*/,
|
||||
null /*service*/);
|
||||
mDataUsagePreference.setTemplate(
|
||||
NetworkTemplate.buildTemplateWifi(NetworkTemplate.WIFI_NETWORKID_ALL,
|
||||
null /* subscriberId */), 0 /*subId*/, null /*service*/);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@@ -18,6 +18,7 @@ package com.android.settings.datausage;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import static org.junit.Assert.assertNull;
|
||||
import static org.mockito.ArgumentMatchers.any;
|
||||
import static org.mockito.ArgumentMatchers.anyBoolean;
|
||||
import static org.mockito.ArgumentMatchers.anyInt;
|
||||
@@ -309,7 +310,8 @@ public class AppDataUsageTest {
|
||||
ReflectionHelpers.setField(mFragment, "mContext", context);
|
||||
ReflectionHelpers.setField(mFragment, "mAppItem", appItem);
|
||||
ReflectionHelpers.setField(mFragment, "mTemplate",
|
||||
NetworkTemplate.buildTemplateWifiWildcard());
|
||||
NetworkTemplate.buildTemplateWifi(NetworkTemplate.WIFI_NETWORKID_ALL,
|
||||
null /* subscriberId */));
|
||||
final long end = System.currentTimeMillis();
|
||||
final long start = end - (DateUtils.WEEK_IN_MILLIS * 4);
|
||||
|
||||
@@ -334,7 +336,8 @@ public class AppDataUsageTest {
|
||||
ReflectionHelpers.setField(mFragment, "mContext", context);
|
||||
ReflectionHelpers.setField(mFragment, "mAppItem", appItem);
|
||||
ReflectionHelpers.setField(mFragment, "mTemplate",
|
||||
NetworkTemplate.buildTemplateWifiWildcard());
|
||||
NetworkTemplate.buildTemplateWifi(NetworkTemplate.WIFI_NETWORKID_ALL,
|
||||
null /* subscriberId */));
|
||||
final long end = System.currentTimeMillis();
|
||||
final long start = end - (DateUtils.WEEK_IN_MILLIS * 4);
|
||||
|
||||
@@ -365,7 +368,8 @@ public class AppDataUsageTest {
|
||||
ReflectionHelpers.setField(mFragment, "mCycles", testCycles);
|
||||
ReflectionHelpers.setField(mFragment, "mAppItem", appItem);
|
||||
ReflectionHelpers.setField(mFragment, "mTemplate",
|
||||
NetworkTemplate.buildTemplateWifiWildcard());
|
||||
NetworkTemplate.buildTemplateWifi(NetworkTemplate.WIFI_NETWORKID_ALL,
|
||||
null /* subscriberId */));
|
||||
|
||||
final NetworkCycleDataForUidLoader loader = (NetworkCycleDataForUidLoader)
|
||||
mFragment.mUidDataCallbacks.onCreateLoader(0 /* id */, Bundle.EMPTY /* args */);
|
||||
@@ -436,6 +440,9 @@ public class AppDataUsageTest {
|
||||
mFragment.onCreate(Bundle.EMPTY);
|
||||
|
||||
assertThat(mFragment.mTemplate.getMatchRule())
|
||||
.isEqualTo(NetworkTemplate.MATCH_WIFI_WILDCARD);
|
||||
.isEqualTo(NetworkTemplate.MATCH_WIFI);
|
||||
assertNull(mFragment.mTemplate.getSubscriberId());
|
||||
assertThat(mFragment.mTemplate.getNetworkId())
|
||||
.isEqualTo(NetworkTemplate.WIFI_NETWORKID_ALL);
|
||||
}
|
||||
}
|
||||
|
@@ -78,8 +78,8 @@ public class DataUsageInfoControllerTest {
|
||||
}
|
||||
|
||||
private NetworkPolicy getDefaultNetworkPolicy() {
|
||||
NetworkTemplate template =
|
||||
new NetworkTemplate(NetworkTemplate.MATCH_WIFI_WILDCARD, null, null);
|
||||
NetworkTemplate template = NetworkTemplate.buildTemplateWifi(
|
||||
NetworkTemplate.WIFI_NETWORKID_ALL, null /* subscriberId */);
|
||||
int cycleDay = -1;
|
||||
String cycleTimezone = "UTC";
|
||||
long warningBytes = -1;
|
||||
@@ -141,4 +141,4 @@ public class DataUsageInfoControllerTest {
|
||||
mInfoController.updateDataLimit(info, policy);
|
||||
assertThat(info.limitLevel).isEqualTo(policy.limitBytes);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -511,11 +511,13 @@ public class DataUsageSummaryPreferenceTest {
|
||||
|
||||
final Bundle expect = new Bundle(1);
|
||||
expect.putParcelable(DataUsageList.EXTRA_NETWORK_TEMPLATE,
|
||||
NetworkTemplate.buildTemplateWifiWildcard());
|
||||
NetworkTemplate.buildTemplateWifi(NetworkTemplate.WIFI_NETWORKID_ALL,
|
||||
null /* subscriberId */));
|
||||
final Bundle actual = startedIntent
|
||||
.getBundleExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT_ARGUMENTS);
|
||||
assertThat((NetworkTemplate) actual.getParcelable(DataUsageList.EXTRA_NETWORK_TEMPLATE))
|
||||
.isEqualTo(NetworkTemplate.buildTemplateWifiWildcard());
|
||||
.isEqualTo(NetworkTemplate.buildTemplateWifi(NetworkTemplate.WIFI_NETWORKID_ALL,
|
||||
null /* subscriberId */));
|
||||
|
||||
assertThat(startedIntent.getIntExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT_TITLE_RESID, 0))
|
||||
.isEqualTo(R.string.wifi_data_usage);
|
||||
|
Reference in New Issue
Block a user