summaryrefslogtreecommitdiff
path: root/app/src/main/java/de/danoeh/antennapod/adapter/actionbutton/CancelDownloadActionButton.java
diff options
context:
space:
mode:
authorAnderson Mesquita <andersonvom@gmail.com>2019-05-02 20:06:36 -0400
committerAnderson Mesquita <andersonvom@gmail.com>2019-05-27 16:01:54 -0400
commit1d64057fd41442d276fd690229dc0c0f9afd2b96 (patch)
tree50f23cc4b09101bf7d3f930c81dce07124f0bab8 /app/src/main/java/de/danoeh/antennapod/adapter/actionbutton/CancelDownloadActionButton.java
parentc327fd59c92992411395bc76586a50b5b2478c93 (diff)
downloadAntennaPod-1d64057fd41442d276fd690229dc0c0f9afd2b96.zip
Extract action button utils/callback into classes
This splits the logic in `ActionButtonUtils` and `DefaultActionButtonCallback` into multiple specialized classes to reduce duplication figuring out which button/action to use while at the same time making each individual button to have a single responsability.
Diffstat (limited to 'app/src/main/java/de/danoeh/antennapod/adapter/actionbutton/CancelDownloadActionButton.java')
-rw-r--r--app/src/main/java/de/danoeh/antennapod/adapter/actionbutton/CancelDownloadActionButton.java44
1 files changed, 44 insertions, 0 deletions
diff --git a/app/src/main/java/de/danoeh/antennapod/adapter/actionbutton/CancelDownloadActionButton.java b/app/src/main/java/de/danoeh/antennapod/adapter/actionbutton/CancelDownloadActionButton.java
new file mode 100644
index 000000000..1275a799b
--- /dev/null
+++ b/app/src/main/java/de/danoeh/antennapod/adapter/actionbutton/CancelDownloadActionButton.java
@@ -0,0 +1,44 @@
+package de.danoeh.antennapod.adapter.actionbutton;
+
+import android.content.Context;
+import android.support.annotation.AttrRes;
+import android.support.annotation.StringRes;
+import android.widget.Toast;
+
+import de.danoeh.antennapod.R;
+import de.danoeh.antennapod.core.feed.FeedItem;
+import de.danoeh.antennapod.core.feed.FeedMedia;
+import de.danoeh.antennapod.core.preferences.UserPreferences;
+import de.danoeh.antennapod.core.storage.DBWriter;
+import de.danoeh.antennapod.core.storage.DownloadRequester;
+
+class CancelDownloadActionButton extends ItemActionButton {
+
+ CancelDownloadActionButton(FeedItem item) {
+ super(item);
+ }
+
+ @Override
+ @StringRes
+ public int getLabel() {
+ return R.string.cancel_download_label;
+ }
+
+ @Override
+ @AttrRes
+ public int getDrawable() {
+ return R.attr.navigation_cancel;
+ }
+
+ @Override
+ public void onClick(Context context) {
+ FeedMedia media = item.getMedia();
+ DownloadRequester.getInstance().cancelDownload(context, media);
+ if (UserPreferences.isEnableAutodownload()) {
+ DBWriter.setFeedItemAutoDownload(media.getItem(), false);
+ Toast.makeText(context, R.string.download_canceled_autodownload_enabled_msg, Toast.LENGTH_LONG).show();
+ } else {
+ Toast.makeText(context, R.string.download_canceled_msg, Toast.LENGTH_LONG).show();
+ }
+ }
+}