summaryrefslogtreecommitdiff
path: root/core/java/android
diff options
context:
space:
mode:
authorlesl <lesl@google.com>2021-05-07 18:15:17 +0800
committerLes Lee <lesl@google.com>2021-05-14 11:04:17 +0800
commitd9b6ed80b9e1ba679e4e7c81ef59e674aaa83bcd (patch)
tree4d851b98e420c6940ffaf6c9cc6e2db188c86483 /core/java/android
parentf37a782378eb2fe593a78f25d97e62bb5db5d118 (diff)
Add metered filter for API: buildTemplateCarrier
This CL modifies NetworkTemplate#buildTemplateCarrier to force on metered carrier network and rename to buildTemplateCarrierMetered. This method was introduced recently and has no callers. This method will be used in Settings and NetworkPolicyManagerService to display and manage data usage on carrier metered networks. Settings/NetworkPolicyManagerService will use it instead of the existing method buildTemplateMobileAll method, which only matches metered networks. That code will change from matching metered mobile networks to matching metered carrier networks. Note: The carrier metered network includes metered mobile network and metered "merged carrier wifi network" that is a specific cerrier wifi network which provides the same user experience as mobile. Bug: 176396812 Test: atest -c NetworkTemplateTest Change-Id: I7196d62bb60844458a6c4b1d94e2baccb71e15cd
Diffstat (limited to 'core/java/android')
-rw-r--r--core/java/android/net/NetworkTemplate.java9
1 files changed, 6 insertions, 3 deletions
diff --git a/core/java/android/net/NetworkTemplate.java b/core/java/android/net/NetworkTemplate.java
index d3c89574944f..fd446cdf5c7f 100644
--- a/core/java/android/net/NetworkTemplate.java
+++ b/core/java/android/net/NetworkTemplate.java
@@ -274,11 +274,14 @@ public class NetworkTemplate implements Parcelable {
}
/**
- * Template to match all carrier networks with the given IMSI.
+ * Template to match all metered carrier networks with the given IMSI.
*/
- public static NetworkTemplate buildTemplateCarrier(@NonNull String subscriberId) {
+ public static NetworkTemplate buildTemplateCarrierMetered(@NonNull String subscriberId) {
Objects.requireNonNull(subscriberId);
- return new NetworkTemplate(MATCH_CARRIER, subscriberId, null);
+ return new NetworkTemplate(MATCH_CARRIER, subscriberId,
+ new String[] { subscriberId }, null /* networkId */, METERED_YES, ROAMING_ALL,
+ DEFAULT_NETWORK_ALL, NETWORK_TYPE_ALL, OEM_MANAGED_ALL,
+ SUBSCRIBER_ID_MATCH_RULE_EXACT);
}
private final int mMatchRule;