Massive adapter clean up. Lots of stuff unfinished there yet. Don't mess around with it yet.
This commit is contained in:
parent
98dcdf2d47
commit
0650df6250
35 changed files with 847 additions and 1438 deletions
|
|
@ -38,7 +38,6 @@ import com.kabouzeid.gramophone.loader.AlbumSongLoader;
|
|||
import com.kabouzeid.gramophone.misc.SmallObservableScrollViewCallbacks;
|
||||
import com.kabouzeid.gramophone.misc.SmallTransitionListener;
|
||||
import com.kabouzeid.gramophone.model.Album;
|
||||
import com.kabouzeid.gramophone.model.DataBaseChangedEvent;
|
||||
import com.kabouzeid.gramophone.model.Song;
|
||||
import com.kabouzeid.gramophone.model.UIPreferenceChangedEvent;
|
||||
import com.kabouzeid.gramophone.ui.activities.base.AbsFabActivity;
|
||||
|
|
@ -325,7 +324,7 @@ public class AlbumDetailActivity extends AbsFabActivity implements PaletteColorH
|
|||
|
||||
private void setUpSongsAdapter() {
|
||||
songs = AlbumSongLoader.getAlbumSongList(this, album.id);
|
||||
adapter = new AlbumSongAdapter(this, songs, this);
|
||||
adapter = new AlbumSongAdapter(this, songs, R.layout.item_list, this);
|
||||
recyclerView.setLayoutManager(new GridLayoutManager(this, 1));
|
||||
recyclerView.setAdapter(adapter);
|
||||
}
|
||||
|
|
@ -394,19 +393,6 @@ public class AlbumDetailActivity extends AbsFabActivity implements PaletteColorH
|
|||
}
|
||||
}
|
||||
|
||||
@Subscribe
|
||||
public void onDataBaseEvent(@NonNull DataBaseChangedEvent event) {
|
||||
switch (event.getAction()) {
|
||||
case DataBaseChangedEvent.SONGS_CHANGED:
|
||||
case DataBaseChangedEvent.ALBUMS_CHANGED:
|
||||
case DataBaseChangedEvent.DATABASE_CHANGED:
|
||||
songs = AlbumSongLoader.getAlbumSongList(this, album.id);
|
||||
adapter.updateDataSet(songs);
|
||||
if (songs.size() < 1) finish();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@Subscribe
|
||||
public void onUIPreferenceChanged(@NonNull UIPreferenceChangedEvent event) {
|
||||
switch (event.getAction()) {
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ import com.afollestad.materialdialogs.util.DialogUtils;
|
|||
import com.github.ksoichiro.android.observablescrollview.ObservableListView;
|
||||
import com.kabouzeid.gramophone.App;
|
||||
import com.kabouzeid.gramophone.R;
|
||||
import com.kabouzeid.gramophone.adapter.ArtistAlbumAdapter;
|
||||
import com.kabouzeid.gramophone.adapter.album.HorizontalAlbumAdapter;
|
||||
import com.kabouzeid.gramophone.adapter.song.ArtistSongAdapter;
|
||||
import com.kabouzeid.gramophone.dialogs.SleepTimerDialog;
|
||||
import com.kabouzeid.gramophone.helper.MusicPlayerRemote;
|
||||
|
|
@ -51,7 +51,6 @@ import com.kabouzeid.gramophone.misc.SmallObservableScrollViewCallbacks;
|
|||
import com.kabouzeid.gramophone.misc.SmallTransitionListener;
|
||||
import com.kabouzeid.gramophone.model.Album;
|
||||
import com.kabouzeid.gramophone.model.Artist;
|
||||
import com.kabouzeid.gramophone.model.DataBaseChangedEvent;
|
||||
import com.kabouzeid.gramophone.model.Song;
|
||||
import com.kabouzeid.gramophone.model.UIPreferenceChangedEvent;
|
||||
import com.kabouzeid.gramophone.ui.activities.base.AbsFabActivity;
|
||||
|
|
@ -116,7 +115,7 @@ public class ArtistDetailActivity extends AbsFabActivity implements PaletteColor
|
|||
private Artist artist;
|
||||
@Nullable
|
||||
private Spanned biography;
|
||||
private ArtistAlbumAdapter albumAdapter;
|
||||
private HorizontalAlbumAdapter albumAdapter;
|
||||
private ArtistSongAdapter songAdapter;
|
||||
private ArrayList<Song> songs;
|
||||
private ArrayList<Album> albums;
|
||||
|
|
@ -278,7 +277,7 @@ public class ArtistDetailActivity extends AbsFabActivity implements PaletteColor
|
|||
private void setUpAlbumRecyclerView() {
|
||||
albumRecyclerView.setLayoutManager(new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false));
|
||||
albums = ArtistAlbumLoader.getArtistAlbumList(this, artist.id);
|
||||
albumAdapter = new ArtistAlbumAdapter(this, albums, this);
|
||||
albumAdapter = new HorizontalAlbumAdapter(this, albums, this);
|
||||
albumRecyclerView.setAdapter(albumAdapter);
|
||||
}
|
||||
|
||||
|
|
@ -551,22 +550,6 @@ public class ArtistDetailActivity extends AbsFabActivity implements PaletteColor
|
|||
});
|
||||
}
|
||||
|
||||
@Subscribe
|
||||
public void onDataBaseEvent(@NonNull DataBaseChangedEvent event) {
|
||||
switch (event.getAction()) {
|
||||
case DataBaseChangedEvent.SONGS_CHANGED:
|
||||
case DataBaseChangedEvent.ALBUMS_CHANGED:
|
||||
case DataBaseChangedEvent.ARTISTS_CHANGED:
|
||||
case DataBaseChangedEvent.DATABASE_CHANGED:
|
||||
songs = ArtistSongLoader.getArtistSongList(this, artist.id);
|
||||
songAdapter.updateDataSet(songs);
|
||||
albums = ArtistAlbumLoader.getArtistAlbumList(this, artist.id);
|
||||
albumAdapter.updateDataSet(albums);
|
||||
if (songs.size() < 1) finish();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@Subscribe
|
||||
public void onUIPreferenceChanged(@NonNull UIPreferenceChangedEvent event) {
|
||||
switch (event.getAction()) {
|
||||
|
|
|
|||
|
|
@ -13,19 +13,21 @@ import android.widget.TextView;
|
|||
import com.afollestad.materialcab.MaterialCab;
|
||||
import com.kabouzeid.gramophone.App;
|
||||
import com.kabouzeid.gramophone.R;
|
||||
import com.kabouzeid.gramophone.adapter.song.AbsPlaylistSongAdapter;
|
||||
import com.kabouzeid.gramophone.adapter.song.PlaylistSongAdapter;
|
||||
import com.kabouzeid.gramophone.adapter.song.SmartPlaylistSongAdapter;
|
||||
import com.kabouzeid.gramophone.adapter.song.SongAdapter;
|
||||
import com.kabouzeid.gramophone.dialogs.SleepTimerDialog;
|
||||
import com.kabouzeid.gramophone.helper.MusicPlayerRemote;
|
||||
import com.kabouzeid.gramophone.interfaces.CabHolder;
|
||||
import com.kabouzeid.gramophone.loader.PlaylistSongLoader;
|
||||
import com.kabouzeid.gramophone.misc.DragSortRecycler;
|
||||
import com.kabouzeid.gramophone.model.DataBaseChangedEvent;
|
||||
import com.kabouzeid.gramophone.model.Playlist;
|
||||
import com.kabouzeid.gramophone.model.Song;
|
||||
import com.kabouzeid.gramophone.model.smartplaylist.AbsSmartPlaylist;
|
||||
import com.kabouzeid.gramophone.ui.activities.base.AbsFabActivity;
|
||||
import com.kabouzeid.gramophone.util.NavigationUtil;
|
||||
import com.kabouzeid.gramophone.util.PlaylistsUtil;
|
||||
import com.kabouzeid.gramophone.util.PreferenceUtil;
|
||||
import com.squareup.otto.Subscribe;
|
||||
|
||||
import butterknife.ButterKnife;
|
||||
import butterknife.InjectView;
|
||||
|
|
@ -46,7 +48,7 @@ public class PlaylistDetailActivity extends AbsFabActivity implements CabHolder
|
|||
|
||||
private Playlist playlist;
|
||||
private MaterialCab cab;
|
||||
private AbsPlaylistSongAdapter adapter;
|
||||
private SongAdapter adapter;
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
|
|
@ -72,16 +74,22 @@ public class PlaylistDetailActivity extends AbsFabActivity implements CabHolder
|
|||
private void setUpRecyclerView() {
|
||||
recyclerView.setLayoutManager(new GridLayoutManager(this, 1));
|
||||
if (playlist instanceof AbsSmartPlaylist) {
|
||||
adapter = ((AbsSmartPlaylist) playlist).createAdapter(this, this);
|
||||
adapter = new SmartPlaylistSongAdapter(this, ((AbsSmartPlaylist) playlist).getSongs(this), R.layout.item_list, this);
|
||||
} else {
|
||||
adapter = new PlaylistSongAdapter(this, playlist, this);
|
||||
adapter = new PlaylistSongAdapter(this, PlaylistSongLoader.getPlaylistSongList(this, playlist.id), R.layout.item_list, this);
|
||||
|
||||
DragSortRecycler dragSortRecycler = new DragSortRecycler();
|
||||
dragSortRecycler.setViewHandleId(R.id.image);
|
||||
dragSortRecycler.setOnItemMovedListener(new DragSortRecycler.OnItemMovedListener() {
|
||||
@Override
|
||||
public void onItemMoved(int from, int to) {
|
||||
((PlaylistSongAdapter) adapter).moveItem(from, to);
|
||||
if (from == to) return;
|
||||
|
||||
if (PlaylistsUtil.moveItem(PlaylistDetailActivity.this, playlist.id, from, to)) {
|
||||
Song song = adapter.getDataSet().remove(from);
|
||||
adapter.getDataSet().add(to, song);
|
||||
adapter.notifyItemMoved(from, to);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
|
@ -133,7 +141,6 @@ public class PlaylistDetailActivity extends AbsFabActivity implements CabHolder
|
|||
new SleepTimerDialog().show(getSupportFragmentManager(), "SET_SLEEP_TIMER");
|
||||
return true;
|
||||
case R.id.action_shuffle_playlist:
|
||||
//noinspection unchecked
|
||||
MusicPlayerRemote.openAndShuffleQueue(this, adapter.getDataSet(), true);
|
||||
return true;
|
||||
case R.id.action_equalizer:
|
||||
|
|
@ -169,17 +176,6 @@ public class PlaylistDetailActivity extends AbsFabActivity implements CabHolder
|
|||
App.bus.unregister(this);
|
||||
}
|
||||
|
||||
@Subscribe
|
||||
public void onDataBaseEvent(@NonNull DataBaseChangedEvent event) {
|
||||
switch (event.getAction()) {
|
||||
case DataBaseChangedEvent.PLAYLISTS_CHANGED:
|
||||
case DataBaseChangedEvent.DATABASE_CHANGED:
|
||||
adapter.updateDataSet();
|
||||
checkIsEmpty();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBackPressed() {
|
||||
if (cab != null && cab.isActive()) cab.finish();
|
||||
|
|
|
|||
|
|
@ -5,7 +5,8 @@ import android.support.v7.widget.GridLayoutManager;
|
|||
import android.support.v7.widget.RecyclerView;
|
||||
|
||||
import com.kabouzeid.gramophone.R;
|
||||
import com.kabouzeid.gramophone.adapter.AlbumAdapter;
|
||||
import com.kabouzeid.gramophone.adapter.album.AlbumAdapter;
|
||||
import com.kabouzeid.gramophone.loader.AlbumLoader;
|
||||
import com.kabouzeid.gramophone.util.PreferenceUtil;
|
||||
import com.kabouzeid.gramophone.util.Util;
|
||||
|
||||
|
|
@ -27,7 +28,7 @@ public class AlbumViewFragment extends AbsMainActivityRecyclerViewFragment {
|
|||
@NonNull
|
||||
@Override
|
||||
protected RecyclerView.Adapter createAdapter() {
|
||||
return new AlbumAdapter(getMainActivity(), getMainActivity());
|
||||
return new AlbumAdapter(getMainActivity(), AlbumLoader.getAllAlbums(getActivity()), R.layout.item_grid, getMainActivity());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -5,7 +5,8 @@ import android.support.v7.widget.GridLayoutManager;
|
|||
import android.support.v7.widget.RecyclerView;
|
||||
|
||||
import com.kabouzeid.gramophone.R;
|
||||
import com.kabouzeid.gramophone.adapter.artist.ArtistListAdapter;
|
||||
import com.kabouzeid.gramophone.adapter.artist.ArtistAdapter;
|
||||
import com.kabouzeid.gramophone.loader.ArtistLoader;
|
||||
|
||||
/**
|
||||
* @author Karim Abou Zeid (kabouzeid)
|
||||
|
|
@ -17,13 +18,17 @@ public class ArtistViewFragment extends AbsMainActivityRecyclerViewFragment {
|
|||
@NonNull
|
||||
@Override
|
||||
protected RecyclerView.LayoutManager createLayoutManager() {
|
||||
return new GridLayoutManager(getActivity(), 1);
|
||||
return new GridLayoutManager(getActivity(), 2);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
protected RecyclerView.Adapter createAdapter() {
|
||||
return new ArtistListAdapter(getMainActivity(), getMainActivity());
|
||||
return new ArtistAdapter(
|
||||
getMainActivity(),
|
||||
ArtistLoader.getAllArtists(getActivity()),
|
||||
R.layout.item_grid,
|
||||
getMainActivity());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -6,6 +6,13 @@ import android.support.v7.widget.RecyclerView;
|
|||
|
||||
import com.kabouzeid.gramophone.R;
|
||||
import com.kabouzeid.gramophone.adapter.PlaylistAdapter;
|
||||
import com.kabouzeid.gramophone.loader.PlaylistLoader;
|
||||
import com.kabouzeid.gramophone.model.Playlist;
|
||||
import com.kabouzeid.gramophone.model.smartplaylist.LastAddedPlaylist;
|
||||
import com.kabouzeid.gramophone.model.smartplaylist.MyTopTracksPlaylist;
|
||||
import com.kabouzeid.gramophone.model.smartplaylist.RecentlyPlayedPlaylist;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
/**
|
||||
* @author Karim Abou Zeid (kabouzeid)
|
||||
|
|
@ -23,7 +30,15 @@ public class PlaylistViewFragment extends AbsMainActivityRecyclerViewFragment {
|
|||
@NonNull
|
||||
@Override
|
||||
protected RecyclerView.Adapter createAdapter() {
|
||||
return new PlaylistAdapter(getMainActivity(), getMainActivity());
|
||||
ArrayList<Playlist> playlists = new ArrayList<>();
|
||||
|
||||
playlists.add(new LastAddedPlaylist(getActivity()));
|
||||
playlists.add(new RecentlyPlayedPlaylist(getActivity()));
|
||||
playlists.add(new MyTopTracksPlaylist(getActivity()));
|
||||
|
||||
playlists.addAll(PlaylistLoader.getAllPlaylists(getActivity()));
|
||||
|
||||
return new PlaylistAdapter(getMainActivity(), playlists, R.layout.item_list_single_row, getMainActivity());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ import android.support.v7.widget.RecyclerView;
|
|||
|
||||
import com.kabouzeid.gramophone.R;
|
||||
import com.kabouzeid.gramophone.adapter.song.SongAdapter;
|
||||
import com.kabouzeid.gramophone.loader.SongLoader;
|
||||
|
||||
/**
|
||||
* @author Karim Abou Zeid (kabouzeid)
|
||||
|
|
@ -23,7 +24,7 @@ public class SongViewFragment extends AbsMainActivityRecyclerViewFragment {
|
|||
@NonNull
|
||||
@Override
|
||||
protected RecyclerView.Adapter createAdapter() {
|
||||
return new SongAdapter(getMainActivity(), getMainActivity());
|
||||
return new SongAdapter(getMainActivity(), SongLoader.getAllSongs(getActivity()), R.layout.item_list, getMainActivity());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue