summaryrefslogtreecommitdiff
path: root/src/org/fox/ttrss/share/SubscribeActivity.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/org/fox/ttrss/share/SubscribeActivity.java')
-rw-r--r--src/org/fox/ttrss/share/SubscribeActivity.java29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/org/fox/ttrss/share/SubscribeActivity.java b/src/org/fox/ttrss/share/SubscribeActivity.java
index b69500ef..eb9ed66d 100644
--- a/src/org/fox/ttrss/share/SubscribeActivity.java
+++ b/src/org/fox/ttrss/share/SubscribeActivity.java
@@ -2,11 +2,15 @@ package org.fox.ttrss.share;
import java.lang.reflect.Type;
import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
import java.util.HashMap;
import java.util.List;
import org.fox.ttrss.ApiRequest;
import org.fox.ttrss.ApiRequest.ApiError;
+import org.fox.ttrss.types.FeedCategory;
+import org.fox.ttrss.types.FeedCategoryList;
import org.fox.ttrss.R;
import android.content.Context;
@@ -34,6 +38,29 @@ public class SubscribeActivity extends CommonShareActivity {
private static final int REQ_CATS = 1;
private static final int REQ_POST = 2;
+ class CatTitleComparator implements Comparator<FeedCategory> {
+
+ @Override
+ public int compare(FeedCategory a, FeedCategory b) {
+ if (a.id >= 0 && b.id >= 0)
+ return a.title.compareTo(b.title);
+ else
+ return a.id - b.id;
+ }
+
+ }
+
+ public void sortCats() {
+ Comparator<FeedCategory> cmp = new CatTitleComparator();
+
+ Collections.sort(m_cats, cmp);
+ try {
+ m_adapter.notifyDataSetChanged();
+ } catch (NullPointerException e) {
+ // adapter missing
+ }
+ }
+
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@@ -204,6 +231,8 @@ public class SubscribeActivity extends CommonShareActivity {
m_cats.add(c);
}
+ sortCats();
+
m_adapter.notifyDataSetChanged();
toast(R.string.category_list_updated);