From 1a7edb4254e7f9acea802c2dac4a51d083b62bf6 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Tue, 18 Sep 2012 10:03:16 +0400 Subject: enable nested categories API --- src/org/fox/ttrss/FeedCategoriesFragment.java | 1 + src/org/fox/ttrss/FeedsFragment.java | 32 ++++++++++++++++++++++----- src/org/fox/ttrss/HeadlinesFragment.java | 1 + 3 files changed, 29 insertions(+), 5 deletions(-) (limited to 'src/org') diff --git a/src/org/fox/ttrss/FeedCategoriesFragment.java b/src/org/fox/ttrss/FeedCategoriesFragment.java index 9af914b9..46c476df 100644 --- a/src/org/fox/ttrss/FeedCategoriesFragment.java +++ b/src/org/fox/ttrss/FeedCategoriesFragment.java @@ -224,6 +224,7 @@ public class FeedCategoriesFragment extends Fragment implements OnItemClickListe { put("op", "getCategories"); put("sid", sessionId); + put("enable_nested", "true"); if (unreadOnly) { put("unread_only", String.valueOf(unreadOnly)); } diff --git a/src/org/fox/ttrss/FeedsFragment.java b/src/org/fox/ttrss/FeedsFragment.java index 1153172c..3906c181 100644 --- a/src/org/fox/ttrss/FeedsFragment.java +++ b/src/org/fox/ttrss/FeedsFragment.java @@ -99,10 +99,16 @@ public class FeedsFragment extends Fragment implements OnItemClickListener, OnSh @Override public int compare(Feed a, Feed b) { - if (a.id >= 0 && b.id >= 0) + if (a.is_cat && b.is_cat) + return a.title.compareTo(b.title); + else if (a.is_cat && !b.is_cat) + return -1; + else if (!a.is_cat && b.is_cat) + return 1; + else if (a.id >= 0 && b.id >= 0) return a.title.compareTo(b.title); else - return a.id - b.id; + return a.id - b.id; } } @@ -110,9 +116,15 @@ public class FeedsFragment extends Fragment implements OnItemClickListener, OnSh class FeedOrderComparator implements Comparator { @Override - public int compare(Feed a, Feed b) { + public int compare(Feed a, Feed b) { if (a.id >= 0 && b.id >= 0) - if (a.order_id != 0 && b.order_id != 0) + if (a.is_cat && b.is_cat) + return a.title.compareTo(b.title); + else if (a.is_cat && !b.is_cat) + return -1; + else if (!a.is_cat && b.is_cat) + return 1; + else if (a.order_id != 0 && b.order_id != 0) return a.order_id - b.order_id; else return a.title.compareTo(b.title); @@ -223,7 +235,16 @@ public class FeedsFragment extends Fragment implements OnItemClickListener, OnSh if (list != null) { Feed feed = (Feed)list.getItemAtPosition(position); - m_activity.onFeedSelected(feed); + + if (feed.is_cat) { + FeedCategory cat = new FeedCategory(); + cat.id = feed.id; + cat.title = feed.title; + + m_activity.onCatSelected(cat); + } else { + m_activity.onFeedSelected(feed); + } if (!m_activity.isSmallScreen()) m_selectedFeed = feed; @@ -256,6 +277,7 @@ public class FeedsFragment extends Fragment implements OnItemClickListener, OnSh { put("op", "getFeeds"); put("sid", sessionId); + put("include_nested", "true"); put("cat_id", String.valueOf(catId)); if (unreadOnly) { put("unread_only", String.valueOf(unreadOnly)); diff --git a/src/org/fox/ttrss/HeadlinesFragment.java b/src/org/fox/ttrss/HeadlinesFragment.java index 033c1bec..6d1fe926 100644 --- a/src/org/fox/ttrss/HeadlinesFragment.java +++ b/src/org/fox/ttrss/HeadlinesFragment.java @@ -394,6 +394,7 @@ public class HeadlinesFragment extends Fragment implements OnItemClickListener, put("offset", String.valueOf(0)); put("view_mode", showUnread ? "adaptive" : "all_articles"); put("skip", String.valueOf(fskip)); + put("include_nested", "true"); if (isCat) put("is_cat", "true"); -- cgit v1.2.3