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
Change-Id: Ia4d8fa67ea3cb75c2d35be9ab60e5c5ffa391ffb
This commit is contained in:
lesl
2021-03-11 22:15:29 +08:00
parent f2ec0fbf83
commit 26128e8722
12 changed files with 43 additions and 23 deletions

View File

@@ -183,7 +183,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() {

View File

@@ -225,7 +225,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)
@@ -367,7 +368,9 @@ public class DataUsageSummaryPreference extends Preference {
@VisibleForTesting
protected long getHistoricalUsageLevel() {
final DataUsageController controller = new DataUsageController(getContext());
return controller.getHistoricalUsageLevel(NetworkTemplate.buildTemplateWifiWildcard());
return controller.getHistoricalUsageLevel(
NetworkTemplate.buildTemplateWifi(NetworkTemplate.WIFI_NETWORKID_ALL,
null /* subscriberId */));
}
@VisibleForTesting

View File

@@ -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);

View File

@@ -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();
}

View File

@@ -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));
}
}