summaryrefslogtreecommitdiff
path: root/app/src/main/java/de/danoeh
diff options
context:
space:
mode:
authorTony Tam <149837+tonytamsf@users.noreply.github.com>2021-04-06 09:15:14 -0700
committerGitHub <noreply@github.com>2021-04-06 18:15:14 +0200
commit79c79efce588b446cf9816a01e0056e7e3dfd9db (patch)
treefaa91fbd058c9fb93a827f68dac4062de3c0b04d /app/src/main/java/de/danoeh
parentef41704166cc17b95159a891e7be36c8b334b8b4 (diff)
downloadAntennaPod-79c79efce588b446cf9816a01e0056e7e3dfd9db.zip
Parsing podcast:funding tag, showing payment, funding links on the show info screen (#4933)
Diffstat (limited to 'app/src/main/java/de/danoeh')
-rw-r--r--app/src/main/java/de/danoeh/antennapod/fragment/FeedInfoFragment.java33
1 files changed, 33 insertions, 0 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 211c54e28..81e400f97 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/FeedInfoFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/FeedInfoFragment.java
@@ -33,10 +33,14 @@ 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 org.apache.commons.lang3.StringUtils;
+
import de.danoeh.antennapod.R;
import de.danoeh.antennapod.activity.MainActivity;
import de.danoeh.antennapod.core.dialog.DownloadRequestErrorDialogCreator;
import de.danoeh.antennapod.core.feed.Feed;
+import de.danoeh.antennapod.core.feed.FeedFunding;
import de.danoeh.antennapod.core.glide.ApGlideSettings;
import de.danoeh.antennapod.core.glide.FastBlurTransformation;
import de.danoeh.antennapod.core.storage.DBReader;
@@ -58,6 +62,8 @@ import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.disposables.Disposable;
import io.reactivex.schedulers.Schedulers;
+import java.util.ArrayList;
+import java.util.HashSet;
import java.util.List;
import java.util.Locale;
@@ -80,6 +86,8 @@ public class FeedInfoFragment extends Fragment implements Toolbar.OnMenuItemClic
private TextView txtvPodcastTime;
private TextView txtvPodcastSpace;
private TextView txtvPodcastEpisodeCount;
+ private TextView txtvFundingUrl;
+ private TextView lblSupport;
private Button btnvOpenStatistics;
private TextView txtvUrl;
private TextView txtvAuthorHeader;
@@ -155,6 +163,8 @@ public class FeedInfoFragment extends Fragment implements Toolbar.OnMenuItemClic
txtvPodcastTime = root.findViewById(R.id.txtvPodcastTime);
btnvOpenStatistics = root.findViewById(R.id.btnvOpenStatistics);
txtvUrl = root.findViewById(R.id.txtvUrl);
+ lblSupport = root.findViewById(R.id.lblSupport);
+ txtvFundingUrl = root.findViewById(R.id.txtvFundingUrl);
txtvUrl.setOnClickListener(copyUrlToClipboard);
@@ -233,6 +243,29 @@ public class FeedInfoFragment extends Fragment implements Toolbar.OnMenuItemClic
}
txtvUrl.setText(feed.getDownload_url() + " {fa-paperclip}");
+
+ if (feed.getPaymentLinks() == null || feed.getPaymentLinks().size() == 0) {
+ lblSupport.setVisibility(View.GONE);
+ txtvFundingUrl.setVisibility(View.GONE);
+ } else {
+ lblSupport.setVisibility(View.VISIBLE);
+ ArrayList<FeedFunding> fundingList = feed.getPaymentLinks();
+ StringBuilder str = new StringBuilder();
+ HashSet<String> seen = new HashSet<String>();
+ for (FeedFunding funding : fundingList) {
+ if (seen.contains(funding.url)) {
+ continue;
+ }
+ seen.add(funding.url);
+ str.append(funding.content.isEmpty()
+ ? getContext().getResources().getString(R.string.support_podcast)
+ : funding.content).append(" ").append(funding.url);
+ str.append("\n");
+ }
+ str = new StringBuilder(StringUtils.trim(str.toString()));
+ txtvFundingUrl.setText(str.toString());
+ }
+
Iconify.addIcons(txtvUrl);
refreshToolbarState();
}