Skip to content

Commit

Permalink
Add feeds without subscribing
Browse files Browse the repository at this point in the history
Adding feeds to the queue without subscribing is a long running
feature request. Doing this does not really make sense
on a distributed podcast app. However, to make these people happy,
subscribe to the feed internally anyway and just tell them that
it is not subscribed.
  • Loading branch information
ByteHamster committed Apr 14, 2024
1 parent e9b3cc3 commit 5839529
Show file tree
Hide file tree
Showing 19 changed files with 203 additions and 348 deletions.
Expand Up @@ -297,7 +297,8 @@ private void loadItems() {
disposable = Observable.fromCallable(() -> {
SortOrder sortOrder = UserPreferences.getDownloadsSortedOrder();
List<FeedItem> downloadedItems = DBReader.getEpisodes(0, Integer.MAX_VALUE,
new FeedItemFilter(FeedItemFilter.DOWNLOADED), sortOrder);
new FeedItemFilter(FeedItemFilter.DOWNLOADED, FeedItemFilter.INCLUDE_NOT_SUBSCRIBED),
sortOrder);

List<String> mediaUrls = new ArrayList<>();
if (runningDownloads == null) {
Expand Down
Expand Up @@ -483,6 +483,11 @@ private void refreshHeaderView() {
} else {
viewBinding.header.txtvInformation.setVisibility(View.GONE);
}
boolean isSubscribed = feed.getState() == Feed.STATE_SUBSCRIBED;
viewBinding.header.butShowInfo.setVisibility(isSubscribed ? View.VISIBLE : View.GONE);
viewBinding.header.butFilter.setVisibility(isSubscribed ? View.VISIBLE : View.GONE);
viewBinding.header.butShowSettings.setVisibility(isSubscribed ? View.VISIBLE : View.GONE);
viewBinding.header.butSubscribe.setVisibility(isSubscribed ? View.GONE : View.VISIBLE);
}

private void setupHeaderView() {
Expand All @@ -494,6 +499,13 @@ private void setupHeaderView() {
viewBinding.imgvBackground.setColorFilter(new LightingColorFilter(0xff666666, 0x000000));
viewBinding.header.butShowInfo.setOnClickListener(v -> showFeedInfo());
viewBinding.header.imgvCover.setOnClickListener(v -> showFeedInfo());
viewBinding.header.butSubscribe.setOnClickListener(view -> {
feed.getPreferences().setKeepUpdated(true);
DBWriter.setFeedPreferences(feed.getPreferences());
feed.setState(Feed.STATE_SUBSCRIBED);
DBWriter.setFeedState(feed);
FeedUpdateManager.getInstance().runOnceOrAsk(requireContext(), feed);
});
viewBinding.header.butShowSettings.setOnClickListener(v -> {
if (feed != null) {
FeedSettingsFragment fragment = FeedSettingsFragment.newInstance(feed);
Expand Down

This file was deleted.

0 comments on commit 5839529

Please sign in to comment.