Small fixes and refactorings
This commit is contained in:
parent
42b20170bc
commit
44b3a3bb87
@ -544,12 +544,12 @@ public class ItemlistFragment extends ListFragment {
|
||||
|
||||
@Override
|
||||
public FeedItem getItem(int position) {
|
||||
return (feed != null) ? feed.getItemAtIndex(true, position) : null;
|
||||
return (feed != null) ? feed.getItemAtIndex(position) : null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getCount() {
|
||||
return (feed != null) ? feed.getNumOfItems(true) : 0;
|
||||
return (feed != null) ? feed.getNumOfItems() : 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -129,7 +129,7 @@ public class FeedMenuHandler {
|
||||
builder.setPositiveButton(R.string.confirm_label, new DialogInterface.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(DialogInterface dialog, int which) {
|
||||
feed.setFeedItemsFilter(hidden.toArray(new String[hidden.size()]));
|
||||
feed.setHiddenItemProperties(hidden.toArray(new String[hidden.size()]));
|
||||
DBWriter.setFeedItemsFilter(context, feed.getId(), hidden);
|
||||
}
|
||||
});
|
||||
|
@ -2,6 +2,7 @@ package de.danoeh.antennapod.core.feed;
|
||||
|
||||
import android.content.Context;
|
||||
import android.net.Uri;
|
||||
import android.support.annotation.Nullable;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
@ -188,21 +189,16 @@ public class Feed extends FeedFile implements FlattrThing, PicassoImageResource
|
||||
/**
|
||||
* Returns the number of FeedItems.
|
||||
*
|
||||
* @param enableEpisodeFilter true if this method should only count items with episodes if
|
||||
* the 'display only episodes' - preference is set to true by the
|
||||
* user.
|
||||
*/
|
||||
public int getNumOfItems(boolean enableEpisodeFilter) {
|
||||
public int getNumOfItems() {
|
||||
return items.size();
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the item at the specified index.
|
||||
*
|
||||
* @param enableEpisodeFilter true if this method should ignore items without episdodes if
|
||||
* the episodes filter has been enabled by the user.
|
||||
*/
|
||||
public FeedItem getItemAtIndex(boolean enableEpisodeFilter, int position) {
|
||||
public FeedItem getItemAtIndex(int position) {
|
||||
return items.get(position);
|
||||
}
|
||||
|
||||
@ -481,14 +477,14 @@ public class Feed extends FeedFile implements FlattrThing, PicassoImageResource
|
||||
this.nextPageLink = nextPageLink;
|
||||
}
|
||||
|
||||
|
||||
@Nullable
|
||||
public FeedItemFilter getItemFilter() {
|
||||
return itemfilter;
|
||||
}
|
||||
|
||||
public void setFeedItemsFilter(String[] filter) {
|
||||
if (filter != null) {
|
||||
this.itemfilter = new FeedItemFilter(filter);
|
||||
public void setHiddenItemProperties(String[] properties) {
|
||||
if (properties != null) {
|
||||
this.itemfilter = new FeedItemFilter(properties);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -11,7 +11,7 @@ import de.danoeh.antennapod.core.storage.DBReader;
|
||||
|
||||
public class FeedItemFilter {
|
||||
|
||||
private final String[] filter;
|
||||
private final String[] properties;
|
||||
|
||||
private boolean hideUnplayed = false;
|
||||
private boolean hidePaused = false;
|
||||
@ -21,15 +21,15 @@ public class FeedItemFilter {
|
||||
private boolean hideDownloaded = false;
|
||||
private boolean hideNotDownloaded = false;
|
||||
|
||||
public FeedItemFilter(String filter) {
|
||||
this(StringUtils.split(filter, ','));
|
||||
public FeedItemFilter(String properties) {
|
||||
this(StringUtils.split(properties, ','));
|
||||
}
|
||||
|
||||
public FeedItemFilter(String[] filter) {
|
||||
this.filter = filter;
|
||||
for(String f : filter) {
|
||||
public FeedItemFilter(String[] properties) {
|
||||
this.properties = properties;
|
||||
for(String property : properties) {
|
||||
// see R.arrays.feed_filter_values
|
||||
switch(f) {
|
||||
switch(property) {
|
||||
case "unplayed":
|
||||
hideUnplayed = true;
|
||||
break;
|
||||
@ -56,7 +56,7 @@ public class FeedItemFilter {
|
||||
}
|
||||
|
||||
public List<FeedItem> filter(Context context, List<FeedItem> items) {
|
||||
if(filter.length == 0) {
|
||||
if(properties.length == 0) {
|
||||
return items;
|
||||
}
|
||||
List<FeedItem> result = new ArrayList<FeedItem>();
|
||||
@ -76,7 +76,7 @@ public class FeedItemFilter {
|
||||
}
|
||||
|
||||
public String[] getValues() {
|
||||
return filter.clone();
|
||||
return properties.clone();
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -434,7 +434,11 @@ public class PodDBAdapter {
|
||||
values.put(KEY_FLATTR_STATUS, feed.getFlattrStatus().toLong());
|
||||
values.put(KEY_IS_PAGED, feed.isPaged());
|
||||
values.put(KEY_NEXT_PAGE_LINK, feed.getNextPageLink());
|
||||
values.put(KEY_HIDE, StringUtils.join(feed.getItemFilter(), ","));
|
||||
if(feed.getItemFilter() != null && feed.getItemFilter().getValues().length > 0) {
|
||||
values.put(KEY_HIDE, StringUtils.join(feed.getItemFilter().getValues(), ","));
|
||||
} else {
|
||||
values.put(KEY_HIDE, "");
|
||||
}
|
||||
values.put(KEY_LAST_UPDATE_FAILED, feed.hasLastUpdateFailed());
|
||||
if (feed.getId() == 0) {
|
||||
// Create new entry
|
||||
@ -1464,6 +1468,7 @@ public class PodDBAdapter {
|
||||
db.execSQL(CREATE_INDEX_FEEDMEDIA_FEEDITEM);
|
||||
db.execSQL(CREATE_INDEX_QUEUE_FEEDITEM);
|
||||
db.execSQL(CREATE_INDEX_SIMPLECHAPTERS_FEEDITEM);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
|
Loading…
x
Reference in New Issue
Block a user