From 9180bf548af7227b8ed1608d9e259bc1caa31506 Mon Sep 17 00:00:00 2001 From: dkanada Date: Wed, 29 Apr 2020 13:06:47 +0900 Subject: [PATCH] remove smart playlists for now --- .../gramophone/adapter/PlaylistAdapter.java | 5 -- .../gramophone/loader/GenreLoader.java | 87 ------------------- .../model/playlist/FrequentPlaylist.java | 49 ----------- .../model/playlist/LatestPlaylist.java | 48 ---------- .../model/playlist/RecentPlaylist.java | 50 ----------- .../model/playlist/ShufflePlaylist.java | 48 ---------- .../AppShortcutLauncherActivity.java | 9 -- .../library/pager/PlaylistsFragment.java | 8 -- 8 files changed, 304 deletions(-) delete mode 100644 app/src/main/java/com/kabouzeid/gramophone/loader/GenreLoader.java delete mode 100644 app/src/main/java/com/kabouzeid/gramophone/model/playlist/FrequentPlaylist.java delete mode 100644 app/src/main/java/com/kabouzeid/gramophone/model/playlist/LatestPlaylist.java delete mode 100644 app/src/main/java/com/kabouzeid/gramophone/model/playlist/RecentPlaylist.java delete mode 100644 app/src/main/java/com/kabouzeid/gramophone/model/playlist/ShufflePlaylist.java diff --git a/app/src/main/java/com/kabouzeid/gramophone/adapter/PlaylistAdapter.java b/app/src/main/java/com/kabouzeid/gramophone/adapter/PlaylistAdapter.java index f04b2d23..eb4f95bc 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/adapter/PlaylistAdapter.java +++ b/app/src/main/java/com/kabouzeid/gramophone/adapter/PlaylistAdapter.java @@ -29,7 +29,6 @@ import com.kabouzeid.gramophone.misc.WeakContextAsyncTask; import com.kabouzeid.gramophone.model.Playlist; import com.kabouzeid.gramophone.model.Song; import com.kabouzeid.gramophone.model.playlist.AbsSmartPlaylist; -import com.kabouzeid.gramophone.model.playlist.LatestPlaylist; import com.kabouzeid.gramophone.util.MusicUtil; import com.kabouzeid.gramophone.util.NavigationUtil; import com.kabouzeid.gramophone.util.PlaylistsUtil; @@ -239,10 +238,6 @@ public class PlaylistAdapter extends AbsMultiSelectAdapter { if (item.getItemId() == R.id.action_clear_playlist) { if (playlist instanceof AbsSmartPlaylist) { diff --git a/app/src/main/java/com/kabouzeid/gramophone/loader/GenreLoader.java b/app/src/main/java/com/kabouzeid/gramophone/loader/GenreLoader.java deleted file mode 100644 index 1a4b74f1..00000000 --- a/app/src/main/java/com/kabouzeid/gramophone/loader/GenreLoader.java +++ /dev/null @@ -1,87 +0,0 @@ -package com.kabouzeid.gramophone.loader; - -import android.content.Context; -import android.database.Cursor; -import android.provider.MediaStore.Audio.Genres; -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; - -import com.kabouzeid.gramophone.model.Genre; -import com.kabouzeid.gramophone.model.Song; -import com.kabouzeid.gramophone.util.PreferenceUtil; - -import java.util.ArrayList; -import java.util.List; - -public class GenreLoader { - - @NonNull - public static List getAllGenres(@NonNull final Context context) { - return getGenresFromCursor(context, makeGenreCursor(context)); - } - - @NonNull - public static List getSongs(@NonNull final Context context, final int genreId) { - return SongLoader.getSongs(makeGenreSongCursor(context, genreId)); - } - - @NonNull - private static List getGenresFromCursor(@NonNull final Context context, @Nullable final Cursor cursor) { - final List genres = new ArrayList<>(); - if (cursor != null) { - if (cursor.moveToFirst()) { - do { - Genre genre = getGenreFromCursor(context, cursor); - if (genre.songCount > 0) { - genres.add(genre); - } else { - // try to remove the empty genre from the media store - try { - context.getContentResolver().delete(Genres.EXTERNAL_CONTENT_URI, Genres._ID + " == " + genre.id, null); - } catch (Exception e) { - e.printStackTrace(); - // nothing we can do then - } - } - } while (cursor.moveToNext()); - } - cursor.close(); - } - return genres; - } - - @NonNull - private static Genre getGenreFromCursor(@NonNull final Context context, @NonNull final Cursor cursor) { - final int id = cursor.getInt(0); - final String name = cursor.getString(1); - final int songs = getSongs(context, id).size(); - return new Genre(id, name, songs); - } - - @Nullable - private static Cursor makeGenreSongCursor(@NonNull final Context context, int genreId) { - try { - return context.getContentResolver().query( - Genres.Members.getContentUri("external", genreId), - SongLoader.BASE_PROJECTION, SongLoader.BASE_SELECTION, null, PreferenceUtil.getInstance(context).getSongSortOrder()); - } catch (SecurityException e) { - return null; - } - } - - @Nullable - private static Cursor makeGenreCursor(@NonNull final Context context) { - final String[] projection = new String[]{ - Genres._ID, - Genres.NAME - }; - - try { - return context.getContentResolver().query( - Genres.EXTERNAL_CONTENT_URI, - projection, null, null, PreferenceUtil.getInstance(context).getGenreSortOrder()); - } catch (SecurityException e) { - return null; - } - } -} diff --git a/app/src/main/java/com/kabouzeid/gramophone/model/playlist/FrequentPlaylist.java b/app/src/main/java/com/kabouzeid/gramophone/model/playlist/FrequentPlaylist.java deleted file mode 100644 index 0c2634f5..00000000 --- a/app/src/main/java/com/kabouzeid/gramophone/model/playlist/FrequentPlaylist.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.kabouzeid.gramophone.model.playlist; - -import android.content.Context; -import android.os.Parcel; -import androidx.annotation.NonNull; - -import com.kabouzeid.gramophone.R; -import com.kabouzeid.gramophone.loader.FrequentLoader; -import com.kabouzeid.gramophone.model.Song; -import com.kabouzeid.gramophone.provider.SongPlayCountStore; - -import java.util.List; - -public class FrequentPlaylist extends AbsSmartPlaylist { - - public FrequentPlaylist(@NonNull Context context) { - super(context.getString(R.string.my_top_tracks), R.drawable.ic_trending_up_white_24dp); - } - - @NonNull - @Override - public List getSongs(@NonNull Context context) { - return FrequentLoader.getFrequent(context); - } - - @Override - public void clear(@NonNull Context context) { - SongPlayCountStore.getInstance(context).clear(); - } - - @Override - public int describeContents() { - return 0; - } - - protected FrequentPlaylist(Parcel in) { - super(in); - } - - public static final Creator CREATOR = new Creator() { - public FrequentPlaylist createFromParcel(Parcel source) { - return new FrequentPlaylist(source); - } - - public FrequentPlaylist[] newArray(int size) { - return new FrequentPlaylist[size]; - } - }; -} diff --git a/app/src/main/java/com/kabouzeid/gramophone/model/playlist/LatestPlaylist.java b/app/src/main/java/com/kabouzeid/gramophone/model/playlist/LatestPlaylist.java deleted file mode 100644 index 1482e417..00000000 --- a/app/src/main/java/com/kabouzeid/gramophone/model/playlist/LatestPlaylist.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.kabouzeid.gramophone.model.playlist; - -import android.content.Context; -import android.os.Parcel; -import androidx.annotation.NonNull; - -import com.kabouzeid.gramophone.loader.LatestLoader; -import com.kabouzeid.gramophone.model.Song; -import com.kabouzeid.gramophone.R; - -import java.util.List; - -public class LatestPlaylist extends AbsSmartPlaylist { - - public LatestPlaylist(@NonNull Context context) { - super(context.getString(R.string.last_added), R.drawable.ic_library_add_white_24dp); - } - - @NonNull - @Override - public List getSongs(@NonNull Context context) { - return LatestLoader.getLatest(context); - } - - @Override - public void clear(@NonNull Context context) { - } - - - @Override - public int describeContents() { - return 0; - } - - protected LatestPlaylist(Parcel in) { - super(in); - } - - public static final Creator CREATOR = new Creator() { - public LatestPlaylist createFromParcel(Parcel source) { - return new LatestPlaylist(source); - } - - public LatestPlaylist[] newArray(int size) { - return new LatestPlaylist[size]; - } - }; -} diff --git a/app/src/main/java/com/kabouzeid/gramophone/model/playlist/RecentPlaylist.java b/app/src/main/java/com/kabouzeid/gramophone/model/playlist/RecentPlaylist.java deleted file mode 100644 index 9d09eb5c..00000000 --- a/app/src/main/java/com/kabouzeid/gramophone/model/playlist/RecentPlaylist.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.kabouzeid.gramophone.model.playlist; - -import android.content.Context; -import android.os.Parcel; -import androidx.annotation.NonNull; - -import com.kabouzeid.gramophone.loader.RecentLoader; -import com.kabouzeid.gramophone.model.Song; -import com.kabouzeid.gramophone.provider.HistoryStore; -import com.kabouzeid.gramophone.R; - -import java.util.List; - -public class RecentPlaylist extends AbsSmartPlaylist { - - public RecentPlaylist(@NonNull Context context) { - super(context.getString(R.string.history), R.drawable.ic_access_time_white_24dp); - } - - @NonNull - @Override - public List getSongs(@NonNull Context context) { - return RecentLoader.getRecent(context); - } - - @Override - public void clear(@NonNull Context context) { - HistoryStore.getInstance(context).clear(); - } - - - @Override - public int describeContents() { - return 0; - } - - protected RecentPlaylist(Parcel in) { - super(in); - } - - public static final Creator CREATOR = new Creator() { - public RecentPlaylist createFromParcel(Parcel source) { - return new RecentPlaylist(source); - } - - public RecentPlaylist[] newArray(int size) { - return new RecentPlaylist[size]; - } - }; -} diff --git a/app/src/main/java/com/kabouzeid/gramophone/model/playlist/ShufflePlaylist.java b/app/src/main/java/com/kabouzeid/gramophone/model/playlist/ShufflePlaylist.java deleted file mode 100644 index 928ae198..00000000 --- a/app/src/main/java/com/kabouzeid/gramophone/model/playlist/ShufflePlaylist.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.kabouzeid.gramophone.model.playlist; - -import android.content.Context; -import android.os.Parcel; -import androidx.annotation.NonNull; - -import com.kabouzeid.gramophone.R; -import com.kabouzeid.gramophone.loader.SongLoader; -import com.kabouzeid.gramophone.model.Song; - -import java.util.List; - -public class ShufflePlaylist extends AbsSmartPlaylist { - - public ShufflePlaylist(@NonNull Context context) { - super(context.getString(R.string.action_shuffle_all), R.drawable.ic_shuffle_white_24dp); - } - - @NonNull - @Override - public List getSongs(@NonNull Context context) { - return SongLoader.getAllSongs(context); - } - - @Override - public void clear(@NonNull Context context) { - // Shuffle all is not a real "Smart Playlist" - } - - @Override - public int describeContents() { - return 0; - } - - protected ShufflePlaylist(Parcel in) { - super(in); - } - - public static final Creator CREATOR = new Creator() { - public ShufflePlaylist createFromParcel(Parcel source) { - return new ShufflePlaylist(source); - } - - public ShufflePlaylist[] newArray(int size) { - return new ShufflePlaylist[size]; - } - }; -} diff --git a/app/src/main/java/com/kabouzeid/gramophone/shortcuts/AppShortcutLauncherActivity.java b/app/src/main/java/com/kabouzeid/gramophone/shortcuts/AppShortcutLauncherActivity.java index cfdb8b02..a1b8a1c0 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/shortcuts/AppShortcutLauncherActivity.java +++ b/app/src/main/java/com/kabouzeid/gramophone/shortcuts/AppShortcutLauncherActivity.java @@ -8,9 +8,6 @@ import com.kabouzeid.gramophone.shortcuts.shortcuttype.LatestShortcutType; import com.kabouzeid.gramophone.shortcuts.shortcuttype.ShuffleShortcutType; import com.kabouzeid.gramophone.shortcuts.shortcuttype.FrequentShortcutType; import com.kabouzeid.gramophone.model.Playlist; -import com.kabouzeid.gramophone.model.playlist.LatestPlaylist; -import com.kabouzeid.gramophone.model.playlist.FrequentPlaylist; -import com.kabouzeid.gramophone.model.playlist.ShufflePlaylist; import com.kabouzeid.gramophone.service.MusicService; /** @@ -40,18 +37,12 @@ public class AppShortcutLauncherActivity extends Activity { switch (shortcutType) { case SHORTCUT_TYPE_SHUFFLE: - startServiceWithPlaylist(MusicService.SHUFFLE_MODE_SHUFFLE, - new ShufflePlaylist(getApplicationContext())); DynamicShortcutManager.reportShortcutUsed(this, ShuffleShortcutType.getId()); break; case SHORTCUT_TYPE_FREQUENT: - startServiceWithPlaylist(MusicService.SHUFFLE_MODE_NONE, - new FrequentPlaylist(getApplicationContext())); DynamicShortcutManager.reportShortcutUsed(this, FrequentShortcutType.getId()); break; case SHORTCUT_TYPE_LATEST: - startServiceWithPlaylist(MusicService.SHUFFLE_MODE_NONE, - new LatestPlaylist(getApplicationContext())); DynamicShortcutManager.reportShortcutUsed(this, LatestShortcutType.getId()); break; } diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivity/library/pager/PlaylistsFragment.java b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivity/library/pager/PlaylistsFragment.java index 1a67708e..7a7e7946 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivity/library/pager/PlaylistsFragment.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivity/library/pager/PlaylistsFragment.java @@ -14,9 +14,6 @@ import com.kabouzeid.gramophone.interfaces.LoaderIds; import com.kabouzeid.gramophone.loader.PlaylistLoader; import com.kabouzeid.gramophone.misc.WrappedAsyncTaskLoader; import com.kabouzeid.gramophone.model.Playlist; -import com.kabouzeid.gramophone.model.playlist.RecentPlaylist; -import com.kabouzeid.gramophone.model.playlist.LatestPlaylist; -import com.kabouzeid.gramophone.model.playlist.FrequentPlaylist; import java.util.ArrayList; import java.util.List; @@ -79,11 +76,6 @@ public class PlaylistsFragment extends AbsLibraryPagerRecyclerViewFragment getAllPlaylists(Context context) { List playlists = new ArrayList<>(); - - playlists.add(new LatestPlaylist(context)); - playlists.add(new RecentPlaylist(context)); - playlists.add(new FrequentPlaylist(context)); - playlists.addAll(PlaylistLoader.getAllPlaylists(context)); return playlists;