From 37725948f1de45b8eb126850cd0f9289db048be8 Mon Sep 17 00:00:00 2001 From: Christoph Loy Date: Fri, 17 May 2019 17:07:03 +0200 Subject: [PATCH] Refactoring: Replace usages of ArrayList<> with List<>Collections refactor (#686) * First replacements of ArrayList with List * Get rid of ArrayList-Types * Revert irrelevant changes * Fixed stuff noticed by @arkon --- .../java/com/kabouzeid/gramophone/App.java | 1 + .../adapter/AlbumCoverPagerAdapter.java | 5 ++- .../adapter/CategoryInfoAdapter.java | 9 ++-- .../gramophone/adapter/GenreAdapter.java | 9 ++-- .../adapter/MusicLibraryPagerAdapter.java | 2 +- .../gramophone/adapter/PlaylistAdapter.java | 18 ++++---- .../gramophone/adapter/SearchAdapter.java | 2 +- .../gramophone/adapter/SongFileAdapter.java | 4 +- .../adapter/album/AlbumAdapter.java | 14 +++--- .../adapter/album/HorizontalAlbumAdapter.java | 3 +- .../adapter/artist/ArtistAdapter.java | 14 +++--- .../adapter/base/AbsMultiSelectAdapter.java | 5 ++- .../adapter/song/AbsOffsetSongAdapter.java | 5 ++- .../adapter/song/AlbumSongAdapter.java | 3 +- .../adapter/song/ArtistSongAdapter.java | 13 +++--- .../song/OrderablePlaylistSongAdapter.java | 10 ++--- .../adapter/song/PlayingQueueAdapter.java | 5 ++- .../adapter/song/PlaylistSongAdapter.java | 3 +- .../song/ShuffleButtonSongAdapter.java | 3 +- .../gramophone/adapter/song/SongAdapter.java | 13 +++--- .../dialogs/AddToPlaylistDialog.java | 8 ++-- .../dialogs/CreatePlaylistDialog.java | 9 ++-- .../dialogs/DeletePlaylistDialog.java | 9 ++-- .../gramophone/dialogs/DeleteSongsDialog.java | 9 ++-- .../dialogs/RemoveFromPlaylistDialog.java | 9 ++-- .../dialogs/ScanMediaFolderChooserDialog.java | 2 +- .../gramophone/helper/M3UWriter.java | 3 +- .../gramophone/helper/MusicPlayerRemote.java | 19 ++++---- .../gramophone/helper/SearchQueryHelper.java | 5 ++- .../gramophone/helper/StackBlur.java | 5 ++- .../helper/menu/PlaylistMenuHelper.java | 3 +- .../helper/menu/SongsMenuHelper.java | 3 +- .../gramophone/loader/AlbumLoader.java | 17 ++++---- .../gramophone/loader/ArtistLoader.java | 17 ++++---- .../gramophone/loader/GenreLoader.java | 9 ++-- .../gramophone/loader/LastAddedLoader.java | 3 +- .../gramophone/loader/PlaylistLoader.java | 7 +-- .../gramophone/loader/PlaylistSongLoader.java | 5 ++- .../gramophone/loader/SongLoader.java | 13 +++--- .../gramophone/loader/SortedCursor.java | 11 ++--- .../gramophone/loader/SortedLongCursor.java | 11 ++--- .../TopAndRecentlyPlayedTracksLoader.java | 9 ++-- .../misc/CustomFragmentStatePagerAdapter.java | 5 ++- .../gramophone/model/AbsCustomPlaylist.java | 3 +- .../com/kabouzeid/gramophone/model/Album.java | 5 ++- .../kabouzeid/gramophone/model/Artist.java | 9 ++-- .../gramophone/model/lyrics/Lyrics.java | 3 +- .../model/smartplaylist/HistoryPlaylist.java | 3 +- .../smartplaylist/LastAddedPlaylist.java | 3 +- .../smartplaylist/MyTopTracksPlaylist.java | 3 +- .../smartplaylist/ShuffleAllPlaylist.java | 3 +- .../BlacklistPreferenceDialog.java | 3 +- .../preferences/LibraryPreferenceDialog.java | 9 ++-- .../gramophone/provider/BlacklistStore.java | 5 ++- .../provider/MusicPlaybackQueueStore.java | 11 ++--- .../gramophone/service/MusicService.java | 23 +++++----- .../ui/activities/AlbumDetailActivity.java | 3 +- .../ui/activities/ArtistDetailActivity.java | 3 +- .../ui/activities/GenreDetailActivity.java | 13 +++--- .../ui/activities/MainActivity.java | 5 ++- .../ui/activities/PlaylistDetailActivity.java | 27 ++++++------ .../base/AbsMusicServiceActivity.java | 3 +- .../tageditor/AlbumTagEditorActivity.java | 4 +- .../tageditor/SongTagEditorActivity.java | 2 +- .../mainactivity/folders/FoldersFragment.java | 43 ++++++++++--------- .../library/pager/AlbumsFragment.java | 15 ++++--- .../library/pager/ArtistsFragment.java | 15 ++++--- .../library/pager/GenresFragment.java | 15 ++++--- .../library/pager/PlaylistsFragment.java | 20 +++++---- .../library/pager/SongsFragment.java | 15 ++++--- .../kabouzeid/gramophone/util/FileUtil.java | 2 +- .../kabouzeid/gramophone/util/MusicUtil.java | 2 +- .../gramophone/util/PlaylistsUtil.java | 2 +- .../gramophone/util/PreferenceUtil.java | 13 +++--- 74 files changed, 339 insertions(+), 278 deletions(-) diff --git a/app/src/main/java/com/kabouzeid/gramophone/App.java b/app/src/main/java/com/kabouzeid/gramophone/App.java index ebcd7fe8..f58bbd88 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/App.java +++ b/app/src/main/java/com/kabouzeid/gramophone/App.java @@ -2,6 +2,7 @@ package com.kabouzeid.gramophone; import android.app.Application; import android.os.Build; + import androidx.annotation.NonNull; import com.anjlab.android.iab.v3.BillingProcessor; diff --git a/app/src/main/java/com/kabouzeid/gramophone/adapter/AlbumCoverPagerAdapter.java b/app/src/main/java/com/kabouzeid/gramophone/adapter/AlbumCoverPagerAdapter.java index b81433d6..b0690df9 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/adapter/AlbumCoverPagerAdapter.java +++ b/app/src/main/java/com/kabouzeid/gramophone/adapter/AlbumCoverPagerAdapter.java @@ -19,6 +19,7 @@ import com.kabouzeid.gramophone.model.Song; import com.kabouzeid.gramophone.util.PreferenceUtil; import java.util.ArrayList; +import java.util.List; import butterknife.BindView; import butterknife.ButterKnife; @@ -29,12 +30,12 @@ import butterknife.Unbinder; */ public class AlbumCoverPagerAdapter extends CustomFragmentStatePagerAdapter { - private ArrayList dataSet; + private List dataSet; private AlbumCoverFragment.ColorReceiver currentColorReceiver; private int currentColorReceiverPosition = -1; - public AlbumCoverPagerAdapter(FragmentManager fm, ArrayList dataSet) { + public AlbumCoverPagerAdapter(FragmentManager fm, List dataSet) { super(fm); this.dataSet = dataSet; } diff --git a/app/src/main/java/com/kabouzeid/gramophone/adapter/CategoryInfoAdapter.java b/app/src/main/java/com/kabouzeid/gramophone/adapter/CategoryInfoAdapter.java index b7fd7f45..baeb9593 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/adapter/CategoryInfoAdapter.java +++ b/app/src/main/java/com/kabouzeid/gramophone/adapter/CategoryInfoAdapter.java @@ -17,12 +17,13 @@ import com.kabouzeid.gramophone.model.CategoryInfo; import com.kabouzeid.gramophone.util.SwipeAndDragHelper; import java.util.ArrayList; +import java.util.List; public class CategoryInfoAdapter extends RecyclerView.Adapter implements SwipeAndDragHelper.ActionCompletionContract { - private ArrayList categoryInfos; + private List categoryInfos; private ItemTouchHelper touchHelper; - public CategoryInfoAdapter(ArrayList categoryInfos) { + public CategoryInfoAdapter(List categoryInfos) { this.categoryInfos = categoryInfos; SwipeAndDragHelper swipeAndDragHelper = new SwipeAndDragHelper(this); touchHelper = new ItemTouchHelper(swipeAndDragHelper); @@ -66,7 +67,7 @@ public class CategoryInfoAdapter extends RecyclerView.Adapter categoryInfos) { + public void setCategoryInfos(List categoryInfos) { this.categoryInfos = categoryInfos; notifyDataSetChanged(); } @@ -83,7 +84,7 @@ public class CategoryInfoAdapter extends RecyclerView.Adapter getCategoryInfos() { + public List getCategoryInfos() { return categoryInfos; } diff --git a/app/src/main/java/com/kabouzeid/gramophone/adapter/GenreAdapter.java b/app/src/main/java/com/kabouzeid/gramophone/adapter/GenreAdapter.java index c9b2f96a..53f10d1a 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/adapter/GenreAdapter.java +++ b/app/src/main/java/com/kabouzeid/gramophone/adapter/GenreAdapter.java @@ -15,25 +15,26 @@ import com.kabouzeid.gramophone.util.NavigationUtil; import com.simplecityapps.recyclerview_fastscroll.views.FastScrollRecyclerView; import java.util.ArrayList; +import java.util.List; public class GenreAdapter extends RecyclerView.Adapter implements FastScrollRecyclerView.SectionedAdapter { @NonNull private final AppCompatActivity activity; - private ArrayList dataSet; + private List dataSet; private int itemLayoutRes; - public GenreAdapter(@NonNull AppCompatActivity activity, ArrayList dataSet, @LayoutRes int itemLayoutRes) { + public GenreAdapter(@NonNull AppCompatActivity activity, List dataSet, @LayoutRes int itemLayoutRes) { this.activity = activity; this.dataSet = dataSet; this.itemLayoutRes = itemLayoutRes; } - public ArrayList getDataSet() { + public List getDataSet() { return dataSet; } - public void swapDataSet(ArrayList dataSet) { + public void swapDataSet(List dataSet) { this.dataSet = dataSet; notifyDataSetChanged(); } diff --git a/app/src/main/java/com/kabouzeid/gramophone/adapter/MusicLibraryPagerAdapter.java b/app/src/main/java/com/kabouzeid/gramophone/adapter/MusicLibraryPagerAdapter.java index 79712333..6c9b45f6 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/adapter/MusicLibraryPagerAdapter.java +++ b/app/src/main/java/com/kabouzeid/gramophone/adapter/MusicLibraryPagerAdapter.java @@ -38,7 +38,7 @@ public class MusicLibraryPagerAdapter extends FragmentPagerAdapter { setCategoryInfos(PreferenceUtil.getInstance(context).getLibraryCategoryInfos()); } - public void setCategoryInfos(@NonNull ArrayList categoryInfos) { + public void setCategoryInfos(@NonNull List categoryInfos) { mHolderList.clear(); for (CategoryInfo categoryInfo : categoryInfos) { 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 bcdd1375..01127601 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/adapter/PlaylistAdapter.java +++ b/app/src/main/java/com/kabouzeid/gramophone/adapter/PlaylistAdapter.java @@ -48,10 +48,10 @@ public class PlaylistAdapter extends AbsMultiSelectAdapter dataSet; + protected List dataSet; protected int itemLayoutRes; - public PlaylistAdapter(AppCompatActivity activity, ArrayList dataSet, @LayoutRes int itemLayoutRes, @Nullable CabHolder cabHolder) { + public PlaylistAdapter(AppCompatActivity activity, List dataSet, @LayoutRes int itemLayoutRes, @Nullable CabHolder cabHolder) { super(activity, cabHolder, R.menu.menu_playlists_selection); this.activity = activity; this.dataSet = dataSet; @@ -59,11 +59,11 @@ public class PlaylistAdapter extends AbsMultiSelectAdapter getDataSet() { + public List getDataSet() { return dataSet; } - public void swapDataSet(ArrayList dataSet) { + public void swapDataSet(List dataSet) { this.dataSet = dataSet; notifyDataSetChanged(); } @@ -137,7 +137,7 @@ public class PlaylistAdapter extends AbsMultiSelectAdapter selection) { + protected void onMultipleItemAction(@NonNull MenuItem menuItem, @NonNull List selection) { switch (menuItem.getItemId()) { case R.id.action_delete_playlist: for (int i = 0; i < selection.size(); i++) { @@ -166,13 +166,13 @@ public class PlaylistAdapter extends AbsMultiSelectAdapter, String, String> { + private static class SavePlaylistsAsyncTask extends WeakContextAsyncTask, String, String> { public SavePlaylistsAsyncTask(Context context) { super(context); } @Override - protected String doInBackground(ArrayList... params) { + protected String doInBackground(List... params) { int successes = 0; int failures = 0; @@ -204,8 +204,8 @@ public class PlaylistAdapter extends AbsMultiSelectAdapter getSongList(@NonNull List playlists) { - final ArrayList songs = new ArrayList<>(); + private List getSongList(@NonNull List playlists) { + final List songs = new ArrayList<>(); for (Playlist playlist : playlists) { if (playlist instanceof AbsCustomPlaylist) { songs.addAll(((AbsCustomPlaylist) playlist).getSongs(activity)); diff --git a/app/src/main/java/com/kabouzeid/gramophone/adapter/SearchAdapter.java b/app/src/main/java/com/kabouzeid/gramophone/adapter/SearchAdapter.java index 30bb54aa..d8bc4947 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/adapter/SearchAdapter.java +++ b/app/src/main/java/com/kabouzeid/gramophone/adapter/SearchAdapter.java @@ -164,7 +164,7 @@ public class SearchAdapter extends RecyclerView.Adapter playList = new ArrayList<>(); + List playList = new ArrayList<>(); playList.add((Song) item); MusicPlayerRemote.openQueue(playList, 0, true); break; diff --git a/app/src/main/java/com/kabouzeid/gramophone/adapter/SongFileAdapter.java b/app/src/main/java/com/kabouzeid/gramophone/adapter/SongFileAdapter.java index 0a7fc2da..a067e478 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/adapter/SongFileAdapter.java +++ b/app/src/main/java/com/kabouzeid/gramophone/adapter/SongFileAdapter.java @@ -151,7 +151,7 @@ public class SongFileAdapter extends AbsMultiSelectAdapter selection) { + protected void onMultipleItemAction(MenuItem menuItem, List selection) { if (callbacks == null) return; callbacks.onMultipleItemAction(menuItem, selection); } @@ -206,6 +206,6 @@ public class SongFileAdapter extends AbsMultiSelectAdapter files); + void onMultipleItemAction(MenuItem item, List files); } } diff --git a/app/src/main/java/com/kabouzeid/gramophone/adapter/album/AlbumAdapter.java b/app/src/main/java/com/kabouzeid/gramophone/adapter/album/AlbumAdapter.java index 10a64bb2..fc34217e 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/adapter/album/AlbumAdapter.java +++ b/app/src/main/java/com/kabouzeid/gramophone/adapter/album/AlbumAdapter.java @@ -39,13 +39,13 @@ import java.util.List; public class AlbumAdapter extends AbsMultiSelectAdapter implements FastScrollRecyclerView.SectionedAdapter { protected final AppCompatActivity activity; - protected ArrayList dataSet; + protected List dataSet; protected int itemLayoutRes; protected boolean usePalette = false; - public AlbumAdapter(@NonNull AppCompatActivity activity, ArrayList dataSet, @LayoutRes int itemLayoutRes, boolean usePalette, @Nullable CabHolder cabHolder) { + public AlbumAdapter(@NonNull AppCompatActivity activity, List dataSet, @LayoutRes int itemLayoutRes, boolean usePalette, @Nullable CabHolder cabHolder) { super(activity, cabHolder, R.menu.menu_media_selection); this.activity = activity; this.dataSet = dataSet; @@ -60,12 +60,12 @@ public class AlbumAdapter extends AbsMultiSelectAdapter dataSet) { + public void swapDataSet(List dataSet) { this.dataSet = dataSet; notifyDataSetChanged(); } - public ArrayList getDataSet() { + public List getDataSet() { return dataSet; } @@ -174,13 +174,13 @@ public class AlbumAdapter extends AbsMultiSelectAdapter selection) { + protected void onMultipleItemAction(@NonNull MenuItem menuItem, @NonNull List selection) { SongsMenuHelper.handleMenuClick(activity, getSongList(selection), menuItem.getItemId()); } @NonNull - private ArrayList getSongList(@NonNull List albums) { - final ArrayList songs = new ArrayList<>(); + private List getSongList(@NonNull List albums) { + final List songs = new ArrayList<>(); for (Album album : albums) { songs.addAll(album.songs); } diff --git a/app/src/main/java/com/kabouzeid/gramophone/adapter/album/HorizontalAlbumAdapter.java b/app/src/main/java/com/kabouzeid/gramophone/adapter/album/HorizontalAlbumAdapter.java index c046ec80..4bc42cf2 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/adapter/album/HorizontalAlbumAdapter.java +++ b/app/src/main/java/com/kabouzeid/gramophone/adapter/album/HorizontalAlbumAdapter.java @@ -19,13 +19,14 @@ import com.kabouzeid.gramophone.model.Album; import com.kabouzeid.gramophone.util.MusicUtil; import java.util.ArrayList; +import java.util.List; /** * @author Karim Abou Zeid (kabouzeid) */ public class HorizontalAlbumAdapter extends AlbumAdapter { - public HorizontalAlbumAdapter(@NonNull AppCompatActivity activity, ArrayList dataSet, boolean usePalette, @Nullable CabHolder cabHolder) { + public HorizontalAlbumAdapter(@NonNull AppCompatActivity activity, List dataSet, boolean usePalette, @Nullable CabHolder cabHolder) { super(activity, dataSet, HorizontalAdapterHelper.LAYOUT_RES, usePalette, cabHolder); } diff --git a/app/src/main/java/com/kabouzeid/gramophone/adapter/artist/ArtistAdapter.java b/app/src/main/java/com/kabouzeid/gramophone/adapter/artist/ArtistAdapter.java index e10e10ac..8c62dd63 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/adapter/artist/ArtistAdapter.java +++ b/app/src/main/java/com/kabouzeid/gramophone/adapter/artist/ArtistAdapter.java @@ -38,13 +38,13 @@ import java.util.List; public class ArtistAdapter extends AbsMultiSelectAdapter implements FastScrollRecyclerView.SectionedAdapter { protected final AppCompatActivity activity; - protected ArrayList dataSet; + protected List dataSet; protected int itemLayoutRes; protected boolean usePalette = false; - public ArtistAdapter(@NonNull AppCompatActivity activity, ArrayList dataSet, @LayoutRes int itemLayoutRes, boolean usePalette, @Nullable CabHolder cabHolder) { + public ArtistAdapter(@NonNull AppCompatActivity activity, List dataSet, @LayoutRes int itemLayoutRes, boolean usePalette, @Nullable CabHolder cabHolder) { super(activity, cabHolder, R.menu.menu_media_selection); this.activity = activity; this.dataSet = dataSet; @@ -53,12 +53,12 @@ public class ArtistAdapter extends AbsMultiSelectAdapter dataSet) { + public void swapDataSet(List dataSet) { this.dataSet = dataSet; notifyDataSetChanged(); } - public ArrayList getDataSet() { + public List getDataSet() { return dataSet; } @@ -160,13 +160,13 @@ public class ArtistAdapter extends AbsMultiSelectAdapter selection) { + protected void onMultipleItemAction(@NonNull MenuItem menuItem, @NonNull List selection) { SongsMenuHelper.handleMenuClick(activity, getSongList(selection), menuItem.getItemId()); } @NonNull - private ArrayList getSongList(@NonNull List artists) { - final ArrayList songs = new ArrayList<>(); + private List getSongList(@NonNull List artists) { + final List songs = new ArrayList<>(); for (Artist artist : artists) { songs.addAll(artist.getSongs()); // maybe async in future? } diff --git a/app/src/main/java/com/kabouzeid/gramophone/adapter/base/AbsMultiSelectAdapter.java b/app/src/main/java/com/kabouzeid/gramophone/adapter/base/AbsMultiSelectAdapter.java index b67e3773..1ea15189 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/adapter/base/AbsMultiSelectAdapter.java +++ b/app/src/main/java/com/kabouzeid/gramophone/adapter/base/AbsMultiSelectAdapter.java @@ -12,6 +12,7 @@ import com.kabouzeid.gramophone.R; import com.kabouzeid.gramophone.interfaces.CabHolder; import java.util.ArrayList; +import java.util.List; /** * @author Karim Abou Zeid (kabouzeid) @@ -20,7 +21,7 @@ public abstract class AbsMultiSelectAdapter checked; + private List checked; private int menuRes; private final Context context; @@ -118,5 +119,5 @@ public abstract class AbsMultiSelectAdapter selection); + protected abstract void onMultipleItemAction(MenuItem menuItem, List selection); } diff --git a/app/src/main/java/com/kabouzeid/gramophone/adapter/song/AbsOffsetSongAdapter.java b/app/src/main/java/com/kabouzeid/gramophone/adapter/song/AbsOffsetSongAdapter.java index 83b03274..6b615ade 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/adapter/song/AbsOffsetSongAdapter.java +++ b/app/src/main/java/com/kabouzeid/gramophone/adapter/song/AbsOffsetSongAdapter.java @@ -14,6 +14,7 @@ import com.kabouzeid.gramophone.interfaces.CabHolder; import com.kabouzeid.gramophone.model.Song; import java.util.ArrayList; +import java.util.List; /** * @author Eugene Cheung (arkon) @@ -23,11 +24,11 @@ public abstract class AbsOffsetSongAdapter extends SongAdapter { protected static final int OFFSET_ITEM = 0; protected static final int SONG = 1; - public AbsOffsetSongAdapter(AppCompatActivity activity, ArrayList dataSet, @LayoutRes int itemLayoutRes, boolean usePalette, @Nullable CabHolder cabHolder) { + public AbsOffsetSongAdapter(AppCompatActivity activity, List dataSet, @LayoutRes int itemLayoutRes, boolean usePalette, @Nullable CabHolder cabHolder) { super(activity, dataSet, itemLayoutRes, usePalette, cabHolder); } - public AbsOffsetSongAdapter(AppCompatActivity activity, ArrayList dataSet, @LayoutRes int itemLayoutRes, boolean usePalette, @Nullable CabHolder cabHolder, boolean showSectionName) { + public AbsOffsetSongAdapter(AppCompatActivity activity, List dataSet, @LayoutRes int itemLayoutRes, boolean usePalette, @Nullable CabHolder cabHolder, boolean showSectionName) { super(activity, dataSet, itemLayoutRes, usePalette, cabHolder, showSectionName); } diff --git a/app/src/main/java/com/kabouzeid/gramophone/adapter/song/AlbumSongAdapter.java b/app/src/main/java/com/kabouzeid/gramophone/adapter/song/AlbumSongAdapter.java index 95a84d52..586f513e 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/adapter/song/AlbumSongAdapter.java +++ b/app/src/main/java/com/kabouzeid/gramophone/adapter/song/AlbumSongAdapter.java @@ -11,13 +11,14 @@ import com.kabouzeid.gramophone.model.Song; import com.kabouzeid.gramophone.util.MusicUtil; import java.util.ArrayList; +import java.util.List; /** * @author Karim Abou Zeid (kabouzeid) */ public class AlbumSongAdapter extends SongAdapter { - public AlbumSongAdapter(AppCompatActivity activity, ArrayList dataSet, @LayoutRes int itemLayoutRes, boolean usePalette, @Nullable CabHolder cabHolder) { + public AlbumSongAdapter(AppCompatActivity activity, List dataSet, @LayoutRes int itemLayoutRes, boolean usePalette, @Nullable CabHolder cabHolder) { super(activity, dataSet, itemLayoutRes, usePalette, cabHolder); } diff --git a/app/src/main/java/com/kabouzeid/gramophone/adapter/song/ArtistSongAdapter.java b/app/src/main/java/com/kabouzeid/gramophone/adapter/song/ArtistSongAdapter.java index 1319a630..886f642a 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/adapter/song/ArtistSongAdapter.java +++ b/app/src/main/java/com/kabouzeid/gramophone/adapter/song/ArtistSongAdapter.java @@ -26,6 +26,7 @@ import com.kabouzeid.gramophone.model.Song; import com.kabouzeid.gramophone.util.NavigationUtil; import java.util.ArrayList; +import java.util.List; /** * @author Karim Abou Zeid (kabouzeid) @@ -34,13 +35,13 @@ public class ArtistSongAdapter extends ArrayAdapter implements MaterialCab @Nullable private final CabHolder cabHolder; private MaterialCab cab; - private ArrayList dataSet; - private ArrayList checked; + private List dataSet; + private List checked; @NonNull private final AppCompatActivity activity; - public ArtistSongAdapter(@NonNull AppCompatActivity activity, @NonNull ArrayList dataSet, @Nullable CabHolder cabHolder) { + public ArtistSongAdapter(@NonNull AppCompatActivity activity, @NonNull List dataSet, @Nullable CabHolder cabHolder) { super(activity, R.layout.item_list, dataSet); this.activity = activity; this.cabHolder = cabHolder; @@ -48,11 +49,11 @@ public class ArtistSongAdapter extends ArrayAdapter implements MaterialCab checked = new ArrayList<>(); } - public ArrayList getDataSet() { + public List getDataSet() { return dataSet; } - public void swapDataSet(ArrayList dataSet) { + public void swapDataSet(List dataSet) { this.dataSet = dataSet; clear(); addAll(dataSet); @@ -129,7 +130,7 @@ public class ArtistSongAdapter extends ArrayAdapter implements MaterialCab return convertView; } - private void onMultipleItemAction(@NonNull MenuItem menuItem, @NonNull ArrayList selection) { + private void onMultipleItemAction(@NonNull MenuItem menuItem, @NonNull List selection) { SongsMenuHelper.handleMenuClick(activity, selection, menuItem.getItemId()); } diff --git a/app/src/main/java/com/kabouzeid/gramophone/adapter/song/OrderablePlaylistSongAdapter.java b/app/src/main/java/com/kabouzeid/gramophone/adapter/song/OrderablePlaylistSongAdapter.java index fb5163b3..4a5220b9 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/adapter/song/OrderablePlaylistSongAdapter.java +++ b/app/src/main/java/com/kabouzeid/gramophone/adapter/song/OrderablePlaylistSongAdapter.java @@ -29,8 +29,8 @@ public class OrderablePlaylistSongAdapter extends PlaylistSongAdapter implements private OnMoveItemListener onMoveItemListener; - public OrderablePlaylistSongAdapter(@NonNull AppCompatActivity activity, @NonNull ArrayList dataSet, @LayoutRes int itemLayoutRes, boolean usePalette, @Nullable CabHolder cabHolder, @Nullable OnMoveItemListener onMoveItemListener) { - super(activity, (ArrayList) (List) dataSet, itemLayoutRes, usePalette, cabHolder); + public OrderablePlaylistSongAdapter(@NonNull AppCompatActivity activity, @NonNull List dataSet, @LayoutRes int itemLayoutRes, boolean usePalette, @Nullable CabHolder cabHolder, @Nullable OnMoveItemListener onMoveItemListener) { + super(activity, (List) (List) dataSet, itemLayoutRes, usePalette, cabHolder); setMultiSelectMenuRes(R.menu.menu_playlists_songs_selection); this.onMoveItemListener = onMoveItemListener; } @@ -44,14 +44,14 @@ public class OrderablePlaylistSongAdapter extends PlaylistSongAdapter implements public long getItemId(int position) { position--; if (position < 0) return -2; - return ((ArrayList) (List) dataSet).get(position).idInPlayList; // important! + return ((List) (List) dataSet).get(position).idInPlayList; // important! } @Override - protected void onMultipleItemAction(@NonNull MenuItem menuItem, @NonNull ArrayList selection) { + protected void onMultipleItemAction(@NonNull MenuItem menuItem, @NonNull List selection) { switch (menuItem.getItemId()) { case R.id.action_remove_from_playlist: - RemoveFromPlaylistDialog.create((ArrayList) (List) selection).show(activity.getSupportFragmentManager(), "ADD_PLAYLIST"); + RemoveFromPlaylistDialog.create((List) (List) selection).show(activity.getSupportFragmentManager(), "ADD_PLAYLIST"); return; } super.onMultipleItemAction(menuItem, selection); diff --git a/app/src/main/java/com/kabouzeid/gramophone/adapter/song/PlayingQueueAdapter.java b/app/src/main/java/com/kabouzeid/gramophone/adapter/song/PlayingQueueAdapter.java index d7aef8cd..2314bec1 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/adapter/song/PlayingQueueAdapter.java +++ b/app/src/main/java/com/kabouzeid/gramophone/adapter/song/PlayingQueueAdapter.java @@ -18,6 +18,7 @@ import com.kabouzeid.gramophone.model.Song; import com.kabouzeid.gramophone.util.ViewUtil; import java.util.ArrayList; +import java.util.List; /** * @author Karim Abou Zeid (kabouzeid) @@ -30,7 +31,7 @@ public class PlayingQueueAdapter extends SongAdapter implements DraggableItemAda private int current; - public PlayingQueueAdapter(AppCompatActivity activity, ArrayList dataSet, int current, @LayoutRes int itemLayoutRes, boolean usePalette, @Nullable CabHolder cabHolder) { + public PlayingQueueAdapter(AppCompatActivity activity, List dataSet, int current, @LayoutRes int itemLayoutRes, boolean usePalette, @Nullable CabHolder cabHolder) { super(activity, dataSet, itemLayoutRes, usePalette, cabHolder); this.current = current; } @@ -66,7 +67,7 @@ public class PlayingQueueAdapter extends SongAdapter implements DraggableItemAda // We don't want to load it in this adapter } - public void swapDataSet(ArrayList dataSet, int position) { + public void swapDataSet(List dataSet, int position) { this.dataSet = dataSet; current = position; notifyDataSetChanged(); diff --git a/app/src/main/java/com/kabouzeid/gramophone/adapter/song/PlaylistSongAdapter.java b/app/src/main/java/com/kabouzeid/gramophone/adapter/song/PlaylistSongAdapter.java index c4a0a595..ad621979 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/adapter/song/PlaylistSongAdapter.java +++ b/app/src/main/java/com/kabouzeid/gramophone/adapter/song/PlaylistSongAdapter.java @@ -16,13 +16,14 @@ import com.kabouzeid.gramophone.util.MusicUtil; import com.kabouzeid.gramophone.util.NavigationUtil; import java.util.ArrayList; +import java.util.List; /** * @author Karim Abou Zeid (kabouzeid) */ public class PlaylistSongAdapter extends AbsOffsetSongAdapter { - public PlaylistSongAdapter(AppCompatActivity activity, @NonNull ArrayList dataSet, @LayoutRes int itemLayoutRes, boolean usePalette, @Nullable CabHolder cabHolder) { + public PlaylistSongAdapter(AppCompatActivity activity, @NonNull List dataSet, @LayoutRes int itemLayoutRes, boolean usePalette, @Nullable CabHolder cabHolder) { super(activity, dataSet, itemLayoutRes, usePalette, cabHolder, false); setMultiSelectMenuRes(R.menu.menu_cannot_delete_single_songs_playlist_songs_selection); } diff --git a/app/src/main/java/com/kabouzeid/gramophone/adapter/song/ShuffleButtonSongAdapter.java b/app/src/main/java/com/kabouzeid/gramophone/adapter/song/ShuffleButtonSongAdapter.java index 053894be..625494b4 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/adapter/song/ShuffleButtonSongAdapter.java +++ b/app/src/main/java/com/kabouzeid/gramophone/adapter/song/ShuffleButtonSongAdapter.java @@ -14,13 +14,14 @@ import com.kabouzeid.gramophone.interfaces.CabHolder; import com.kabouzeid.gramophone.model.Song; import java.util.ArrayList; +import java.util.List; /** * @author Karim Abou Zeid (kabouzeid) */ public class ShuffleButtonSongAdapter extends AbsOffsetSongAdapter { - public ShuffleButtonSongAdapter(AppCompatActivity activity, ArrayList dataSet, @LayoutRes int itemLayoutRes, boolean usePalette, @Nullable CabHolder cabHolder) { + public ShuffleButtonSongAdapter(AppCompatActivity activity, List dataSet, @LayoutRes int itemLayoutRes, boolean usePalette, @Nullable CabHolder cabHolder) { super(activity, dataSet, itemLayoutRes, usePalette, cabHolder); } diff --git a/app/src/main/java/com/kabouzeid/gramophone/adapter/song/SongAdapter.java b/app/src/main/java/com/kabouzeid/gramophone/adapter/song/SongAdapter.java index 0997be43..79782d32 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/adapter/song/SongAdapter.java +++ b/app/src/main/java/com/kabouzeid/gramophone/adapter/song/SongAdapter.java @@ -32,6 +32,7 @@ import com.kabouzeid.gramophone.util.PreferenceUtil; import com.simplecityapps.recyclerview_fastscroll.views.FastScrollRecyclerView; import java.util.ArrayList; +import java.util.List; /** * @author Karim Abou Zeid (kabouzeid) @@ -39,18 +40,18 @@ import java.util.ArrayList; public class SongAdapter extends AbsMultiSelectAdapter implements MaterialCab.Callback, FastScrollRecyclerView.SectionedAdapter { protected final AppCompatActivity activity; - protected ArrayList dataSet; + protected List dataSet; protected int itemLayoutRes; protected boolean usePalette = false; protected boolean showSectionName = true; - public SongAdapter(AppCompatActivity activity, ArrayList dataSet, @LayoutRes int itemLayoutRes, boolean usePalette, @Nullable CabHolder cabHolder) { + public SongAdapter(AppCompatActivity activity, List dataSet, @LayoutRes int itemLayoutRes, boolean usePalette, @Nullable CabHolder cabHolder) { this(activity, dataSet, itemLayoutRes, usePalette, cabHolder, true); } - public SongAdapter(AppCompatActivity activity, ArrayList dataSet, @LayoutRes int itemLayoutRes, boolean usePalette, @Nullable CabHolder cabHolder, boolean showSectionName) { + public SongAdapter(AppCompatActivity activity, List dataSet, @LayoutRes int itemLayoutRes, boolean usePalette, @Nullable CabHolder cabHolder, boolean showSectionName) { super(activity, cabHolder, R.menu.menu_media_selection); this.activity = activity; this.dataSet = dataSet; @@ -60,7 +61,7 @@ public class SongAdapter extends AbsMultiSelectAdapter dataSet) { + public void swapDataSet(List dataSet) { this.dataSet = dataSet; notifyDataSetChanged(); } @@ -70,7 +71,7 @@ public class SongAdapter extends AbsMultiSelectAdapter getDataSet() { + public List getDataSet() { return dataSet; } @@ -177,7 +178,7 @@ public class SongAdapter extends AbsMultiSelectAdapter selection) { + protected void onMultipleItemAction(@NonNull MenuItem menuItem, @NonNull List selection) { SongsMenuHelper.handleMenuClick(activity, selection, menuItem.getItemId()); } diff --git a/app/src/main/java/com/kabouzeid/gramophone/dialogs/AddToPlaylistDialog.java b/app/src/main/java/com/kabouzeid/gramophone/dialogs/AddToPlaylistDialog.java index ae081804..a500fe68 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/dialogs/AddToPlaylistDialog.java +++ b/app/src/main/java/com/kabouzeid/gramophone/dialogs/AddToPlaylistDialog.java @@ -22,16 +22,16 @@ public class AddToPlaylistDialog extends DialogFragment { @NonNull public static AddToPlaylistDialog create(Song song) { - ArrayList list = new ArrayList<>(); + List list = new ArrayList<>(); list.add(song); return create(list); } @NonNull - public static AddToPlaylistDialog create(ArrayList songs) { + public static AddToPlaylistDialog create(List songs) { AddToPlaylistDialog dialog = new AddToPlaylistDialog(); Bundle args = new Bundle(); - args.putParcelableArrayList("songs", songs); + args.putParcelableArrayList("songs", new ArrayList<>(songs)); dialog.setArguments(args); return dialog; } @@ -50,7 +50,7 @@ public class AddToPlaylistDialog extends DialogFragment { .items(playlistNames) .itemsCallback((materialDialog, view, i, charSequence) -> { //noinspection unchecked - final ArrayList songs = getArguments().getParcelableArrayList("songs"); + final List songs = getArguments().getParcelableArrayList("songs"); if (songs == null) return; if (i == 0) { materialDialog.dismiss(); diff --git a/app/src/main/java/com/kabouzeid/gramophone/dialogs/CreatePlaylistDialog.java b/app/src/main/java/com/kabouzeid/gramophone/dialogs/CreatePlaylistDialog.java index 092bd59e..908f5be8 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/dialogs/CreatePlaylistDialog.java +++ b/app/src/main/java/com/kabouzeid/gramophone/dialogs/CreatePlaylistDialog.java @@ -14,6 +14,7 @@ import com.kabouzeid.gramophone.model.Song; import com.kabouzeid.gramophone.util.PlaylistsUtil; import java.util.ArrayList; +import java.util.List; /** * @author Karim Abou Zeid (kabouzeid), Aidan Follestad (afollestad) @@ -29,17 +30,17 @@ public class CreatePlaylistDialog extends DialogFragment { @NonNull public static CreatePlaylistDialog create(@Nullable Song song) { - ArrayList list = new ArrayList<>(); + List list = new ArrayList<>(); if (song != null) list.add(song); return create(list); } @NonNull - public static CreatePlaylistDialog create(ArrayList songs) { + public static CreatePlaylistDialog create(List songs) { CreatePlaylistDialog dialog = new CreatePlaylistDialog(); Bundle args = new Bundle(); - args.putParcelableArrayList(SONGS, songs); + args.putParcelableArrayList(SONGS, new ArrayList<>(songs)); dialog.setArguments(args); return dialog; } @@ -63,7 +64,7 @@ public class CreatePlaylistDialog extends DialogFragment { final int playlistId = PlaylistsUtil.createPlaylist(getActivity(), name); if (getActivity() != null) { //noinspection unchecked - ArrayList songs = getArguments().getParcelableArrayList(SONGS); + List songs = getArguments().getParcelableArrayList(SONGS); if (songs != null && !songs.isEmpty()) { PlaylistsUtil.addToPlaylist(getActivity(), songs, playlistId, true); } diff --git a/app/src/main/java/com/kabouzeid/gramophone/dialogs/DeletePlaylistDialog.java b/app/src/main/java/com/kabouzeid/gramophone/dialogs/DeletePlaylistDialog.java index c2f320ab..3b2e2144 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/dialogs/DeletePlaylistDialog.java +++ b/app/src/main/java/com/kabouzeid/gramophone/dialogs/DeletePlaylistDialog.java @@ -12,6 +12,7 @@ import com.kabouzeid.gramophone.model.Playlist; import com.kabouzeid.gramophone.util.PlaylistsUtil; import java.util.ArrayList; +import java.util.List; /** * @author Karim Abou Zeid (kabouzeid) @@ -20,16 +21,16 @@ public class DeletePlaylistDialog extends DialogFragment { @NonNull public static DeletePlaylistDialog create(Playlist playlist) { - ArrayList list = new ArrayList<>(); + List list = new ArrayList<>(); list.add(playlist); return create(list); } @NonNull - public static DeletePlaylistDialog create(ArrayList playlists) { + public static DeletePlaylistDialog create(List playlists) { DeletePlaylistDialog dialog = new DeletePlaylistDialog(); Bundle args = new Bundle(); - args.putParcelableArrayList("playlists", playlists); + args.putParcelableArrayList("playlists", new ArrayList<>(playlists)); dialog.setArguments(args); return dialog; } @@ -38,7 +39,7 @@ public class DeletePlaylistDialog extends DialogFragment { @Override public Dialog onCreateDialog(Bundle savedInstanceState) { //noinspection unchecked - final ArrayList playlists = getArguments().getParcelableArrayList("playlists"); + final List playlists = getArguments().getParcelableArrayList("playlists"); int title; CharSequence content; //noinspection ConstantConditions diff --git a/app/src/main/java/com/kabouzeid/gramophone/dialogs/DeleteSongsDialog.java b/app/src/main/java/com/kabouzeid/gramophone/dialogs/DeleteSongsDialog.java index 6b1ef1b6..1dc2f482 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/dialogs/DeleteSongsDialog.java +++ b/app/src/main/java/com/kabouzeid/gramophone/dialogs/DeleteSongsDialog.java @@ -12,6 +12,7 @@ import com.kabouzeid.gramophone.model.Song; import com.kabouzeid.gramophone.util.MusicUtil; import java.util.ArrayList; +import java.util.List; /** * @author Karim Abou Zeid (kabouzeid), Aidan Follestad (afollestad) @@ -20,16 +21,16 @@ public class DeleteSongsDialog extends DialogFragment { @NonNull public static DeleteSongsDialog create(Song song) { - ArrayList list = new ArrayList<>(); + List list = new ArrayList<>(); list.add(song); return create(list); } @NonNull - public static DeleteSongsDialog create(ArrayList songs) { + public static DeleteSongsDialog create(List songs) { DeleteSongsDialog dialog = new DeleteSongsDialog(); Bundle args = new Bundle(); - args.putParcelableArrayList("songs", songs); + args.putParcelableArrayList("songs", new ArrayList<>(songs)); dialog.setArguments(args); return dialog; } @@ -38,7 +39,7 @@ public class DeleteSongsDialog extends DialogFragment { @Override public Dialog onCreateDialog(Bundle savedInstanceState) { //noinspection unchecked - final ArrayList songs = getArguments().getParcelableArrayList("songs"); + final List songs = getArguments().getParcelableArrayList("songs"); int title; CharSequence content; if (songs.size() > 1) { diff --git a/app/src/main/java/com/kabouzeid/gramophone/dialogs/RemoveFromPlaylistDialog.java b/app/src/main/java/com/kabouzeid/gramophone/dialogs/RemoveFromPlaylistDialog.java index 3263ef1d..7c8060b0 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/dialogs/RemoveFromPlaylistDialog.java +++ b/app/src/main/java/com/kabouzeid/gramophone/dialogs/RemoveFromPlaylistDialog.java @@ -12,6 +12,7 @@ import com.kabouzeid.gramophone.model.PlaylistSong; import com.kabouzeid.gramophone.util.PlaylistsUtil; import java.util.ArrayList; +import java.util.List; /** * @author Karim Abou Zeid (kabouzeid) @@ -20,16 +21,16 @@ public class RemoveFromPlaylistDialog extends DialogFragment { @NonNull public static RemoveFromPlaylistDialog create(PlaylistSong song) { - ArrayList list = new ArrayList<>(); + List list = new ArrayList<>(); list.add(song); return create(list); } @NonNull - public static RemoveFromPlaylistDialog create(ArrayList songs) { + public static RemoveFromPlaylistDialog create(List songs) { RemoveFromPlaylistDialog dialog = new RemoveFromPlaylistDialog(); Bundle args = new Bundle(); - args.putParcelableArrayList("songs", songs); + args.putParcelableArrayList("songs", new ArrayList<>(songs)); dialog.setArguments(args); return dialog; } @@ -38,7 +39,7 @@ public class RemoveFromPlaylistDialog extends DialogFragment { @Override public Dialog onCreateDialog(Bundle savedInstanceState) { //noinspection unchecked - final ArrayList songs = getArguments().getParcelableArrayList("songs"); + final List songs = getArguments().getParcelableArrayList("songs"); int title; CharSequence content; if (songs.size() > 1) { diff --git a/app/src/main/java/com/kabouzeid/gramophone/dialogs/ScanMediaFolderChooserDialog.java b/app/src/main/java/com/kabouzeid/gramophone/dialogs/ScanMediaFolderChooserDialog.java index 0276874a..09d5f7f9 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/dialogs/ScanMediaFolderChooserDialog.java +++ b/app/src/main/java/com/kabouzeid/gramophone/dialogs/ScanMediaFolderChooserDialog.java @@ -116,7 +116,7 @@ public class ScanMediaFolderChooserDialog extends DialogFragment implements Mate final Context applicationContext = getActivity().getApplicationContext(); final WeakReference activityWeakReference = new WeakReference<>(getActivity()); dismiss(); - new FoldersFragment.ListPathsAsyncTask(getActivity(), paths -> scanPaths(activityWeakReference, applicationContext, paths)).execute(new FoldersFragment.ListPathsAsyncTask.LoadingInfo(parentFolder, FoldersFragment.AUDIO_FILE_FILTER)); + new FoldersFragment.ArrayListPathsAsyncTask(getActivity(), paths -> scanPaths(activityWeakReference, applicationContext, paths)).execute(new FoldersFragment.ArrayListPathsAsyncTask.LoadingInfo(parentFolder, FoldersFragment.AUDIO_FILE_FILTER)); }) .onNegative((materialDialog, dialogAction) -> dismiss()) .positiveText(R.string.action_scan_directory) diff --git a/app/src/main/java/com/kabouzeid/gramophone/helper/M3UWriter.java b/app/src/main/java/com/kabouzeid/gramophone/helper/M3UWriter.java index 7ca6f333..7c36c24c 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/helper/M3UWriter.java +++ b/app/src/main/java/com/kabouzeid/gramophone/helper/M3UWriter.java @@ -12,6 +12,7 @@ import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.util.ArrayList; +import java.util.List; public class M3UWriter implements M3UConstants { @@ -20,7 +21,7 @@ public class M3UWriter implements M3UConstants { dir.mkdirs(); File file = new File(dir, playlist.name.concat("." + EXTENSION)); - ArrayList songs; + List songs; if (playlist instanceof AbsCustomPlaylist) { songs = ((AbsCustomPlaylist) playlist).getSongs(context); } else { diff --git a/app/src/main/java/com/kabouzeid/gramophone/helper/MusicPlayerRemote.java b/app/src/main/java/com/kabouzeid/gramophone/helper/MusicPlayerRemote.java index 9fe7462b..250cef0b 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/helper/MusicPlayerRemote.java +++ b/app/src/main/java/com/kabouzeid/gramophone/helper/MusicPlayerRemote.java @@ -28,6 +28,7 @@ import com.kabouzeid.gramophone.util.PreferenceUtil; import java.io.File; import java.util.ArrayList; +import java.util.List; import java.util.Random; import java.util.WeakHashMap; @@ -174,7 +175,7 @@ public class MusicPlayerRemote { /** * Async */ - public static void openQueue(final ArrayList queue, final int startPosition, final boolean startPlaying) { + public static void openQueue(final List queue, final int startPosition, final boolean startPlaying) { if (!tryToHandleOpenPlayingQueue(queue, startPosition, startPlaying) && musicService != null) { musicService.openQueue(queue, startPosition, startPlaying); if (!PreferenceUtil.getInstance(musicService).rememberShuffle()){ @@ -186,7 +187,7 @@ public class MusicPlayerRemote { /** * Async */ - public static void openAndShuffleQueue(final ArrayList queue, boolean startPlaying) { + public static void openAndShuffleQueue(final List queue, boolean startPlaying) { int startPosition = 0; if (!queue.isEmpty()) { startPosition = new Random().nextInt(queue.size()); @@ -198,7 +199,7 @@ public class MusicPlayerRemote { } } - private static boolean tryToHandleOpenPlayingQueue(final ArrayList queue, final int startPosition, final boolean startPlaying) { + private static boolean tryToHandleOpenPlayingQueue(final List queue, final int startPosition, final boolean startPlaying) { if (getPlayingQueue() == queue) { if (startPlaying) { playSongAt(startPosition); @@ -224,7 +225,7 @@ public class MusicPlayerRemote { return -1; } - public static ArrayList getPlayingQueue() { + public static List getPlayingQueue() { if (musicService != null) { return musicService.getPlayingQueue(); } @@ -302,7 +303,7 @@ public class MusicPlayerRemote { if (getPlayingQueue().size() > 0) { musicService.addSong(getPosition() + 1, song); } else { - ArrayList queue = new ArrayList<>(); + List queue = new ArrayList<>(); queue.add(song); openQueue(queue, 0, false); } @@ -312,7 +313,7 @@ public class MusicPlayerRemote { return false; } - public static boolean playNext(@NonNull ArrayList songs) { + public static boolean playNext(@NonNull List songs) { if (musicService != null) { if (getPlayingQueue().size() > 0) { musicService.addSongs(getPosition() + 1, songs); @@ -331,7 +332,7 @@ public class MusicPlayerRemote { if (getPlayingQueue().size() > 0) { musicService.addSong(song); } else { - ArrayList queue = new ArrayList<>(); + List queue = new ArrayList<>(); queue.add(song); openQueue(queue, 0, false); } @@ -341,7 +342,7 @@ public class MusicPlayerRemote { return false; } - public static boolean enqueue(@NonNull ArrayList songs) { + public static boolean enqueue(@NonNull List songs) { if (musicService != null) { if (getPlayingQueue().size() > 0) { musicService.addSongs(songs); @@ -396,7 +397,7 @@ public class MusicPlayerRemote { public static void playFromUri(Uri uri) { if (musicService != null) { - ArrayList songs = null; + List songs = null; if (uri.getScheme() != null && uri.getAuthority() != null) { if (uri.getScheme().equals(ContentResolver.SCHEME_CONTENT)) { String songId = null; diff --git a/app/src/main/java/com/kabouzeid/gramophone/helper/SearchQueryHelper.java b/app/src/main/java/com/kabouzeid/gramophone/helper/SearchQueryHelper.java index cc342c96..b11bd335 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/helper/SearchQueryHelper.java +++ b/app/src/main/java/com/kabouzeid/gramophone/helper/SearchQueryHelper.java @@ -10,6 +10,7 @@ import com.kabouzeid.gramophone.loader.SongLoader; import com.kabouzeid.gramophone.model.Song; import java.util.ArrayList; +import java.util.List; /** * @author Karim Abou Zeid (kabouzeid) @@ -21,13 +22,13 @@ public class SearchQueryHelper { private static final String AND = " AND "; @NonNull - public static ArrayList getSongs(@NonNull final Context context, @NonNull final Bundle extras) { + public static List getSongs(@NonNull final Context context, @NonNull final Bundle extras) { final String query = extras.getString(SearchManager.QUERY, null); final String artistName = extras.getString(MediaStore.EXTRA_MEDIA_ARTIST, null); final String albumName = extras.getString(MediaStore.EXTRA_MEDIA_ALBUM, null); final String titleName = extras.getString(MediaStore.EXTRA_MEDIA_TITLE, null); - ArrayList songs = new ArrayList<>(); + List songs = new ArrayList<>(); if (artistName != null && albumName != null && titleName != null) { songs = SongLoader.getSongs(SongLoader.makeSongCursor(context, ARTIST_SELECTION + AND + ALBUM_SELECTION + AND + TITLE_SELECTION, new String[]{artistName.toLowerCase().trim(), albumName.toLowerCase().trim(), titleName.toLowerCase().trim()})); diff --git a/app/src/main/java/com/kabouzeid/gramophone/helper/StackBlur.java b/app/src/main/java/com/kabouzeid/gramophone/helper/StackBlur.java index 88abb15a..c810f7f0 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/helper/StackBlur.java +++ b/app/src/main/java/com/kabouzeid/gramophone/helper/StackBlur.java @@ -3,6 +3,7 @@ package com.kabouzeid.gramophone.helper; import android.graphics.Bitmap; import java.util.ArrayList; +import java.util.List; import java.util.concurrent.Callable; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; @@ -83,8 +84,8 @@ public class StackBlur { original.getPixels(currentPixels, 0, w, 0, 0, w, h); int cores = EXECUTOR_THREADS; - ArrayList horizontal = new ArrayList<>(cores); - ArrayList vertical = new ArrayList<>(cores); + List horizontal = new ArrayList<>(cores); + List vertical = new ArrayList<>(cores); for (int i = 0; i < cores; i++) { horizontal.add(new BlurTask(currentPixels, w, h, (int) radius, cores, i, 1)); vertical.add(new BlurTask(currentPixels, w, h, (int) radius, cores, i, 2)); diff --git a/app/src/main/java/com/kabouzeid/gramophone/helper/menu/PlaylistMenuHelper.java b/app/src/main/java/com/kabouzeid/gramophone/helper/menu/PlaylistMenuHelper.java index 080500d7..13067c1b 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/helper/menu/PlaylistMenuHelper.java +++ b/app/src/main/java/com/kabouzeid/gramophone/helper/menu/PlaylistMenuHelper.java @@ -22,6 +22,7 @@ import com.kabouzeid.gramophone.util.PlaylistsUtil; import java.io.IOException; import java.util.ArrayList; +import java.util.List; /** * @author Karim Abou Zeid (kabouzeid) @@ -55,7 +56,7 @@ public class PlaylistMenuHelper { } @NonNull - private static ArrayList getPlaylistSongs(@NonNull Activity activity, Playlist playlist) { + private static List getPlaylistSongs(@NonNull Activity activity, Playlist playlist) { return playlist instanceof AbsCustomPlaylist ? ((AbsCustomPlaylist) playlist).getSongs(activity) : PlaylistSongLoader.getPlaylistSongList(activity, playlist.id); diff --git a/app/src/main/java/com/kabouzeid/gramophone/helper/menu/SongsMenuHelper.java b/app/src/main/java/com/kabouzeid/gramophone/helper/menu/SongsMenuHelper.java index fd7b32ea..f3ce04fe 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/helper/menu/SongsMenuHelper.java +++ b/app/src/main/java/com/kabouzeid/gramophone/helper/menu/SongsMenuHelper.java @@ -10,12 +10,13 @@ import com.kabouzeid.gramophone.helper.MusicPlayerRemote; import com.kabouzeid.gramophone.model.Song; import java.util.ArrayList; +import java.util.List; /** * @author Karim Abou Zeid (kabouzeid) */ public class SongsMenuHelper { - public static boolean handleMenuClick(@NonNull FragmentActivity activity, @NonNull ArrayList songs, int menuItemId) { + public static boolean handleMenuClick(@NonNull FragmentActivity activity, @NonNull List songs, int menuItemId) { switch (menuItemId) { case R.id.action_play_next: MusicPlayerRemote.playNext(songs); diff --git a/app/src/main/java/com/kabouzeid/gramophone/loader/AlbumLoader.java b/app/src/main/java/com/kabouzeid/gramophone/loader/AlbumLoader.java index 807b4758..7956cc7d 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/loader/AlbumLoader.java +++ b/app/src/main/java/com/kabouzeid/gramophone/loader/AlbumLoader.java @@ -11,6 +11,7 @@ import com.kabouzeid.gramophone.util.PreferenceUtil; import java.util.ArrayList; import java.util.Collections; +import java.util.List; /** * @author Karim Abou Zeid (kabouzeid) @@ -22,8 +23,8 @@ public class AlbumLoader { } @NonNull - public static ArrayList getAllAlbums(@NonNull final Context context) { - ArrayList songs = SongLoader.getSongs(SongLoader.makeSongCursor( + public static List getAllAlbums(@NonNull final Context context) { + List songs = SongLoader.getSongs(SongLoader.makeSongCursor( context, null, null, @@ -33,8 +34,8 @@ public class AlbumLoader { } @NonNull - public static ArrayList getAlbums(@NonNull final Context context, String query) { - ArrayList songs = SongLoader.getSongs(SongLoader.makeSongCursor( + public static List getAlbums(@NonNull final Context context, String query) { + List songs = SongLoader.getSongs(SongLoader.makeSongCursor( context, AudioColumns.ALBUM + " LIKE ?", new String[]{"%" + query + "%"}, @@ -45,15 +46,15 @@ public class AlbumLoader { @NonNull public static Album getAlbum(@NonNull final Context context, int albumId) { - ArrayList songs = SongLoader.getSongs(SongLoader.makeSongCursor(context, AudioColumns.ALBUM_ID + "=?", new String[]{String.valueOf(albumId)}, getSongLoaderSortOrder(context))); + List songs = SongLoader.getSongs(SongLoader.makeSongCursor(context, AudioColumns.ALBUM_ID + "=?", new String[]{String.valueOf(albumId)}, getSongLoaderSortOrder(context))); Album album = new Album(songs); sortSongsByTrackNumber(album); return album; } @NonNull - public static ArrayList splitIntoAlbums(@Nullable final ArrayList songs) { - ArrayList albums = new ArrayList<>(); + public static List splitIntoAlbums(@Nullable final List songs) { + List albums = new ArrayList<>(); if (songs != null) { for (Song song : songs) { getOrCreateAlbum(albums, song.albumId).songs.add(song); @@ -65,7 +66,7 @@ public class AlbumLoader { return albums; } - private static Album getOrCreateAlbum(ArrayList albums, int albumId) { + private static Album getOrCreateAlbum(List albums, int albumId) { for (Album album : albums) { if (!album.songs.isEmpty() && album.songs.get(0).albumId == albumId) { return album; diff --git a/app/src/main/java/com/kabouzeid/gramophone/loader/ArtistLoader.java b/app/src/main/java/com/kabouzeid/gramophone/loader/ArtistLoader.java index 97c93c14..ea8de5f8 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/loader/ArtistLoader.java +++ b/app/src/main/java/com/kabouzeid/gramophone/loader/ArtistLoader.java @@ -11,6 +11,7 @@ import com.kabouzeid.gramophone.model.Song; import com.kabouzeid.gramophone.util.PreferenceUtil; import java.util.ArrayList; +import java.util.List; /** * @author Karim Abou Zeid (kabouzeid) @@ -21,8 +22,8 @@ public class ArtistLoader { } @NonNull - public static ArrayList getAllArtists(@NonNull final Context context) { - ArrayList songs = SongLoader.getSongs(SongLoader.makeSongCursor( + public static List getAllArtists(@NonNull final Context context) { + List songs = SongLoader.getSongs(SongLoader.makeSongCursor( context, null, null, @@ -32,8 +33,8 @@ public class ArtistLoader { } @NonNull - public static ArrayList getArtists(@NonNull final Context context, String query) { - ArrayList songs = SongLoader.getSongs(SongLoader.makeSongCursor( + public static List getArtists(@NonNull final Context context, String query) { + List songs = SongLoader.getSongs(SongLoader.makeSongCursor( context, AudioColumns.ARTIST + " LIKE ?", new String[]{"%" + query + "%"}, @@ -44,7 +45,7 @@ public class ArtistLoader { @NonNull public static Artist getArtist(@NonNull final Context context, int artistId) { - ArrayList songs = SongLoader.getSongs(SongLoader.makeSongCursor( + List songs = SongLoader.getSongs(SongLoader.makeSongCursor( context, AudioColumns.ARTIST_ID + "=?", new String[]{String.valueOf(artistId)}, @@ -54,8 +55,8 @@ public class ArtistLoader { } @NonNull - public static ArrayList splitIntoArtists(@Nullable final ArrayList albums) { - ArrayList artists = new ArrayList<>(); + public static List splitIntoArtists(@Nullable final List albums) { + List artists = new ArrayList<>(); if (albums != null) { for (Album album : albums) { getOrCreateArtist(artists, album.getArtistId()).albums.add(album); @@ -64,7 +65,7 @@ public class ArtistLoader { return artists; } - private static Artist getOrCreateArtist(ArrayList artists, int artistId) { + private static Artist getOrCreateArtist(List artists, int artistId) { for (Artist artist : artists) { if (!artist.albums.isEmpty() && !artist.albums.get(0).songs.isEmpty() && artist.albums.get(0).songs.get(0).artistId == artistId) { return artist; diff --git a/app/src/main/java/com/kabouzeid/gramophone/loader/GenreLoader.java b/app/src/main/java/com/kabouzeid/gramophone/loader/GenreLoader.java index 498eca33..1a4b74f1 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/loader/GenreLoader.java +++ b/app/src/main/java/com/kabouzeid/gramophone/loader/GenreLoader.java @@ -11,22 +11,23 @@ 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 ArrayList getAllGenres(@NonNull final Context context) { + public static List getAllGenres(@NonNull final Context context) { return getGenresFromCursor(context, makeGenreCursor(context)); } @NonNull - public static ArrayList getSongs(@NonNull final Context context, final int genreId) { + public static List getSongs(@NonNull final Context context, final int genreId) { return SongLoader.getSongs(makeGenreSongCursor(context, genreId)); } @NonNull - private static ArrayList getGenresFromCursor(@NonNull final Context context, @Nullable final Cursor cursor) { - final ArrayList genres = new ArrayList<>(); + private static List getGenresFromCursor(@NonNull final Context context, @Nullable final Cursor cursor) { + final List genres = new ArrayList<>(); if (cursor != null) { if (cursor.moveToFirst()) { do { diff --git a/app/src/main/java/com/kabouzeid/gramophone/loader/LastAddedLoader.java b/app/src/main/java/com/kabouzeid/gramophone/loader/LastAddedLoader.java index 40621a47..2c3d4f9f 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/loader/LastAddedLoader.java +++ b/app/src/main/java/com/kabouzeid/gramophone/loader/LastAddedLoader.java @@ -9,11 +9,12 @@ import com.kabouzeid.gramophone.model.Song; import com.kabouzeid.gramophone.util.PreferenceUtil; import java.util.ArrayList; +import java.util.List; public class LastAddedLoader { @NonNull - public static ArrayList getLastAddedSongs(@NonNull Context context) { + public static List getLastAddedSongs(@NonNull Context context) { return SongLoader.getSongs(makeLastAddedCursor(context)); } diff --git a/app/src/main/java/com/kabouzeid/gramophone/loader/PlaylistLoader.java b/app/src/main/java/com/kabouzeid/gramophone/loader/PlaylistLoader.java index 2c7c2263..c8008d1c 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/loader/PlaylistLoader.java +++ b/app/src/main/java/com/kabouzeid/gramophone/loader/PlaylistLoader.java @@ -11,11 +11,12 @@ import androidx.annotation.Nullable; import com.kabouzeid.gramophone.model.Playlist; import java.util.ArrayList; +import java.util.List; public class PlaylistLoader { @NonNull - public static ArrayList getAllPlaylists(@NonNull final Context context) { + public static List getAllPlaylists(@NonNull final Context context) { return getAllPlaylists(makePlaylistCursor(context, null, null)); } @@ -54,8 +55,8 @@ public class PlaylistLoader { } @NonNull - public static ArrayList getAllPlaylists(@Nullable final Cursor cursor) { - ArrayList playlists = new ArrayList<>(); + public static List getAllPlaylists(@Nullable final Cursor cursor) { + List playlists = new ArrayList<>(); if (cursor != null && cursor.moveToFirst()) { do { diff --git a/app/src/main/java/com/kabouzeid/gramophone/loader/PlaylistSongLoader.java b/app/src/main/java/com/kabouzeid/gramophone/loader/PlaylistSongLoader.java index 5af6da0e..b5434da9 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/loader/PlaylistSongLoader.java +++ b/app/src/main/java/com/kabouzeid/gramophone/loader/PlaylistSongLoader.java @@ -9,12 +9,13 @@ import androidx.annotation.NonNull; import com.kabouzeid.gramophone.model.PlaylistSong; import java.util.ArrayList; +import java.util.List; public class PlaylistSongLoader { @NonNull - public static ArrayList getPlaylistSongList(@NonNull final Context context, final int playlistId) { - ArrayList songs = new ArrayList<>(); + public static List getPlaylistSongList(@NonNull final Context context, final int playlistId) { + List songs = new ArrayList<>(); Cursor cursor = makePlaylistSongCursor(context, playlistId); if (cursor != null && cursor.moveToFirst()) { diff --git a/app/src/main/java/com/kabouzeid/gramophone/loader/SongLoader.java b/app/src/main/java/com/kabouzeid/gramophone/loader/SongLoader.java index 78655b5b..fca36aa9 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/loader/SongLoader.java +++ b/app/src/main/java/com/kabouzeid/gramophone/loader/SongLoader.java @@ -13,6 +13,7 @@ import com.kabouzeid.gramophone.provider.BlacklistStore; import com.kabouzeid.gramophone.util.PreferenceUtil; import java.util.ArrayList; +import java.util.List; /** * @author Karim Abou Zeid (kabouzeid) @@ -34,13 +35,13 @@ public class SongLoader { }; @NonNull - public static ArrayList getAllSongs(@NonNull Context context) { + public static List getAllSongs(@NonNull Context context) { Cursor cursor = makeSongCursor(context, null, null); return getSongs(cursor); } @NonNull - public static ArrayList getSongs(@NonNull final Context context, final String query) { + public static List getSongs(@NonNull final Context context, final String query) { Cursor cursor = makeSongCursor(context, AudioColumns.TITLE + " LIKE ?", new String[]{"%" + query + "%"}); return getSongs(cursor); } @@ -52,8 +53,8 @@ public class SongLoader { } @NonNull - public static ArrayList getSongs(@Nullable final Cursor cursor) { - ArrayList songs = new ArrayList<>(); + public static List getSongs(@Nullable final Cursor cursor) { + List songs = new ArrayList<>(); if (cursor != null && cursor.moveToFirst()) { do { songs.add(getSongFromCursorImpl(cursor)); @@ -110,7 +111,7 @@ public class SongLoader { } // Blacklist - ArrayList paths = BlacklistStore.getInstance(context).getPaths(); + List paths = BlacklistStore.getInstance(context).getPaths(); if (!paths.isEmpty()) { selection = generateBlacklistSelection(selection, paths.size()); selectionValues = addBlacklistSelectionValues(selectionValues, paths); @@ -133,7 +134,7 @@ public class SongLoader { return newSelection; } - private static String[] addBlacklistSelectionValues(String[] selectionValues, ArrayList paths) { + private static String[] addBlacklistSelectionValues(String[] selectionValues, List paths) { if (selectionValues == null) selectionValues = new String[0]; String[] newSelectionValues = new String[selectionValues.length + paths.size()]; System.arraycopy(selectionValues, 0, newSelectionValues, 0, selectionValues.length); diff --git a/app/src/main/java/com/kabouzeid/gramophone/loader/SortedCursor.java b/app/src/main/java/com/kabouzeid/gramophone/loader/SortedCursor.java index 75873dd4..ecd6a4bd 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/loader/SortedCursor.java +++ b/app/src/main/java/com/kabouzeid/gramophone/loader/SortedCursor.java @@ -23,6 +23,7 @@ import androidx.annotation.Nullable; import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; +import java.util.List; /** * This cursor basically wraps a song cursor and is given a list of the order of the ids of the @@ -33,9 +34,9 @@ public class SortedCursor extends AbstractCursor { // cursor to wrap private final Cursor mCursor; // the map of external indices to internal indices - private ArrayList mOrderedPositions; + private List mOrderedPositions; // this contains the ids that weren't found in the underlying cursor - private ArrayList mMissingValues; + private List mMissingValues; // this contains the mapped cursor positions and afterwards the extra ids that weren't found private HashMap mMapCursorPositions; @@ -57,8 +58,8 @@ public class SortedCursor extends AbstractCursor { * @return returns the ids that aren't found in the underlying cursor */ @NonNull - private ArrayList buildCursorPositionMapping(@Nullable final String[] order, final String columnName) { - ArrayList missingValues = new ArrayList<>(); + private List buildCursorPositionMapping(@Nullable final String[] order, final String columnName) { + List missingValues = new ArrayList<>(); mOrderedPositions = new ArrayList<>(mCursor.getCount()); @@ -93,7 +94,7 @@ public class SortedCursor extends AbstractCursor { /** * @return the list of ids that weren't found in the underlying cursor */ - public ArrayList getMissingValues() { + public List getMissingValues() { return mMissingValues; } diff --git a/app/src/main/java/com/kabouzeid/gramophone/loader/SortedLongCursor.java b/app/src/main/java/com/kabouzeid/gramophone/loader/SortedLongCursor.java index db83b26b..929b1982 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/loader/SortedLongCursor.java +++ b/app/src/main/java/com/kabouzeid/gramophone/loader/SortedLongCursor.java @@ -23,6 +23,7 @@ import androidx.annotation.Nullable; import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; +import java.util.List; /** * This cursor basically wraps a song cursor and is given a list of the order of the ids of the @@ -33,9 +34,9 @@ public class SortedLongCursor extends AbstractCursor { // cursor to wrap private final Cursor mCursor; // the map of external indices to internal indices - private ArrayList mOrderedPositions; + private List mOrderedPositions; // this contains the ids that weren't found in the underlying cursor - private ArrayList mMissingIds; + private List mMissingIds; // this contains the mapped cursor positions and afterwards the extra ids that weren't found private HashMap mMapCursorPositions; @@ -58,8 +59,8 @@ public class SortedLongCursor extends AbstractCursor { * @return returns the ids that aren't found in the underlying cursor */ @NonNull - private ArrayList buildCursorPositionMapping(@Nullable final long[] order, final String columnName) { - ArrayList missingIds = new ArrayList<>(); + private List buildCursorPositionMapping(@Nullable final long[] order, final String columnName) { + List missingIds = new ArrayList<>(); mOrderedPositions = new ArrayList<>(mCursor.getCount()); @@ -93,7 +94,7 @@ public class SortedLongCursor extends AbstractCursor { /** * @return the list of ids that weren't found in the underlying cursor */ - public ArrayList getMissingIds() { + public List getMissingIds() { return mMissingIds; } diff --git a/app/src/main/java/com/kabouzeid/gramophone/loader/TopAndRecentlyPlayedTracksLoader.java b/app/src/main/java/com/kabouzeid/gramophone/loader/TopAndRecentlyPlayedTracksLoader.java index 21a02f9d..e5cdf8aa 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/loader/TopAndRecentlyPlayedTracksLoader.java +++ b/app/src/main/java/com/kabouzeid/gramophone/loader/TopAndRecentlyPlayedTracksLoader.java @@ -28,17 +28,18 @@ import com.kabouzeid.gramophone.provider.HistoryStore; import com.kabouzeid.gramophone.provider.SongPlayCountStore; import java.util.ArrayList; +import java.util.List; public class TopAndRecentlyPlayedTracksLoader { public static final int NUMBER_OF_TOP_TRACKS = 100; @NonNull - public static ArrayList getRecentlyPlayedTracks(@NonNull Context context) { + public static List getRecentlyPlayedTracks(@NonNull Context context) { return SongLoader.getSongs(makeRecentTracksCursorAndClearUpDatabase(context)); } @NonNull - public static ArrayList getTopTracks(@NonNull Context context) { + public static List getTopTracks(@NonNull Context context) { return SongLoader.getSongs(makeTopTracksCursorAndClearUpDatabase(context)); } @@ -48,7 +49,7 @@ public class TopAndRecentlyPlayedTracksLoader { // clean up the databases with any ids not found if (retCursor != null) { - ArrayList missingIds = retCursor.getMissingIds(); + List missingIds = retCursor.getMissingIds(); if (missingIds != null && missingIds.size() > 0) { for (long id : missingIds) { HistoryStore.getInstance(context).removeSongId(id); @@ -64,7 +65,7 @@ public class TopAndRecentlyPlayedTracksLoader { // clean up the databases with any ids not found if (retCursor != null) { - ArrayList missingIds = retCursor.getMissingIds(); + List missingIds = retCursor.getMissingIds(); if (missingIds != null && missingIds.size() > 0) { for (long id : missingIds) { SongPlayCountStore.getInstance(context).removeItem(id); diff --git a/app/src/main/java/com/kabouzeid/gramophone/misc/CustomFragmentStatePagerAdapter.java b/app/src/main/java/com/kabouzeid/gramophone/misc/CustomFragmentStatePagerAdapter.java index b2f13971..d920d244 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/misc/CustomFragmentStatePagerAdapter.java +++ b/app/src/main/java/com/kabouzeid/gramophone/misc/CustomFragmentStatePagerAdapter.java @@ -29,6 +29,7 @@ import android.view.View; import android.view.ViewGroup; import java.util.ArrayList; +import java.util.List; /** * Implementation of {@link PagerAdapter} that @@ -74,8 +75,8 @@ public abstract class CustomFragmentStatePagerAdapter extends PagerAdapter { private final FragmentManager mFragmentManager; private FragmentTransaction mCurTransaction = null; - private ArrayList mSavedState = new ArrayList<>(); - private ArrayList mFragments = new ArrayList<>(); + private List mSavedState = new ArrayList<>(); + private List mFragments = new ArrayList<>(); private Fragment mCurrentPrimaryItem = null; public CustomFragmentStatePagerAdapter(FragmentManager fm) { diff --git a/app/src/main/java/com/kabouzeid/gramophone/model/AbsCustomPlaylist.java b/app/src/main/java/com/kabouzeid/gramophone/model/AbsCustomPlaylist.java index c9b26c8b..0cf2af7f 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/model/AbsCustomPlaylist.java +++ b/app/src/main/java/com/kabouzeid/gramophone/model/AbsCustomPlaylist.java @@ -5,6 +5,7 @@ import android.os.Parcel; import androidx.annotation.NonNull; import java.util.ArrayList; +import java.util.List; /** * @author Karim Abou Zeid (kabouzeid) @@ -23,5 +24,5 @@ public abstract class AbsCustomPlaylist extends Playlist { } @NonNull - public abstract ArrayList getSongs(Context context); + public abstract List getSongs(Context context); } diff --git a/app/src/main/java/com/kabouzeid/gramophone/model/Album.java b/app/src/main/java/com/kabouzeid/gramophone/model/Album.java index 139f1b20..2d445562 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/model/Album.java +++ b/app/src/main/java/com/kabouzeid/gramophone/model/Album.java @@ -5,14 +5,15 @@ import android.os.Parcelable; import androidx.annotation.NonNull; import java.util.ArrayList; +import java.util.List; /** * @author Karim Abou Zeid (kabouzeid) */ public class Album implements Parcelable { - public final ArrayList songs; + public final List songs; - public Album(ArrayList songs) { + public Album(List songs) { this.songs = songs; } diff --git a/app/src/main/java/com/kabouzeid/gramophone/model/Artist.java b/app/src/main/java/com/kabouzeid/gramophone/model/Artist.java index ad6cd5db..bb5ed9e6 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/model/Artist.java +++ b/app/src/main/java/com/kabouzeid/gramophone/model/Artist.java @@ -7,6 +7,7 @@ import androidx.annotation.NonNull; import com.kabouzeid.gramophone.util.MusicUtil; import java.util.ArrayList; +import java.util.List; /** * @author Karim Abou Zeid (kabouzeid) @@ -14,9 +15,9 @@ import java.util.ArrayList; public class Artist implements Parcelable { public static final String UNKNOWN_ARTIST_DISPLAY_NAME = "Unknown Artist"; - public final ArrayList albums; + public final List albums; - public Artist(ArrayList albums) { + public Artist(List albums) { this.albums = albums; } @@ -48,8 +49,8 @@ public class Artist implements Parcelable { return albums.size(); } - public ArrayList getSongs() { - ArrayList songs = new ArrayList<>(); + public List getSongs() { + List songs = new ArrayList<>(); for (Album album : albums) { songs.addAll(album.songs); } diff --git a/app/src/main/java/com/kabouzeid/gramophone/model/lyrics/Lyrics.java b/app/src/main/java/com/kabouzeid/gramophone/model/lyrics/Lyrics.java index fb38ca25..eb6d54eb 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/model/lyrics/Lyrics.java +++ b/app/src/main/java/com/kabouzeid/gramophone/model/lyrics/Lyrics.java @@ -3,9 +3,10 @@ package com.kabouzeid.gramophone.model.lyrics; import com.kabouzeid.gramophone.model.Song; import java.util.ArrayList; +import java.util.List; public class Lyrics { - private static final ArrayList> FORMATS = new ArrayList<>(); + private static final List> FORMATS = new ArrayList<>(); public Song song; public String data; diff --git a/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/HistoryPlaylist.java b/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/HistoryPlaylist.java index 1f8b200a..07753636 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/HistoryPlaylist.java +++ b/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/HistoryPlaylist.java @@ -11,6 +11,7 @@ import com.kabouzeid.gramophone.R; import com.kabouzeid.gramophone.util.PreferenceUtil; import java.util.ArrayList; +import java.util.List; /** * @author Karim Abou Zeid (kabouzeid) @@ -23,7 +24,7 @@ public class HistoryPlaylist extends AbsSmartPlaylist { @NonNull @Override - public ArrayList getSongs(@NonNull Context context) { + public List getSongs(@NonNull Context context) { return TopAndRecentlyPlayedTracksLoader.getRecentlyPlayedTracks(context); } diff --git a/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/LastAddedPlaylist.java b/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/LastAddedPlaylist.java index 00508ce2..b3d3550e 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/LastAddedPlaylist.java +++ b/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/LastAddedPlaylist.java @@ -10,6 +10,7 @@ import com.kabouzeid.gramophone.R; import com.kabouzeid.gramophone.util.PreferenceUtil; import java.util.ArrayList; +import java.util.List; /** * @author Karim Abou Zeid (kabouzeid) @@ -22,7 +23,7 @@ public class LastAddedPlaylist extends AbsSmartPlaylist { @NonNull @Override - public ArrayList getSongs(@NonNull Context context) { + public List getSongs(@NonNull Context context) { return LastAddedLoader.getLastAddedSongs(context); } diff --git a/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/MyTopTracksPlaylist.java b/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/MyTopTracksPlaylist.java index 09f60557..dbfe2f0e 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/MyTopTracksPlaylist.java +++ b/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/MyTopTracksPlaylist.java @@ -10,6 +10,7 @@ import com.kabouzeid.gramophone.model.Song; import com.kabouzeid.gramophone.provider.SongPlayCountStore; import java.util.ArrayList; +import java.util.List; /** * @author Karim Abou Zeid (kabouzeid) @@ -22,7 +23,7 @@ public class MyTopTracksPlaylist extends AbsSmartPlaylist { @NonNull @Override - public ArrayList getSongs(@NonNull Context context) { + public List getSongs(@NonNull Context context) { return TopAndRecentlyPlayedTracksLoader.getTopTracks(context); } diff --git a/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/ShuffleAllPlaylist.java b/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/ShuffleAllPlaylist.java index 14a63afa..f1c736ed 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/ShuffleAllPlaylist.java +++ b/app/src/main/java/com/kabouzeid/gramophone/model/smartplaylist/ShuffleAllPlaylist.java @@ -9,6 +9,7 @@ import com.kabouzeid.gramophone.loader.SongLoader; import com.kabouzeid.gramophone.model.Song; import java.util.ArrayList; +import java.util.List; public class ShuffleAllPlaylist extends AbsSmartPlaylist { @@ -18,7 +19,7 @@ public class ShuffleAllPlaylist extends AbsSmartPlaylist { @NonNull @Override - public ArrayList getSongs(@NonNull Context context) { + public List getSongs(@NonNull Context context) { return SongLoader.getAllSongs(context); } diff --git a/app/src/main/java/com/kabouzeid/gramophone/preferences/BlacklistPreferenceDialog.java b/app/src/main/java/com/kabouzeid/gramophone/preferences/BlacklistPreferenceDialog.java index cf20f408..143d6ce6 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/preferences/BlacklistPreferenceDialog.java +++ b/app/src/main/java/com/kabouzeid/gramophone/preferences/BlacklistPreferenceDialog.java @@ -13,13 +13,14 @@ import com.kabouzeid.gramophone.provider.BlacklistStore; import java.io.File; import java.util.ArrayList; +import java.util.List; /** * @author Karim Abou Zeid (kabouzeid) */ public class BlacklistPreferenceDialog extends DialogFragment implements BlacklistFolderChooserDialog.FolderCallback { - private ArrayList paths; + private List paths; public static BlacklistPreferenceDialog newInstance() { return new BlacklistPreferenceDialog(); diff --git a/app/src/main/java/com/kabouzeid/gramophone/preferences/LibraryPreferenceDialog.java b/app/src/main/java/com/kabouzeid/gramophone/preferences/LibraryPreferenceDialog.java index 4b21edea..9c3ad92b 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/preferences/LibraryPreferenceDialog.java +++ b/app/src/main/java/com/kabouzeid/gramophone/preferences/LibraryPreferenceDialog.java @@ -15,6 +15,7 @@ import com.kabouzeid.gramophone.model.CategoryInfo; import com.kabouzeid.gramophone.util.PreferenceUtil; import java.util.ArrayList; +import java.util.List; public class LibraryPreferenceDialog extends DialogFragment { @@ -29,7 +30,7 @@ public class LibraryPreferenceDialog extends DialogFragment { public Dialog onCreateDialog(Bundle savedInstanceState) { View view = getActivity().getLayoutInflater().inflate(R.layout.preference_dialog_library_categories, null); - ArrayList categoryInfos; + List categoryInfos; if (savedInstanceState != null) { categoryInfos = savedInstanceState.getParcelableArrayList(PreferenceUtil.LIBRARY_CATEGORIES); } else { @@ -62,16 +63,16 @@ public class LibraryPreferenceDialog extends DialogFragment { @Override public void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); - outState.putParcelableArrayList(PreferenceUtil.LIBRARY_CATEGORIES, adapter.getCategoryInfos()); + outState.putParcelableArrayList(PreferenceUtil.LIBRARY_CATEGORIES, new ArrayList<>(adapter.getCategoryInfos())); } - private void updateCategories(ArrayList categories) { + private void updateCategories(List categories) { if (getSelected(categories) == 0) return; PreferenceUtil.getInstance(getContext()).setLibraryCategoryInfos(categories); } - private int getSelected(ArrayList categories) { + private int getSelected(List categories) { int selected = 0; for (CategoryInfo categoryInfo : categories) { if (categoryInfo.visible) diff --git a/app/src/main/java/com/kabouzeid/gramophone/provider/BlacklistStore.java b/app/src/main/java/com/kabouzeid/gramophone/provider/BlacklistStore.java index 4353fe26..47b54a0e 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/provider/BlacklistStore.java +++ b/app/src/main/java/com/kabouzeid/gramophone/provider/BlacklistStore.java @@ -15,6 +15,7 @@ import com.kabouzeid.gramophone.util.PreferenceUtil; import java.io.File; import java.util.ArrayList; +import java.util.List; public class BlacklistStore extends SQLiteOpenHelper { private static BlacklistStore sInstance = null; @@ -130,12 +131,12 @@ public class BlacklistStore extends SQLiteOpenHelper { } @NonNull - public ArrayList getPaths() { + public List getPaths() { Cursor cursor = getReadableDatabase().query(BlacklistStoreColumns.NAME, new String[]{BlacklistStoreColumns.PATH}, null, null, null, null, null); - ArrayList paths = new ArrayList<>(); + List paths = new ArrayList<>(); if (cursor != null && cursor.moveToFirst()) { do { paths.add(cursor.getString(0)); diff --git a/app/src/main/java/com/kabouzeid/gramophone/provider/MusicPlaybackQueueStore.java b/app/src/main/java/com/kabouzeid/gramophone/provider/MusicPlaybackQueueStore.java index 00354b42..fb9d1d65 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/provider/MusicPlaybackQueueStore.java +++ b/app/src/main/java/com/kabouzeid/gramophone/provider/MusicPlaybackQueueStore.java @@ -29,6 +29,7 @@ import com.kabouzeid.gramophone.loader.SongLoader; import com.kabouzeid.gramophone.model.Song; import java.util.ArrayList; +import java.util.List; /** * @author Andrew Neal, modified for Phonograph by Karim Abou Zeid @@ -129,7 +130,7 @@ public class MusicPlaybackQueueStore extends SQLiteOpenHelper { return sInstance; } - public synchronized void saveQueues(@NonNull final ArrayList playingQueue, @NonNull final ArrayList originalPlayingQueue) { + public synchronized void saveQueues(@NonNull final List playingQueue, @NonNull final List originalPlayingQueue) { saveQueue(PLAYING_QUEUE_TABLE_NAME, playingQueue); saveQueue(ORIGINAL_PLAYING_QUEUE_TABLE_NAME, originalPlayingQueue); } @@ -140,7 +141,7 @@ public class MusicPlaybackQueueStore extends SQLiteOpenHelper { * * @param queue the queue to save */ - private synchronized void saveQueue(final String tableName, @NonNull final ArrayList queue) { + private synchronized void saveQueue(final String tableName, @NonNull final List queue) { final SQLiteDatabase database = getWritableDatabase(); database.beginTransaction(); @@ -183,17 +184,17 @@ public class MusicPlaybackQueueStore extends SQLiteOpenHelper { } @NonNull - public ArrayList getSavedPlayingQueue() { + public List getSavedPlayingQueue() { return getQueue(PLAYING_QUEUE_TABLE_NAME); } @NonNull - public ArrayList getSavedOriginalPlayingQueue() { + public List getSavedOriginalPlayingQueue() { return getQueue(ORIGINAL_PLAYING_QUEUE_TABLE_NAME); } @NonNull - private ArrayList getQueue(@NonNull final String tableName) { + private List getQueue(@NonNull final String tableName) { Cursor cursor = getReadableDatabase().query(tableName, null, null, null, null, null, null); return SongLoader.getSongs(cursor); diff --git a/app/src/main/java/com/kabouzeid/gramophone/service/MusicService.java b/app/src/main/java/com/kabouzeid/gramophone/service/MusicService.java index 0566f008..03feda61 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/service/MusicService.java +++ b/app/src/main/java/com/kabouzeid/gramophone/service/MusicService.java @@ -27,13 +27,14 @@ import android.os.PowerManager; import android.os.Process; import android.preference.PreferenceManager; import android.provider.MediaStore; -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; import android.support.v4.media.MediaMetadataCompat; import android.support.v4.media.session.MediaSessionCompat; import android.support.v4.media.session.PlaybackStateCompat; import android.widget.Toast; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; + import com.bumptech.glide.BitmapRequestBuilder; import com.bumptech.glide.Glide; import com.bumptech.glide.request.animation.GlideAnimation; @@ -134,8 +135,8 @@ public class MusicService extends Service implements SharedPreferences.OnSharedP private AppWidgetCard appWidgetCard = AppWidgetCard.getInstance(); private Playback playback; - private ArrayList playingQueue = new ArrayList<>(); - private ArrayList originalPlayingQueue = new ArrayList<>(); + private List playingQueue = new ArrayList<>(); + private List originalPlayingQueue = new ArrayList<>(); private int position = -1; private int nextPosition = -1; private int shuffleMode; @@ -305,12 +306,12 @@ public class MusicService extends Service implements SharedPreferences.OnSharedP Playlist playlist = intent.getParcelableExtra(INTENT_EXTRA_PLAYLIST); int shuffleMode = intent.getIntExtra(INTENT_EXTRA_SHUFFLE_MODE, getShuffleMode()); if (playlist != null) { - ArrayList playlistSongs; + List playlistSongs; if (playlist instanceof AbsCustomPlaylist) { playlistSongs = ((AbsCustomPlaylist) playlist).getSongs(getApplicationContext()); } else { //noinspection unchecked - playlistSongs = (ArrayList) (List) PlaylistSongLoader.getPlaylistSongList(getApplicationContext(), playlist.id); + playlistSongs = (List) PlaylistSongLoader.getPlaylistSongList(getApplicationContext(), playlist.id); } if (!playlistSongs.isEmpty()) { if (shuffleMode == SHUFFLE_MODE_SHUFFLE) { @@ -428,8 +429,8 @@ public class MusicService extends Service implements SharedPreferences.OnSharedP private synchronized void restoreQueuesAndPositionIfNecessary() { if (!queuesRestored && playingQueue.isEmpty()) { - ArrayList restoredQueue = MusicPlaybackQueueStore.getInstance(this).getSavedPlayingQueue(); - ArrayList restoredOriginalQueue = MusicPlaybackQueueStore.getInstance(this).getSavedOriginalPlayingQueue(); + List restoredQueue = MusicPlaybackQueueStore.getInstance(this).getSavedPlayingQueue(); + List restoredOriginalQueue = MusicPlaybackQueueStore.getInstance(this).getSavedOriginalPlayingQueue(); int restoredPosition = PreferenceManager.getDefaultSharedPreferences(this).getInt(SAVED_POSITION, -1); int restoredPositionInTrack = PreferenceManager.getDefaultSharedPreferences(this).getInt(SAVED_POSITION_IN_TRACK, -1); @@ -677,7 +678,7 @@ public class MusicService extends Service implements SharedPreferences.OnSharedP return getPosition() == getPlayingQueue().size() - 1; } - public ArrayList getPlayingQueue() { + public List getPlayingQueue() { return playingQueue; } @@ -700,7 +701,7 @@ public class MusicService extends Service implements SharedPreferences.OnSharedP } } - public void openQueue(@Nullable final ArrayList playingQueue, final int startPosition, final boolean startPlaying) { + public void openQueue(@Nullable final List playingQueue, final int startPosition, final boolean startPlaying) { if (playingQueue != null && !playingQueue.isEmpty() && startPosition >= 0 && startPosition < playingQueue.size()) { // it is important to copy the playing queue here first as we might add/remove songs later originalPlayingQueue = new ArrayList<>(playingQueue); @@ -869,7 +870,7 @@ public class MusicService extends Service implements SharedPreferences.OnSharedP } } - public void playSongs(ArrayList songs, int shuffleMode) { + public void playSongs(List songs, int shuffleMode) { if (songs != null && !songs.isEmpty()) { if (shuffleMode == SHUFFLE_MODE_SHUFFLE) { int startPosition = 0; diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/AlbumDetailActivity.java b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/AlbumDetailActivity.java index 51e6a956..6a860ffc 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/AlbumDetailActivity.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/AlbumDetailActivity.java @@ -54,6 +54,7 @@ import com.kabouzeid.gramophone.util.PhonographColorUtil; import com.kabouzeid.gramophone.util.PreferenceUtil; import java.util.ArrayList; +import java.util.List; import java.util.Locale; import butterknife.BindView; @@ -291,7 +292,7 @@ public class AlbumDetailActivity extends AbsSlidingMusicPanelActivity implements @Override public boolean onOptionsItemSelected(@NonNull MenuItem item) { int id = item.getItemId(); - final ArrayList songs = adapter.getDataSet(); + final List songs = adapter.getDataSet(); switch (id) { case R.id.action_sleep_timer: new SleepTimerDialog().show(getSupportFragmentManager(), "SET_SLEEP_TIMER"); diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/ArtistDetailActivity.java b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/ArtistDetailActivity.java index 9746ed8b..26fab885 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/ArtistDetailActivity.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/ArtistDetailActivity.java @@ -54,6 +54,7 @@ import com.kabouzeid.gramophone.util.PhonographColorUtil; import com.kabouzeid.gramophone.util.PreferenceUtil; import java.util.ArrayList; +import java.util.List; import java.util.Locale; import butterknife.BindView; @@ -324,7 +325,7 @@ public class ArtistDetailActivity extends AbsSlidingMusicPanelActivity implement @Override public boolean onOptionsItemSelected(@NonNull MenuItem item) { int id = item.getItemId(); - final ArrayList songs = songAdapter.getDataSet(); + final List songs = songAdapter.getDataSet(); switch (id) { case R.id.action_sleep_timer: new SleepTimerDialog().show(getSupportFragmentManager(), "SET_SLEEP_TIMER"); diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/GenreDetailActivity.java b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/GenreDetailActivity.java index 4ccc00b8..e54cfa52 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/GenreDetailActivity.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/GenreDetailActivity.java @@ -31,11 +31,12 @@ import com.kabouzeid.gramophone.util.ViewUtil; import com.simplecityapps.recyclerview_fastscroll.views.FastScrollRecyclerView; import java.util.ArrayList; +import java.util.List; import butterknife.BindView; import butterknife.ButterKnife; -public class GenreDetailActivity extends AbsSlidingMusicPanelActivity implements CabHolder, LoaderManager.LoaderCallbacks> { +public class GenreDetailActivity extends AbsSlidingMusicPanelActivity implements CabHolder, LoaderManager.LoaderCallbacks> { private static final int LOADER_ID = LoaderIds.GENRE_DETAIL_ACTIVITY; @@ -174,23 +175,23 @@ public class GenreDetailActivity extends AbsSlidingMusicPanelActivity implements @Override @NonNull - public Loader> onCreateLoader(int id, Bundle args) { + public Loader> onCreateLoader(int id, Bundle args) { return new GenreDetailActivity.AsyncGenreSongLoader(this, genre); } @Override - public void onLoadFinished(@NonNull Loader> loader, ArrayList data) { + public void onLoadFinished(@NonNull Loader> loader, List data) { if (adapter != null) adapter.swapDataSet(data); } @Override - public void onLoaderReset(@NonNull Loader> loader) { + public void onLoaderReset(@NonNull Loader> loader) { if (adapter != null) adapter.swapDataSet(new ArrayList<>()); } - private static class AsyncGenreSongLoader extends WrappedAsyncTaskLoader> { + private static class AsyncGenreSongLoader extends WrappedAsyncTaskLoader> { private final Genre genre; public AsyncGenreSongLoader(Context context, Genre genre) { @@ -199,7 +200,7 @@ public class GenreDetailActivity extends AbsSlidingMusicPanelActivity implements } @Override - public ArrayList loadInBackground() { + public List loadInBackground() { return GenreLoader.getSongs(getContext(), genre.id); } } diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/MainActivity.java b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/MainActivity.java index 45b39234..f81e5ebb 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/MainActivity.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/MainActivity.java @@ -49,6 +49,7 @@ import com.kabouzeid.gramophone.util.PreferenceUtil; import com.sothree.slidinguppanel.SlidingUpPanelLayout; import java.util.ArrayList; +import java.util.List; import butterknife.BindView; import butterknife.ButterKnife; @@ -277,7 +278,7 @@ public class MainActivity extends AbsSlidingMusicPanelActivity { boolean handled = false; if (intent.getAction() != null && intent.getAction().equals(MediaStore.INTENT_ACTION_MEDIA_PLAY_FROM_SEARCH)) { - final ArrayList songs = SearchQueryHelper.getSongs(this, intent.getExtras()); + final List songs = SearchQueryHelper.getSongs(this, intent.getExtras()); if (MusicPlayerRemote.getShuffleMode() == MusicService.SHUFFLE_MODE_SHUFFLE) { MusicPlayerRemote.openAndShuffleQueue(songs, true); } else { @@ -293,7 +294,7 @@ public class MainActivity extends AbsSlidingMusicPanelActivity { final int id = (int) parseIdFromIntent(intent, "playlistId", "playlist"); if (id >= 0) { int position = intent.getIntExtra("position", 0); - ArrayList songs = new ArrayList<>(PlaylistSongLoader.getPlaylistSongList(this, id)); + List songs = new ArrayList<>(PlaylistSongLoader.getPlaylistSongList(this, id)); MusicPlayerRemote.openQueue(songs, position, true); handled = true; } diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/PlaylistDetailActivity.java b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/PlaylistDetailActivity.java index e25fd6fe..0b9666c6 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/PlaylistDetailActivity.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/PlaylistDetailActivity.java @@ -2,17 +2,18 @@ package com.kabouzeid.gramophone.ui.activities; import android.content.Context; import android.os.Bundle; -import androidx.annotation.NonNull; -import androidx.loader.app.LoaderManager; -import androidx.loader.content.Loader; -import androidx.recyclerview.widget.LinearLayoutManager; -import androidx.recyclerview.widget.RecyclerView; -import androidx.appcompat.widget.Toolbar; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.TextView; +import androidx.annotation.NonNull; +import androidx.appcompat.widget.Toolbar; +import androidx.loader.app.LoaderManager; +import androidx.loader.content.Loader; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; + import com.afollestad.materialcab.MaterialCab; import com.h6ah4i.android.widget.advrecyclerview.animator.GeneralItemAnimator; import com.h6ah4i.android.widget.advrecyclerview.animator.RefactoredDefaultItemAnimator; @@ -45,7 +46,7 @@ import java.util.List; import butterknife.BindView; import butterknife.ButterKnife; -public class PlaylistDetailActivity extends AbsSlidingMusicPanelActivity implements CabHolder, LoaderManager.LoaderCallbacks> { +public class PlaylistDetailActivity extends AbsSlidingMusicPanelActivity implements CabHolder, LoaderManager.LoaderCallbacks> { private static final int LOADER_ID = LoaderIds.PLAYLIST_DETAIL_ACTIVITY; @@ -237,23 +238,23 @@ public class PlaylistDetailActivity extends AbsSlidingMusicPanelActivity impleme } @Override - public Loader> onCreateLoader(int id, Bundle args) { + public Loader> onCreateLoader(int id, Bundle args) { return new AsyncPlaylistSongLoader(this, playlist); } @Override - public void onLoadFinished(Loader> loader, ArrayList data) { + public void onLoadFinished(Loader> loader, List data) { if (adapter != null) adapter.swapDataSet(data); } @Override - public void onLoaderReset(Loader> loader) { + public void onLoaderReset(Loader> loader) { if (adapter != null) adapter.swapDataSet(new ArrayList<>()); } - private static class AsyncPlaylistSongLoader extends WrappedAsyncTaskLoader> { + private static class AsyncPlaylistSongLoader extends WrappedAsyncTaskLoader> { private final Playlist playlist; public AsyncPlaylistSongLoader(Context context, Playlist playlist) { @@ -262,12 +263,12 @@ public class PlaylistDetailActivity extends AbsSlidingMusicPanelActivity impleme } @Override - public ArrayList loadInBackground() { + public List loadInBackground() { if (playlist instanceof AbsCustomPlaylist) { return ((AbsCustomPlaylist) playlist).getSongs(getContext()); } else { //noinspection unchecked - return (ArrayList) (List) PlaylistSongLoader.getPlaylistSongList(getContext(), playlist.id); + return (List) PlaylistSongLoader.getPlaylistSongList(getContext(), playlist.id); } } } diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/base/AbsMusicServiceActivity.java b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/base/AbsMusicServiceActivity.java index 3d15bc77..32a87da2 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/base/AbsMusicServiceActivity.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/base/AbsMusicServiceActivity.java @@ -19,13 +19,14 @@ import com.kabouzeid.gramophone.service.MusicService; import java.lang.ref.WeakReference; import java.util.ArrayList; +import java.util.List; /** * @author Karim Abou Zeid (kabouzeid) */ public abstract class AbsMusicServiceActivity extends AbsBaseActivity implements MusicServiceEventListener { - private final ArrayList mMusicServiceEventListeners = new ArrayList<>(); + private final List mMusicServiceEventListeners = new ArrayList<>(); private MusicPlayerRemote.ServiceToken serviceToken; private MusicStateReceiver musicStateReceiver; diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/tageditor/AlbumTagEditorActivity.java b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/tageditor/AlbumTagEditorActivity.java index 4b2dd760..02d880eb 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/tageditor/AlbumTagEditorActivity.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/tageditor/AlbumTagEditorActivity.java @@ -180,8 +180,8 @@ public class AlbumTagEditorActivity extends AbsTagEditorActivity implements Text @NonNull @Override protected List getSongPaths() { - ArrayList songs = AlbumLoader.getAlbum(this, getId()).songs; - ArrayList paths = new ArrayList<>(songs.size()); + List songs = AlbumLoader.getAlbum(this, getId()).songs; + List paths = new ArrayList<>(songs.size()); for (Song song : songs) { paths.add(song.data); } diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/tageditor/SongTagEditorActivity.java b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/tageditor/SongTagEditorActivity.java index 07f8a544..303e67fe 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/tageditor/SongTagEditorActivity.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/tageditor/SongTagEditorActivity.java @@ -112,7 +112,7 @@ public class SongTagEditorActivity extends AbsTagEditorActivity implements TextW @NonNull @Override protected List getSongPaths() { - ArrayList paths = new ArrayList<>(1); + List paths = new ArrayList<>(1); paths.add(SongLoader.getSong(this, getId()).data); return paths; } diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivity/folders/FoldersFragment.java b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivity/folders/FoldersFragment.java index 1205f704..5041a420 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivity/folders/FoldersFragment.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivity/folders/FoldersFragment.java @@ -6,16 +6,6 @@ import android.content.Context; import android.media.MediaScannerConnection; import android.os.Bundle; import android.os.Environment; -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; -import com.google.android.material.appbar.AppBarLayout; -import androidx.coordinatorlayout.widget.CoordinatorLayout; -import com.google.android.material.snackbar.Snackbar; -import androidx.loader.app.LoaderManager; -import androidx.loader.content.Loader; -import androidx.recyclerview.widget.LinearLayoutManager; -import androidx.recyclerview.widget.RecyclerView; -import androidx.appcompat.widget.Toolbar; import android.text.Html; import android.view.LayoutInflater; import android.view.Menu; @@ -27,8 +17,19 @@ import android.webkit.MimeTypeMap; import android.widget.PopupMenu; import android.widget.Toast; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.appcompat.widget.Toolbar; +import androidx.coordinatorlayout.widget.CoordinatorLayout; +import androidx.loader.app.LoaderManager; +import androidx.loader.content.Loader; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; + import com.afollestad.materialcab.MaterialCab; import com.afollestad.materialdialogs.MaterialDialog; +import com.google.android.material.appbar.AppBarLayout; +import com.google.android.material.snackbar.Snackbar; import com.kabouzeid.appthemehelper.ThemeStore; import com.kabouzeid.appthemehelper.common.ATHToolbarActivity; import com.kabouzeid.appthemehelper.util.ToolbarContentTintHelper; @@ -291,7 +292,7 @@ public class FoldersFragment extends AbsMainActivityFragment implements MainActi case R.id.action_scan: BreadCrumbLayout.Crumb crumb = getActiveCrumb(); if (crumb != null) { - new ListPathsAsyncTask(getActivity(), this::scanPaths).execute(new ListPathsAsyncTask.LoadingInfo(crumb.getFile(), AUDIO_FILE_FILTER)); + new ArrayListPathsAsyncTask(getActivity(), this::scanPaths).execute(new ArrayListPathsAsyncTask.LoadingInfo(crumb.getFile(), AUDIO_FILE_FILTER)); } return true; } @@ -326,7 +327,7 @@ public class FoldersFragment extends AbsMainActivityFragment implements MainActi } @Override - public void onMultipleItemAction(MenuItem item, ArrayList files) { + public void onMultipleItemAction(MenuItem item, List files) { final int itemId = item.getItemId(); new ListSongsAsyncTask(getActivity(), null, (songs, extra) -> { if (!songs.isEmpty()) { @@ -347,8 +348,8 @@ public class FoldersFragment extends AbsMainActivityFragment implements MainActi }).execute(new ListSongsAsyncTask.LoadingInfo(files, AUDIO_FILE_FILTER, getFileComparator())); } - private ArrayList toList(File file) { - ArrayList files = new ArrayList<>(1); + private List toList(File file) { + List files = new ArrayList<>(1); files.add(file); return files; } @@ -391,7 +392,7 @@ public class FoldersFragment extends AbsMainActivityFragment implements MainActi Toast.makeText(getActivity(), String.format(getString(R.string.new_start_directory), file.getPath()), Toast.LENGTH_SHORT).show(); return true; case R.id.action_scan: - new ListPathsAsyncTask(getActivity(), this::scanPaths).execute(new ListPathsAsyncTask.LoadingInfo(file, AUDIO_FILE_FILTER)); + new ArrayListPathsAsyncTask(getActivity(), this::scanPaths).execute(new ArrayListPathsAsyncTask.LoadingInfo(file, AUDIO_FILE_FILTER)); return true; } return false; @@ -503,7 +504,7 @@ public class FoldersFragment extends AbsMainActivityFragment implements MainActi } } - private static class ListSongsAsyncTask extends ListingFilesDialogAsyncTask> { + private static class ListSongsAsyncTask extends ListingFilesDialogAsyncTask> { private WeakReference contextWeakReference; private WeakReference callbackWeakReference; private final Object extra; @@ -523,7 +524,7 @@ public class FoldersFragment extends AbsMainActivityFragment implements MainActi } @Override - protected ArrayList doInBackground(LoadingInfo... params) { + protected List doInBackground(LoadingInfo... params) { try { LoadingInfo info = params[0]; List files = FileUtil.listFilesDeep(info.files, info.fileFilter); @@ -546,7 +547,7 @@ public class FoldersFragment extends AbsMainActivityFragment implements MainActi } @Override - protected void onPostExecute(ArrayList songs) { + protected void onPostExecute(List songs) { super.onPostExecute(songs); OnSongsListedCallback callback = checkCallbackReference(); if (songs != null && callback != null) @@ -582,14 +583,14 @@ public class FoldersFragment extends AbsMainActivityFragment implements MainActi } public interface OnSongsListedCallback { - void onSongsListed(@NonNull ArrayList songs, Object extra); + void onSongsListed(@NonNull List songs, Object extra); } } - public static class ListPathsAsyncTask extends ListingFilesDialogAsyncTask { + public static class ArrayListPathsAsyncTask extends ListingFilesDialogAsyncTask { private WeakReference onPathsListedCallbackWeakReference; - public ListPathsAsyncTask(Context context, OnPathsListedCallback callback) { + public ArrayListPathsAsyncTask(Context context, OnPathsListedCallback callback) { super(context, 500); onPathsListedCallbackWeakReference = new WeakReference<>(callback); } diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivity/library/pager/AlbumsFragment.java b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivity/library/pager/AlbumsFragment.java index 03303129..ad8a7595 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivity/library/pager/AlbumsFragment.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivity/library/pager/AlbumsFragment.java @@ -16,11 +16,12 @@ import com.kabouzeid.gramophone.model.Album; import com.kabouzeid.gramophone.util.PreferenceUtil; import java.util.ArrayList; +import java.util.List; /** * @author Karim Abou Zeid (kabouzeid) */ -public class AlbumsFragment extends AbsLibraryPagerRecyclerViewCustomGridSizeFragment implements LoaderManager.LoaderCallbacks> { +public class AlbumsFragment extends AbsLibraryPagerRecyclerViewCustomGridSizeFragment implements LoaderManager.LoaderCallbacks> { private static final int LOADER_ID = LoaderIds.ALBUMS_FRAGMENT; @@ -40,7 +41,7 @@ public class AlbumsFragment extends AbsLibraryPagerRecyclerViewCustomGridSizeFra protected AlbumAdapter createAdapter() { int itemLayoutRes = getItemLayoutRes(); notifyLayoutResChanged(itemLayoutRes); - ArrayList dataSet = getAdapter() == null ? new ArrayList<>() : getAdapter().getDataSet(); + List dataSet = getAdapter() == null ? new ArrayList<>() : getAdapter().getDataSet(); return new AlbumAdapter( getLibraryFragment().getMainActivity(), dataSet, @@ -116,27 +117,27 @@ public class AlbumsFragment extends AbsLibraryPagerRecyclerViewCustomGridSizeFra } @Override - public Loader> onCreateLoader(int id, Bundle args) { + public Loader> onCreateLoader(int id, Bundle args) { return new AsyncAlbumLoader(getActivity()); } @Override - public void onLoadFinished(Loader> loader, ArrayList data) { + public void onLoadFinished(Loader> loader, List data) { getAdapter().swapDataSet(data); } @Override - public void onLoaderReset(Loader> loader) { + public void onLoaderReset(Loader> loader) { getAdapter().swapDataSet(new ArrayList<>()); } - private static class AsyncAlbumLoader extends WrappedAsyncTaskLoader> { + private static class AsyncAlbumLoader extends WrappedAsyncTaskLoader> { public AsyncAlbumLoader(Context context) { super(context); } @Override - public ArrayList loadInBackground() { + public List loadInBackground() { return AlbumLoader.getAllAlbums(getContext()); } } diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivity/library/pager/ArtistsFragment.java b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivity/library/pager/ArtistsFragment.java index 6a276e96..8437cbf9 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivity/library/pager/ArtistsFragment.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivity/library/pager/ArtistsFragment.java @@ -16,11 +16,12 @@ import com.kabouzeid.gramophone.model.Artist; import com.kabouzeid.gramophone.util.PreferenceUtil; import java.util.ArrayList; +import java.util.List; /** * @author Karim Abou Zeid (kabouzeid) */ -public class ArtistsFragment extends AbsLibraryPagerRecyclerViewCustomGridSizeFragment implements LoaderManager.LoaderCallbacks> { +public class ArtistsFragment extends AbsLibraryPagerRecyclerViewCustomGridSizeFragment implements LoaderManager.LoaderCallbacks> { private static final int LOADER_ID = LoaderIds.ARTISTS_FRAGMENT; @@ -41,7 +42,7 @@ public class ArtistsFragment extends AbsLibraryPagerRecyclerViewCustomGridSizeFr protected ArtistAdapter createAdapter() { int itemLayoutRes = getItemLayoutRes(); notifyLayoutResChanged(itemLayoutRes); - ArrayList dataSet = getAdapter() == null ? new ArrayList<>() : getAdapter().getDataSet(); + List dataSet = getAdapter() == null ? new ArrayList<>() : getAdapter().getDataSet(); return new ArtistAdapter( getLibraryFragment().getMainActivity(), dataSet, @@ -118,29 +119,29 @@ public class ArtistsFragment extends AbsLibraryPagerRecyclerViewCustomGridSizeFr @Override - public Loader> onCreateLoader(int id, Bundle args) { + public Loader> onCreateLoader(int id, Bundle args) { return new AsyncArtistLoader(getActivity()); } @Override - public void onLoadFinished(Loader> loader, ArrayList data) { + public void onLoadFinished(Loader> loader, List data) { getAdapter().swapDataSet(data); } @Override - public void onLoaderReset(Loader> loader) { + public void onLoaderReset(Loader> loader) { getAdapter().swapDataSet(new ArrayList<>()); } - private static class AsyncArtistLoader extends WrappedAsyncTaskLoader> { + private static class AsyncArtistLoader extends WrappedAsyncTaskLoader> { public AsyncArtistLoader(Context context) { super(context); } @Override - public ArrayList loadInBackground() { + public List loadInBackground() { return ArtistLoader.getAllArtists(getContext()); } } diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivity/library/pager/GenresFragment.java b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivity/library/pager/GenresFragment.java index ee623ac0..bedfb418 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivity/library/pager/GenresFragment.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivity/library/pager/GenresFragment.java @@ -15,8 +15,9 @@ import com.kabouzeid.gramophone.misc.WrappedAsyncTaskLoader; import com.kabouzeid.gramophone.model.Genre; import java.util.ArrayList; +import java.util.List; -public class GenresFragment extends AbsLibraryPagerRecyclerViewFragment implements LoaderManager.LoaderCallbacks> { +public class GenresFragment extends AbsLibraryPagerRecyclerViewFragment implements LoaderManager.LoaderCallbacks> { private static final int LOADER_ID = LoaderIds.GENRES_FRAGMENT; @@ -35,7 +36,7 @@ public class GenresFragment extends AbsLibraryPagerRecyclerViewFragment dataSet = getAdapter() == null ? new ArrayList<>() : getAdapter().getDataSet(); + List dataSet = getAdapter() == null ? new ArrayList<>() : getAdapter().getDataSet(); return new GenreAdapter(getLibraryFragment().getMainActivity(), dataSet, R.layout.item_list_no_image); } @@ -51,27 +52,27 @@ public class GenresFragment extends AbsLibraryPagerRecyclerViewFragment> onCreateLoader(int id, Bundle args) { + public Loader> onCreateLoader(int id, Bundle args) { return new GenresFragment.AsyncGenreLoader(getActivity()); } @Override - public void onLoadFinished(@NonNull Loader> loader, ArrayList data) { + public void onLoadFinished(@NonNull Loader> loader, List data) { getAdapter().swapDataSet(data); } @Override - public void onLoaderReset(@NonNull Loader> loader) { + public void onLoaderReset(@NonNull Loader> loader) { getAdapter().swapDataSet(new ArrayList<>()); } - private static class AsyncGenreLoader extends WrappedAsyncTaskLoader> { + private static class AsyncGenreLoader extends WrappedAsyncTaskLoader> { public AsyncGenreLoader(Context context) { super(context); } @Override - public ArrayList loadInBackground() { + public List loadInBackground() { return GenreLoader.getAllGenres(getContext()); } } 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 54a92413..b69f4add 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 @@ -2,6 +2,7 @@ package com.kabouzeid.gramophone.ui.fragments.mainactivity.library.pager; import android.content.Context; import android.os.Bundle; + import androidx.annotation.NonNull; import androidx.loader.app.LoaderManager; import androidx.loader.content.Loader; @@ -18,11 +19,12 @@ import com.kabouzeid.gramophone.model.smartplaylist.LastAddedPlaylist; import com.kabouzeid.gramophone.model.smartplaylist.MyTopTracksPlaylist; import java.util.ArrayList; +import java.util.List; /** * @author Karim Abou Zeid (kabouzeid) */ -public class PlaylistsFragment extends AbsLibraryPagerRecyclerViewFragment implements LoaderManager.LoaderCallbacks> { +public class PlaylistsFragment extends AbsLibraryPagerRecyclerViewFragment implements LoaderManager.LoaderCallbacks> { private static final int LOADER_ID = LoaderIds.PLAYLISTS_FRAGMENT; @@ -41,7 +43,7 @@ public class PlaylistsFragment extends AbsLibraryPagerRecyclerViewFragment dataSet = getAdapter() == null ? new ArrayList<>() : getAdapter().getDataSet(); + List dataSet = getAdapter() == null ? new ArrayList<>() : getAdapter().getDataSet(); return new PlaylistAdapter(getLibraryFragment().getMainActivity(), dataSet, R.layout.item_list_single_row, getLibraryFragment()); } @@ -56,27 +58,27 @@ public class PlaylistsFragment extends AbsLibraryPagerRecyclerViewFragment> onCreateLoader(int id, Bundle args) { + public Loader> onCreateLoader(int id, Bundle args) { return new AsyncPlaylistLoader(getActivity()); } @Override - public void onLoadFinished(Loader> loader, ArrayList data) { + public void onLoadFinished(Loader> loader, List data) { getAdapter().swapDataSet(data); } @Override - public void onLoaderReset(Loader> loader) { + public void onLoaderReset(Loader> loader) { getAdapter().swapDataSet(new ArrayList<>()); } - private static class AsyncPlaylistLoader extends WrappedAsyncTaskLoader> { + private static class AsyncPlaylistLoader extends WrappedAsyncTaskLoader> { public AsyncPlaylistLoader(Context context) { super(context); } - private static ArrayList getAllPlaylists(Context context) { - ArrayList playlists = new ArrayList<>(); + private static List getAllPlaylists(Context context) { + List playlists = new ArrayList<>(); playlists.add(new LastAddedPlaylist(context)); playlists.add(new HistoryPlaylist(context)); @@ -88,7 +90,7 @@ public class PlaylistsFragment extends AbsLibraryPagerRecyclerViewFragment loadInBackground() { + public List loadInBackground() { return getAllPlaylists(getContext()); } } diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivity/library/pager/SongsFragment.java b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivity/library/pager/SongsFragment.java index 63ee2542..8477b047 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivity/library/pager/SongsFragment.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/mainactivity/library/pager/SongsFragment.java @@ -17,11 +17,12 @@ import com.kabouzeid.gramophone.model.Song; import com.kabouzeid.gramophone.util.PreferenceUtil; import java.util.ArrayList; +import java.util.List; /** * @author Karim Abou Zeid (kabouzeid) */ -public class SongsFragment extends AbsLibraryPagerRecyclerViewCustomGridSizeFragment implements LoaderManager.LoaderCallbacks> { +public class SongsFragment extends AbsLibraryPagerRecyclerViewCustomGridSizeFragment implements LoaderManager.LoaderCallbacks> { private static final int LOADER_ID = LoaderIds.SONGS_FRAGMENT; @@ -43,7 +44,7 @@ public class SongsFragment extends AbsLibraryPagerRecyclerViewCustomGridSizeFrag int itemLayoutRes = getItemLayoutRes(); notifyLayoutResChanged(itemLayoutRes); boolean usePalette = loadUsePalette(); - ArrayList dataSet = getAdapter() == null ? new ArrayList<>() : getAdapter().getDataSet(); + List dataSet = getAdapter() == null ? new ArrayList<>() : getAdapter().getDataSet(); if (getGridSize() <= getMaxGridSizeForList()) { return new ShuffleButtonSongAdapter( @@ -128,27 +129,27 @@ public class SongsFragment extends AbsLibraryPagerRecyclerViewCustomGridSizeFrag } @Override - public Loader> onCreateLoader(int id, Bundle args) { + public Loader> onCreateLoader(int id, Bundle args) { return new AsyncSongLoader(getActivity()); } @Override - public void onLoadFinished(Loader> loader, ArrayList data) { + public void onLoadFinished(Loader> loader, List data) { getAdapter().swapDataSet(data); } @Override - public void onLoaderReset(Loader> loader) { + public void onLoaderReset(Loader> loader) { getAdapter().swapDataSet(new ArrayList<>()); } - private static class AsyncSongLoader extends WrappedAsyncTaskLoader> { + private static class AsyncSongLoader extends WrappedAsyncTaskLoader> { public AsyncSongLoader(Context context) { super(context); } @Override - public ArrayList loadInBackground() { + public List loadInBackground() { return SongLoader.getAllSongs(getContext()); } } diff --git a/app/src/main/java/com/kabouzeid/gramophone/util/FileUtil.java b/app/src/main/java/com/kabouzeid/gramophone/util/FileUtil.java index 51019b9b..7661a58e 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/util/FileUtil.java +++ b/app/src/main/java/com/kabouzeid/gramophone/util/FileUtil.java @@ -32,7 +32,7 @@ public final class FileUtil { } @NonNull - public static ArrayList matchFilesWithMediaStore(@NonNull Context context, @Nullable List files) { + public static List matchFilesWithMediaStore(@NonNull Context context, @Nullable List files) { return SongLoader.getSongs(makeSongCursor(context, files)); } diff --git a/app/src/main/java/com/kabouzeid/gramophone/util/MusicUtil.java b/app/src/main/java/com/kabouzeid/gramophone/util/MusicUtil.java index 7df94b39..6258c4c5 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/util/MusicUtil.java +++ b/app/src/main/java/com/kabouzeid/gramophone/util/MusicUtil.java @@ -376,7 +376,7 @@ public class MusicUtil { String filename = Pattern.quote(FileUtil.stripExtension(file.getName())); String songtitle = Pattern.quote(song.title); - final ArrayList patterns = new ArrayList<>(); + final List patterns = new ArrayList<>(); patterns.add(Pattern.compile(String.format(format, filename), Pattern.CASE_INSENSITIVE | Pattern.UNICODE_CASE)); patterns.add(Pattern.compile(String.format(format, songtitle), Pattern.CASE_INSENSITIVE | Pattern.UNICODE_CASE)); diff --git a/app/src/main/java/com/kabouzeid/gramophone/util/PlaylistsUtil.java b/app/src/main/java/com/kabouzeid/gramophone/util/PlaylistsUtil.java index d287d780..cec8671c 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/util/PlaylistsUtil.java +++ b/app/src/main/java/com/kabouzeid/gramophone/util/PlaylistsUtil.java @@ -82,7 +82,7 @@ public class PlaylistsUtil { return id; } - public static void deletePlaylists(@NonNull final Context context, @NonNull final ArrayList playlists) { + public static void deletePlaylists(@NonNull final Context context, @NonNull final List playlists) { final StringBuilder selection = new StringBuilder(); selection.append(MediaStore.Audio.Playlists._ID + " IN ("); for (int i = 0; i < playlists.size(); i++) { diff --git a/app/src/main/java/com/kabouzeid/gramophone/util/PreferenceUtil.java b/app/src/main/java/com/kabouzeid/gramophone/util/PreferenceUtil.java index 368e08fa..66e4234f 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/util/PreferenceUtil.java +++ b/app/src/main/java/com/kabouzeid/gramophone/util/PreferenceUtil.java @@ -22,6 +22,7 @@ import com.kabouzeid.gramophone.ui.fragments.player.NowPlayingScreen; import java.io.File; import java.lang.reflect.Type; import java.util.ArrayList; +import java.util.List; public final class PreferenceUtil { public static final String GENERAL_THEME = "general_theme"; @@ -498,9 +499,9 @@ public final class PreferenceUtil { return mPreferences.getBoolean(INITIALIZED_BLACKLIST, false); } - public void setLibraryCategoryInfos(ArrayList categories) { + public void setLibraryCategoryInfos(List categories) { Gson gson = new Gson(); - Type collectionType = new TypeToken>() { + Type collectionType = new TypeToken>() { }.getType(); final SharedPreferences.Editor editor = mPreferences.edit(); @@ -508,11 +509,11 @@ public final class PreferenceUtil { editor.apply(); } - public ArrayList getLibraryCategoryInfos() { + public List getLibraryCategoryInfos() { String data = mPreferences.getString(LIBRARY_CATEGORIES, null); if (data != null) { Gson gson = new Gson(); - Type collectionType = new TypeToken>() { + Type collectionType = new TypeToken>() { }.getType(); try { @@ -525,8 +526,8 @@ public final class PreferenceUtil { return getDefaultLibraryCategoryInfos(); } - public ArrayList getDefaultLibraryCategoryInfos() { - ArrayList defaultCategoryInfos = new ArrayList<>(5); + public List getDefaultLibraryCategoryInfos() { + List defaultCategoryInfos = new ArrayList<>(5); defaultCategoryInfos.add(new CategoryInfo(CategoryInfo.Category.SONGS, true)); defaultCategoryInfos.add(new CategoryInfo(CategoryInfo.Category.ALBUMS, true)); defaultCategoryInfos.add(new CategoryInfo(CategoryInfo.Category.ARTISTS, true));