diff options
author | daneren2005 <daneren2005@gmail.com> | 2013-07-31 16:11:56 -0700 |
---|---|---|
committer | daneren2005 <daneren2005@gmail.com> | 2013-07-31 16:11:56 -0700 |
commit | 9dd195620495c5aa2126a1eb7ff93859a84d311b (patch) | |
tree | 7218c91b0b60677f2ed76f42a69968ce3d59b248 | |
parent | 2355947fa50405742e46fc1e339f773c1904ada4 (diff) | |
download | dsub-9dd195620495c5aa2126a1eb7ff93859a84d311b.tar.gz dsub-9dd195620495c5aa2126a1eb7ff93859a84d311b.tar.bz2 dsub-9dd195620495c5aa2126a1eb7ff93859a84d311b.zip |
Remove IO from ArtistEntryView
-rw-r--r-- | src/github/daneren2005/dsub/view/ArtistEntryView.java | 43 |
1 files changed, 34 insertions, 9 deletions
diff --git a/src/github/daneren2005/dsub/view/ArtistEntryView.java b/src/github/daneren2005/dsub/view/ArtistEntryView.java index 3b6a50e4..0a9af86e 100644 --- a/src/github/daneren2005/dsub/view/ArtistEntryView.java +++ b/src/github/daneren2005/dsub/view/ArtistEntryView.java @@ -41,10 +41,15 @@ public class ArtistEntryView extends UpdateView { private Context context;
private MusicDirectory.Entry artist;
+ private File file;
private TextView titleView;
private ImageButton starButton;
private ImageView moreButton;
+
+ private boolean exists = false;
+ private boolean shaded = false;
+ private boolean starred = true;
public ArtistEntryView(Context context) {
super(context);
@@ -63,21 +68,41 @@ public class ArtistEntryView extends UpdateView { public void setArtist(MusicDirectory.Entry artist) {
this.artist = artist;
-
titleView.setText(artist.getTitle());
- starButton.setVisibility((Util.isOffline(getContext()) || !artist.isStarred()) ? View.GONE : View.VISIBLE);
- starButton.setFocusable(false);
+ file = FileUtil.getArtistDirectory(context, artist);
+ updateBackground();
update();
}
+
+ @Override
+ protected void updateBackground() {
+ exists = file.exists();
+ }
@Override
protected void update() {
- starButton.setVisibility((Util.isOffline(getContext()) || !artist.isStarred()) ? View.GONE : View.VISIBLE);
- File file = FileUtil.getArtistDirectory(context, artist);
- if(file.exists()) {
- moreButton.setImageResource(R.drawable.list_item_more_shaded);
+ if(artist.isStarred()) {
+ if(!starred) {
+ starButton.setVisibility(View.VISIBLE);
+ starred = true;
+ }
} else {
- moreButton.setImageResource(R.drawable.list_item_more);
+ if(starred) {
+ starButton.setVisibility(View.GONE);
+ starred = false;
+ }
}
- }
+
+ if(exists) {
+ if(!shaded) {
+ moreButton.setImageResource(R.drawable.list_item_more_shaded);
+ shaded = true;
+ }
+ } else {
+ if(shaded) {
+ moreButton.setImageResource(R.drawable.list_item_more);
+ shaded = false;
+ }
+ }
+ }
}
|