summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/src/main/java/de/danoeh/antennapod/menuhandler/FeedMenuHandler.java31
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/storage/DBWriter.java2
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/storage/PodDBAdapter.java3
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)});
}