aboutsummaryrefslogtreecommitdiff
path: root/src/github/daneren2005
diff options
context:
space:
mode:
authordaneren2005 <daneren2005@gmail.com>2013-07-31 16:16:25 -0700
committerdaneren2005 <daneren2005@gmail.com>2013-07-31 16:16:25 -0700
commitd18cd8364e885a353bca894a96a4c4a60c038239 (patch)
tree14ae8decc021db37ebc776edc9474f95fc13abfe /src/github/daneren2005
parenta647cc15d41a0faaf41db3334fb66d6b2b954c51 (diff)
downloaddsub-d18cd8364e885a353bca894a96a4c4a60c038239.tar.gz
dsub-d18cd8364e885a353bca894a96a4c4a60c038239.tar.bz2
dsub-d18cd8364e885a353bca894a96a4c4a60c038239.zip
Remove IO from ArtistView
Diffstat (limited to 'src/github/daneren2005')
-rw-r--r--src/github/daneren2005/dsub/view/ArtistView.java45
1 files changed, 34 insertions, 11 deletions
diff --git a/src/github/daneren2005/dsub/view/ArtistView.java b/src/github/daneren2005/dsub/view/ArtistView.java
index 353be618..249c1ae2 100644
--- a/src/github/daneren2005/dsub/view/ArtistView.java
+++ b/src/github/daneren2005/dsub/view/ArtistView.java
@@ -40,10 +40,15 @@ public class ArtistView extends UpdateView {
private Context context;
private Artist 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 ArtistView(Context context) {
super(context);
@@ -62,23 +67,41 @@ public class ArtistView extends UpdateView {
public void setArtist(Artist artist) {
this.artist = artist;
-
titleView.setText(artist.getName());
-
- 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;
+ }
+ }
+ }
}