summaryrefslogtreecommitdiff
path: root/app/src/main/java/de/danoeh/antennapod
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java/de/danoeh/antennapod')
-rw-r--r--app/src/main/java/de/danoeh/antennapod/fragment/FeedInfoFragment.java1
-rw-r--r--app/src/main/java/de/danoeh/antennapod/fragment/FeedItemlistFragment.java195
-rw-r--r--app/src/main/java/de/danoeh/antennapod/menuhandler/FeedMenuHandler.java27
3 files changed, 85 insertions, 138 deletions
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/FeedInfoFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/FeedInfoFragment.java
index f070baebf..7902a4988 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/FeedInfoFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/FeedInfoFragment.java
@@ -139,6 +139,7 @@ public class FeedInfoFragment extends Fragment implements Toolbar.OnMenuItemClic
infoContainer = root.findViewById(R.id.infoContainer);
root.findViewById(R.id.butShowInfo).setVisibility(View.INVISIBLE);
root.findViewById(R.id.butShowSettings).setVisibility(View.INVISIBLE);
+ root.findViewById(R.id.butFilter).setVisibility(View.INVISIBLE);
// https://github.com/bumptech/glide/issues/529
imgvBackground.setColorFilter(new LightingColorFilter(0xff828282, 0x000000));
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/FeedItemlistFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/FeedItemlistFragment.java
index 111664262..4b367fe42 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/FeedItemlistFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/FeedItemlistFragment.java
@@ -15,10 +15,6 @@ import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
-import android.widget.ImageButton;
-import android.widget.ImageView;
-import android.widget.ProgressBar;
-import android.widget.TextView;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
@@ -26,14 +22,10 @@ import androidx.appcompat.content.res.AppCompatResources;
import androidx.appcompat.widget.Toolbar;
import androidx.fragment.app.Fragment;
import androidx.recyclerview.widget.RecyclerView;
-import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
import com.bumptech.glide.Glide;
import com.bumptech.glide.request.RequestOptions;
-import com.google.android.material.appbar.AppBarLayout;
-import com.google.android.material.appbar.CollapsingToolbarLayout;
import com.google.android.material.snackbar.Snackbar;
import com.joanzapata.iconify.Iconify;
-import com.joanzapata.iconify.widget.IconTextView;
import com.leinardi.android.speeddial.SpeedDialView;
import de.danoeh.antennapod.R;
import de.danoeh.antennapod.activity.MainActivity;
@@ -45,13 +37,14 @@ import de.danoeh.antennapod.core.glide.ApGlideSettings;
import de.danoeh.antennapod.core.glide.FastBlurTransformation;
import de.danoeh.antennapod.core.menuhandler.MenuItemUtils;
import de.danoeh.antennapod.core.service.download.DownloadService;
-import de.danoeh.antennapod.model.download.DownloadStatus;
import de.danoeh.antennapod.core.storage.DBReader;
import de.danoeh.antennapod.core.storage.DBTasks;
import de.danoeh.antennapod.core.storage.DBWriter;
import de.danoeh.antennapod.core.util.FeedItemPermutors;
import de.danoeh.antennapod.core.util.FeedItemUtil;
import de.danoeh.antennapod.core.util.gui.MoreContentListFooterUtil;
+import de.danoeh.antennapod.databinding.FeedItemListFragmentBinding;
+import de.danoeh.antennapod.databinding.MultiSelectSpeedDialBinding;
import de.danoeh.antennapod.dialog.DownloadLogDetailsDialog;
import de.danoeh.antennapod.dialog.FilterDialog;
import de.danoeh.antennapod.dialog.RemoveFeedDialog;
@@ -67,10 +60,10 @@ import de.danoeh.antennapod.fragment.actions.EpisodeMultiSelectActionHandler;
import de.danoeh.antennapod.fragment.swipeactions.SwipeActions;
import de.danoeh.antennapod.menuhandler.FeedItemMenuHandler;
import de.danoeh.antennapod.menuhandler.FeedMenuHandler;
+import de.danoeh.antennapod.model.download.DownloadStatus;
import de.danoeh.antennapod.model.feed.Feed;
import de.danoeh.antennapod.model.feed.FeedItem;
import de.danoeh.antennapod.model.feed.FeedItemFilter;
-import de.danoeh.antennapod.view.EpisodeItemListRecyclerView;
import de.danoeh.antennapod.view.ToolbarIconTintManager;
import de.danoeh.antennapod.view.viewholder.EpisodeItemViewHolder;
import io.reactivex.Maybe;
@@ -98,29 +91,14 @@ public class FeedItemlistFragment extends Fragment implements AdapterView.OnItem
private FeedItemListAdapter adapter;
private SwipeActions swipeActions;
private MoreContentListFooterUtil nextPageLoader;
-
- private ProgressBar progressBar;
- private EpisodeItemListRecyclerView recyclerView;
- private TextView txtvTitle;
- private IconTextView txtvFailure;
- private ImageView imgvBackground;
- private ImageView imgvCover;
- private TextView txtvInformation;
- private TextView txtvAuthor;
- private TextView txtvUpdatesDisabled;
- private ImageButton butShowInfo;
- private ImageButton butShowSettings;
- private View header;
- private Toolbar toolbar;
- private SpeedDialView speedDialView;
-
private boolean displayUpArrow;
-
private long feedID;
private Feed feed;
private boolean headerCreated = false;
private boolean isUpdatingFeed;
private Disposable disposable;
+ private FeedItemListFragmentBinding viewBinding;
+ private MultiSelectSpeedDialBinding speedDialBinding;
/**
* Creates new ItemlistFragment which shows the Feeditems of a specific
@@ -140,7 +118,6 @@ public class FeedItemlistFragment extends Fragment implements AdapterView.OnItem
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- setRetainInstance(true);
Bundle args = getArguments();
Validate.notNull(args);
@@ -151,84 +128,63 @@ public class FeedItemlistFragment extends Fragment implements AdapterView.OnItem
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container,
@Nullable Bundle savedInstanceState) {
- View root = inflater.inflate(R.layout.feed_item_list_fragment, container, false);
- toolbar = root.findViewById(R.id.toolbar);
- toolbar.inflateMenu(R.menu.feedlist);
- toolbar.setOnMenuItemClickListener(this);
+ viewBinding = FeedItemListFragmentBinding.inflate(inflater);
+ speedDialBinding = MultiSelectSpeedDialBinding.bind(viewBinding.getRoot());
+ viewBinding.toolbar.inflateMenu(R.menu.feedlist);
+ viewBinding.toolbar.setOnMenuItemClickListener(this);
displayUpArrow = getParentFragmentManager().getBackStackEntryCount() != 0;
if (savedInstanceState != null) {
displayUpArrow = savedInstanceState.getBoolean(KEY_UP_ARROW);
}
- ((MainActivity) getActivity()).setupToolbarToggle(toolbar, displayUpArrow);
+ ((MainActivity) getActivity()).setupToolbarToggle(viewBinding.toolbar, displayUpArrow);
refreshToolbarState();
- recyclerView = root.findViewById(R.id.recyclerView);
- recyclerView.setRecycledViewPool(((MainActivity) getActivity()).getRecycledViewPool());
-
- progressBar = root.findViewById(R.id.progLoading);
- progressBar.setVisibility(View.VISIBLE);
- txtvTitle = root.findViewById(R.id.txtvTitle);
- txtvAuthor = root.findViewById(R.id.txtvAuthor);
- imgvBackground = root.findViewById(R.id.imgvBackground);
- imgvCover = root.findViewById(R.id.imgvCover);
- butShowInfo = root.findViewById(R.id.butShowInfo);
- butShowSettings = root.findViewById(R.id.butShowSettings);
- txtvInformation = root.findViewById(R.id.txtvInformation);
- txtvFailure = root.findViewById(R.id.txtvFailure);
- txtvUpdatesDisabled = root.findViewById(R.id.txtvUpdatesDisabled);
- header = root.findViewById(R.id.headerContainer);
- AppBarLayout appBar = root.findViewById(R.id.appBar);
- CollapsingToolbarLayout collapsingToolbar = root.findViewById(R.id.collapsing_toolbar);
-
- ToolbarIconTintManager iconTintManager = new ToolbarIconTintManager(getContext(), toolbar, collapsingToolbar) {
+ viewBinding.recyclerView.setRecycledViewPool(((MainActivity) getActivity()).getRecycledViewPool());
+ viewBinding.progLoading.setVisibility(View.VISIBLE);
+ ToolbarIconTintManager iconTintManager = new ToolbarIconTintManager(
+ getContext(), viewBinding.toolbar, viewBinding.collapsingToolbar) {
@Override
protected void doTint(Context themedContext) {
- toolbar.getMenu().findItem(R.id.sort_items)
- .setIcon(AppCompatResources.getDrawable(themedContext, R.drawable.ic_sort));
- toolbar.getMenu().findItem(R.id.filter_items)
- .setIcon(AppCompatResources.getDrawable(themedContext, R.drawable.ic_filter));
- toolbar.getMenu().findItem(R.id.refresh_item)
+ viewBinding.toolbar.getMenu().findItem(R.id.refresh_item)
.setIcon(AppCompatResources.getDrawable(themedContext, R.drawable.ic_refresh));
- toolbar.getMenu().findItem(R.id.action_search)
+ viewBinding.toolbar.getMenu().findItem(R.id.action_search)
.setIcon(AppCompatResources.getDrawable(themedContext, R.drawable.ic_search));
}
};
iconTintManager.updateTint();
- appBar.addOnOffsetChangedListener(iconTintManager);
+ viewBinding.appBar.addOnOffsetChangedListener(iconTintManager);
- nextPageLoader = new MoreContentListFooterUtil(root.findViewById(R.id.more_content_list_footer));
+ nextPageLoader = new MoreContentListFooterUtil(viewBinding.moreContent.moreContentListFooter);
nextPageLoader.setClickListener(() -> {
if (feed != null) {
DBTasks.loadNextPageOfFeed(getActivity(), feed, false);
}
});
- recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
+ viewBinding.recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
@Override
public void onScrolled(@NonNull RecyclerView view, int deltaX, int deltaY) {
super.onScrolled(view, deltaX, deltaY);
boolean hasMorePages = feed != null && feed.isPaged() && feed.getNextPageLink() != null;
nextPageLoader.getRoot().setVisibility(
- (recyclerView.isScrolledToBottom() && hasMorePages) ? View.VISIBLE : View.GONE);
+ (viewBinding.recyclerView.isScrolledToBottom() && hasMorePages) ? View.VISIBLE : View.GONE);
}
});
EventBus.getDefault().register(this);
- SwipeRefreshLayout swipeRefreshLayout = root.findViewById(R.id.swipeRefresh);
- swipeRefreshLayout.setDistanceToTriggerSync(getResources().getInteger(R.integer.swipe_refresh_distance));
- swipeRefreshLayout.setOnRefreshListener(() -> {
+ viewBinding.swipeRefresh.setDistanceToTriggerSync(getResources().getInteger(R.integer.swipe_refresh_distance));
+ viewBinding.swipeRefresh.setOnRefreshListener(() -> {
DBTasks.forceRefreshFeed(requireContext(), feed, true);
- new Handler(Looper.getMainLooper()).postDelayed(() -> swipeRefreshLayout.setRefreshing(false),
+ new Handler(Looper.getMainLooper()).postDelayed(() -> viewBinding.swipeRefresh.setRefreshing(false),
getResources().getInteger(R.integer.swipe_to_refresh_duration_in_ms));
});
loadItems();
// Init action UI (via a FAB Speed Dial)
- speedDialView = root.findViewById(R.id.fabSD);
- speedDialView.setOverlayLayout(root.findViewById(R.id.fabSDOverlay));
- speedDialView.inflate(R.menu.episodes_apply_action_speeddial);
- speedDialView.setOnChangeListener(new SpeedDialView.OnChangeListener() {
+ speedDialBinding.fabSD.setOverlayLayout(speedDialBinding.fabSDOverlay);
+ speedDialBinding.fabSD.inflate(R.menu.episodes_apply_action_speeddial);
+ speedDialBinding.fabSD.setOnChangeListener(new SpeedDialView.OnChangeListener() {
@Override
public boolean onMainActionSelected() {
return false;
@@ -239,17 +195,17 @@ public class FeedItemlistFragment extends Fragment implements AdapterView.OnItem
if (open && adapter.getSelectedCount() == 0) {
((MainActivity) getActivity()).showSnackbarAbovePlayer(R.string.no_items_selected,
Snackbar.LENGTH_SHORT);
- speedDialView.close();
+ speedDialBinding.fabSD.close();
}
}
});
- speedDialView.setOnActionSelectedListener(actionItem -> {
+ speedDialBinding.fabSD.setOnActionSelectedListener(actionItem -> {
new EpisodeMultiSelectActionHandler(((MainActivity) getActivity()), adapter.getSelectedItems())
.handleAction(actionItem.getId());
adapter.endSelectMode();
return true;
});
- return root;
+ return viewBinding.getRoot();
}
@Override
@@ -279,18 +235,20 @@ public class FeedItemlistFragment extends Fragment implements AdapterView.OnItem
if (feed == null) {
return;
}
- toolbar.getMenu().findItem(R.id.visit_website_item).setVisible(feed.getLink() != null);
+ viewBinding.toolbar.getMenu().findItem(R.id.visit_website_item).setVisible(feed.getLink() != null);
- isUpdatingFeed = MenuItemUtils.updateRefreshMenuItem(toolbar.getMenu(),
+ isUpdatingFeed = MenuItemUtils.updateRefreshMenuItem(viewBinding.toolbar.getMenu(),
R.id.refresh_item, updateRefreshMenuItemChecker);
- FeedMenuHandler.onPrepareOptionsMenu(toolbar.getMenu(), feed);
+ FeedMenuHandler.onPrepareOptionsMenu(viewBinding.toolbar.getMenu(), feed);
}
@Override
public void onConfigurationChanged(@NonNull Configuration newConfig) {
super.onConfigurationChanged(newConfig);
int horizontalSpacing = (int) getResources().getDimension(R.dimen.additional_horizontal_spacing);
- header.setPadding(horizontalSpacing, header.getPaddingTop(), horizontalSpacing, header.getPaddingBottom());
+ viewBinding.header.headerContainer.setPadding(
+ horizontalSpacing, viewBinding.header.headerContainer.getPaddingTop(),
+ horizontalSpacing, viewBinding.header.headerContainer.getPaddingBottom());
}
@Override
@@ -391,7 +349,8 @@ public class FeedItemlistFragment extends Fragment implements AdapterView.OnItem
public void onEventMainThread(PlaybackPositionEvent event) {
if (adapter != null) {
for (int i = 0; i < adapter.getItemCount(); i++) {
- EpisodeItemViewHolder holder = (EpisodeItemViewHolder) recyclerView.findViewHolderForAdapterPosition(i);
+ EpisodeItemViewHolder holder = (EpisodeItemViewHolder)
+ viewBinding.recyclerView.findViewHolderForAdapterPosition(i);
if (holder != null && holder.isCurrentlyPlayingItem()) {
holder.notifyPlaybackPositionUpdated(event);
break;
@@ -414,18 +373,18 @@ public class FeedItemlistFragment extends Fragment implements AdapterView.OnItem
public void onStartSelectMode() {
swipeActions.detach();
if (feed.isLocalFeed()) {
- speedDialView.removeActionItemById(R.id.download_batch);
- speedDialView.removeActionItemById(R.id.delete_batch);
+ speedDialBinding.fabSD.removeActionItemById(R.id.download_batch);
+ speedDialBinding.fabSD.removeActionItemById(R.id.delete_batch);
}
- speedDialView.setVisibility(View.VISIBLE);
+ speedDialBinding.fabSD.setVisibility(View.VISIBLE);
refreshToolbarState();
}
@Override
public void onEndSelectMode() {
- speedDialView.close();
- speedDialView.setVisibility(View.GONE);
- swipeActions.attachTo(recyclerView);
+ speedDialBinding.fabSD.close();
+ speedDialBinding.fabSD.setVisibility(View.GONE);
+ swipeActions.attachTo(viewBinding.recyclerView);
}
private void updateUi() {
@@ -466,13 +425,13 @@ public class FeedItemlistFragment extends Fragment implements AdapterView.OnItem
return;
}
if (adapter == null) {
- recyclerView.setAdapter(null);
+ viewBinding.recyclerView.setAdapter(null);
adapter = new FeedItemListAdapter((MainActivity) getActivity());
adapter.setOnSelectModeListener(this);
- recyclerView.setAdapter(adapter);
- swipeActions = new SwipeActions(this, TAG).attachTo(recyclerView);
+ viewBinding.recyclerView.setAdapter(adapter);
+ swipeActions = new SwipeActions(this, TAG).attachTo(viewBinding.recyclerView);
}
- progressBar.setVisibility(View.GONE);
+ viewBinding.progLoading.setVisibility(View.GONE);
if (feed != null) {
adapter.updateItems(feed.getItems());
swipeActions.setFilter(feed.getItemFilter());
@@ -484,31 +443,33 @@ public class FeedItemlistFragment extends Fragment implements AdapterView.OnItem
private void refreshHeaderView() {
setupHeaderView();
- if (recyclerView == null || feed == null) {
+ if (viewBinding == null || feed == null) {
Log.e(TAG, "Unable to refresh header view");
return;
}
loadFeedImage();
if (feed.hasLastUpdateFailed()) {
- txtvFailure.setVisibility(View.VISIBLE);
+ viewBinding.header.txtvFailure.setVisibility(View.VISIBLE);
} else {
- txtvFailure.setVisibility(View.GONE);
+ viewBinding.header.txtvFailure.setVisibility(View.GONE);
}
if (!feed.getPreferences().getKeepUpdated()) {
- txtvUpdatesDisabled.setText("{md-pause-circle-outline} " + this.getString(R.string.updates_disabled_label));
- Iconify.addIcons(txtvUpdatesDisabled);
- txtvUpdatesDisabled.setVisibility(View.VISIBLE);
+ viewBinding.header.txtvUpdatesDisabled.setText("{md-pause-circle-outline} "
+ + this.getString(R.string.updates_disabled_label));
+ Iconify.addIcons(viewBinding.header.txtvUpdatesDisabled);
+ viewBinding.header.txtvUpdatesDisabled.setVisibility(View.VISIBLE);
} else {
- txtvUpdatesDisabled.setVisibility(View.GONE);
+ viewBinding.header.txtvUpdatesDisabled.setVisibility(View.GONE);
}
- txtvTitle.setText(feed.getTitle());
- txtvAuthor.setText(feed.getAuthor());
+ viewBinding.header.txtvTitle.setText(feed.getTitle());
+ viewBinding.header.txtvAuthor.setText(feed.getAuthor());
if (feed.getItemFilter() != null) {
FeedItemFilter filter = feed.getItemFilter();
if (filter.getValues().length > 0) {
- txtvInformation.setText("{md-info-outline} " + this.getString(R.string.filtered_label));
- Iconify.addIcons(txtvInformation);
- txtvInformation.setOnClickListener((l) -> {
+ viewBinding.header.txtvInformation.setText("{md-info-outline} "
+ + this.getString(R.string.filtered_label));
+ Iconify.addIcons(viewBinding.header.txtvInformation);
+ viewBinding.header.txtvInformation.setOnClickListener((l) -> {
FilterDialog filterDialog = new FilterDialog(requireContext(), feed.getItemFilter()) {
@Override
protected void updateFilter(Set<String> filterValues) {
@@ -519,12 +480,12 @@ public class FeedItemlistFragment extends Fragment implements AdapterView.OnItem
filterDialog.openDialog();
});
- txtvInformation.setVisibility(View.VISIBLE);
+ viewBinding.header.txtvInformation.setVisibility(View.VISIBLE);
} else {
- txtvInformation.setVisibility(View.GONE);
+ viewBinding.header.txtvInformation.setVisibility(View.GONE);
}
} else {
- txtvInformation.setVisibility(View.GONE);
+ viewBinding.header.txtvInformation.setVisibility(View.GONE);
}
}
@@ -534,18 +495,24 @@ public class FeedItemlistFragment extends Fragment implements AdapterView.OnItem
}
// https://github.com/bumptech/glide/issues/529
- imgvBackground.setColorFilter(new LightingColorFilter(0xff666666, 0x000000));
- butShowInfo.setVisibility(View.VISIBLE);
- butShowInfo.setOnClickListener(v -> showFeedInfo());
- imgvCover.setOnClickListener(v -> showFeedInfo());
- butShowSettings.setVisibility(View.VISIBLE);
- butShowSettings.setOnClickListener(v -> {
+ viewBinding.imgvBackground.setColorFilter(new LightingColorFilter(0xff666666, 0x000000));
+ viewBinding.header.butShowInfo.setOnClickListener(v -> showFeedInfo());
+ viewBinding.header.imgvCover.setOnClickListener(v -> showFeedInfo());
+ viewBinding.header.butShowSettings.setOnClickListener(v -> {
if (feed != null) {
FeedSettingsFragment fragment = FeedSettingsFragment.newInstance(feed);
((MainActivity) getActivity()).loadChildFragment(fragment, TransitionEffect.SLIDE);
}
});
- txtvFailure.setOnClickListener(v -> showErrorDetails());
+ viewBinding.header.butFilter.setOnClickListener(
+ v -> new FilterDialog(getContext(), feed.getItemFilter()) {
+ @Override
+ protected void updateFilter(Set<String> filterValues) {
+ feed.setItemFilter(filterValues.toArray(new String[0]));
+ DBWriter.setFeedItemsFilter(feed.getId(), filterValues);
+ }
+ }.openDialog());
+ viewBinding.header.txtvFailure.setOnClickListener(v -> showErrorDetails());
headerCreated = true;
}
@@ -589,7 +556,7 @@ public class FeedItemlistFragment extends Fragment implements AdapterView.OnItem
.diskCacheStrategy(ApGlideSettings.AP_DISK_CACHE_STRATEGY)
.transform(new FastBlurTransformation())
.dontAnimate())
- .into(imgvBackground);
+ .into(viewBinding.imgvBackground);
Glide.with(getActivity())
.load(feed.getImageUrl())
@@ -599,7 +566,7 @@ public class FeedItemlistFragment extends Fragment implements AdapterView.OnItem
.diskCacheStrategy(ApGlideSettings.AP_DISK_CACHE_STRATEGY)
.fitCenter()
.dontAnimate())
- .into(imgvCover);
+ .into(viewBinding.header.imgvCover);
}
private void loadItems() {
@@ -644,10 +611,10 @@ public class FeedItemlistFragment extends Fragment implements AdapterView.OnItem
}
switch (event.getKeyCode()) {
case KeyEvent.KEYCODE_T:
- recyclerView.smoothScrollToPosition(0);
+ viewBinding.recyclerView.smoothScrollToPosition(0);
break;
case KeyEvent.KEYCODE_B:
- recyclerView.smoothScrollToPosition(adapter.getItemCount() - 1);
+ viewBinding.recyclerView.smoothScrollToPosition(adapter.getItemCount() - 1);
break;
default:
break;
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 3396040f9..bfe269caa 100644
--- a/app/src/main/java/de/danoeh/antennapod/menuhandler/FeedMenuHandler.java
+++ b/app/src/main/java/de/danoeh/antennapod/menuhandler/FeedMenuHandler.java
@@ -5,23 +5,17 @@ import android.content.DialogInterface;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
-
import androidx.annotation.NonNull;
-
-import org.apache.commons.lang3.StringUtils;
-
-import java.util.Set;
-
import de.danoeh.antennapod.R;
import de.danoeh.antennapod.core.dialog.ConfirmationDialog;
-import de.danoeh.antennapod.model.feed.Feed;
import de.danoeh.antennapod.core.storage.DBTasks;
import de.danoeh.antennapod.core.storage.DBWriter;
import de.danoeh.antennapod.core.util.IntentUtils;
import de.danoeh.antennapod.core.util.ShareUtils;
-import de.danoeh.antennapod.model.feed.SortOrder;
-import de.danoeh.antennapod.dialog.FilterDialog;
import de.danoeh.antennapod.dialog.IntraFeedSortDialog;
+import de.danoeh.antennapod.model.feed.Feed;
+import de.danoeh.antennapod.model.feed.SortOrder;
+import org.apache.commons.lang3.StringUtils;
/**
* Handles interactions with the FeedItemMenu.
@@ -62,8 +56,6 @@ public class FeedMenuHandler {
DBTasks.forceRefreshCompleteFeed(context, selectedFeed);
} else if (itemId == R.id.sort_items) {
showSortDialog(context, selectedFeed);
- } else if (itemId == R.id.filter_items) {
- showFilterDialog(context, selectedFeed);
} else if (itemId == R.id.mark_all_read_item) {
ConfirmationDialog conDialog = new ConfirmationDialog(context,
R.string.mark_all_read_label,
@@ -87,19 +79,6 @@ public class FeedMenuHandler {
return true;
}
- private static void showFilterDialog(Context context, Feed selectedFeed) {
- FilterDialog filterDialog = new FilterDialog(context, selectedFeed.getItemFilter()) {
- @Override
- protected void updateFilter(Set<String> filterValues) {
- selectedFeed.setItemFilter(filterValues.toArray(new String[0]));
- DBWriter.setFeedItemsFilter(selectedFeed.getId(), filterValues);
- }
- };
-
- filterDialog.openDialog();
- }
-
-
private static void showSortDialog(Context context, Feed selectedFeed) {
IntraFeedSortDialog sortDialog = new IntraFeedSortDialog(context, selectedFeed.getSortOrder(), selectedFeed.isLocalFeed()) {
@Override