diff options
author | Anderson Mesquita <andersonvom@gmail.com> | 2019-05-02 20:06:36 -0400 |
---|---|---|
committer | Anderson Mesquita <andersonvom@gmail.com> | 2019-05-27 16:01:54 -0400 |
commit | 1d64057fd41442d276fd690229dc0c0f9afd2b96 (patch) | |
tree | 50f23cc4b09101bf7d3f930c81dce07124f0bab8 /app/src/main/java/de/danoeh/antennapod/adapter/actionbutton/CancelDownloadActionButton.java | |
parent | c327fd59c92992411395bc76586a50b5b2478c93 (diff) | |
download | AntennaPod-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.java | 44 |
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(); + } + } +} |