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/MarkAsPlayedActionButton.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/MarkAsPlayedActionButton.java')
-rw-r--r-- | app/src/main/java/de/danoeh/antennapod/adapter/actionbutton/MarkAsPlayedActionButton.java | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/app/src/main/java/de/danoeh/antennapod/adapter/actionbutton/MarkAsPlayedActionButton.java b/app/src/main/java/de/danoeh/antennapod/adapter/actionbutton/MarkAsPlayedActionButton.java new file mode 100644 index 000000000..4d906cee5 --- /dev/null +++ b/app/src/main/java/de/danoeh/antennapod/adapter/actionbutton/MarkAsPlayedActionButton.java @@ -0,0 +1,41 @@ +package de.danoeh.antennapod.adapter.actionbutton; + +import android.content.Context; +import android.support.annotation.AttrRes; +import android.support.annotation.StringRes; +import android.view.View; + +import de.danoeh.antennapod.R; +import de.danoeh.antennapod.core.feed.FeedItem; +import de.danoeh.antennapod.core.storage.DBWriter; + +class MarkAsPlayedActionButton extends ItemActionButton { + + MarkAsPlayedActionButton(FeedItem item) { + super(item); + } + + @Override + @StringRes + public int getLabel() { + return R.string.mark_read_label; + } + + @Override + @AttrRes + public int getDrawable() { + return R.attr.navigation_accept; + } + + @Override + public void onClick(Context context) { + if (!item.isPlayed()) { + DBWriter.markItemPlayed(item, FeedItem.PLAYED, true); + } + } + + @Override + public int getVisibility() { + return (item.isPlayed()) ? View.INVISIBLE : View.VISIBLE; + } +} |