From 51939ea9be1743f3aa402b32d9a54abb42694ab1 Mon Sep 17 00:00:00 2001 From: David Su Date: Mon, 27 Jan 2020 13:26:52 -0800 Subject: Wifi: Rename removeDoubleQuotes to sanitizeSsid Keep removeDoubleQuotes as it is marked @UnsupportedAppUsage. Bug: 145745815 Test: compiles Change-Id: I68a16b64eba3d84265b5cf2c83b434dc4fc7fa3c Merged-In: I68a16b64eba3d84265b5cf2c83b434dc4fc7fa3c (dirty cherry-pick from internal branch) --- api/system-current.txt | 1 + wifi/java/android/net/wifi/WifiInfo.java | 16 ++++++++++++++-- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/api/system-current.txt b/api/system-current.txt index 44a1c0d79c13..68fe5b29b9e3 100755 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -5628,6 +5628,7 @@ package android.net.wifi { public class WifiInfo implements android.os.Parcelable { method public boolean isOsuAp(); method public boolean isPasspointAp(); + method @Nullable public static String sanitizeSsid(@Nullable String); } public class WifiManager { diff --git a/wifi/java/android/net/wifi/WifiInfo.java b/wifi/java/android/net/wifi/WifiInfo.java index 8bad71ba747b..0204113b614b 100644 --- a/wifi/java/android/net/wifi/WifiInfo.java +++ b/wifi/java/android/net/wifi/WifiInfo.java @@ -658,9 +658,21 @@ public class WifiInfo implements Parcelable { } } - /** {@hide} */ + /** + * Remove double quotes (") surrounding a SSID string, if present. Otherwise, return the + * string unmodified. Return null if the input string was null. + * @hide + */ + @Nullable + @SystemApi + public static String sanitizeSsid(@Nullable String string) { + return removeDoubleQuotes(string); + } + + /** @hide */ @UnsupportedAppUsage - public static String removeDoubleQuotes(String string) { + @Nullable + public static String removeDoubleQuotes(@Nullable String string) { if (string == null) return null; final int length = string.length(); if ((length > 1) && (string.charAt(0) == '"') && (string.charAt(length - 1) == '"')) { -- cgit v1.2.3-59-g8ed1b From e2e0d424aec1219316370a61649b9dd42c7c3605 Mon Sep 17 00:00:00 2001 From: David Su Date: Mon, 27 Jan 2020 13:27:50 -0800 Subject: Networking: Rename removeDoubleQuotes to sanitizeSsid Bug: 145745815 Test: compiles Change-Id: Iaa6f0d65cab556c24b0a9010427de8e6a02836c1 Merged-In: Iaa6f0d65cab556c24b0a9010427de8e6a02836c1 (clean cherry-pick from internal branch) --- core/java/android/net/NetworkPolicyManager.java | 4 ++-- core/java/android/net/NetworkTemplate.java | 4 ++-- .../server/connectivity/NetworkNotificationManager.java | 12 ++++++------ 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/core/java/android/net/NetworkPolicyManager.java b/core/java/android/net/NetworkPolicyManager.java index de962f8f25e3..d1c13290338f 100644 --- a/core/java/android/net/NetworkPolicyManager.java +++ b/core/java/android/net/NetworkPolicyManager.java @@ -367,12 +367,12 @@ public class NetworkPolicyManager { } public static String resolveNetworkId(WifiConfiguration config) { - return WifiInfo.removeDoubleQuotes(config.isPasspoint() + return WifiInfo.sanitizeSsid(config.isPasspoint() ? config.providerFriendlyName : config.SSID); } public static String resolveNetworkId(String ssid) { - return WifiInfo.removeDoubleQuotes(ssid); + return WifiInfo.sanitizeSsid(ssid); } /** {@hide} */ diff --git a/core/java/android/net/NetworkTemplate.java b/core/java/android/net/NetworkTemplate.java index 5e6c47a47a8e..5498f74ba2cc 100644 --- a/core/java/android/net/NetworkTemplate.java +++ b/core/java/android/net/NetworkTemplate.java @@ -32,7 +32,7 @@ import static android.net.NetworkStats.METERED_YES; import static android.net.NetworkStats.ROAMING_ALL; import static android.net.NetworkStats.ROAMING_NO; import static android.net.NetworkStats.ROAMING_YES; -import static android.net.wifi.WifiInfo.removeDoubleQuotes; +import static android.net.wifi.WifiInfo.sanitizeSsid; import android.compat.annotation.UnsupportedAppUsage; import android.os.Parcel; @@ -401,7 +401,7 @@ public class NetworkTemplate implements Parcelable { switch (ident.mType) { case TYPE_WIFI: return Objects.equals( - removeDoubleQuotes(mNetworkId), removeDoubleQuotes(ident.mNetworkId)); + sanitizeSsid(mNetworkId), sanitizeSsid(ident.mNetworkId)); default: return false; } diff --git a/services/core/java/com/android/server/connectivity/NetworkNotificationManager.java b/services/core/java/com/android/server/connectivity/NetworkNotificationManager.java index 2c415570d5fa..25c761ab80ec 100644 --- a/services/core/java/com/android/server/connectivity/NetworkNotificationManager.java +++ b/services/core/java/com/android/server/connectivity/NetworkNotificationManager.java @@ -188,14 +188,14 @@ public class NetworkNotificationManager { int icon = getIcon(transportType, notifyType); if (notifyType == NotificationType.NO_INTERNET && transportType == TRANSPORT_WIFI) { title = r.getString(R.string.wifi_no_internet, - WifiInfo.removeDoubleQuotes(nai.networkCapabilities.getSSID())); + WifiInfo.sanitizeSsid(nai.networkCapabilities.getSSID())); details = r.getString(R.string.wifi_no_internet_detailed); } else if (notifyType == NotificationType.PRIVATE_DNS_BROKEN) { if (transportType == TRANSPORT_CELLULAR) { title = r.getString(R.string.mobile_no_internet); } else if (transportType == TRANSPORT_WIFI) { title = r.getString(R.string.wifi_no_internet, - WifiInfo.removeDoubleQuotes(nai.networkCapabilities.getSSID())); + WifiInfo.sanitizeSsid(nai.networkCapabilities.getSSID())); } else { title = r.getString(R.string.other_networks_no_internet); } @@ -203,19 +203,19 @@ public class NetworkNotificationManager { } else if (notifyType == NotificationType.PARTIAL_CONNECTIVITY && transportType == TRANSPORT_WIFI) { title = r.getString(R.string.network_partial_connectivity, - WifiInfo.removeDoubleQuotes(nai.networkCapabilities.getSSID())); + WifiInfo.sanitizeSsid(nai.networkCapabilities.getSSID())); details = r.getString(R.string.network_partial_connectivity_detailed); } else if (notifyType == NotificationType.LOST_INTERNET && transportType == TRANSPORT_WIFI) { title = r.getString(R.string.wifi_no_internet, - WifiInfo.removeDoubleQuotes(nai.networkCapabilities.getSSID())); + WifiInfo.sanitizeSsid(nai.networkCapabilities.getSSID())); details = r.getString(R.string.wifi_no_internet_detailed); } else if (notifyType == NotificationType.SIGN_IN) { switch (transportType) { case TRANSPORT_WIFI: title = r.getString(R.string.wifi_available_sign_in, 0); details = r.getString(R.string.network_available_sign_in_detailed, - WifiInfo.removeDoubleQuotes(nai.networkCapabilities.getSSID())); + WifiInfo.sanitizeSsid(nai.networkCapabilities.getSSID())); break; case TRANSPORT_CELLULAR: title = r.getString(R.string.network_available_sign_in, 0); @@ -236,7 +236,7 @@ public class NetworkNotificationManager { break; } } else if (notifyType == NotificationType.LOGGED_IN) { - title = WifiInfo.removeDoubleQuotes(nai.networkCapabilities.getSSID()); + title = WifiInfo.sanitizeSsid(nai.networkCapabilities.getSSID()); details = r.getString(R.string.captive_portal_logged_in_detailed); } else if (notifyType == NotificationType.NETWORK_SWITCH) { String fromTransport = getTransportName(transportType); -- cgit v1.2.3-59-g8ed1b