diff options
author | Scott Jackson <daneren2005@gmail.com> | 2013-07-31 18:30:47 -0700 |
---|---|---|
committer | Scott Jackson <daneren2005@gmail.com> | 2013-07-31 18:30:47 -0700 |
commit | 4a1c24cc6ca4c45552fc0a8eb6ebe6e03d3259b6 (patch) | |
tree | f66a2f6a4d08eeae224c5d177e9d400a7773b2bc | |
parent | 7b1c0bad8fd7c0cf4a0a770a8ecd24d4bf02a1a5 (diff) | |
download | dsub-4a1c24cc6ca4c45552fc0a8eb6ebe6e03d3259b6.tar.gz dsub-4a1c24cc6ca4c45552fc0a8eb6ebe6e03d3259b6.tar.bz2 dsub-4a1c24cc6ca4c45552fc0a8eb6ebe6e03d3259b6.zip |
Update UpdateView abstraction
13 files changed, 33 insertions, 24 deletions
diff --git a/res/layout/song_list_item.xml b/res/layout/song_list_item.xml index 90060894..e1badafb 100644 --- a/res/layout/song_list_item.xml +++ b/res/layout/song_list_item.xml @@ -44,8 +44,7 @@ android:layout_gravity="right|center_vertical"
android:src="@drawable/ic_stat_star"
android:background="@null"
- android:focusable="false"
- android:visibility="gone"/>
+ android:focusable="false"/>
<TextView
android:id="@+id/song_status"
diff --git a/src/github/daneren2005/dsub/fragments/DownloadFragment.java b/src/github/daneren2005/dsub/fragments/DownloadFragment.java index 56accc30..94c2a02a 100644 --- a/src/github/daneren2005/dsub/fragments/DownloadFragment.java +++ b/src/github/daneren2005/dsub/fragments/DownloadFragment.java @@ -1081,7 +1081,7 @@ public class DownloadFragment extends SubsonicFragment implements OnGestureListe view = new SongView(context);
}
DownloadFile downloadFile = getItem(position);
- view.setSong(downloadFile.getSong(), false);
+ view.setObject(downloadFile.getSong(), false);
return view;
}
}
diff --git a/src/github/daneren2005/dsub/view/AlbumView.java b/src/github/daneren2005/dsub/view/AlbumView.java index 4d4e5f99..4c92f17a 100644 --- a/src/github/daneren2005/dsub/view/AlbumView.java +++ b/src/github/daneren2005/dsub/view/AlbumView.java @@ -65,12 +65,12 @@ public class AlbumView extends UpdateView { }); } - protected void setObjectImpl(Object obj) { - this.album = (MusicDirectory.Entry) obj; + protected void setObjectImpl(Object obj1, Object obj2) { + this.album = (MusicDirectory.Entry) obj1; titleView.setText(album.getTitle()); artistView.setText(album.getArtist()); artistView.setVisibility(album.getArtist() == null ? View.GONE : View.VISIBLE); - imageLoader.loadImage(coverArtView, album, false, true); + ((ImageLoader)obj2).loadImage(coverArtView, album, false, true); file = FileUtil.getAlbumDirectory(context, album); } diff --git a/src/github/daneren2005/dsub/view/ArtistAdapter.java b/src/github/daneren2005/dsub/view/ArtistAdapter.java index 7e9bf218..ff66f396 100644 --- a/src/github/daneren2005/dsub/view/ArtistAdapter.java +++ b/src/github/daneren2005/dsub/view/ArtistAdapter.java @@ -68,7 +68,7 @@ public class ArtistAdapter extends ArrayAdapter<Artist> implements SectionIndexe } else { view = new ArtistView(activity); } - view.setArtist(entry); + view.setObject(entry); return view; } diff --git a/src/github/daneren2005/dsub/view/EntryAdapter.java b/src/github/daneren2005/dsub/view/EntryAdapter.java index ff7393c6..22ca384c 100644 --- a/src/github/daneren2005/dsub/view/EntryAdapter.java +++ b/src/github/daneren2005/dsub/view/EntryAdapter.java @@ -58,11 +58,11 @@ public class EntryAdapter extends ArrayAdapter<MusicDirectory.Entry> { if(entry.getArtist() != null || entry.getParent() != null) { AlbumView view; view = new AlbumView(activity); - view.setAlbum(entry, imageLoader); + view.setObject(entry, imageLoader); return view; } else { ArtistEntryView view = new ArtistEntryView(activity); - view.setArtist(entry); + view.setObject(entry); return view; } } else { @@ -72,7 +72,7 @@ public class EntryAdapter extends ArrayAdapter<MusicDirectory.Entry> { } else { view = new SongView(activity); } - view.setSong(entry, checkable); + view.setObject(entry, checkable); return view; } } diff --git a/src/github/daneren2005/dsub/view/GenreAdapter.java b/src/github/daneren2005/dsub/view/GenreAdapter.java index b98efd20..05cc0da9 100644 --- a/src/github/daneren2005/dsub/view/GenreAdapter.java +++ b/src/github/daneren2005/dsub/view/GenreAdapter.java @@ -53,7 +53,7 @@ public class GenreAdapter extends ArrayAdapter<Genre>{ } else {
view = new GenreView(activity);
}
- view.setGenre(genre);
+ view.setObject(genre);
return view;
}
}
diff --git a/src/github/daneren2005/dsub/view/GenreView.java b/src/github/daneren2005/dsub/view/GenreView.java index affcd701..934a63bd 100644 --- a/src/github/daneren2005/dsub/view/GenreView.java +++ b/src/github/daneren2005/dsub/view/GenreView.java @@ -43,6 +43,6 @@ public class GenreView extends UpdateView { }
public void setObjectImpl(Object obj) {
- titleView.setText(((Genre)genre).getName());
+ titleView.setText(((Genre)obj).getName());
}
}
diff --git a/src/github/daneren2005/dsub/view/PlaylistAdapter.java b/src/github/daneren2005/dsub/view/PlaylistAdapter.java index 71727c04..f25996dd 100644 --- a/src/github/daneren2005/dsub/view/PlaylistAdapter.java +++ b/src/github/daneren2005/dsub/view/PlaylistAdapter.java @@ -49,7 +49,7 @@ public class PlaylistAdapter extends ArrayAdapter<Playlist> { } else { view = new PlaylistView(activity); } - view.setPlaylist(entry); + view.setObject(entry); return view; } diff --git a/src/github/daneren2005/dsub/view/PlaylistView.java b/src/github/daneren2005/dsub/view/PlaylistView.java index ad8f2730..31332b22 100644 --- a/src/github/daneren2005/dsub/view/PlaylistView.java +++ b/src/github/daneren2005/dsub/view/PlaylistView.java @@ -58,7 +58,7 @@ public class PlaylistView extends UpdateView { }
protected void setObjectImpl(Object obj) {
- this.playlist = (Playlist) playlist;
+ this.playlist = (Playlist) obj;
titleView.setText(playlist.getName());
file = FileUtil.getPlaylistFile(Util.getServerName(context), playlist.getName());
}
diff --git a/src/github/daneren2005/dsub/view/PodcastChannelAdapter.java b/src/github/daneren2005/dsub/view/PodcastChannelAdapter.java index 6b7af991..3a7ab922 100644 --- a/src/github/daneren2005/dsub/view/PodcastChannelAdapter.java +++ b/src/github/daneren2005/dsub/view/PodcastChannelAdapter.java @@ -53,7 +53,7 @@ public class PodcastChannelAdapter extends ArrayAdapter<PodcastChannel>{ } else {
view = new PodcastChannelView(activity);
}
- view.setPodcastChannel(podcast);
+ view.setObject(podcast);
return view;
}
}
diff --git a/src/github/daneren2005/dsub/view/PodcastChannelView.java b/src/github/daneren2005/dsub/view/PodcastChannelView.java index 8d4c932d..2998c16d 100644 --- a/src/github/daneren2005/dsub/view/PodcastChannelView.java +++ b/src/github/daneren2005/dsub/view/PodcastChannelView.java @@ -34,6 +34,7 @@ public class PodcastChannelView extends UpdateView { private Context context;
private PodcastChannel channel;
+ private File file;
private TextView titleView;
@@ -43,7 +44,7 @@ public class PodcastChannelView extends UpdateView { LayoutInflater.from(context).inflate(R.layout.artist_list_item, this, true);
titleView = (TextView) findViewById(R.id.artist_name);
- ImageButton starButton = (ImageButton) findViewById(R.id.artist_star);
+ starButton = (ImageButton) findViewById(R.id.artist_star);
moreButton = (ImageView) findViewById(R.id.artist_more);
moreButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
diff --git a/src/github/daneren2005/dsub/view/SongView.java b/src/github/daneren2005/dsub/view/SongView.java index 042d8031..fb3e171e 100644 --- a/src/github/daneren2005/dsub/view/SongView.java +++ b/src/github/daneren2005/dsub/view/SongView.java @@ -51,8 +51,6 @@ public class SongView extends UpdateView implements Checkable { private TextView artistTextView; private TextView durationTextView; private TextView statusTextView; - private ImageButton starButton; - private ImageView moreButton; private DownloadService downloadService; private long revision = -1; @@ -61,7 +59,6 @@ public class SongView extends UpdateView implements Checkable { private boolean playing = false; private int rightImage = 0; private int moreImage = 0; - private boolean starred = false; private boolean isWorkDone = false; private boolean isSaved = false; private File partialFile; @@ -78,7 +75,6 @@ public class SongView extends UpdateView implements Checkable { durationTextView = (TextView) findViewById(R.id.song_duration); statusTextView = (TextView) findViewById(R.id.song_status); starButton = (ImageButton) findViewById(R.id.song_star); - starButton.setFocusable(false); moreButton = (ImageView) findViewById(R.id.artist_more); moreButton.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { @@ -87,8 +83,9 @@ public class SongView extends UpdateView implements Checkable { }); } - public void setSong(MusicDirectory.Entry song, boolean checkable) { - this.song = song; + public void setObjectImpl(Object obj1, Object obj2) { + this.song = (MusicDirectory.Entry) obj1; + boolean checkable = (Boolean) obj2; StringBuilder artist = new StringBuilder(40); @@ -144,8 +141,6 @@ public class SongView extends UpdateView implements Checkable { checkedTextView.setVisibility(checkable && !song.isVideo() ? View.VISIBLE : View.GONE); revision = -1; - updateBackground(); - update(); } @Override @@ -167,6 +162,7 @@ public class SongView extends UpdateView implements Checkable { isSaved = downloadFile.isSaved(); partialFile = downloadFile.getPartialFile(); partialFileExists = partialFile.exists(); + isStarred = song.isStarred(); } @Override diff --git a/src/github/daneren2005/dsub/view/UpdateView.java b/src/github/daneren2005/dsub/view/UpdateView.java index ced92ad6..c73ba72c 100644 --- a/src/github/daneren2005/dsub/view/UpdateView.java +++ b/src/github/daneren2005/dsub/view/UpdateView.java @@ -22,13 +22,18 @@ import android.content.Context; import android.os.Handler;
import android.os.Looper;
import android.util.Log;
+import android.view.View;
import android.view.ViewGroup;
import android.widget.AbsListView;
+import android.widget.ImageButton;
+import android.widget.ImageView;
import android.widget.LinearLayout;
import java.util.ArrayList;
import java.util.List;
import java.util.WeakHashMap;
+import github.daneren2005.dsub.R;
+
public class UpdateView extends LinearLayout {
private static final String TAG = UpdateView.class.getSimpleName();
private static final WeakHashMap<UpdateView, ?> INSTANCES = new WeakHashMap<UpdateView, Object>();
@@ -66,9 +71,17 @@ public class UpdateView extends LinearLayout { updateBackground();
update();
}
+ public void setObject(Object obj1, Object obj2) {
+ setObjectImpl(obj1, obj2);
+ updateBackground();
+ update();
+ }
protected void setObjectImpl(Object obj) {
}
+ protected void setObjectImpl(Object obj1, Object obj2) {
+
+ }
private static synchronized void startUpdater() {
if(uiHandler != null) {
|