diff options
author | daneren2005 <daneren2005@gmail.com> | 2013-07-31 16:07:09 -0700 |
---|---|---|
committer | daneren2005 <daneren2005@gmail.com> | 2013-07-31 16:07:09 -0700 |
commit | 2355947fa50405742e46fc1e339f773c1904ada4 (patch) | |
tree | 373836483fbc19395337ba675109ff06276ff8fc /src | |
parent | f31f118da0921fc06f41b2984b1c0a3c9930c83e (diff) | |
download | dsub-2355947fa50405742e46fc1e339f773c1904ada4.tar.gz dsub-2355947fa50405742e46fc1e339f773c1904ada4.tar.bz2 dsub-2355947fa50405742e46fc1e339f773c1904ada4.zip |
Remove IO from AlbumView
Diffstat (limited to 'src')
-rw-r--r-- | src/github/daneren2005/dsub/view/AlbumView.java | 38 |
1 files changed, 33 insertions, 5 deletions
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; + } } } } |