From 201dce1474e667afac8ad8e8eb06c60306d4f7ea Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Sun, 24 Mar 2013 19:50:44 +0400 Subject: sort categories, remove duplicate files --- src/org/fox/ttrss/share/SubscribeActivity.java | 29 ++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'src/org/fox/ttrss/share/SubscribeActivity.java') 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 { + + @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 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); -- cgit v1.2.3-54-g00ecf