NetworkKey: migrate from ScanResult.wifiSsid to SSID

wifiSsid is an @hide field, migrate to getter method.

Bug: 144311098
Test: atest NetworkKeyTest
Change-Id: Ic689e12b8de4af52fae26c25bc90c8eb093ad3fe
This commit is contained in:
David Su
2019-11-13 15:06:41 -08:00
parent ce934c7d78
commit 1cdbf62f44
3 changed files with 35 additions and 32 deletions

View File

@@ -21,7 +21,7 @@ import android.annotation.Nullable;
import android.annotation.SystemApi; import android.annotation.SystemApi;
import android.net.wifi.ScanResult; import android.net.wifi.ScanResult;
import android.net.wifi.WifiInfo; import android.net.wifi.WifiInfo;
import android.net.wifi.WifiSsid; import android.net.wifi.WifiManager;
import android.os.Parcel; import android.os.Parcel;
import android.os.Parcelable; import android.os.Parcelable;
import android.text.TextUtils; import android.text.TextUtils;
@@ -69,22 +69,25 @@ public class NetworkKey implements Parcelable {
*/ */
@Nullable @Nullable
public static NetworkKey createFromScanResult(@Nullable ScanResult result) { public static NetworkKey createFromScanResult(@Nullable ScanResult result) {
if (result != null && result.wifiSsid != null) { if (result == null) {
final String ssid = result.wifiSsid.toString(); return null;
final String bssid = result.BSSID; }
if (!TextUtils.isEmpty(ssid) && !ssid.equals(WifiSsid.NONE) final String ssid = result.SSID;
&& !TextUtils.isEmpty(bssid)) { if (TextUtils.isEmpty(ssid) || ssid.equals(WifiManager.UNKNOWN_SSID)) {
WifiKey wifiKey; return null;
try { }
wifiKey = new WifiKey(String.format("\"%s\"", ssid), bssid); final String bssid = result.BSSID;
} catch (IllegalArgumentException e) { if (TextUtils.isEmpty(bssid)) {
Log.e(TAG, "Unable to create WifiKey.", e); return null;
return null; }
}
return new NetworkKey(wifiKey); try {
} WifiKey wifiKey = new WifiKey(String.format("\"%s\"", ssid), bssid);
return new NetworkKey(wifiKey);
} catch (IllegalArgumentException e) {
Log.e(TAG, "Unable to create WifiKey.", e);
return null;
} }
return null;
} }
/** /**
@@ -100,7 +103,7 @@ public class NetworkKey implements Parcelable {
if (wifiInfo != null) { if (wifiInfo != null) {
final String ssid = wifiInfo.getSSID(); final String ssid = wifiInfo.getSSID();
final String bssid = wifiInfo.getBSSID(); final String bssid = wifiInfo.getBSSID();
if (!TextUtils.isEmpty(ssid) && !ssid.equals(WifiSsid.NONE) if (!TextUtils.isEmpty(ssid) && !ssid.equals(WifiManager.UNKNOWN_SSID)
&& !TextUtils.isEmpty(bssid)) { && !TextUtils.isEmpty(bssid)) {
WifiKey wifiKey; WifiKey wifiKey;
try { try {

View File

@@ -22,7 +22,7 @@ import static org.mockito.Mockito.when;
import android.net.wifi.ScanResult; import android.net.wifi.ScanResult;
import android.net.wifi.WifiInfo; import android.net.wifi.WifiInfo;
import android.net.wifi.WifiSsid; import android.net.wifi.WifiManager;
import androidx.test.runner.AndroidJUnit4; import androidx.test.runner.AndroidJUnit4;
@@ -65,7 +65,7 @@ public class NetworkKeyTest {
@Test @Test
public void createFromWifi_noneSsid() throws Exception { public void createFromWifi_noneSsid() throws Exception {
when(mWifiInfo.getSSID()).thenReturn(WifiSsid.NONE); when(mWifiInfo.getSSID()).thenReturn(WifiManager.UNKNOWN_SSID);
when(mWifiInfo.getBSSID()).thenReturn(VALID_BSSID); when(mWifiInfo.getBSSID()).thenReturn(VALID_BSSID);
assertNull(NetworkKey.createFromWifiInfo(mWifiInfo)); assertNull(NetworkKey.createFromWifiInfo(mWifiInfo));
} }
@@ -106,7 +106,7 @@ public class NetworkKeyTest {
} }
@Test @Test
public void createFromScanResult_nullWifiSsid() { public void createFromScanResult_nullSsid() {
ScanResult scanResult = new ScanResult(); ScanResult scanResult = new ScanResult();
scanResult.BSSID = VALID_BSSID; scanResult.BSSID = VALID_BSSID;
@@ -114,18 +114,18 @@ public class NetworkKeyTest {
} }
@Test @Test
public void createFromScanResult_emptyWifiSsid() { public void createFromScanResult_emptySsid() {
ScanResult scanResult = new ScanResult(); ScanResult scanResult = new ScanResult();
scanResult.wifiSsid = WifiSsid.createFromAsciiEncoded(""); scanResult.SSID = "";
scanResult.BSSID = VALID_BSSID; scanResult.BSSID = VALID_BSSID;
assertNull(NetworkKey.createFromScanResult(scanResult)); assertNull(NetworkKey.createFromScanResult(scanResult));
} }
@Test @Test
public void createFromScanResult_noneWifiSsid() { public void createFromScanResult_noneSsid() {
ScanResult scanResult = new ScanResult(); ScanResult scanResult = new ScanResult();
scanResult.wifiSsid = WifiSsid.createFromAsciiEncoded(WifiSsid.NONE); scanResult.SSID = WifiManager.UNKNOWN_SSID;
scanResult.BSSID = VALID_BSSID; scanResult.BSSID = VALID_BSSID;
assertNull(NetworkKey.createFromScanResult(scanResult)); assertNull(NetworkKey.createFromScanResult(scanResult));
@@ -134,7 +134,7 @@ public class NetworkKeyTest {
@Test @Test
public void createFromScanResult_nullBssid() { public void createFromScanResult_nullBssid() {
ScanResult scanResult = new ScanResult(); ScanResult scanResult = new ScanResult();
scanResult.wifiSsid = WifiSsid.createFromAsciiEncoded(VALID_UNQUOTED_SSID); scanResult.SSID = VALID_UNQUOTED_SSID;
assertNull(NetworkKey.createFromScanResult(scanResult)); assertNull(NetworkKey.createFromScanResult(scanResult));
} }
@@ -142,7 +142,7 @@ public class NetworkKeyTest {
@Test @Test
public void createFromScanResult_emptyBssid() { public void createFromScanResult_emptyBssid() {
ScanResult scanResult = new ScanResult(); ScanResult scanResult = new ScanResult();
scanResult.wifiSsid = WifiSsid.createFromAsciiEncoded(VALID_UNQUOTED_SSID); scanResult.SSID = VALID_UNQUOTED_SSID;
scanResult.BSSID = ""; scanResult.BSSID = "";
assertNull(NetworkKey.createFromScanResult(scanResult)); assertNull(NetworkKey.createFromScanResult(scanResult));
@@ -151,16 +151,16 @@ public class NetworkKeyTest {
@Test @Test
public void createFromScanResult_invalidBssid() { public void createFromScanResult_invalidBssid() {
ScanResult scanResult = new ScanResult(); ScanResult scanResult = new ScanResult();
scanResult.wifiSsid = WifiSsid.createFromAsciiEncoded(VALID_UNQUOTED_SSID); scanResult.SSID = VALID_UNQUOTED_SSID;
scanResult.BSSID = INVALID_BSSID; scanResult.BSSID = INVALID_BSSID;
assertNull(NetworkKey.createFromScanResult(scanResult)); assertNull(NetworkKey.createFromScanResult(scanResult));
} }
@Test @Test
public void createFromScanResult_validWifiSsid() { public void createFromScanResult_validSsid() {
ScanResult scanResult = new ScanResult(); ScanResult scanResult = new ScanResult();
scanResult.wifiSsid = WifiSsid.createFromAsciiEncoded(VALID_UNQUOTED_SSID); scanResult.SSID = VALID_UNQUOTED_SSID;
scanResult.BSSID = VALID_BSSID; scanResult.BSSID = VALID_BSSID;
NetworkKey expected = new NetworkKey(new WifiKey(VALID_SSID, VALID_BSSID)); NetworkKey expected = new NetworkKey(new WifiKey(VALID_SSID, VALID_BSSID));

View File

@@ -43,7 +43,6 @@ import android.content.ContentResolver;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.content.pm.PackageManager; import android.content.pm.PackageManager;
import android.content.pm.PackageManagerInternal;
import android.content.res.Resources; import android.content.res.Resources;
import android.net.INetworkRecommendationProvider; import android.net.INetworkRecommendationProvider;
import android.net.INetworkScoreCache; import android.net.INetworkScoreCache;
@@ -56,6 +55,7 @@ import android.net.WifiKey;
import android.net.wifi.ScanResult; import android.net.wifi.ScanResult;
import android.net.wifi.WifiConfiguration; import android.net.wifi.WifiConfiguration;
import android.net.wifi.WifiInfo; import android.net.wifi.WifiInfo;
import android.net.wifi.WifiManager;
import android.net.wifi.WifiSsid; import android.net.wifi.WifiSsid;
import android.os.Binder; import android.os.Binder;
import android.os.Handler; import android.os.Handler;
@@ -722,7 +722,7 @@ public class NetworkScoreServiceTest {
@Test @Test
public void testCurrentNetworkScoreCacheFilter_invalidWifiInfo_noneSsid() throws Exception { public void testCurrentNetworkScoreCacheFilter_invalidWifiInfo_noneSsid() throws Exception {
when(mWifiInfo.getSSID()).thenReturn(WifiSsid.NONE); when(mWifiInfo.getSSID()).thenReturn(WifiManager.UNKNOWN_SSID);
NetworkScoreService.CurrentNetworkScoreCacheFilter cacheFilter = NetworkScoreService.CurrentNetworkScoreCacheFilter cacheFilter =
new NetworkScoreService.CurrentNetworkScoreCacheFilter(() -> mWifiInfo); new NetworkScoreService.CurrentNetworkScoreCacheFilter(() -> mWifiInfo);
@@ -796,7 +796,7 @@ public class NetworkScoreServiceTest {
List<ScanResult> invalidScanResults = Lists.newArrayList( List<ScanResult> invalidScanResults = Lists.newArrayList(
new ScanResult(), new ScanResult(),
createScanResult("", SCORED_NETWORK.networkKey.wifiKey.bssid), createScanResult("", SCORED_NETWORK.networkKey.wifiKey.bssid),
createScanResult(WifiSsid.NONE, SCORED_NETWORK.networkKey.wifiKey.bssid), createScanResult(WifiManager.UNKNOWN_SSID, SCORED_NETWORK.networkKey.wifiKey.bssid),
createScanResult(SSID, null), createScanResult(SSID, null),
createScanResult(SSID, INVALID_BSSID) createScanResult(SSID, INVALID_BSSID)
); );