summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIrfan Sheriff <isheriff@google.com>2010-11-24 07:36:32 -0800
committerAndroid (Google) Code Review <android-gerrit@google.com>2010-11-24 07:36:32 -0800
commitf48945a7aeaaea3a570f9429a32111e19541b3b1 (patch)
tree1de675e2f6ac982ffac74cda5c73bc7928a1ceda
parent5cc45764330ca4e4bd2953cefb9f572e41caa7b3 (diff)
parent52727dd1fbca7612c2179b50689cd77f8f939b1a (diff)
downloadpackages_apps_settings-f48945a7aeaaea3a570f9429a32111e19541b3b1.zip
packages_apps_settings-f48945a7aeaaea3a570f9429a32111e19541b3b1.tar.gz
packages_apps_settings-f48945a7aeaaea3a570f9429a32111e19541b3b1.tar.bz2
Merge "Restore compareTo behavior of access point list"
-rw-r--r--src/com/android/settings/wifi/AccessPoint.java54
-rw-r--r--src/com/android/settings/wifi/WifiSettings.java7
2 files changed, 30 insertions, 31 deletions
diff --git a/src/com/android/settings/wifi/AccessPoint.java b/src/com/android/settings/wifi/AccessPoint.java
index c932978..774ac58 100644
--- a/src/com/android/settings/wifi/AccessPoint.java
+++ b/src/com/android/settings/wifi/AccessPoint.java
@@ -35,33 +35,6 @@ class AccessPoint extends Preference {
private static final int[] STATE_SECURED = {R.attr.state_encrypted};
private static final int[] STATE_NONE = {};
- public static final class Comparater
- implements Comparator<AccessPoint> {
- @Override
- public int compare(AccessPoint accessPoint1, AccessPoint accessPoint2) {
- // Active one goes first.
- if (accessPoint1.mInfo != accessPoint2.mInfo) {
- return (accessPoint1.mInfo != null) ? -1 : 1;
- }
-
- // Reachable one goes before unreachable one.
- if ((accessPoint1.mRssi ^ accessPoint2.mRssi) < 0) {
- return (accessPoint1.mRssi != Integer.MAX_VALUE) ? -1 : 1;
- }
- // Configured one goes before unconfigured one.
- if ((accessPoint1.networkId ^ accessPoint2.networkId) < 0) {
- return (accessPoint1.networkId != -1) ? -1 : 1;
- }
- // Sort by signal strength.
- int difference = WifiManager.compareSignalLevel(
- accessPoint2.mRssi, accessPoint1.mRssi);
- if (difference != 0) {
- return difference;
- }
- // Sort by ssid.
- return accessPoint1.ssid.compareToIgnoreCase(accessPoint2.ssid);
- }
- }
static final int SECURITY_NONE = 0;
static final int SECURITY_WEP = 1;
@@ -140,6 +113,33 @@ class AccessPoint extends Preference {
super.onBindView(view);
}
+ @Override
+ public int compareTo(Preference preference) {
+ if (!(preference instanceof AccessPoint)) {
+ return 1;
+ }
+ AccessPoint other = (AccessPoint) preference;
+ // Active one goes first.
+ if (mInfo != other.mInfo) {
+ return (mInfo != null) ? -1 : 1;
+ }
+ // Reachable one goes before unreachable one.
+ if ((mRssi ^ other.mRssi) < 0) {
+ return (mRssi != Integer.MAX_VALUE) ? -1 : 1;
+ }
+ // Configured one goes before unconfigured one.
+ if ((networkId ^ other.networkId) < 0) {
+ return (networkId != -1) ? -1 : 1;
+ }
+ // Sort by signal strength.
+ int difference = WifiManager.compareSignalLevel(other.mRssi, mRssi);
+ if (difference != 0) {
+ return difference;
+ }
+ // Sort by ssid.
+ return ssid.compareToIgnoreCase(other.ssid);
+ }
+
boolean update(ScanResult result) {
// We do not call refresh() since this is called before onBindView().
diff --git a/src/com/android/settings/wifi/WifiSettings.java b/src/com/android/settings/wifi/WifiSettings.java
index 1f7a1da..fefbdfc 100644
--- a/src/com/android/settings/wifi/WifiSettings.java
+++ b/src/com/android/settings/wifi/WifiSettings.java
@@ -56,9 +56,9 @@ import android.view.View;
import android.widget.AdapterView.AdapterContextMenuInfo;
import android.widget.Toast;
+import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
-import java.util.TreeSet;
/**
* This currently provides three types of UI.
@@ -184,7 +184,7 @@ public class WifiSettings extends SettingsPreferenceFragment
final ProgressCategoryBase preference =
(ProgressCategoryBase) findPreference("access_points");
mAccessPoints = preference;
- mAccessPoints.setOrderingAsAdded(true);
+ mAccessPoints.setOrderingAsAdded(false);
mAddNetwork = findPreference("add_network");
registerForContextMenu(getListView());
@@ -379,8 +379,7 @@ public class WifiSettings extends SettingsPreferenceFragment
}
private Collection<AccessPoint> constructAccessPoints() {
- Collection<AccessPoint> accessPoints =
- new TreeSet<AccessPoint>(new AccessPoint.Comparater());
+ Collection<AccessPoint> accessPoints = new ArrayList<AccessPoint>();
final List<WifiConfiguration> configs = mWifiManager.getConfiguredNetworks();
if (configs != null) {