diff options
| -rw-r--r-- | packages/SettingsLib/src/com/android/settingslib/wifi/AccessPoint.java | 9 | ||||
| -rw-r--r-- | packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/AccessPointTest.java | 15 |
2 files changed, 23 insertions, 1 deletions
diff --git a/packages/SettingsLib/src/com/android/settingslib/wifi/AccessPoint.java b/packages/SettingsLib/src/com/android/settingslib/wifi/AccessPoint.java index 0f9b2ff4d5f2..994874ad376d 100644 --- a/packages/SettingsLib/src/com/android/settingslib/wifi/AccessPoint.java +++ b/packages/SettingsLib/src/com/android/settingslib/wifi/AccessPoint.java @@ -322,8 +322,15 @@ public class AccessPoint implements Comparable<AccessPoint> { if (difference != 0) { return difference; } + // Sort by ssid. - return getSsidStr().compareToIgnoreCase(other.getSsidStr()); + difference = getSsidStr().compareToIgnoreCase(other.getSsidStr()); + if (difference != 0) { + return difference; + } + + // Do a case sensitive comparison to distinguish SSIDs that differ in case only + return getSsidStr().compareTo(other.getSsidStr()); } @Override diff --git a/packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/AccessPointTest.java b/packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/AccessPointTest.java index 72ac54421220..6fc7f1fcf0dd 100644 --- a/packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/AccessPointTest.java +++ b/packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/AccessPointTest.java @@ -169,6 +169,21 @@ public class AccessPointTest { } @Test + public void testCompareTo_GivesSsidCasePrecendenceAfterAlphabetical() { + + final String firstName = "aaAaaa"; + final String secondName = "aaaaaa"; + final String thirdName = "BBBBBB"; + + AccessPoint firstAp = new TestAccessPointBuilder(mContext).setSsid(firstName).build(); + AccessPoint secondAp = new TestAccessPointBuilder(mContext).setSsid(secondName).build(); + AccessPoint thirdAp = new TestAccessPointBuilder(mContext).setSsid(thirdName).build(); + + assertSortingWorks(firstAp, secondAp); + assertSortingWorks(secondAp, thirdAp); + } + + @Test public void testCompareTo_AllSortingRulesCombined() { AccessPoint active = new TestAccessPointBuilder(mContext).setActive(true).build(); |