Merge "Have buildTemplateMobileWithRatType take metered parameter" into sc-v2-dev am: 1ceeaf0b99

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15939044

Change-Id: Ifbcc4620e358a5da834934ea18404b4ccf7ed856
This commit is contained in:
Aaron Huang
2021-10-25 15:26:02 +00:00
committed by Automerger Merge Worker
2 changed files with 10 additions and 8 deletions

View File

@@ -160,19 +160,19 @@ public class NetworkTemplate implements Parcelable {
} }
/** /**
* Template to match cellular networks with the given IMSI and {@code ratType}. * Template to match cellular networks with the given IMSI, {@code ratType} and
* Use {@link #NETWORK_TYPE_ALL} to include all network types when filtering. * {@code metered}. Use {@link #NETWORK_TYPE_ALL} to include all network types when
* See {@code TelephonyManager.NETWORK_TYPE_*}. * filtering. See {@code TelephonyManager.NETWORK_TYPE_*}.
*/ */
public static NetworkTemplate buildTemplateMobileWithRatType(@Nullable String subscriberId, public static NetworkTemplate buildTemplateMobileWithRatType(@Nullable String subscriberId,
@NetworkType int ratType) { @NetworkType int ratType, int metered) {
if (TextUtils.isEmpty(subscriberId)) { if (TextUtils.isEmpty(subscriberId)) {
return new NetworkTemplate(MATCH_MOBILE_WILDCARD, null, null, null, return new NetworkTemplate(MATCH_MOBILE_WILDCARD, null, null, null,
METERED_YES, ROAMING_ALL, DEFAULT_NETWORK_ALL, ratType, OEM_MANAGED_ALL, metered, ROAMING_ALL, DEFAULT_NETWORK_ALL, ratType, OEM_MANAGED_ALL,
SUBSCRIBER_ID_MATCH_RULE_EXACT); SUBSCRIBER_ID_MATCH_RULE_EXACT);
} }
return new NetworkTemplate(MATCH_MOBILE, subscriberId, new String[]{subscriberId}, null, return new NetworkTemplate(MATCH_MOBILE, subscriberId, new String[]{subscriberId}, null,
METERED_YES, ROAMING_ALL, DEFAULT_NETWORK_ALL, ratType, OEM_MANAGED_ALL, metered, ROAMING_ALL, DEFAULT_NETWORK_ALL, ratType, OEM_MANAGED_ALL,
SUBSCRIBER_ID_MATCH_RULE_EXACT); SUBSCRIBER_ID_MATCH_RULE_EXACT);
} }

View File

@@ -29,6 +29,7 @@ import static android.net.NetworkIdentity.OEM_PAID;
import static android.net.NetworkIdentity.OEM_PRIVATE; import static android.net.NetworkIdentity.OEM_PRIVATE;
import static android.net.NetworkStats.DEFAULT_NETWORK_ALL; import static android.net.NetworkStats.DEFAULT_NETWORK_ALL;
import static android.net.NetworkStats.METERED_ALL; import static android.net.NetworkStats.METERED_ALL;
import static android.net.NetworkStats.METERED_YES;
import static android.net.NetworkStats.ROAMING_ALL; import static android.net.NetworkStats.ROAMING_ALL;
import static android.net.NetworkTemplate.MATCH_ETHERNET; import static android.net.NetworkTemplate.MATCH_ETHERNET;
import static android.net.NetworkTemplate.MATCH_MOBILE_WILDCARD; import static android.net.NetworkTemplate.MATCH_MOBILE_WILDCARD;
@@ -1348,7 +1349,7 @@ public class StatsPullAtomService extends SystemService {
@Nullable private NetworkStats getUidNetworkStatsSnapshotForTransport(int transport) { @Nullable private NetworkStats getUidNetworkStatsSnapshotForTransport(int transport) {
final NetworkTemplate template = (transport == TRANSPORT_CELLULAR) final NetworkTemplate template = (transport == TRANSPORT_CELLULAR)
? NetworkTemplate.buildTemplateMobileWithRatType( ? NetworkTemplate.buildTemplateMobileWithRatType(
/*subscriptionId=*/null, NETWORK_TYPE_ALL) /*subscriptionId=*/null, NETWORK_TYPE_ALL, METERED_YES)
: NetworkTemplate.buildTemplateWifiWildcard(); : NetworkTemplate.buildTemplateWifiWildcard();
return getUidNetworkStatsSnapshotForTemplate(template, /*includeTags=*/false); return getUidNetworkStatsSnapshotForTemplate(template, /*includeTags=*/false);
} }
@@ -1388,7 +1389,8 @@ public class StatsPullAtomService extends SystemService {
final List<NetworkStatsExt> ret = new ArrayList<>(); final List<NetworkStatsExt> ret = new ArrayList<>();
for (final int ratType : getAllCollapsedRatTypes()) { for (final int ratType : getAllCollapsedRatTypes()) {
final NetworkTemplate template = final NetworkTemplate template =
buildTemplateMobileWithRatType(subInfo.subscriberId, ratType); buildTemplateMobileWithRatType(subInfo.subscriberId, ratType,
METERED_YES);
final NetworkStats stats = final NetworkStats stats =
getUidNetworkStatsSnapshotForTemplate(template, /*includeTags=*/false); getUidNetworkStatsSnapshotForTemplate(template, /*includeTags=*/false);
if (stats != null) { if (stats != null) {