Merge "[MS50] Remove NetworkTemplate#buildTemplate* usages" am: 0ccb8750b9 am: 039cdfd764

Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/1943134

Change-Id: I603a7c75d79b81f2b5e5809ed4292a5cba77a169
This commit is contained in:
Treehugger Robot
2022-01-11 09:46:19 +00:00
committed by Automerger Merge Worker
14 changed files with 53 additions and 56 deletions

View File

@@ -35,6 +35,7 @@ import android.telephony.TelephonyManager;
import androidx.annotation.VisibleForTesting; import androidx.annotation.VisibleForTesting;
import com.android.settings.applications.ProcStatsData; import com.android.settings.applications.ProcStatsData;
import com.android.settings.datausage.lib.DataUsageLib;
import com.android.settings.fuelgauge.batterytip.AnomalyConfigJobService; import com.android.settings.fuelgauge.batterytip.AnomalyConfigJobService;
import com.android.settingslib.net.DataUsageController; import com.android.settingslib.net.DataUsageController;
@@ -109,14 +110,8 @@ public class SettingsDumpService extends Service {
if (telephonyManager.isDataCapable()) { if (telephonyManager.isDataCapable()) {
JSONArray array = new JSONArray(); JSONArray array = new JSONArray();
for (SubscriptionInfo info : manager.getAvailableSubscriptionInfoList()) { for (SubscriptionInfo info : manager.getAvailableSubscriptionInfoList()) {
telephonyManager = telephonyManager NetworkTemplate template = DataUsageLib.getMobileTemplateForSubId(
.createForSubscriptionId(info.getSubscriptionId()); telephonyManager, info.getSubscriptionId());
String subscriberId = telephonyManager.getSubscriberId();
// The null subscriberId means that no any mobile/carrier network will be matched.
// Using old API: buildTemplateMobileAll for the null subscriberId to avoid NPE.
NetworkTemplate template = subscriberId != null
? NetworkTemplate.buildTemplateCarrierMetered(subscriberId)
: NetworkTemplate.buildTemplateMobileAll(subscriberId);
final JSONObject usage = dumpDataUsage(template, controller); final JSONObject usage = dumpDataUsage(template, controller);
usage.put("subId", info.getSubscriptionId()); usage.put("subId", info.getSubscriptionId());
array.put(usage); array.put(usage);
@@ -125,12 +120,12 @@ public class SettingsDumpService extends Service {
} }
if (packageManager.hasSystemFeature(FEATURE_WIFI)) { if (packageManager.hasSystemFeature(FEATURE_WIFI)) {
obj.put("wifi", dumpDataUsage( obj.put("wifi", dumpDataUsage(
NetworkTemplate.buildTemplateWifi( new NetworkTemplate.Builder(NetworkTemplate.MATCH_WIFI).build(), controller));
NetworkTemplate.WIFI_NETWORKID_ALL, null /* subscriberId */), controller));
} }
if (packageManager.hasSystemFeature(FEATURE_ETHERNET)) { if (packageManager.hasSystemFeature(FEATURE_ETHERNET)) {
obj.put("ethernet", dumpDataUsage(NetworkTemplate.buildTemplateEthernet(), controller)); obj.put("ethernet", dumpDataUsage(new NetworkTemplate.Builder(
NetworkTemplate.MATCH_ETHERNET).build(), controller));
} }
return obj; return obj;
} }

View File

@@ -17,6 +17,7 @@
package com.android.settings.applications.appinfo; package com.android.settings.applications.appinfo;
import android.content.Context; import android.content.Context;
import android.net.NetworkStats;
import android.net.NetworkTemplate; import android.net.NetworkTemplate;
import android.os.Bundle; import android.os.Bundle;
import android.text.format.DateUtils; import android.text.format.DateUtils;
@@ -136,13 +137,13 @@ public class AppDataUsagePreferenceController extends AppInfoPreferenceControlle
private static NetworkTemplate getTemplate(Context context) { private static NetworkTemplate getTemplate(Context context) {
if (DataUsageUtils.hasReadyMobileRadio(context)) { if (DataUsageUtils.hasReadyMobileRadio(context)) {
return NetworkTemplate.buildTemplateMobileWildcard(); return new NetworkTemplate.Builder(NetworkTemplate.MATCH_MOBILE).setMeteredness(
NetworkStats.METERED_YES).build();
} }
if (DataUsageUtils.hasWifiRadio(context)) { if (DataUsageUtils.hasWifiRadio(context)) {
return NetworkTemplate.buildTemplateWifi(NetworkTemplate.WIFI_NETWORKID_ALL, return new NetworkTemplate.Builder(NetworkTemplate.MATCH_WIFI).build();
null /* subscriberId */);
} }
return NetworkTemplate.buildTemplateEthernet(); return new NetworkTemplate.Builder(NetworkTemplate.MATCH_ETHERNET).build();
} }
@VisibleForTesting @VisibleForTesting

View File

@@ -183,15 +183,15 @@ public class DataUsageSummary extends DataUsageBaseFragment implements DataUsage
void addWifiSection() { void addWifiSection() {
TemplatePreferenceCategory category = (TemplatePreferenceCategory) TemplatePreferenceCategory category = (TemplatePreferenceCategory)
inflatePreferences(R.xml.data_usage_wifi); inflatePreferences(R.xml.data_usage_wifi);
category.setTemplate( category.setTemplate(new NetworkTemplate.Builder(NetworkTemplate.MATCH_WIFI).build(),
NetworkTemplate.buildTemplateWifi(NetworkTemplate.WIFI_NETWORKID_ALL, 0, services);
null /* subscriberId */), 0, services);
} }
private void addEthernetSection() { private void addEthernetSection() {
TemplatePreferenceCategory category = (TemplatePreferenceCategory) TemplatePreferenceCategory category = (TemplatePreferenceCategory)
inflatePreferences(R.xml.data_usage_ethernet); inflatePreferences(R.xml.data_usage_ethernet);
category.setTemplate(NetworkTemplate.buildTemplateEthernet(), 0, services); category.setTemplate(new NetworkTemplate.Builder(NetworkTemplate.MATCH_ETHERNET).build(),
0, services);
} }
private Preference inflatePreferences(int resId) { private Preference inflatePreferences(int resId) {

View File

@@ -225,8 +225,7 @@ public class DataUsageSummaryPreference extends Preference {
static void launchWifiDataUsage(Context context) { static void launchWifiDataUsage(Context context) {
final Bundle args = new Bundle(1); final Bundle args = new Bundle(1);
args.putParcelable(DataUsageList.EXTRA_NETWORK_TEMPLATE, args.putParcelable(DataUsageList.EXTRA_NETWORK_TEMPLATE,
NetworkTemplate.buildTemplateWifi(NetworkTemplate.WIFI_NETWORKID_ALL, new NetworkTemplate.Builder(NetworkTemplate.MATCH_WIFI).build());
null /* subscriberId */));
args.putInt(DataUsageList.EXTRA_NETWORK_TYPE, ConnectivityManager.TYPE_WIFI); args.putInt(DataUsageList.EXTRA_NETWORK_TYPE, ConnectivityManager.TYPE_WIFI);
final SubSettingLauncher launcher = new SubSettingLauncher(context) final SubSettingLauncher launcher = new SubSettingLauncher(context)
.setArguments(args) .setArguments(args)
@@ -369,8 +368,7 @@ public class DataUsageSummaryPreference extends Preference {
protected long getHistoricalUsageLevel() { protected long getHistoricalUsageLevel() {
final DataUsageController controller = new DataUsageController(getContext()); final DataUsageController controller = new DataUsageController(getContext());
return controller.getHistoricalUsageLevel( return controller.getHistoricalUsageLevel(
NetworkTemplate.buildTemplateWifi(NetworkTemplate.WIFI_NETWORKID_ALL, new NetworkTemplate.Builder(NetworkTemplate.MATCH_WIFI).build());
null /* subscriberId */));
} }
@VisibleForTesting @VisibleForTesting

View File

@@ -138,8 +138,7 @@ public class DataUsageSummaryPreferenceController extends TelephonyBasePreferenc
mDefaultTemplate = DataUsageLib.getMobileTemplate(context, subscriptionId); mDefaultTemplate = DataUsageLib.getMobileTemplate(context, subscriptionId);
} else if (DataUsageUtils.hasWifiRadio(context)) { } else if (DataUsageUtils.hasWifiRadio(context)) {
mDataUsageTemplate = R.string.wifi_data_template; mDataUsageTemplate = R.string.wifi_data_template;
mDefaultTemplate = NetworkTemplate.buildTemplateWifi( mDefaultTemplate = new NetworkTemplate.Builder(NetworkTemplate.MATCH_WIFI).build();
NetworkTemplate.WIFI_NETWORKID_ALL, null /* subscriberId */);
} else { } else {
mDataUsageTemplate = R.string.ethernet_data_template; mDataUsageTemplate = R.string.ethernet_data_template;
mDefaultTemplate = DataUsageUtils.getDefaultTemplate(context, subscriptionId); mDefaultTemplate = DataUsageUtils.getDefaultTemplate(context, subscriptionId);

View File

@@ -184,10 +184,9 @@ public final class DataUsageUtils extends com.android.settingslib.net.DataUsageU
if (SubscriptionManager.isValidSubscriptionId(defaultSubId) && hasMobileData(context)) { if (SubscriptionManager.isValidSubscriptionId(defaultSubId) && hasMobileData(context)) {
return DataUsageLib.getMobileTemplate(context, defaultSubId); return DataUsageLib.getMobileTemplate(context, defaultSubId);
} else if (hasWifiRadio(context)) { } else if (hasWifiRadio(context)) {
return NetworkTemplate.buildTemplateWifi(NetworkTemplate.WIFI_NETWORKID_ALL, return new NetworkTemplate.Builder(NetworkTemplate.MATCH_WIFI).build();
null /* subscriberId */);
} else { } else {
return NetworkTemplate.buildTemplateEthernet(); return new NetworkTemplate.Builder(NetworkTemplate.MATCH_ETHERNET).build();
} }
} }

View File

@@ -26,6 +26,8 @@ import androidx.preference.PreferenceFragmentCompat;
import com.android.settingslib.core.lifecycle.Lifecycle; import com.android.settingslib.core.lifecycle.Lifecycle;
import com.android.settingslib.net.DataUsageController; import com.android.settingslib.net.DataUsageController;
import java.util.Set;
/** /**
* The controller displays a data usage chart for the specified Wi-Fi network. * The controller displays a data usage chart for the specified Wi-Fi network.
*/ */
@@ -52,7 +54,8 @@ public class WifiDataUsageSummaryPreferenceController extends DataUsageSummaryPr
final DataUsageSummaryPreference mPreference = (DataUsageSummaryPreference) preference; final DataUsageSummaryPreference mPreference = (DataUsageSummaryPreference) preference;
// TODO(b/126299427): Currently gets data usage of whole Wi-Fi networks, but should get // TODO(b/126299427): Currently gets data usage of whole Wi-Fi networks, but should get
// specified one. // specified one.
final NetworkTemplate template = NetworkTemplate.buildTemplateWifi(mNetworkId); final NetworkTemplate template = new NetworkTemplate.Builder(NetworkTemplate.MATCH_WIFI)
.setWifiNetworkKeys(Set.of(mNetworkId)).build();
final DataUsageController.DataUsageInfo info = mDataUsageController.getDataUsageInfo( final DataUsageController.DataUsageInfo info = mDataUsageController.getDataUsageInfo(
template); template);
mDataInfoController.updateDataLimit(info, mPolicyEditor.getPolicy(template)); mDataInfoController.updateDataLimit(info, mPolicyEditor.getPolicy(template));

View File

@@ -17,6 +17,7 @@
package com.android.settings.datausage.lib; package com.android.settings.datausage.lib;
import android.content.Context; import android.content.Context;
import android.net.NetworkStats;
import android.net.NetworkTemplate; import android.net.NetworkTemplate;
import android.telephony.SubscriptionInfo; import android.telephony.SubscriptionInfo;
import android.telephony.SubscriptionManager; import android.telephony.SubscriptionManager;
@@ -26,6 +27,7 @@ import android.util.Log;
import com.android.internal.util.ArrayUtils; import com.android.internal.util.ArrayUtils;
import java.util.List; import java.util.List;
import java.util.Set;
/** /**
* Lib class for data usage * Lib class for data usage
@@ -71,12 +73,17 @@ public class DataUsageLib {
return NetworkTemplate.normalize(mobileTemplate, mergedSubscriberIds); return NetworkTemplate.normalize(mobileTemplate, mergedSubscriberIds);
} }
private static NetworkTemplate getMobileTemplateForSubId( public static NetworkTemplate getMobileTemplateForSubId(
TelephonyManager telephonyManager, int subId) { TelephonyManager telephonyManager, int subId) {
// The null subscriberId means that no any mobile/carrier network will be matched. // Create template that matches any mobile network when the subscriberId is null.
// Using old API: buildTemplateMobileAll for the null subscriberId to avoid NPE.
String subscriberId = telephonyManager.getSubscriberId(subId); String subscriberId = telephonyManager.getSubscriberId(subId);
return subscriberId != null ? NetworkTemplate.buildTemplateCarrierMetered(subscriberId) return subscriberId != null
: NetworkTemplate.buildTemplateMobileAll(subscriberId); ? new NetworkTemplate.Builder(NetworkTemplate.MATCH_CARRIER)
.setSubscriberIds(Set.of(subscriberId))
.setMeteredness(NetworkStats.METERED_YES)
.build()
: new NetworkTemplate.Builder(NetworkTemplate.MATCH_MOBILE)
.setMeteredness(NetworkStats.METERED_YES)
.build();
} }
} }

View File

@@ -302,9 +302,8 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment
mAddWifiNetworkPreference = new AddWifiNetworkPreference(getPrefContext()); mAddWifiNetworkPreference = new AddWifiNetworkPreference(getPrefContext());
mDataUsagePreference = findPreference(PREF_KEY_DATA_USAGE); mDataUsagePreference = findPreference(PREF_KEY_DATA_USAGE);
mDataUsagePreference.setVisible(DataUsageUtils.hasWifiRadio(getContext())); mDataUsagePreference.setVisible(DataUsageUtils.hasWifiRadio(getContext()));
mDataUsagePreference.setTemplate( mDataUsagePreference.setTemplate(new NetworkTemplate.Builder(NetworkTemplate.MATCH_WIFI)
NetworkTemplate.buildTemplateWifi(NetworkTemplate.WIFI_NETWORKID_ALL, .build(), 0 /*subId*/, null /*service*/);
null /* subscriberId */), 0 /*subId*/, null /*service*/);
mResetInternetPreference = findPreference(PREF_KEY_RESET_INTERNET); mResetInternetPreference = findPreference(PREF_KEY_RESET_INTERNET);
if (mResetInternetPreference != null) { if (mResetInternetPreference != null) {
mResetInternetPreference.setVisible(false); mResetInternetPreference.setVisible(false);

View File

@@ -265,9 +265,8 @@ public class WifiSettings extends RestrictedSettingsFragment
mStatusMessagePreference = findPreference(PREF_KEY_STATUS_MESSAGE); mStatusMessagePreference = findPreference(PREF_KEY_STATUS_MESSAGE);
mDataUsagePreference = findPreference(PREF_KEY_DATA_USAGE); mDataUsagePreference = findPreference(PREF_KEY_DATA_USAGE);
mDataUsagePreference.setVisible(DataUsageUtils.hasWifiRadio(getContext())); mDataUsagePreference.setVisible(DataUsageUtils.hasWifiRadio(getContext()));
mDataUsagePreference.setTemplate( mDataUsagePreference.setTemplate(new NetworkTemplate.Builder(
NetworkTemplate.buildTemplateWifi(NetworkTemplate.WIFI_NETWORKID_ALL, NetworkTemplate.MATCH_WIFI).build(), 0 /*subId*/, null /*service*/);
null /* subscriberId */), 0 /*subId*/, null /*service*/);
} }
@Override @Override

View File

@@ -310,8 +310,7 @@ public class AppDataUsageTest {
ReflectionHelpers.setField(mFragment, "mContext", context); ReflectionHelpers.setField(mFragment, "mContext", context);
ReflectionHelpers.setField(mFragment, "mAppItem", appItem); ReflectionHelpers.setField(mFragment, "mAppItem", appItem);
ReflectionHelpers.setField(mFragment, "mTemplate", ReflectionHelpers.setField(mFragment, "mTemplate",
NetworkTemplate.buildTemplateWifi(NetworkTemplate.WIFI_NETWORKID_ALL, new NetworkTemplate.Builder(NetworkTemplate.MATCH_WIFI).build());
null /* subscriberId */));
final long end = System.currentTimeMillis(); final long end = System.currentTimeMillis();
final long start = end - (DateUtils.WEEK_IN_MILLIS * 4); final long start = end - (DateUtils.WEEK_IN_MILLIS * 4);
@@ -336,8 +335,7 @@ public class AppDataUsageTest {
ReflectionHelpers.setField(mFragment, "mContext", context); ReflectionHelpers.setField(mFragment, "mContext", context);
ReflectionHelpers.setField(mFragment, "mAppItem", appItem); ReflectionHelpers.setField(mFragment, "mAppItem", appItem);
ReflectionHelpers.setField(mFragment, "mTemplate", ReflectionHelpers.setField(mFragment, "mTemplate",
NetworkTemplate.buildTemplateWifi(NetworkTemplate.WIFI_NETWORKID_ALL, new NetworkTemplate.Builder(NetworkTemplate.MATCH_WIFI).build());
null /* subscriberId */));
final long end = System.currentTimeMillis(); final long end = System.currentTimeMillis();
final long start = end - (DateUtils.WEEK_IN_MILLIS * 4); final long start = end - (DateUtils.WEEK_IN_MILLIS * 4);
@@ -368,8 +366,7 @@ public class AppDataUsageTest {
ReflectionHelpers.setField(mFragment, "mCycles", testCycles); ReflectionHelpers.setField(mFragment, "mCycles", testCycles);
ReflectionHelpers.setField(mFragment, "mAppItem", appItem); ReflectionHelpers.setField(mFragment, "mAppItem", appItem);
ReflectionHelpers.setField(mFragment, "mTemplate", ReflectionHelpers.setField(mFragment, "mTemplate",
NetworkTemplate.buildTemplateWifi(NetworkTemplate.WIFI_NETWORKID_ALL, new NetworkTemplate.Builder(NetworkTemplate.MATCH_WIFI).build());
null /* subscriberId */));
final NetworkCycleDataForUidLoader loader = (NetworkCycleDataForUidLoader) final NetworkCycleDataForUidLoader loader = (NetworkCycleDataForUidLoader)
mFragment.mUidDataCallbacks.onCreateLoader(0 /* id */, Bundle.EMPTY /* args */); mFragment.mUidDataCallbacks.onCreateLoader(0 /* id */, Bundle.EMPTY /* args */);

View File

@@ -24,6 +24,7 @@ import static org.mockito.Mockito.verify;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.net.NetworkStats;
import android.net.NetworkTemplate; import android.net.NetworkTemplate;
import com.android.settingslib.net.DataUsageController; import com.android.settingslib.net.DataUsageController;
@@ -58,8 +59,9 @@ public class DataUsagePreferenceTest {
public void setTemplate_noDataUsage_shouldDisablePreference() { public void setTemplate_noDataUsage_shouldDisablePreference() {
doReturn(0L).when(mController).getHistoricalUsageLevel(any(NetworkTemplate.class)); doReturn(0L).when(mController).getHistoricalUsageLevel(any(NetworkTemplate.class));
mPreference.setTemplate( mPreference.setTemplate(new NetworkTemplate.Builder(NetworkTemplate.MATCH_MOBILE)
NetworkTemplate.buildTemplateMobileWildcard(), 5 /* subId */, null /* services */); .setMeteredness(NetworkStats.METERED_YES).build(),
5 /* subId */, null /* services */);
verify(mPreference).setEnabled(false); verify(mPreference).setEnabled(false);
verify(mPreference).setIntent(null); verify(mPreference).setIntent(null);
@@ -69,8 +71,9 @@ public class DataUsagePreferenceTest {
public void setTemplate_hasDataUsage_shouldNotDisablePreference() { public void setTemplate_hasDataUsage_shouldNotDisablePreference() {
doReturn(200L).when(mController).getHistoricalUsageLevel(any(NetworkTemplate.class)); doReturn(200L).when(mController).getHistoricalUsageLevel(any(NetworkTemplate.class));
mPreference.setTemplate( mPreference.setTemplate(new NetworkTemplate.Builder(NetworkTemplate.MATCH_MOBILE)
NetworkTemplate.buildTemplateMobileWildcard(), 5 /* subId */, null /* services */); .setMeteredness(NetworkStats.METERED_YES).build(),
5 /* subId */, null /* services */);
verify(mPreference, never()).setEnabled(false); verify(mPreference, never()).setEnabled(false);
verify(mPreference).setIntent(any(Intent.class)); verify(mPreference).setIntent(any(Intent.class));

View File

@@ -101,8 +101,7 @@ public class DataUsageInfoControllerTest {
} }
private NetworkPolicy getDefaultNetworkPolicy() { private NetworkPolicy getDefaultNetworkPolicy() {
NetworkTemplate template = NetworkTemplate.buildTemplateWifi( NetworkTemplate template = new NetworkTemplate.Builder(NetworkTemplate.MATCH_WIFI).build();
NetworkTemplate.WIFI_NETWORKID_ALL, null /* subscriberId */);
int cycleDay = -1; int cycleDay = -1;
String cycleTimezone = "UTC"; String cycleTimezone = "UTC";
long warningBytes = -1; long warningBytes = -1;

View File

@@ -531,13 +531,11 @@ public class DataUsageSummaryPreferenceTest {
final Bundle expect = new Bundle(1); final Bundle expect = new Bundle(1);
expect.putParcelable(DataUsageList.EXTRA_NETWORK_TEMPLATE, expect.putParcelable(DataUsageList.EXTRA_NETWORK_TEMPLATE,
NetworkTemplate.buildTemplateWifi(NetworkTemplate.WIFI_NETWORKID_ALL, new NetworkTemplate.Builder(NetworkTemplate.MATCH_WIFI).build());
null /* subscriberId */));
final Bundle actual = startedIntent final Bundle actual = startedIntent
.getBundleExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT_ARGUMENTS); .getBundleExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT_ARGUMENTS);
assertThat((NetworkTemplate) actual.getParcelable(DataUsageList.EXTRA_NETWORK_TEMPLATE)) assertThat((NetworkTemplate) actual.getParcelable(DataUsageList.EXTRA_NETWORK_TEMPLATE))
.isEqualTo(NetworkTemplate.buildTemplateWifi( .isEqualTo(new NetworkTemplate.Builder(NetworkTemplate.MATCH_WIFI).build());
NetworkTemplate.WIFI_NETWORKID_ALL, null /* subscriberId */));
assertThat(startedIntent.getIntExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT_TITLE_RESID, 0)) assertThat(startedIntent.getIntExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT_TITLE_RESID, 0))
.isEqualTo(ResourcesUtils.getResourcesId(mContext, "string", "wifi_data_usage")); .isEqualTo(ResourcesUtils.getResourcesId(mContext, "string", "wifi_data_usage"));