From d0022e053e4abfe35dac4ae2d90c6960982181fd Mon Sep 17 00:00:00 2001 From: Raghul Jagannathan Date: Wed, 27 May 2015 08:31:42 +0800 Subject: Subscription view for managing feeds and Navigation drawer feed list cleanup --- app/src/main/java/de/danoeh/antennapod/adapter/NavListAdapter.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'app/src/main/java/de/danoeh/antennapod/adapter/NavListAdapter.java') diff --git a/app/src/main/java/de/danoeh/antennapod/adapter/NavListAdapter.java b/app/src/main/java/de/danoeh/antennapod/adapter/NavListAdapter.java index 13982f57d..81d997d65 100644 --- a/app/src/main/java/de/danoeh/antennapod/adapter/NavListAdapter.java +++ b/app/src/main/java/de/danoeh/antennapod/adapter/NavListAdapter.java @@ -16,6 +16,7 @@ import android.widget.TextView; import com.squareup.picasso.Picasso; +import de.danoeh.antennapod.fragment.SubscriptionFragment; import org.apache.commons.lang3.ArrayUtils; import java.util.ArrayList; @@ -100,6 +101,9 @@ public class NavListAdapter extends BaseAdapter case PlaybackHistoryFragment.TAG: icon = R.attr.ic_history; break; + case SubscriptionFragment.TAG: + icon = R.attr.ic_folder; + break; case AddFeedFragment.TAG: icon = R.attr.content_new; break; @@ -119,7 +123,7 @@ public class NavListAdapter extends BaseAdapter @Override public int getCount() { - return getSubscriptionOffset() + itemAccess.getCount(); + return getSubscriptionOffset() ;//+ itemAccess.getCount(); //Avoid feed } @Override -- cgit v1.2.3 From 4cd58a9b37899e0c886a930f268b701d29a9a989 Mon Sep 17 00:00:00 2001 From: Tom Hennen Date: Fri, 25 Mar 2016 10:50:41 -0400 Subject: updated and fixed PR AntennaPod/AntennPod#1624 --- .../danoeh/antennapod/adapter/NavListAdapter.java | 35 +++++++++++++++------- 1 file changed, 24 insertions(+), 11 deletions(-) (limited to 'app/src/main/java/de/danoeh/antennapod/adapter/NavListAdapter.java') diff --git a/app/src/main/java/de/danoeh/antennapod/adapter/NavListAdapter.java b/app/src/main/java/de/danoeh/antennapod/adapter/NavListAdapter.java index b20af1773..0227aeee4 100644 --- a/app/src/main/java/de/danoeh/antennapod/adapter/NavListAdapter.java +++ b/app/src/main/java/de/danoeh/antennapod/adapter/NavListAdapter.java @@ -74,7 +74,7 @@ public class NavListAdapter extends BaseAdapter } private void loadItems() { - List newTags = new ArrayList(Arrays.asList(MainActivity.NAV_DRAWER_TAGS)); + List newTags = new ArrayList<>(Arrays.asList(MainActivity.NAV_DRAWER_TAGS)); List hiddenFragments = UserPreferences.getHiddenDrawerItems(); for(String hidden : hiddenFragments) { newTags.remove(hidden); @@ -131,7 +131,11 @@ public class NavListAdapter extends BaseAdapter @Override public int getCount() { - return getSubscriptionOffset() ;//+ itemAccess.getCount(); //Avoid feed + int baseCount = getSubscriptionOffset(); + if (UserPreferences.showSubscriptionsInDrawer()) { + baseCount += itemAccess.getCount(); + } + return baseCount; } @Override @@ -181,7 +185,7 @@ public class NavListAdapter extends BaseAdapter } else if (viewType == VIEW_TYPE_SECTION_DIVIDER) { v = getSectionDividerView(convertView, parent); } else { - v = getFeedView(position - getSubscriptionOffset(), convertView, parent); + v = getFeedView(position, convertView, parent); } if (v != null && viewType != VIEW_TYPE_SECTION_DIVIDER) { TextView txtvTitle = (TextView) v.findViewById(R.id.txtvTitle); @@ -232,17 +236,21 @@ public class NavListAdapter extends BaseAdapter } } else if(tag.equals(DownloadsFragment.TAG) && UserPreferences.isEnableAutodownload()) { int epCacheSize = UserPreferences.getEpisodeCacheSize(); - if(itemAccess.getNumberOfDownloadedItems() >= epCacheSize) { + // don't count episodes that can be reclaimed + int spaceUsed = itemAccess.getNumberOfDownloadedItems() - + itemAccess.getReclaimableItems(); + + if (epCacheSize > 0 && spaceUsed >= epCacheSize) { holder.count.setText("{md-disc-full 150%}"); Iconify.addIcons(holder.count); holder.count.setVisibility(View.VISIBLE); - holder.count.setOnClickListener(v -> { + holder.count.setOnClickListener(v -> new AlertDialog.Builder(context) .setTitle(R.string.episode_cache_full_title) .setMessage(R.string.episode_cache_full_message) .setPositiveButton(android.R.string.ok, (dialog, which) -> {}) - .show(); - }); + .show() + ); } else { holder.count.setVisibility(View.GONE); } @@ -267,10 +275,11 @@ public class NavListAdapter extends BaseAdapter return convertView; } - private View getFeedView(int feedPos, View convertView, ViewGroup parent) { - FeedHolder holder; + private View getFeedView(int position, View convertView, ViewGroup parent) { + int feedPos = position - getSubscriptionOffset(); Feed feed = itemAccess.getItem(feedPos); + FeedHolder holder; if (convertView == null) { holder = new FeedHolder(); LayoutInflater inflater = (LayoutInflater) context @@ -298,7 +307,6 @@ public class NavListAdapter extends BaseAdapter holder.title.setText(feed.getTitle()); - if(feed.hasLastUpdateFailed()) { RelativeLayout.LayoutParams p = (RelativeLayout.LayoutParams) holder.title.getLayoutParams(); p.addRule(RelativeLayout.LEFT_OF, R.id.itxtvFailure); @@ -312,7 +320,11 @@ public class NavListAdapter extends BaseAdapter if(counter > 0) { holder.count.setVisibility(View.VISIBLE); holder.count.setText(String.valueOf(counter)); - holder.count.setTypeface(holder.title.getTypeface()); + if (itemAccess.getSelectedItemIndex() == position) { + holder.count.setTypeface(null, Typeface.BOLD); + } else { + holder.count.setTypeface(null, Typeface.NORMAL); + } } else { holder.count.setVisibility(View.GONE); } @@ -339,6 +351,7 @@ public class NavListAdapter extends BaseAdapter int getQueueSize(); int getNumberOfNewItems(); int getNumberOfDownloadedItems(); + int getReclaimableItems(); int getFeedCounter(long feedId); } -- cgit v1.2.3