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

Commit 2b35b512 authored by Eric Schwarzenbach's avatar Eric Schwarzenbach
Browse files

Change AccessPointPreference key generation to match AccessPoint.

AccessPointPreference now uses SSID + security to determine preference
key, which matches the way WifiTracker groups scan results. This
prevents mismatches between WifiSettings and WifiTracker.

Bug: 64887518
Test: make -40 RunSettingsLibRoboTests
Change-Id: I021a266cbb1037b7ac82efc72f0670088a521640
parent f4a48406
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -76,10 +76,10 @@ public class AccessPointPreference extends Preference {
    public static String generatePreferenceKey(AccessPoint accessPoint) {
        StringBuilder builder = new StringBuilder();

        if (TextUtils.isEmpty(accessPoint.getBssid())) {
            builder.append(accessPoint.getSsidStr());
        } else {
        if (TextUtils.isEmpty(accessPoint.getSsidStr())) {
            builder.append(accessPoint.getBssid());
        } else {
            builder.append(accessPoint.getSsidStr());
        }

        builder.append(',').append(accessPoint.getSecurity());
+7 −5
Original line number Diff line number Diff line
@@ -36,26 +36,28 @@ public class AccessPointPreferenceTest {
    private Context mContext = RuntimeEnvironment.application;

    @Test
    public void generatePreferenceKey_shouldReturnSsidPlusSecurity() {
    public void generatePreferenceKey_returnsSsidPlusSecurity() {
        String ssid = "ssid";
        String bssid = "00:00:00:00:00:00";
        int security = AccessPoint.SECURITY_WEP;
        String expectedKey = ssid + ',' + security;

        TestAccessPointBuilder builder = new TestAccessPointBuilder(mContext);
        builder.setSsid(ssid).setSecurity(security);
        builder.setBssid(bssid).setSsid(ssid).setSecurity(security);

        assertThat(AccessPointPreference.generatePreferenceKey(builder.build()))
                .isEqualTo(expectedKey);
    }

    @Test
    public void generatePreferenceKey_shouldReturnBssidPlusSecurity() {
        String bssid = "bssid";
    public void generatePreferenceKey_emptySsidReturnsBssidPlusSecurity() {
        String ssid = "";
        String bssid = "00:00:00:00:00:00";
        int security = AccessPoint.SECURITY_WEP;
        String expectedKey = bssid + ',' + security;

        TestAccessPointBuilder builder = new TestAccessPointBuilder(mContext);
        builder.setBssid(bssid).setSecurity(security);
        builder.setBssid(bssid).setSsid(ssid).setSecurity(security);

        assertThat(AccessPointPreference.generatePreferenceKey(builder.build()))
                .isEqualTo(expectedKey);