aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/java/github/daneren2005/dsub/view/SongView.java
diff options
context:
space:
mode:
authorScott Jackson <daneren2005@gmail.com>2016-02-22 17:19:18 -0800
committerScott Jackson <daneren2005@gmail.com>2016-02-22 17:19:18 -0800
commit2a625f25ff7eef0f900ca3eacfe8935dcf8d8bde (patch)
treec22d98787fb390ff6e53fdadee70ebc1cdd4b769 /app/src/main/java/github/daneren2005/dsub/view/SongView.java
parentb347afd7ba73219852d59c4f43d363f24449d8cd (diff)
downloaddsub-2a625f25ff7eef0f900ca3eacfe8935dcf8d8bde.tar.gz
dsub-2a625f25ff7eef0f900ca3eacfe8935dcf8d8bde.tar.bz2
dsub-2a625f25ff7eef0f900ca3eacfe8935dcf8d8bde.zip
#417 Add listened status indicator for Podcasts/Audio Books
Diffstat (limited to 'app/src/main/java/github/daneren2005/dsub/view/SongView.java')
-rw-r--r--app/src/main/java/github/daneren2005/dsub/view/SongView.java36
1 files changed, 30 insertions, 6 deletions
diff --git a/app/src/main/java/github/daneren2005/dsub/view/SongView.java b/app/src/main/java/github/daneren2005/dsub/view/SongView.java
index 2c0580af..95f7479f 100644
--- a/app/src/main/java/github/daneren2005/dsub/view/SongView.java
+++ b/app/src/main/java/github/daneren2005/dsub/view/SongView.java
@@ -20,7 +20,6 @@ package github.daneren2005.dsub.view;
import android.content.Context;
import android.graphics.Color;
-import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.*;
@@ -30,6 +29,7 @@ import github.daneren2005.dsub.domain.PodcastEpisode;
import github.daneren2005.dsub.service.DownloadService;
import github.daneren2005.dsub.service.DownloadFile;
import github.daneren2005.dsub.util.DrawableTint;
+import github.daneren2005.dsub.util.SongDBHandler;
import github.daneren2005.dsub.util.Util;
import java.io.File;
@@ -50,6 +50,7 @@ public class SongView extends UpdateView2<MusicDirectory.Entry, Boolean> {
private TextView statusTextView;
private ImageView statusImageView;
private ImageView bookmarkButton;
+ private ImageView playedButton;
private View bottomRowView;
private DownloadService downloadService;
@@ -66,8 +67,10 @@ public class SongView extends UpdateView2<MusicDirectory.Entry, Boolean> {
private boolean partialFileExists = false;
private boolean loaded = false;
private boolean isBookmarked = false;
- private boolean bookmarked = false;
+ private boolean isBookmarkedShown = false;
private boolean showPodcast = false;
+ private boolean isPlayed = false;
+ private boolean isPlayedShown = false;
public SongView(Context context) {
super(context);
@@ -84,6 +87,7 @@ public class SongView extends UpdateView2<MusicDirectory.Entry, Boolean> {
starButton.setFocusable(false);
bookmarkButton = (ImageButton) findViewById(R.id.song_bookmark);
bookmarkButton.setFocusable(false);
+ playedButton = (ImageButton) findViewById(R.id.song_played);
moreButton = (ImageView) findViewById(R.id.item_more);
bottomRowView = findViewById(R.id.song_bottom);
}
@@ -209,6 +213,10 @@ public class SongView extends UpdateView2<MusicDirectory.Entry, Boolean> {
item.loadMetadata(downloadFile.getCompleteFile());
loaded = true;
}
+
+ if(item instanceof PodcastEpisode || item.isAudioBook() || item.isPodcast()) {
+ isPlayed = SongDBHandler.getHandler(context).hasBeenCompleted(item);
+ }
}
@Override
@@ -274,18 +282,34 @@ public class SongView extends UpdateView2<MusicDirectory.Entry, Boolean> {
}
if(isBookmarked) {
- if(!bookmarked) {
+ if(!isBookmarkedShown) {
if(bookmarkButton.getDrawable() == null) {
bookmarkButton.setImageDrawable(DrawableTint.getTintedDrawable(context, R.drawable.ic_menu_bookmark_selected));
}
bookmarkButton.setVisibility(View.VISIBLE);
- bookmarked = true;
+ isBookmarkedShown = true;
}
} else {
- if(bookmarked) {
+ if(isBookmarkedShown) {
bookmarkButton.setVisibility(View.GONE);
- bookmarked = false;
+ isBookmarkedShown = false;
+ }
+ }
+
+ if(isPlayed) {
+ if(!isPlayedShown) {
+ if(playedButton.getDrawable() == null) {
+ playedButton.setImageDrawable(DrawableTint.getTintedDrawable(context, R.drawable.ic_toggle_played));
+ }
+
+ playedButton.setVisibility(View.VISIBLE);
+ isPlayedShown = true;
+ }
+ } else {
+ if(isPlayedShown) {
+ playedButton.setVisibility(View.GONE);
+ isPlayedShown = false;
}
}