The LibraryFragments are now loading their content async.

This commit is contained in:
Karim Abou Zeid 2016-03-20 21:11:21 +01:00
commit 4e6df0faf8
15 changed files with 367 additions and 54 deletions

View file

@ -45,16 +45,12 @@ public class PlaylistAdapter extends AbsMultiSelectAdapter<PlaylistAdapter.ViewH
protected final AppCompatActivity activity;
protected ArrayList<Playlist> dataSet;
protected int itemLayoutRes;
protected int favoritePlaylistId;
public PlaylistAdapter(AppCompatActivity activity, ArrayList<Playlist> dataSet, @LayoutRes int itemLayoutRes, @Nullable CabHolder cabHolder) {
super(activity, cabHolder, R.menu.menu_playlists_selection);
this.activity = activity;
this.dataSet = dataSet;
this.itemLayoutRes = itemLayoutRes;
favoritePlaylistId = MusicUtil.getFavoritesPlaylist(activity).id;
setHasStableIds(true);
}
@ -64,7 +60,6 @@ public class PlaylistAdapter extends AbsMultiSelectAdapter<PlaylistAdapter.ViewH
public void swapDataSet(ArrayList<Playlist> dataSet) {
this.dataSet = dataSet;
favoritePlaylistId = MusicUtil.getFavoritesPlaylist(activity).id;
notifyDataSetChanged();
}
@ -113,7 +108,7 @@ public class PlaylistAdapter extends AbsMultiSelectAdapter<PlaylistAdapter.ViewH
if (playlist instanceof AbsSmartPlaylist) {
return ((AbsSmartPlaylist) playlist).iconRes;
}
return playlist.id == favoritePlaylistId ? R.drawable.ic_favorite_white_24dp : R.drawable.ic_queue_music_white_24dp;
return MusicUtil.isFavoritePlaylist(activity, playlist) ? R.drawable.ic_favorite_white_24dp : R.drawable.ic_queue_music_white_24dp;
}
@Override

View file

@ -40,7 +40,7 @@ public class AlbumAdapter extends AbsMultiSelectAdapter<AlbumAdapter.ViewHolder,
public static final String TAG = AlbumAdapter.class.getSimpleName();
protected final AppCompatActivity activity;
protected List<Album> dataSet;
protected ArrayList<Album> dataSet;
protected int itemLayoutRes;
@ -61,11 +61,15 @@ public class AlbumAdapter extends AbsMultiSelectAdapter<AlbumAdapter.ViewHolder,
notifyDataSetChanged();
}
public void swapDataSet(List<Album> dataSet) {
public void swapDataSet(ArrayList<Album> dataSet) {
this.dataSet = dataSet;
notifyDataSetChanged();
}
public ArrayList<Album> getDataSet() {
return dataSet;
}
@NonNull
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {

View file

@ -65,6 +65,10 @@ public class ArtistAdapter extends AbsMultiSelectAdapter<ArtistAdapter.ViewHolde
notifyDataSetChanged();
}
public ArrayList<Artist> getDataSet() {
return dataSet;
}
public void usePalette(boolean usePalette) {
this.usePalette = usePalette;
notifyDataSetChanged();