Merge "Don't set AccessPoint with WifiInfo.INVALID_RSSI" into oc-dr1-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
860f185c66
@@ -1065,7 +1065,7 @@ public class AccessPoint implements Comparable<AccessPoint> {
|
||||
// are still seen, we will investigate further.
|
||||
update(config); // Notifies the AccessPointListener of the change
|
||||
}
|
||||
if (mRssi != info.getRssi()) {
|
||||
if (mRssi != info.getRssi() && info.getRssi() != WifiInfo.INVALID_RSSI) {
|
||||
mRssi = info.getRssi();
|
||||
updated = true;
|
||||
} else if (mNetworkInfo != null && networkInfo != null
|
||||
|
||||
@@ -625,6 +625,57 @@ public class AccessPointTest {
|
||||
assertThat(ap.update(config, wifiInfo, newInfo)).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testUpdateWithDifferentRssi_returnsTrue() {
|
||||
int networkId = 123;
|
||||
int rssi = -55;
|
||||
WifiConfiguration config = new WifiConfiguration();
|
||||
config.networkId = networkId;
|
||||
WifiInfo wifiInfo = new WifiInfo();
|
||||
wifiInfo.setNetworkId(networkId);
|
||||
wifiInfo.setRssi(rssi);
|
||||
|
||||
NetworkInfo networkInfo =
|
||||
new NetworkInfo(ConnectivityManager.TYPE_WIFI, 0 /* subtype */, "WIFI", "");
|
||||
networkInfo.setDetailedState(NetworkInfo.DetailedState.CONNECTING, "", "");
|
||||
|
||||
AccessPoint ap = new TestAccessPointBuilder(mContext)
|
||||
.setNetworkInfo(networkInfo)
|
||||
.setNetworkId(networkId)
|
||||
.setRssi(rssi)
|
||||
.setWifiInfo(wifiInfo)
|
||||
.build();
|
||||
|
||||
NetworkInfo newInfo = new NetworkInfo(networkInfo); // same values
|
||||
wifiInfo.setRssi(rssi + 1);
|
||||
assertThat(ap.update(config, wifiInfo, newInfo)).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testUpdateWithInvalidRssi_returnsFalse() {
|
||||
int networkId = 123;
|
||||
int rssi = -55;
|
||||
WifiConfiguration config = new WifiConfiguration();
|
||||
config.networkId = networkId;
|
||||
WifiInfo wifiInfo = new WifiInfo();
|
||||
wifiInfo.setNetworkId(networkId);
|
||||
wifiInfo.setRssi(rssi);
|
||||
|
||||
NetworkInfo networkInfo =
|
||||
new NetworkInfo(ConnectivityManager.TYPE_WIFI, 0 /* subtype */, "WIFI", "");
|
||||
networkInfo.setDetailedState(NetworkInfo.DetailedState.CONNECTING, "", "");
|
||||
|
||||
AccessPoint ap = new TestAccessPointBuilder(mContext)
|
||||
.setNetworkInfo(networkInfo)
|
||||
.setNetworkId(networkId)
|
||||
.setRssi(rssi)
|
||||
.setWifiInfo(wifiInfo)
|
||||
.build();
|
||||
|
||||
NetworkInfo newInfo = new NetworkInfo(networkInfo); // same values
|
||||
wifiInfo.setRssi(WifiInfo.INVALID_RSSI);
|
||||
assertThat(ap.update(config, wifiInfo, newInfo)).isFalse();
|
||||
}
|
||||
@Test
|
||||
public void testUpdateWithConfigChangeOnly_returnsFalseButInvokesListener() {
|
||||
int networkId = 123;
|
||||
|
||||
Reference in New Issue
Block a user