View as function now working in all fragments. (Except playlist fragment because it makes no sense there.)
This commit is contained in:
parent
5c513115e7
commit
cee223cdbb
11 changed files with 203 additions and 30 deletions
|
|
@ -67,10 +67,6 @@ public class AlbumAdapter extends AbsMultiSelectAdapter<AlbumAdapter.ViewHolder,
|
||||||
notifyDataSetChanged();
|
notifyDataSetChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<Album> getDataSet() {
|
|
||||||
return dataSet;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void swapDataSet(List<Album> dataSet) {
|
public void swapDataSet(List<Album> dataSet) {
|
||||||
this.dataSet = dataSet;
|
this.dataSet = dataSet;
|
||||||
notifyDataSetChanged();
|
notifyDataSetChanged();
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
package com.kabouzeid.gramophone.adapter.artist;
|
package com.kabouzeid.gramophone.adapter.artist;
|
||||||
|
|
||||||
|
import android.graphics.Bitmap;
|
||||||
import android.support.annotation.LayoutRes;
|
import android.support.annotation.LayoutRes;
|
||||||
import android.support.annotation.NonNull;
|
import android.support.annotation.NonNull;
|
||||||
import android.support.annotation.Nullable;
|
import android.support.annotation.Nullable;
|
||||||
|
|
@ -21,10 +22,17 @@ import com.kabouzeid.gramophone.loader.ArtistSongLoader;
|
||||||
import com.kabouzeid.gramophone.model.Artist;
|
import com.kabouzeid.gramophone.model.Artist;
|
||||||
import com.kabouzeid.gramophone.model.Song;
|
import com.kabouzeid.gramophone.model.Song;
|
||||||
import com.kabouzeid.gramophone.ui.activities.base.AbsSlidingMusicPanelActivity;
|
import com.kabouzeid.gramophone.ui.activities.base.AbsSlidingMusicPanelActivity;
|
||||||
|
import com.kabouzeid.gramophone.util.ColorUtil;
|
||||||
import com.kabouzeid.gramophone.util.MusicUtil;
|
import com.kabouzeid.gramophone.util.MusicUtil;
|
||||||
import com.kabouzeid.gramophone.util.NavigationUtil;
|
import com.kabouzeid.gramophone.util.NavigationUtil;
|
||||||
import com.nostra13.universalimageloader.core.DisplayImageOptions;
|
import com.nostra13.universalimageloader.core.DisplayImageOptions;
|
||||||
import com.nostra13.universalimageloader.core.ImageLoader;
|
import com.nostra13.universalimageloader.core.ImageLoader;
|
||||||
|
import com.nostra13.universalimageloader.core.assist.FailReason;
|
||||||
|
import com.nostra13.universalimageloader.core.assist.LoadedFrom;
|
||||||
|
import com.nostra13.universalimageloader.core.display.FadeInBitmapDisplayer;
|
||||||
|
import com.nostra13.universalimageloader.core.imageaware.ImageAware;
|
||||||
|
import com.nostra13.universalimageloader.core.listener.SimpleImageLoadingListener;
|
||||||
|
import com.nostra13.universalimageloader.core.process.BitmapProcessor;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
@ -33,27 +41,34 @@ import java.util.List;
|
||||||
* @author Karim Abou Zeid (kabouzeid)
|
* @author Karim Abou Zeid (kabouzeid)
|
||||||
*/
|
*/
|
||||||
public class ArtistAdapter extends AbsMultiSelectAdapter<ArtistAdapter.ViewHolder, Artist> {
|
public class ArtistAdapter extends AbsMultiSelectAdapter<ArtistAdapter.ViewHolder, Artist> {
|
||||||
|
private static final int FADE_IN_TIME = 500;
|
||||||
|
|
||||||
protected final AppCompatActivity activity;
|
protected final AppCompatActivity activity;
|
||||||
protected ArrayList<Artist> dataSet;
|
protected ArrayList<Artist> dataSet;
|
||||||
|
|
||||||
protected int itemLayoutRes;
|
protected int itemLayoutRes;
|
||||||
|
|
||||||
public ArtistAdapter(@NonNull AppCompatActivity activity, ArrayList<Artist> dataSet, @LayoutRes int itemLayoutRes, @Nullable CabHolder cabHolder) {
|
protected boolean usePalette = false;
|
||||||
|
|
||||||
|
public ArtistAdapter(@NonNull AppCompatActivity activity, ArrayList<Artist> dataSet, @LayoutRes int itemLayoutRes, boolean usePalette, @Nullable CabHolder cabHolder) {
|
||||||
super(activity, cabHolder, R.menu.menu_media_selection);
|
super(activity, cabHolder, R.menu.menu_media_selection);
|
||||||
this.activity = activity;
|
this.activity = activity;
|
||||||
this.dataSet = dataSet;
|
this.dataSet = dataSet;
|
||||||
this.itemLayoutRes = itemLayoutRes;
|
this.itemLayoutRes = itemLayoutRes;
|
||||||
|
this.usePalette = usePalette;
|
||||||
setHasStableIds(true);
|
setHasStableIds(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
public ArrayList<Artist> getDataSet() {
|
|
||||||
return dataSet;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void swapDataSet(ArrayList<Artist> dataSet) {
|
public void swapDataSet(ArrayList<Artist> dataSet) {
|
||||||
this.dataSet = dataSet;
|
this.dataSet = dataSet;
|
||||||
notifyDataSetChanged();
|
notifyDataSetChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void usePalette(boolean usePalette) {
|
||||||
|
this.usePalette = usePalette;
|
||||||
|
notifyDataSetChanged();
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public long getItemId(int position) {
|
public long getItemId(int position) {
|
||||||
return dataSet.get(position).id;
|
return dataSet.get(position).id;
|
||||||
|
|
@ -73,6 +88,15 @@ public class ArtistAdapter extends AbsMultiSelectAdapter<ArtistAdapter.ViewHolde
|
||||||
public void onBindViewHolder(@NonNull final ViewHolder holder, int position) {
|
public void onBindViewHolder(@NonNull final ViewHolder holder, int position) {
|
||||||
final Artist artist = dataSet.get(position);
|
final Artist artist = dataSet.get(position);
|
||||||
|
|
||||||
|
final int defaultBarColor = ColorUtil.resolveColor(activity, R.attr.default_bar_color);
|
||||||
|
setColors(defaultBarColor, holder);
|
||||||
|
|
||||||
|
boolean isChecked = isChecked(artist);
|
||||||
|
holder.itemView.setActivated(isChecked);
|
||||||
|
if (holder.selectedIndicator != null) {
|
||||||
|
holder.selectedIndicator.setVisibility(isChecked ? View.VISIBLE : View.GONE);
|
||||||
|
}
|
||||||
|
|
||||||
if (holder.title != null) {
|
if (holder.title != null) {
|
||||||
holder.title.setText(artist.name);
|
holder.title.setText(artist.name);
|
||||||
}
|
}
|
||||||
|
|
@ -92,10 +116,51 @@ public class ArtistAdapter extends AbsMultiSelectAdapter<ArtistAdapter.ViewHolde
|
||||||
.cacheOnDisk(true)
|
.cacheOnDisk(true)
|
||||||
.resetViewBeforeLoading(true)
|
.resetViewBeforeLoading(true)
|
||||||
.showImageOnFail(R.drawable.default_artist_image)
|
.showImageOnFail(R.drawable.default_artist_image)
|
||||||
.build()
|
.postProcessor(new BitmapProcessor() {
|
||||||
|
@Override
|
||||||
|
public Bitmap process(Bitmap bitmap) {
|
||||||
|
holder.paletteColor = ColorUtil.generateColor(activity, bitmap);
|
||||||
|
return bitmap;
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.displayer(new FadeInBitmapDisplayer(FADE_IN_TIME) {
|
||||||
|
@Override
|
||||||
|
public void display(Bitmap bitmap, ImageAware imageAware, LoadedFrom loadedFrom) {
|
||||||
|
boolean loadedFromMemoryCache = loadedFrom == LoadedFrom.MEMORY_CACHE;
|
||||||
|
if (loadedFromMemoryCache) {
|
||||||
|
imageAware.setImageBitmap(bitmap);
|
||||||
|
} else {
|
||||||
|
super.display(bitmap, imageAware, loadedFrom);
|
||||||
|
}
|
||||||
|
if (usePalette)
|
||||||
|
setColors(holder.paletteColor, holder);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.build(),
|
||||||
|
new SimpleImageLoadingListener() {
|
||||||
|
@Override
|
||||||
|
public void onLoadingFailed(String imageUri, View view, FailReason failReason) {
|
||||||
|
FadeInBitmapDisplayer.animate(view, FADE_IN_TIME);
|
||||||
|
if (usePalette)
|
||||||
|
setColors(defaultBarColor, holder);
|
||||||
|
}
|
||||||
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void setColors(int color, ViewHolder holder) {
|
||||||
|
if (holder.paletteColorContainer != null) {
|
||||||
|
holder.paletteColorContainer.setBackgroundColor(color);
|
||||||
|
int textColor = ColorUtil.getTextColorForBackground(color);
|
||||||
|
if (holder.title != null) {
|
||||||
|
holder.title.setTextColor(textColor);
|
||||||
|
}
|
||||||
|
if (holder.text != null) {
|
||||||
|
holder.text.setTextColor(textColor);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getItemCount() {
|
public int getItemCount() {
|
||||||
return dataSet.size();
|
return dataSet.size();
|
||||||
|
|
|
||||||
|
|
@ -19,8 +19,8 @@ public class AlbumSongAdapter extends SongAdapter {
|
||||||
|
|
||||||
public static final String TAG = AlbumSongAdapter.class.getSimpleName();
|
public static final String TAG = AlbumSongAdapter.class.getSimpleName();
|
||||||
|
|
||||||
public AlbumSongAdapter(AppCompatActivity activity, ArrayList<Song> dataSet, @LayoutRes int itemLayoutRes, @Nullable CabHolder cabHolder) {
|
public AlbumSongAdapter(AppCompatActivity activity, ArrayList<Song> dataSet, @LayoutRes int itemLayoutRes, boolean usePalette, @Nullable CabHolder cabHolder) {
|
||||||
super(activity, dataSet, itemLayoutRes, cabHolder);
|
super(activity, dataSet, itemLayoutRes, usePalette, cabHolder);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
||||||
|
|
@ -25,8 +25,8 @@ public class PlaylistSongAdapter extends SongAdapter {
|
||||||
|
|
||||||
public static final String TAG = PlaylistSongAdapter.class.getSimpleName();
|
public static final String TAG = PlaylistSongAdapter.class.getSimpleName();
|
||||||
|
|
||||||
public PlaylistSongAdapter(@NonNull AppCompatActivity activity, @NonNull ArrayList<PlaylistSong> dataSet, @LayoutRes int itemLayoutRes, @Nullable CabHolder cabHolder) {
|
public PlaylistSongAdapter(@NonNull AppCompatActivity activity, @NonNull ArrayList<PlaylistSong> dataSet, @LayoutRes int itemLayoutRes, boolean usePalette, @Nullable CabHolder cabHolder) {
|
||||||
super(activity, (ArrayList<Song>) (List) dataSet, itemLayoutRes, cabHolder);
|
super(activity, (ArrayList<Song>) (List) dataSet, itemLayoutRes, usePalette, cabHolder);
|
||||||
overrideMultiSelectMenuRes(R.menu.menu_playlists_songs_selection);
|
overrideMultiSelectMenuRes(R.menu.menu_playlists_songs_selection);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -28,8 +28,8 @@ public class SmartPlaylistSongAdapter extends SongAdapter {
|
||||||
return dataSet.get(position).id;
|
return dataSet.get(position).id;
|
||||||
}
|
}
|
||||||
|
|
||||||
public SmartPlaylistSongAdapter(AppCompatActivity activity, @NonNull ArrayList<Song> dataSet, @LayoutRes int itemLayoutRes, @Nullable CabHolder cabHolder) {
|
public SmartPlaylistSongAdapter(AppCompatActivity activity, @NonNull ArrayList<Song> dataSet, @LayoutRes int itemLayoutRes, boolean usePalette, @Nullable CabHolder cabHolder) {
|
||||||
super(activity, dataSet, itemLayoutRes, cabHolder);
|
super(activity, dataSet, itemLayoutRes, usePalette, cabHolder);
|
||||||
overrideMultiSelectMenuRes(R.menu.menu_cannot_delete_single_songs_playlist_songs_selection);
|
overrideMultiSelectMenuRes(R.menu.menu_cannot_delete_single_songs_playlist_songs_selection);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
package com.kabouzeid.gramophone.adapter.song;
|
package com.kabouzeid.gramophone.adapter.song;
|
||||||
|
|
||||||
|
import android.graphics.Bitmap;
|
||||||
import android.support.annotation.LayoutRes;
|
import android.support.annotation.LayoutRes;
|
||||||
import android.support.annotation.NonNull;
|
import android.support.annotation.NonNull;
|
||||||
import android.support.annotation.Nullable;
|
import android.support.annotation.Nullable;
|
||||||
|
|
@ -21,11 +22,17 @@ import com.kabouzeid.gramophone.helper.menu.SongMenuHelper;
|
||||||
import com.kabouzeid.gramophone.interfaces.CabHolder;
|
import com.kabouzeid.gramophone.interfaces.CabHolder;
|
||||||
import com.kabouzeid.gramophone.model.Song;
|
import com.kabouzeid.gramophone.model.Song;
|
||||||
import com.kabouzeid.gramophone.ui.activities.base.AbsSlidingMusicPanelActivity;
|
import com.kabouzeid.gramophone.ui.activities.base.AbsSlidingMusicPanelActivity;
|
||||||
|
import com.kabouzeid.gramophone.util.ColorUtil;
|
||||||
import com.kabouzeid.gramophone.util.MusicUtil;
|
import com.kabouzeid.gramophone.util.MusicUtil;
|
||||||
import com.kabouzeid.gramophone.util.NavigationUtil;
|
import com.kabouzeid.gramophone.util.NavigationUtil;
|
||||||
import com.nostra13.universalimageloader.core.DisplayImageOptions;
|
import com.nostra13.universalimageloader.core.DisplayImageOptions;
|
||||||
import com.nostra13.universalimageloader.core.ImageLoader;
|
import com.nostra13.universalimageloader.core.ImageLoader;
|
||||||
|
import com.nostra13.universalimageloader.core.assist.FailReason;
|
||||||
|
import com.nostra13.universalimageloader.core.assist.LoadedFrom;
|
||||||
import com.nostra13.universalimageloader.core.display.FadeInBitmapDisplayer;
|
import com.nostra13.universalimageloader.core.display.FadeInBitmapDisplayer;
|
||||||
|
import com.nostra13.universalimageloader.core.imageaware.ImageAware;
|
||||||
|
import com.nostra13.universalimageloader.core.listener.SimpleImageLoadingListener;
|
||||||
|
import com.nostra13.universalimageloader.core.process.BitmapProcessor;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
|
@ -42,11 +49,14 @@ public class SongAdapter extends AbsMultiSelectAdapter<SongAdapter.ViewHolder, S
|
||||||
|
|
||||||
protected int itemLayoutRes;
|
protected int itemLayoutRes;
|
||||||
|
|
||||||
public SongAdapter(AppCompatActivity activity, ArrayList<Song> dataSet, @LayoutRes int itemLayoutRes, @Nullable CabHolder cabHolder) {
|
protected boolean usePalette = false;
|
||||||
|
|
||||||
|
public SongAdapter(AppCompatActivity activity, ArrayList<Song> dataSet, @LayoutRes int itemLayoutRes, boolean usePalette, @Nullable CabHolder cabHolder) {
|
||||||
super(activity, cabHolder, R.menu.menu_media_selection);
|
super(activity, cabHolder, R.menu.menu_media_selection);
|
||||||
this.activity = activity;
|
this.activity = activity;
|
||||||
this.dataSet = dataSet;
|
this.dataSet = dataSet;
|
||||||
this.itemLayoutRes = itemLayoutRes;
|
this.itemLayoutRes = itemLayoutRes;
|
||||||
|
this.usePalette = usePalette;
|
||||||
setHasStableIds(true);
|
setHasStableIds(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -55,6 +65,11 @@ public class SongAdapter extends AbsMultiSelectAdapter<SongAdapter.ViewHolder, S
|
||||||
notifyDataSetChanged();
|
notifyDataSetChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void usePalette(boolean usePalette) {
|
||||||
|
this.usePalette = usePalette;
|
||||||
|
notifyDataSetChanged();
|
||||||
|
}
|
||||||
|
|
||||||
public ArrayList<Song> getDataSet() {
|
public ArrayList<Song> getDataSet() {
|
||||||
return dataSet;
|
return dataSet;
|
||||||
}
|
}
|
||||||
|
|
@ -79,6 +94,15 @@ public class SongAdapter extends AbsMultiSelectAdapter<SongAdapter.ViewHolder, S
|
||||||
public void onBindViewHolder(@NonNull final ViewHolder holder, int position) {
|
public void onBindViewHolder(@NonNull final ViewHolder holder, int position) {
|
||||||
final Song song = dataSet.get(position);
|
final Song song = dataSet.get(position);
|
||||||
|
|
||||||
|
final int defaultBarColor = ColorUtil.resolveColor(activity, R.attr.default_bar_color);
|
||||||
|
setColors(defaultBarColor, holder);
|
||||||
|
|
||||||
|
boolean isChecked = isChecked(song);
|
||||||
|
holder.itemView.setActivated(isChecked);
|
||||||
|
if (holder.selectedIndicator != null) {
|
||||||
|
holder.selectedIndicator.setVisibility(isChecked ? View.VISIBLE : View.GONE);
|
||||||
|
}
|
||||||
|
|
||||||
if (holder.title != null) {
|
if (holder.title != null) {
|
||||||
holder.title.setText(getSongTitle(song));
|
holder.title.setText(getSongTitle(song));
|
||||||
}
|
}
|
||||||
|
|
@ -93,12 +117,50 @@ public class SongAdapter extends AbsMultiSelectAdapter<SongAdapter.ViewHolder, S
|
||||||
.cacheInMemory(true)
|
.cacheInMemory(true)
|
||||||
.showImageOnFail(R.drawable.default_album_art)
|
.showImageOnFail(R.drawable.default_album_art)
|
||||||
.resetViewBeforeLoading(true)
|
.resetViewBeforeLoading(true)
|
||||||
.displayer(new FadeInBitmapDisplayer(FADE_IN_TIME, true, true, false))
|
.postProcessor(new BitmapProcessor() {
|
||||||
.build()
|
@Override
|
||||||
|
public Bitmap process(Bitmap bitmap) {
|
||||||
|
holder.paletteColor = ColorUtil.generateColor(activity, bitmap);
|
||||||
|
return bitmap;
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.displayer(new FadeInBitmapDisplayer(FADE_IN_TIME) {
|
||||||
|
@Override
|
||||||
|
public void display(Bitmap bitmap, ImageAware imageAware, LoadedFrom loadedFrom) {
|
||||||
|
boolean loadedFromMemoryCache = loadedFrom == LoadedFrom.MEMORY_CACHE;
|
||||||
|
if (loadedFromMemoryCache) {
|
||||||
|
imageAware.setImageBitmap(bitmap);
|
||||||
|
} else {
|
||||||
|
super.display(bitmap, imageAware, loadedFrom);
|
||||||
|
}
|
||||||
|
if (usePalette)
|
||||||
|
setColors(holder.paletteColor, holder);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.build(),
|
||||||
|
new SimpleImageLoadingListener() {
|
||||||
|
@Override
|
||||||
|
public void onLoadingFailed(String imageUri, View view, FailReason failReason) {
|
||||||
|
FadeInBitmapDisplayer.animate(view, FADE_IN_TIME);
|
||||||
|
if (usePalette)
|
||||||
|
setColors(defaultBarColor, holder);
|
||||||
|
}
|
||||||
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
holder.itemView.setActivated(isChecked(song));
|
private void setColors(int color, ViewHolder holder) {
|
||||||
|
if (holder.paletteColorContainer != null) {
|
||||||
|
holder.paletteColorContainer.setBackgroundColor(color);
|
||||||
|
int textColor = ColorUtil.getTextColorForBackground(color);
|
||||||
|
if (holder.title != null) {
|
||||||
|
holder.title.setTextColor(textColor);
|
||||||
|
}
|
||||||
|
if (holder.text != null) {
|
||||||
|
holder.text.setTextColor(textColor);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
protected String getSongTitle(Song song) {
|
protected String getSongTitle(Song song) {
|
||||||
|
|
|
||||||
|
|
@ -294,7 +294,7 @@ public class AlbumDetailActivity extends AbsSlidingMusicPanelActivity implements
|
||||||
}
|
}
|
||||||
|
|
||||||
private void setUpSongsAdapter() {
|
private void setUpSongsAdapter() {
|
||||||
adapter = new AlbumSongAdapter(this, loadSongDataSet(), R.layout.item_list, this);
|
adapter = new AlbumSongAdapter(this, loadSongDataSet(), R.layout.item_list, false, this);
|
||||||
recyclerView.setLayoutManager(new GridLayoutManager(this, 1));
|
recyclerView.setLayoutManager(new GridLayoutManager(this, 1));
|
||||||
recyclerView.setAdapter(adapter);
|
recyclerView.setAdapter(adapter);
|
||||||
adapter.registerAdapterDataObserver(new RecyclerView.AdapterDataObserver() {
|
adapter.registerAdapterDataObserver(new RecyclerView.AdapterDataObserver() {
|
||||||
|
|
|
||||||
|
|
@ -75,9 +75,9 @@ public class PlaylistDetailActivity extends AbsSlidingMusicPanelActivity impleme
|
||||||
private void setUpRecyclerView() {
|
private void setUpRecyclerView() {
|
||||||
recyclerView.setLayoutManager(new GridLayoutManager(this, 1));
|
recyclerView.setLayoutManager(new GridLayoutManager(this, 1));
|
||||||
if (playlist instanceof AbsSmartPlaylist) {
|
if (playlist instanceof AbsSmartPlaylist) {
|
||||||
adapter = new SmartPlaylistSongAdapter(this, loadSmartPlaylistDataSet(), R.layout.item_list, this);
|
adapter = new SmartPlaylistSongAdapter(this, loadSmartPlaylistDataSet(), R.layout.item_list, false, this);
|
||||||
} else {
|
} else {
|
||||||
adapter = new PlaylistSongAdapter(this, loadPlaylistDataSet(), R.layout.item_list, this);
|
adapter = new PlaylistSongAdapter(this, loadPlaylistDataSet(), R.layout.item_list, false, this);
|
||||||
|
|
||||||
DragSortRecycler dragSortRecycler = new DragSortRecycler();
|
DragSortRecycler dragSortRecycler = new DragSortRecycler();
|
||||||
dragSortRecycler.setViewHandleId(R.id.image);
|
dragSortRecycler.setViewHandleId(R.id.image);
|
||||||
|
|
|
||||||
|
|
@ -26,7 +26,7 @@ public class AlbumViewFragment extends AbsMainActivityRecyclerViewLayoutModeFrag
|
||||||
getMainActivity(),
|
getMainActivity(),
|
||||||
AlbumLoader.getAllAlbums(getActivity()),
|
AlbumLoader.getAllAlbums(getActivity()),
|
||||||
getItemLayout(),
|
getItemLayout(),
|
||||||
PreferenceUtil.getInstance(getActivity()).albumColoredFooters(),
|
loadUsePalette(),
|
||||||
getMainActivity());
|
getMainActivity());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,18 +6,19 @@ import android.support.v7.widget.GridLayoutManager;
|
||||||
import com.kabouzeid.gramophone.R;
|
import com.kabouzeid.gramophone.R;
|
||||||
import com.kabouzeid.gramophone.adapter.artist.ArtistAdapter;
|
import com.kabouzeid.gramophone.adapter.artist.ArtistAdapter;
|
||||||
import com.kabouzeid.gramophone.loader.ArtistLoader;
|
import com.kabouzeid.gramophone.loader.ArtistLoader;
|
||||||
|
import com.kabouzeid.gramophone.util.PreferenceUtil;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Karim Abou Zeid (kabouzeid)
|
* @author Karim Abou Zeid (kabouzeid)
|
||||||
*/
|
*/
|
||||||
public class ArtistViewFragment extends AbsMainActivityRecyclerViewFragment<ArtistAdapter, GridLayoutManager> {
|
public class ArtistViewFragment extends AbsMainActivityRecyclerViewLayoutModeFragment<ArtistAdapter, GridLayoutManager> {
|
||||||
|
|
||||||
public static final String TAG = ArtistViewFragment.class.getSimpleName();
|
public static final String TAG = ArtistViewFragment.class.getSimpleName();
|
||||||
|
|
||||||
@NonNull
|
@NonNull
|
||||||
@Override
|
@Override
|
||||||
protected GridLayoutManager createLayoutManager() {
|
protected GridLayoutManager createLayoutManager() {
|
||||||
return new GridLayoutManager(getActivity(), 2);
|
return new GridLayoutManager(getActivity(), getColumnNumber());
|
||||||
}
|
}
|
||||||
|
|
||||||
@NonNull
|
@NonNull
|
||||||
|
|
@ -26,7 +27,8 @@ public class ArtistViewFragment extends AbsMainActivityRecyclerViewFragment<Arti
|
||||||
return new ArtistAdapter(
|
return new ArtistAdapter(
|
||||||
getMainActivity(),
|
getMainActivity(),
|
||||||
ArtistLoader.getAllArtists(getActivity()),
|
ArtistLoader.getAllArtists(getActivity()),
|
||||||
R.layout.item_grid,
|
getItemLayout(),
|
||||||
|
loadUsePalette(),
|
||||||
getMainActivity());
|
getMainActivity());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -39,4 +41,25 @@ public class ArtistViewFragment extends AbsMainActivityRecyclerViewFragment<Arti
|
||||||
public void onMediaStoreChanged() {
|
public void onMediaStoreChanged() {
|
||||||
getAdapter().swapDataSet(ArtistLoader.getAllArtists(getActivity()));
|
getAdapter().swapDataSet(ArtistLoader.getAllArtists(getActivity()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected int loadLayoutMode() {
|
||||||
|
return PreferenceUtil.getInstance(getActivity()).getArtistLayoutMode();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void saveLayoutMode(int layoutMode) {
|
||||||
|
PreferenceUtil.getInstance(getActivity()).setArtistLayoutMode(layoutMode);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setUsePaletteAndSaveValue(boolean usePalette) {
|
||||||
|
getAdapter().usePalette(usePalette);
|
||||||
|
PreferenceUtil.getInstance(getActivity()).setArtistColoredFooters(usePalette);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean loadUsePalette() {
|
||||||
|
return PreferenceUtil.getInstance(getActivity()).artistColoredFooters();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -6,24 +6,30 @@ import android.support.v7.widget.GridLayoutManager;
|
||||||
import com.kabouzeid.gramophone.R;
|
import com.kabouzeid.gramophone.R;
|
||||||
import com.kabouzeid.gramophone.adapter.song.SongAdapter;
|
import com.kabouzeid.gramophone.adapter.song.SongAdapter;
|
||||||
import com.kabouzeid.gramophone.loader.SongLoader;
|
import com.kabouzeid.gramophone.loader.SongLoader;
|
||||||
|
import com.kabouzeid.gramophone.util.PreferenceUtil;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Karim Abou Zeid (kabouzeid)
|
* @author Karim Abou Zeid (kabouzeid)
|
||||||
*/
|
*/
|
||||||
public class SongViewFragment extends AbsMainActivityRecyclerViewFragment<SongAdapter, GridLayoutManager> {
|
public class SongViewFragment extends AbsMainActivityRecyclerViewLayoutModeFragment<SongAdapter, GridLayoutManager> {
|
||||||
|
|
||||||
public static final String TAG = SongViewFragment.class.getSimpleName();
|
public static final String TAG = SongViewFragment.class.getSimpleName();
|
||||||
|
|
||||||
@NonNull
|
@NonNull
|
||||||
@Override
|
@Override
|
||||||
protected GridLayoutManager createLayoutManager() {
|
protected GridLayoutManager createLayoutManager() {
|
||||||
return new GridLayoutManager(getActivity(), 1);
|
return new GridLayoutManager(getActivity(), getColumnNumber());
|
||||||
}
|
}
|
||||||
|
|
||||||
@NonNull
|
@NonNull
|
||||||
@Override
|
@Override
|
||||||
protected SongAdapter createAdapter() {
|
protected SongAdapter createAdapter() {
|
||||||
return new SongAdapter(getMainActivity(), SongLoader.getAllSongs(getActivity()), R.layout.item_list, getMainActivity());
|
return new SongAdapter(
|
||||||
|
getMainActivity(),
|
||||||
|
SongLoader.getAllSongs(getActivity()),
|
||||||
|
getItemLayout(),
|
||||||
|
loadUsePalette(),
|
||||||
|
getMainActivity());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
@ -35,4 +41,25 @@ public class SongViewFragment extends AbsMainActivityRecyclerViewFragment<SongAd
|
||||||
public void onMediaStoreChanged() {
|
public void onMediaStoreChanged() {
|
||||||
getAdapter().swapDataSet(SongLoader.getAllSongs(getActivity()));
|
getAdapter().swapDataSet(SongLoader.getAllSongs(getActivity()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected int loadLayoutMode() {
|
||||||
|
return PreferenceUtil.getInstance(getActivity()).getSongLayoutMode();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void saveLayoutMode(int layoutMode) {
|
||||||
|
PreferenceUtil.getInstance(getActivity()).setSongLayoutMode(layoutMode);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setUsePaletteAndSaveValue(boolean usePalette) {
|
||||||
|
getAdapter().usePalette(usePalette);
|
||||||
|
PreferenceUtil.getInstance(getActivity()).setSongColoredFooters(usePalette);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean loadUsePalette() {
|
||||||
|
return PreferenceUtil.getInstance(getActivity()).songColoredFooters();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue