From 2355947fa50405742e46fc1e339f773c1904ada4 Mon Sep 17 00:00:00 2001 From: daneren2005 Date: Wed, 31 Jul 2013 16:07:09 -0700 Subject: Remove IO from AlbumView --- src/github/daneren2005/dsub/view/AlbumView.java | 38 +++++++++++++++++++++---- 1 file changed, 33 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/github/daneren2005/dsub/view/AlbumView.java b/src/github/daneren2005/dsub/view/AlbumView.java index 3a7b895e..752d6e05 100644 --- a/src/github/daneren2005/dsub/view/AlbumView.java +++ b/src/github/daneren2005/dsub/view/AlbumView.java @@ -41,12 +41,17 @@ public class AlbumView extends UpdateView { private Context context; private MusicDirectory.Entry album; + private File file; private TextView titleView; private TextView artistView; private View coverArtView; private ImageButton starButton; private ImageView moreButton; + + private boolean exists = false; + private boolean shaded = false; + private boolean starred = true; public AlbumView(Context context) { super(context); @@ -77,17 +82,40 @@ public class AlbumView extends UpdateView { starButton.setVisibility(!album.isStarred() ? View.GONE : View.VISIBLE); starButton.setFocusable(false); + file = FileUtil.getAlbumDirectory(context, album); + updateBackground(); update(); } + + @Override + protected void updateBackground() { + exists = file.exists(); + } @Override protected void update() { - starButton.setVisibility(!album.isStarred() ? View.GONE : View.VISIBLE); - File file = FileUtil.getAlbumDirectory(context, album); - if(file.exists()) { - moreButton.setImageResource(R.drawable.list_item_more_shaded); + if(album.isStarred()) { + if(!starred) { + starButton.setVisibility(View.VISIBLE); + starred = true; + } + } else { + if(starred) { + starButton.setVisibility(View.GONE); + starred = false; + } + } + + if(exists) { + if(!shaded) { + moreButton.setImageResource(R.drawable.list_item_more_shaded); + shaded = true; + } } else { - moreButton.setImageResource(R.drawable.list_item_more); + if(shaded) { + moreButton.setImageResource(R.drawable.list_item_more); + shaded = false; + } } } } -- cgit v1.2.3