From 70ee7efa312e8857b3eff76bae55a151977c3aa0 Mon Sep 17 00:00:00 2001 From: Sharvil Nanavati Date: Mon, 21 Mar 2016 14:19:37 -0700 Subject: [PATCH] DO NOT MERGE ANYWHERE Add a NetworkTemplate matcher for ConnectivityManager#TYPE_PROXY. Change-Id: I48c0a7bc39e2efcc5b4120a4fa2ecf6dfd54ac27 --- core/java/android/net/NetworkTemplate.java | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/core/java/android/net/NetworkTemplate.java b/core/java/android/net/NetworkTemplate.java index b7a411e4b6..c7339c13c6 100644 --- a/core/java/android/net/NetworkTemplate.java +++ b/core/java/android/net/NetworkTemplate.java @@ -18,6 +18,7 @@ package android.net; import static android.net.ConnectivityManager.TYPE_BLUETOOTH; import static android.net.ConnectivityManager.TYPE_ETHERNET; +import static android.net.ConnectivityManager.TYPE_PROXY; import static android.net.ConnectivityManager.TYPE_WIFI; import static android.net.ConnectivityManager.TYPE_WIFI_P2P; import static android.net.ConnectivityManager.TYPE_WIMAX; @@ -58,6 +59,7 @@ public class NetworkTemplate implements Parcelable { public static final int MATCH_MOBILE_WILDCARD = 6; public static final int MATCH_WIFI_WILDCARD = 7; public static final int MATCH_BLUETOOTH = 8; + public static final int MATCH_PROXY = 9; /** * Set of {@link NetworkInfo#getType()} that reflect data usage. @@ -147,6 +149,14 @@ public class NetworkTemplate implements Parcelable { return new NetworkTemplate(MATCH_BLUETOOTH, null, null); } + /** + * Template to combine all {@link ConnectivityManager#TYPE_PROXY} style + * networks together. + */ + public static NetworkTemplate buildTemplateProxy() { + return new NetworkTemplate(MATCH_PROXY, null, null); + } + private final int mMatchRule; private final String mSubscriberId; @@ -273,6 +283,8 @@ public class NetworkTemplate implements Parcelable { return matchesWifiWildcard(ident); case MATCH_BLUETOOTH: return matchesBluetooth(ident); + case MATCH_PROXY: + return matchesProxy(ident); default: throw new IllegalArgumentException("unknown network template"); } @@ -381,6 +393,13 @@ public class NetworkTemplate implements Parcelable { return false; } + /** + * Check if matches Proxy network template. + */ + private boolean matchesProxy(NetworkIdentity ident) { + return ident.mType == TYPE_PROXY; + } + private static String getMatchRuleName(int matchRule) { switch (matchRule) { case MATCH_MOBILE_3G_LOWER: @@ -399,6 +418,8 @@ public class NetworkTemplate implements Parcelable { return "WIFI_WILDCARD"; case MATCH_BLUETOOTH: return "BLUETOOTH"; + case MATCH_PROXY: + return "PROXY"; default: return "UNKNOWN"; }