From 4a1c24cc6ca4c45552fc0a8eb6ebe6e03d3259b6 Mon Sep 17 00:00:00 2001 From: Scott Jackson Date: Wed, 31 Jul 2013 18:30:47 -0700 Subject: Update UpdateView abstraction --- src/github/daneren2005/dsub/fragments/DownloadFragment.java | 2 +- src/github/daneren2005/dsub/view/AlbumView.java | 6 +++--- src/github/daneren2005/dsub/view/ArtistAdapter.java | 2 +- src/github/daneren2005/dsub/view/EntryAdapter.java | 6 +++--- src/github/daneren2005/dsub/view/GenreAdapter.java | 2 +- src/github/daneren2005/dsub/view/GenreView.java | 2 +- src/github/daneren2005/dsub/view/PlaylistAdapter.java | 2 +- src/github/daneren2005/dsub/view/PlaylistView.java | 2 +- src/github/daneren2005/dsub/view/PodcastChannelAdapter.java | 2 +- src/github/daneren2005/dsub/view/PodcastChannelView.java | 3 ++- src/github/daneren2005/dsub/view/SongView.java | 12 ++++-------- src/github/daneren2005/dsub/view/UpdateView.java | 13 +++++++++++++ 12 files changed, 32 insertions(+), 22 deletions(-) (limited to 'src/github/daneren2005') 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 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 { 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 { } 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{ } 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 { } 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{ } 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 INSTANCES = new WeakHashMap(); @@ -66,8 +71,16 @@ 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() { -- cgit v1.2.3