Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a8b74c8c authored by Glen Kuhne's avatar Glen Kuhne Committed by android-build-merger
Browse files

Merge "Don't set AccessPoint with WifiInfo.INVALID_RSSI" into oc-dr1-dev am:...

Merge "Don't set AccessPoint with WifiInfo.INVALID_RSSI" into oc-dr1-dev am: 860f185c am: 640f04ef
am: d6d285ec

Change-Id: I6c97db37a23d73fee9e8511d62702e4e0e900a13
parents 7edc610d d6d285ec
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -1084,7 +1084,7 @@ public class AccessPoint implements Comparable<AccessPoint> {
                // are still seen, we will investigate further.
                // are still seen, we will investigate further.
                update(config); // Notifies the AccessPointListener of the change
                update(config); // Notifies the AccessPointListener of the change
            }
            }
            if (mRssi != info.getRssi()) {
            if (mRssi != info.getRssi() && info.getRssi() != WifiInfo.INVALID_RSSI) {
                mRssi = info.getRssi();
                mRssi = info.getRssi();
                updated = true;
                updated = true;
            } else if (mNetworkInfo != null && networkInfo != null
            } else if (mNetworkInfo != null && networkInfo != null
+51 −0
Original line number Original line Diff line number Diff line
@@ -654,6 +654,57 @@ public class AccessPointTest {
        assertThat(ap.update(config, wifiInfo, newInfo)).isFalse();
        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
    @Test
    public void testUpdateWithConfigChangeOnly_returnsFalseButInvokesListener() {
    public void testUpdateWithConfigChangeOnly_returnsFalseButInvokesListener() {
        int networkId = 123;
        int networkId = 123;