diff --git a/app/src/main/java/org/xbmc/kore/ui/sections/video/MovieListFragment.java b/app/src/main/java/org/xbmc/kore/ui/sections/video/MovieListFragment.java
index 4a132e7..63f8f63 100644
--- a/app/src/main/java/org/xbmc/kore/ui/sections/video/MovieListFragment.java
+++ b/app/src/main/java/org/xbmc/kore/ui/sections/video/MovieListFragment.java
@@ -20,6 +20,7 @@ import android.app.Activity;
import android.content.Context;
import android.content.SharedPreferences;
import android.content.res.Resources;
+import android.content.res.TypedArray;
import android.database.Cursor;
import android.net.Uri;
import android.preference.PreferenceManager;
@@ -272,6 +273,7 @@ public class MovieListFragment extends AbstractCursorListFragment {
MediaContract.Movies.RUNTIME,
MediaContract.Movies.RATING,
MediaContract.Movies.TAGLINE,
+ MediaContract.Movies.PLAYCOUNT,
};
@@ -292,15 +294,27 @@ public class MovieListFragment extends AbstractCursorListFragment {
final int RUNTIME = 6;
final int RATING = 7;
final int TAGLINE = 8;
+ final int PLAYCOUNT = 9;
}
- private static class MoviesAdapter extends CursorAdapter {
+ private class MoviesAdapter extends CursorAdapter {
private HostManager hostManager;
private int artWidth, artHeight;
+ private int themeAccentColor;
public MoviesAdapter(Context context) {
super(context, null, false);
+
+ // Get the default accent color
+ Resources.Theme theme = context.getTheme();
+ TypedArray styledAttributes = theme.obtainStyledAttributes(new int[] {
+ R.attr.colorAccent
+ });
+
+ themeAccentColor = styledAttributes.getColor(styledAttributes.getIndex(0), getResources().getColor(R.color.accent_default));
+ styledAttributes.recycle();
+
this.hostManager = HostManager.getInstance(context);
// Get the art dimensions
@@ -324,6 +338,7 @@ public class MovieListFragment extends AbstractCursorListFragment {
viewHolder.titleView = (TextView)view.findViewById(R.id.title);
viewHolder.detailsView = (TextView)view.findViewById(R.id.details);
viewHolder.durationView = (TextView)view.findViewById(R.id.duration);
+ viewHolder.checkmarkView = (ImageView)view.findViewById(R.id.checkmark);
viewHolder.artView = (ImageView)view.findViewById(R.id.art);
view.setTag(viewHolder);
@@ -366,6 +381,13 @@ public class MovieListFragment extends AbstractCursorListFragment {
viewHolder.dataHolder.getTitle(),
viewHolder.artView, artWidth, artHeight);
+ if (cursor.getInt(MovieListQuery.PLAYCOUNT) > 0) {
+ viewHolder.checkmarkView.setVisibility(View.VISIBLE);
+ viewHolder.checkmarkView.setColorFilter(themeAccentColor);
+ } else {
+ viewHolder.checkmarkView.setVisibility(View.INVISIBLE);
+ }
+
if (Utils.isLollipopOrLater()) {
viewHolder.artView.setTransitionName("a" + viewHolder.dataHolder.getId());
}
@@ -379,6 +401,7 @@ public class MovieListFragment extends AbstractCursorListFragment {
TextView titleView;
TextView detailsView;
TextView durationView;
+ ImageView checkmarkView;
ImageView artView;
AbstractInfoFragment.DataHolder dataHolder = new AbstractInfoFragment.DataHolder(0);
diff --git a/app/src/main/java/org/xbmc/kore/ui/sections/video/TVShowListFragment.java b/app/src/main/java/org/xbmc/kore/ui/sections/video/TVShowListFragment.java
index f5c0bff..eff2a3d 100644
--- a/app/src/main/java/org/xbmc/kore/ui/sections/video/TVShowListFragment.java
+++ b/app/src/main/java/org/xbmc/kore/ui/sections/video/TVShowListFragment.java
@@ -20,6 +20,7 @@ import android.app.Activity;
import android.content.Context;
import android.content.SharedPreferences;
import android.content.res.Resources;
+import android.content.res.TypedArray;
import android.database.Cursor;
import android.net.Uri;
import android.preference.PreferenceManager;
@@ -292,13 +293,24 @@ public class TVShowListFragment extends AbstractCursorListFragment {
final int GENRES = 13;
}
- private static class TVShowsAdapter extends CursorAdapter {
+ private class TVShowsAdapter extends CursorAdapter {
private HostManager hostManager;
private int artWidth, artHeight;
+ private int themeAccentColor;
public TVShowsAdapter(Context context) {
super(context, null, false);
+
+ // Get the default accent color
+ Resources.Theme theme = context.getTheme();
+ TypedArray styledAttributes = theme.obtainStyledAttributes(new int[] {
+ R.attr.colorAccent
+ });
+
+ themeAccentColor = styledAttributes.getColor(styledAttributes.getIndex(0), getResources().getColor(R.color.accent_default));
+ styledAttributes.recycle();
+
this.hostManager = HostManager.getInstance(context);
// Get the art dimensions
@@ -322,6 +334,7 @@ public class TVShowListFragment extends AbstractCursorListFragment {
viewHolder.titleView = (TextView)view.findViewById(R.id.title);
viewHolder.detailsView = (TextView)view.findViewById(R.id.details);
viewHolder.premieredView = (TextView)view.findViewById(R.id.premiered);
+ viewHolder.checkmarkView = (ImageView)view.findViewById(R.id.checkmark);
viewHolder.artView = (ImageView)view.findViewById(R.id.art);
view.setTag(viewHolder);
@@ -358,6 +371,13 @@ public class TVShowListFragment extends AbstractCursorListFragment {
viewHolder.dataHolder.getTitle(),
viewHolder.artView, artWidth, artHeight);
+ if (episode - watchedEpisodes == 0) {
+ viewHolder.checkmarkView.setVisibility(View.VISIBLE);
+ viewHolder.checkmarkView.setColorFilter(themeAccentColor);
+ } else {
+ viewHolder.checkmarkView.setVisibility(View.INVISIBLE);
+ }
+
if (Utils.isLollipopOrLater()) {
viewHolder.artView.setTransitionName("a" + viewHolder.dataHolder.getId());
}
@@ -371,6 +391,7 @@ public class TVShowListFragment extends AbstractCursorListFragment {
TextView titleView;
TextView detailsView;
TextView premieredView;
+ ImageView checkmarkView;
ImageView artView;
AbstractInfoFragment.DataHolder dataHolder = new AbstractInfoFragment.DataHolder(0);
diff --git a/app/src/main/res/layout/grid_item_movie.xml b/app/src/main/res/layout/grid_item_movie.xml
index b40e847..3da7be1 100644
--- a/app/src/main/res/layout/grid_item_movie.xml
+++ b/app/src/main/res/layout/grid_item_movie.xml
@@ -45,6 +45,7 @@
android:layout_toEndOf="@id/art"
android:layout_alignTop="@id/art"
style="@style/TextAppearance.Medialist.Title"/>
+
+
+
diff --git a/app/src/main/res/layout/grid_item_tvshow.xml b/app/src/main/res/layout/grid_item_tvshow.xml
index 34c4847..8b3f5e5 100644
--- a/app/src/main/res/layout/grid_item_tvshow.xml
+++ b/app/src/main/res/layout/grid_item_tvshow.xml
@@ -44,6 +44,7 @@
android:layout_toEndOf="@id/art"
android:layout_alignTop="@id/art"
style="@style/TextAppearance.Medialist.Title"/>
+
+
+
\ No newline at end of file