diff options
3 files changed, 20 insertions, 16 deletions
diff --git a/app/src/main/java/de/danoeh/antennapod/menuhandler/FeedMenuHandler.java b/app/src/main/java/de/danoeh/antennapod/menuhandler/FeedMenuHandler.java index 84da32a40..744ce876e 100644 --- a/app/src/main/java/de/danoeh/antennapod/menuhandler/FeedMenuHandler.java +++ b/app/src/main/java/de/danoeh/antennapod/menuhandler/FeedMenuHandler.java @@ -5,6 +5,7 @@ import android.content.DialogInterface; import android.content.Intent; import android.net.Uri; import android.support.v7.app.AlertDialog; +import android.text.TextUtils; import android.util.Log; import android.view.Menu; import android.view.MenuInflater; @@ -13,6 +14,7 @@ import android.widget.Toast; import java.util.ArrayList; import java.util.Arrays; +import java.util.Iterator; import java.util.List; import de.danoeh.antennapod.R; @@ -115,6 +117,13 @@ public class FeedMenuHandler { final boolean[] checkedItems = new boolean[items.length]; final List<String> hidden = new ArrayList<String>(Arrays.asList(feed.getItemFilter().getValues())); + Iterator<String> it = hidden.iterator(); + while(it.hasNext()) { + // make sure we have no empty strings in the filter list + if(TextUtils.isEmpty(it.next())) { + it.remove(); + } + } for(int i=0; i < values.length; i++) { String value = values[i]; if(hidden.contains(value)) { @@ -124,22 +133,16 @@ public class FeedMenuHandler { AlertDialog.Builder builder = new AlertDialog.Builder(context); builder.setTitle(R.string.hide_episodes_title); - builder.setMultiChoiceItems(items, checkedItems, new DialogInterface.OnMultiChoiceClickListener() { - @Override - public void onClick(DialogInterface dialog, int which, boolean isChecked) { - if (isChecked) { - hidden.add(values[which]); - } else { - hidden.remove(values[which]); - } + builder.setMultiChoiceItems(items, checkedItems, (dialog, which, isChecked) -> { + if (isChecked) { + hidden.add(values[which]); + } else { + hidden.remove(values[which]); } }); - builder.setPositiveButton(R.string.confirm_label, new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialog, int which) { - feed.setHiddenItemProperties(hidden.toArray(new String[hidden.size()])); - DBWriter.setFeedItemsFilter(feed.getId(), hidden); - } + builder.setPositiveButton(R.string.confirm_label, (dialog, which) -> { + feed.setHiddenItemProperties(hidden.toArray(new String[hidden.size()])); + DBWriter.setFeedItemsFilter(feed.getId(), hidden); }); builder.setNegativeButton(R.string.cancel_label, null); builder.create().show(); diff --git a/core/src/main/java/de/danoeh/antennapod/core/storage/DBWriter.java b/core/src/main/java/de/danoeh/antennapod/core/storage/DBWriter.java index efc0c882a..8072e3aab 100644 --- a/core/src/main/java/de/danoeh/antennapod/core/storage/DBWriter.java +++ b/core/src/main/java/de/danoeh/antennapod/core/storage/DBWriter.java @@ -1009,7 +1009,7 @@ public class DBWriter { */ public static Future<?> setFeedItemsFilter(final long feedId, final List<String> filterValues) { - Log.d(TAG, "setFeedFilter"); + Log.d(TAG, "setFeedItemsFilter() called with: " + "feedId = [" + feedId + "], filterValues = [" + filterValues + "]"); return dbExec.submit(() -> { PodDBAdapter adapter = PodDBAdapter.getInstance(); adapter.open(); diff --git a/core/src/main/java/de/danoeh/antennapod/core/storage/PodDBAdapter.java b/core/src/main/java/de/danoeh/antennapod/core/storage/PodDBAdapter.java index 97d91ccd3..fc5a25732 100644 --- a/core/src/main/java/de/danoeh/antennapod/core/storage/PodDBAdapter.java +++ b/core/src/main/java/de/danoeh/antennapod/core/storage/PodDBAdapter.java @@ -408,9 +408,10 @@ public class PodDBAdapter { } public void setFeedItemFilter(long feedId, List<String> filterValues) { + Log.d(TAG, "setFeedItemFilter() called with: " + "feedId = [" + feedId + "], " + + "filterValues = [" + TextUtils.join(",", filterValues) + "]"); ContentValues values = new ContentValues(); values.put(KEY_HIDE, TextUtils.join(",", filterValues)); - Log.d(TAG, TextUtils.join(",", filterValues)); db.update(TABLE_NAME_FEEDS, values, KEY_ID + "=?", new String[]{String.valueOf(feedId)}); } |