From d437f451322eaff52f3b7cb23cbc04c39e70f653 Mon Sep 17 00:00:00 2001
From: str4d <str4d@mail.i2p>
Date: Tue, 12 Nov 2013 02:33:19 +0000
Subject: [PATCH] Use TreeSet to sort Addressbook names

---
 src/net/i2p/android/router/loader/AddressEntry.java      | 8 +-------
 .../i2p/android/router/loader/AddressEntryLoader.java    | 9 ++++++---
 2 files changed, 7 insertions(+), 10 deletions(-)

diff --git a/src/net/i2p/android/router/loader/AddressEntry.java b/src/net/i2p/android/router/loader/AddressEntry.java
index d48d48ff6..7c62cf77e 100644
--- a/src/net/i2p/android/router/loader/AddressEntry.java
+++ b/src/net/i2p/android/router/loader/AddressEntry.java
@@ -1,6 +1,6 @@
 package net.i2p.android.router.loader;
 
-public class AddressEntry implements Comparable<Object> {
+public class AddressEntry {
     private final String mHostName;
 
     public AddressEntry(String hostName) {
@@ -10,10 +10,4 @@ public class AddressEntry implements Comparable<Object> {
     public String getHostName() {
         return mHostName;
     }
-
-    public int compareTo(Object another) {
-        if (another instanceof AddressEntry)
-            return -1;
-        return mHostName.compareTo(((AddressEntry) another).getHostName());
-    }
 }
diff --git a/src/net/i2p/android/router/loader/AddressEntryLoader.java b/src/net/i2p/android/router/loader/AddressEntryLoader.java
index 9d0ae9fd1..39bbbec56 100644
--- a/src/net/i2p/android/router/loader/AddressEntryLoader.java
+++ b/src/net/i2p/android/router/loader/AddressEntryLoader.java
@@ -1,8 +1,10 @@
 package net.i2p.android.router.loader;
 
 import java.util.ArrayList;
-import java.util.Collections;
 import java.util.List;
+import java.util.Set;
+import java.util.TreeSet;
+
 import net.i2p.android.router.util.Util;
 import net.i2p.client.naming.NamingService;
 import net.i2p.router.RouterContext;
@@ -29,11 +31,12 @@ public class AddressEntryLoader extends AsyncTaskLoader<List<AddressEntry>> {
         Util.i("NamingService: " + ns.getName());
         // After router shutdown we get nothing... why?
         List<AddressEntry> ret = new ArrayList<AddressEntry>();
-        for (String hostName : ns.getNames()) {
+        Set<String> names = new TreeSet<String>();
+        names.addAll(ns.getNames());
+        for (String hostName : names) {
             AddressEntry name = new AddressEntry(hostName);
             ret.add(name);
         }
-        Collections.sort(ret);
         return ret;
     }
 
-- 
GitLab