Clean ups, new default album art cover and widget resize fix

This commit is contained in:
Karim Abou Zeid 2015-07-06 18:52:26 +02:00
commit 1cccaad0f4
30 changed files with 415 additions and 362 deletions

View file

@ -16,25 +16,27 @@ import java.util.ArrayList;
/**
* @author Karim Abou Zeid (kabouzeid)
*/
public abstract class SmartPlaylist extends Playlist {
public abstract class AbsSmartPlaylist extends Playlist {
private static final long serialVersionUID = 3013701295356403681L;
@DrawableRes
public final int iconRes;
public SmartPlaylist(final String name, final int iconRes) {
public AbsSmartPlaylist(final String name, final int iconRes) {
super(-1, name);
this.iconRes = iconRes;
}
public SmartPlaylist() {
public AbsSmartPlaylist() {
super();
this.iconRes = R.drawable.ic_queue_music_white_24dp;
}
public abstract ArrayList<Song> getSongs(Context context);
public SmartPlaylistSongAdapter createAdapter(AppCompatActivity activity, @Nullable CabHolder cabHolder) {
return new SmartPlaylistSongAdapter(activity, this, cabHolder);
}
public abstract SmartPlaylistSongAdapter createAdapter(AppCompatActivity activity, @Nullable CabHolder cabHolder);
public abstract ArrayList<Song> getSongs(Context context);
public abstract void clear(Context context);
@ -52,7 +54,7 @@ public abstract class SmartPlaylist extends Playlist {
if (getClass() != obj.getClass()) {
return false;
}
final SmartPlaylist other = (SmartPlaylist) obj;
final AbsSmartPlaylist other = (AbsSmartPlaylist) obj;
return iconRes == other.iconRes;
}
return false;

View file

@ -1,14 +1,9 @@
package com.kabouzeid.gramophone.model.smartplaylist;
import android.content.Context;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import com.kabouzeid.gramophone.App;
import com.kabouzeid.gramophone.R;
import com.kabouzeid.gramophone.adapter.songadapter.smartplaylist.CannotDeleteSingleSongsSongAdapter;
import com.kabouzeid.gramophone.adapter.songadapter.smartplaylist.SmartPlaylistSongAdapter;
import com.kabouzeid.gramophone.interfaces.CabHolder;
import com.kabouzeid.gramophone.loader.LastAddedLoader;
import com.kabouzeid.gramophone.model.DataBaseChangedEvent;
import com.kabouzeid.gramophone.model.Song;
@ -19,7 +14,7 @@ import java.util.ArrayList;
/**
* @author Karim Abou Zeid (kabouzeid)
*/
public class LastAddedPlaylist extends SmartPlaylist {
public class LastAddedPlaylist extends AbsSmartPlaylist {
public LastAddedPlaylist(Context context) {
super(context.getString(R.string.last_added), R.drawable.ic_queue_white_24dp);
@ -30,11 +25,6 @@ public class LastAddedPlaylist extends SmartPlaylist {
return LastAddedLoader.getLastAddedSongs(context);
}
@Override
public SmartPlaylistSongAdapter createAdapter(AppCompatActivity activity, @Nullable CabHolder cabHolder) {
return new CannotDeleteSingleSongsSongAdapter(activity, this, cabHolder);
}
@Override
public void clear(Context context) {
PreferenceUtils.getInstance(context).setLastAddedCutoffTimestamp(System.currentTimeMillis());

View file

@ -1,14 +1,9 @@
package com.kabouzeid.gramophone.model.smartplaylist;
import android.content.Context;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import com.kabouzeid.gramophone.App;
import com.kabouzeid.gramophone.R;
import com.kabouzeid.gramophone.adapter.songadapter.smartplaylist.CannotDeleteSingleSongsSongAdapter;
import com.kabouzeid.gramophone.adapter.songadapter.smartplaylist.SmartPlaylistSongAdapter;
import com.kabouzeid.gramophone.interfaces.CabHolder;
import com.kabouzeid.gramophone.loader.TopAndRecentlyPlayedTracksLoader;
import com.kabouzeid.gramophone.model.DataBaseChangedEvent;
import com.kabouzeid.gramophone.model.Song;
@ -19,7 +14,7 @@ import java.util.ArrayList;
/**
* @author Karim Abou Zeid (kabouzeid)
*/
public class MyTopTracksPlaylist extends SmartPlaylist {
public class MyTopTracksPlaylist extends AbsSmartPlaylist {
public MyTopTracksPlaylist(Context context) {
super(context.getString(R.string.my_top_tracks), R.drawable.ic_trending_up_white_24dp);
@ -30,14 +25,9 @@ public class MyTopTracksPlaylist extends SmartPlaylist {
return TopAndRecentlyPlayedTracksLoader.getTopTracks(context);
}
@Override
public SmartPlaylistSongAdapter createAdapter(AppCompatActivity activity, @Nullable CabHolder cabHolder) {
return new CannotDeleteSingleSongsSongAdapter(activity, this, cabHolder);
}
@Override
public void clear(Context context) {
SongPlayCountStore.getInstance(context).clear();
App.bus.post(new DataBaseChangedEvent(DataBaseChangedEvent.PLAYLISTS_CHANGED));
}
}
}

View file

@ -1,14 +1,9 @@
package com.kabouzeid.gramophone.model.smartplaylist;
import android.content.Context;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import com.kabouzeid.gramophone.App;
import com.kabouzeid.gramophone.R;
import com.kabouzeid.gramophone.adapter.songadapter.smartplaylist.CannotDeleteSingleSongsSongAdapter;
import com.kabouzeid.gramophone.adapter.songadapter.smartplaylist.SmartPlaylistSongAdapter;
import com.kabouzeid.gramophone.interfaces.CabHolder;
import com.kabouzeid.gramophone.loader.TopAndRecentlyPlayedTracksLoader;
import com.kabouzeid.gramophone.model.DataBaseChangedEvent;
import com.kabouzeid.gramophone.model.Song;
@ -19,7 +14,7 @@ import java.util.ArrayList;
/**
* @author Karim Abou Zeid (kabouzeid)
*/
public class RecentlyPlayedPlaylist extends SmartPlaylist {
public class RecentlyPlayedPlaylist extends AbsSmartPlaylist {
public RecentlyPlayedPlaylist(Context context) {
super(context.getString(R.string.recently_played), R.drawable.ic_access_time_white_24dp);
@ -30,11 +25,6 @@ public class RecentlyPlayedPlaylist extends SmartPlaylist {
return TopAndRecentlyPlayedTracksLoader.getRecentlyPlayedTracks(context);
}
@Override
public SmartPlaylistSongAdapter createAdapter(AppCompatActivity activity, @Nullable CabHolder cabHolder) {
return new CannotDeleteSingleSongsSongAdapter(activity, this, cabHolder);
}
@Override
public void clear(Context context) {
RecentlyPlayedStore.getInstance(context).clear();