From beca66459b263a0da7cdc4f2addaa48a9ac571e5 Mon Sep 17 00:00:00 2001 From: dkanada Date: Sun, 25 Apr 2021 10:20:10 +0900 Subject: [PATCH] fix a large amount of deprecated and ide warnings --- .../gramophone/activities/MainActivity.java | 10 +-- .../gramophone/activities/SearchActivity.java | 61 +++++++++---------- .../details/AlbumDetailActivity.java | 1 - .../details/ArtistDetailActivity.java | 2 - .../details/GenreDetailActivity.java | 11 ---- .../details/PlaylistDetailActivity.java | 2 - .../gramophone/adapter/CategoryAdapter.java | 11 ++-- .../adapter/DirectPlayCodecAdapter.java | 5 +- .../gramophone/adapter/GenreAdapter.java | 5 +- .../gramophone/adapter/PlaylistAdapter.java | 11 ++-- .../gramophone/adapter/SearchAdapter.java | 8 +-- .../adapter/album/AlbumAdapter.java | 16 ++--- .../adapter/artist/ArtistAdapter.java | 8 +-- .../adapter/song/AbsOffsetSongAdapter.java | 8 +-- .../adapter/song/AlbumSongAdapter.java | 1 - .../song/OrderablePlaylistSongAdapter.java | 5 +- .../adapter/song/PlayingQueueAdapter.java | 11 ++-- .../adapter/song/PlaylistSongAdapter.java | 2 +- .../gramophone/adapter/song/SongAdapter.java | 17 +++--- .../helper/HorizontalAdapterHelper.java | 1 + .../helper/MusicProgressViewUpdateHelper.java | 7 ++- .../gramophone/helper/SwipeAndDragHelper.java | 15 ++--- .../helper/menu/SongMenuHelper.java | 2 +- .../notification/PlayingNotification.java | 7 ++- .../dkanada/gramophone/util/ThemeUtil.java | 2 +- .../shortcuttype/BaseShortcutType.java | 6 +- 26 files changed, 112 insertions(+), 123 deletions(-) diff --git a/app/src/main/java/com/dkanada/gramophone/activities/MainActivity.java b/app/src/main/java/com/dkanada/gramophone/activities/MainActivity.java index e0b30484..3bcde611 100644 --- a/app/src/main/java/com/dkanada/gramophone/activities/MainActivity.java +++ b/app/src/main/java/com/dkanada/gramophone/activities/MainActivity.java @@ -43,7 +43,7 @@ public class MainActivity extends AbsMusicPanelActivity { private boolean onLogout; @Nullable - MainActivityFragmentCallbacks currentFragment; + private MainActivityFragmentCallbacks currentFragment; @Nullable private List libraries; @@ -59,7 +59,7 @@ public class MainActivity extends AbsMusicPanelActivity { Menu menu = binding.navigationView.getMenu(); QueryUtil.getLibraries(media -> { - libraries = (List) media; + libraries = media; menu.clear(); for (BaseItemDto itemDto : libraries) { @@ -164,11 +164,7 @@ public class MainActivity extends AbsMusicPanelActivity { || menuItem.getItemId() == R.id.nav_logout) return true; for (int i = 0; i < binding.navigationView.getMenu().size(); i++) { - if (binding.navigationView.getMenu().getItem(i) == menuItem) { - binding.navigationView.getMenu().getItem(i).setChecked(true); - } else { - binding.navigationView.getMenu().getItem(i).setChecked(false); - } + binding.navigationView.getMenu().getItem(i).setChecked(binding.navigationView.getMenu().getItem(i) == menuItem); } return true; diff --git a/app/src/main/java/com/dkanada/gramophone/activities/SearchActivity.java b/app/src/main/java/com/dkanada/gramophone/activities/SearchActivity.java index 1b6a5872..9ff7f8b7 100644 --- a/app/src/main/java/com/dkanada/gramophone/activities/SearchActivity.java +++ b/app/src/main/java/com/dkanada/gramophone/activities/SearchActivity.java @@ -1,5 +1,6 @@ package com.dkanada.gramophone.activities; +import android.annotation.SuppressLint; import android.os.Bundle; import android.os.Handler; import android.view.Menu; @@ -29,8 +30,9 @@ import java.util.ArrayList; import java.util.Collections; import java.util.List; +@SuppressLint("ClickableViewAccessibility") public class SearchActivity extends AbsMusicServiceActivity implements SearchView.OnQueryTextListener { - public String QUERY = "query"; + private String QUERY = "query"; private ActivitySearchBinding binding; @@ -82,6 +84,7 @@ public class SearchActivity extends AbsMusicServiceActivity implements SearchVie @Override protected void onSaveInstanceState(@NonNull Bundle outState) { super.onSaveInstanceState(outState); + outState.putString(QUERY, query); } @@ -116,7 +119,7 @@ public class SearchActivity extends AbsMusicServiceActivity implements SearchVie }); searchView.setQuery(query, false); - searchView.post(() -> searchView.setOnQueryTextListener(SearchActivity.this)); + searchView.setOnQueryTextListener(SearchActivity.this); return super.onCreateOptionsMenu(menu); } @@ -136,34 +139,31 @@ public class SearchActivity extends AbsMusicServiceActivity implements SearchVie ItemQuery itemQuery = new ItemQuery(); itemQuery.setSearchTerm(query); - MediaCallback callback = new MediaCallback() { - @Override - public void onLoadMedia(List media) { - List artists = new ArrayList<>(); - List albums = new ArrayList<>(); - List songs = new ArrayList<>(); + MediaCallback callback = media -> { + List artists = new ArrayList<>(); + List albums = new ArrayList<>(); + List songs = new ArrayList<>(); - for (Object result : media) { - if (result instanceof Artist) { - artists.add((Artist) result); - } else if (result instanceof Album) { - albums.add((Album) result); - } else if (result instanceof Song) { - songs.add((Song) result); - } + for (Object result : media) { + if (result instanceof Artist) { + artists.add((Artist) result); + } else if (result instanceof Album) { + albums.add((Album) result); + } else if (result instanceof Song) { + songs.add((Song) result); } - - Collections.sort(artists, (one, two) -> one.name.compareTo(two.name)); - Collections.sort(albums, (one, two) -> one.title.compareTo(two.title)); - Collections.sort(songs, (one, two) -> one.title.compareTo(two.title)); - - List sortedData = new ArrayList<>(); - sortedData.addAll(artists); - sortedData.addAll(albums); - sortedData.addAll(songs); - - adapter.swapDataSet(sortedData); } + + Collections.sort(artists, (one, two) -> one.name.compareTo(two.name)); + Collections.sort(albums, (one, two) -> one.title.compareTo(two.title)); + Collections.sort(songs, (one, two) -> one.title.compareTo(two.title)); + + List sortedData = new ArrayList<>(); + sortedData.addAll(artists); + sortedData.addAll(albums); + sortedData.addAll(songs); + + adapter.swapDataSet(sortedData); }; QueryUtil.getItems(itemQuery, callback); @@ -178,12 +178,7 @@ public class SearchActivity extends AbsMusicServiceActivity implements SearchVie @Override public boolean onQueryTextChange(String newText) { handler.removeCallbacksAndMessages(null); - handler.postDelayed(new Runnable() { - @Override - public void run() { - search(newText); - } - }, 1000); + handler.postDelayed(() -> search(newText), 1000); return false; } diff --git a/app/src/main/java/com/dkanada/gramophone/activities/details/AlbumDetailActivity.java b/app/src/main/java/com/dkanada/gramophone/activities/details/AlbumDetailActivity.java index a43acb7c..5e3a926e 100644 --- a/app/src/main/java/com/dkanada/gramophone/activities/details/AlbumDetailActivity.java +++ b/app/src/main/java/com/dkanada/gramophone/activities/details/AlbumDetailActivity.java @@ -24,7 +24,6 @@ import com.dkanada.gramophone.glide.CustomGlideRequest; import com.dkanada.gramophone.glide.CustomPaletteTarget; import com.dkanada.gramophone.helper.MusicPlayerRemote; import com.dkanada.gramophone.interfaces.CabHolder; -import com.dkanada.gramophone.interfaces.MediaCallback; import com.dkanada.gramophone.interfaces.PaletteColorHolder; import com.dkanada.gramophone.model.Album; import com.dkanada.gramophone.model.Artist; diff --git a/app/src/main/java/com/dkanada/gramophone/activities/details/ArtistDetailActivity.java b/app/src/main/java/com/dkanada/gramophone/activities/details/ArtistDetailActivity.java index d6003866..af2eaea4 100644 --- a/app/src/main/java/com/dkanada/gramophone/activities/details/ArtistDetailActivity.java +++ b/app/src/main/java/com/dkanada/gramophone/activities/details/ArtistDetailActivity.java @@ -26,9 +26,7 @@ import com.dkanada.gramophone.glide.CustomGlideRequest; import com.dkanada.gramophone.glide.CustomPaletteTarget; import com.dkanada.gramophone.helper.MusicPlayerRemote; import com.dkanada.gramophone.interfaces.CabHolder; -import com.dkanada.gramophone.interfaces.MediaCallback; import com.dkanada.gramophone.interfaces.PaletteColorHolder; -import com.dkanada.gramophone.model.Album; import com.dkanada.gramophone.model.Artist; import com.dkanada.gramophone.model.Song; import com.dkanada.gramophone.activities.base.AbsMusicPanelActivity; diff --git a/app/src/main/java/com/dkanada/gramophone/activities/details/GenreDetailActivity.java b/app/src/main/java/com/dkanada/gramophone/activities/details/GenreDetailActivity.java index b5476381..48a22e11 100644 --- a/app/src/main/java/com/dkanada/gramophone/activities/details/GenreDetailActivity.java +++ b/app/src/main/java/com/dkanada/gramophone/activities/details/GenreDetailActivity.java @@ -11,15 +11,12 @@ import androidx.recyclerview.widget.RecyclerView; import com.afollestad.materialcab.MaterialCab; import com.dkanada.gramophone.databinding.ActivityGenreDetailBinding; -import com.h6ah4i.android.widget.advrecyclerview.utils.WrapperAdapterUtils; import com.kabouzeid.appthemehelper.ThemeStore; import com.dkanada.gramophone.R; import com.dkanada.gramophone.adapter.song.SongAdapter; import com.dkanada.gramophone.helper.MusicPlayerRemote; import com.dkanada.gramophone.interfaces.CabHolder; -import com.dkanada.gramophone.interfaces.MediaCallback; import com.dkanada.gramophone.model.Genre; -import com.dkanada.gramophone.model.Song; import com.dkanada.gramophone.activities.base.AbsMusicPanelActivity; import com.dkanada.gramophone.util.ThemeUtil; import com.dkanada.gramophone.util.QueryUtil; @@ -29,7 +26,6 @@ import com.simplecityapps.recyclerview_fastscroll.views.FastScrollRecyclerView; import org.jellyfin.apiclient.model.querying.ItemQuery; import java.util.ArrayList; -import java.util.List; public class GenreDetailActivity extends AbsMusicPanelActivity implements CabHolder { public static final String EXTRA_GENRE = "extra_genre"; @@ -41,8 +37,6 @@ public class GenreDetailActivity extends AbsMusicPanelActivity implements CabHol private MaterialCab cab; private SongAdapter adapter; - private RecyclerView.Adapter wrappedAdapter; - @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -148,11 +142,6 @@ public class GenreDetailActivity extends AbsMusicPanelActivity implements CabHol protected void onDestroy() { binding.recyclerView.setAdapter(null); - if (wrappedAdapter != null) { - WrapperAdapterUtils.releaseAll(wrappedAdapter); - wrappedAdapter = null; - } - adapter = null; super.onDestroy(); } diff --git a/app/src/main/java/com/dkanada/gramophone/activities/details/PlaylistDetailActivity.java b/app/src/main/java/com/dkanada/gramophone/activities/details/PlaylistDetailActivity.java index bdf31ed2..ce2e037f 100644 --- a/app/src/main/java/com/dkanada/gramophone/activities/details/PlaylistDetailActivity.java +++ b/app/src/main/java/com/dkanada/gramophone/activities/details/PlaylistDetailActivity.java @@ -22,7 +22,6 @@ import com.dkanada.gramophone.adapter.song.SongAdapter; import com.dkanada.gramophone.helper.MusicPlayerRemote; import com.dkanada.gramophone.helper.menu.PlaylistMenuHelper; import com.dkanada.gramophone.interfaces.CabHolder; -import com.dkanada.gramophone.interfaces.MediaCallback; import com.dkanada.gramophone.model.Playlist; import com.dkanada.gramophone.model.PlaylistSong; import com.dkanada.gramophone.model.Song; @@ -35,7 +34,6 @@ import com.simplecityapps.recyclerview_fastscroll.views.FastScrollRecyclerView; import org.jellyfin.apiclient.model.playlists.PlaylistItemQuery; import java.util.ArrayList; -import java.util.List; public class PlaylistDetailActivity extends AbsMusicPanelActivity implements CabHolder { public static String EXTRA_PLAYLIST = "extra_playlist"; diff --git a/app/src/main/java/com/dkanada/gramophone/adapter/CategoryAdapter.java b/app/src/main/java/com/dkanada/gramophone/adapter/CategoryAdapter.java index aa89341e..53fa67c1 100644 --- a/app/src/main/java/com/dkanada/gramophone/adapter/CategoryAdapter.java +++ b/app/src/main/java/com/dkanada/gramophone/adapter/CategoryAdapter.java @@ -19,6 +19,7 @@ import com.dkanada.gramophone.helper.SwipeAndDragHelper; import java.util.List; +@SuppressLint("ClickableViewAccessibility") public class CategoryAdapter extends RecyclerView.Adapter implements SwipeAndDragHelper.ActionCompletionContract { private List categories; private ItemTouchHelper touchHelper; @@ -29,14 +30,14 @@ public class CategoryAdapter extends RecyclerView.Adapter @Override public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { View view = LayoutInflater.from(activity).inflate(itemLayoutRes, parent, false); + return new ViewHolder(view); } @@ -57,7 +58,7 @@ public class GenreAdapter extends RecyclerView.Adapter public void onBindViewHolder(@NonNull ViewHolder holder, int position) { final Genre genre = dataSet.get(position); - if (holder.getAdapterPosition() == getItemCount() - 1) { + if (holder.getBindingAdapterPosition() == getItemCount() - 1) { if (holder.shortSeparator != null) { holder.shortSeparator.setVisibility(View.GONE); } @@ -115,7 +116,7 @@ public class GenreAdapter extends RecyclerView.Adapter @Override public void onClick(View view) { - Genre genre = dataSet.get(getAdapterPosition()); + Genre genre = dataSet.get(getBindingAdapterPosition()); NavigationUtil.goToGenre(activity, genre); } } diff --git a/app/src/main/java/com/dkanada/gramophone/adapter/PlaylistAdapter.java b/app/src/main/java/com/dkanada/gramophone/adapter/PlaylistAdapter.java index 63210bb7..73408808 100644 --- a/app/src/main/java/com/dkanada/gramophone/adapter/PlaylistAdapter.java +++ b/app/src/main/java/com/dkanada/gramophone/adapter/PlaylistAdapter.java @@ -59,6 +59,7 @@ public class PlaylistAdapter extends AbsMultiSelectAdapter PlaylistMenuHelper.handleMenuClick(activity, dataSet.get(getAdapterPosition()), item)); + popupMenu.setOnMenuItemClickListener(item -> PlaylistMenuHelper.handleMenuClick(activity, dataSet.get(getBindingAdapterPosition()), item)); popupMenu.show(); }); @@ -159,16 +160,16 @@ public class PlaylistAdapter extends AbsMultiSelectAdapter { - private static final int HEADER = 0; private static final int ALBUM = 1; private static final int ARTIST = 2; @@ -53,8 +52,8 @@ public class SearchAdapter extends RecyclerView.Adapter dataSet, @LayoutRes int itemLayoutRes, boolean usePalette, @Nullable CabHolder cabHolder) { super(activity, cabHolder, R.menu.menu_media_selection); + this.activity = activity; this.dataSet = dataSet; this.itemLayoutRes = itemLayoutRes; @@ -64,10 +65,11 @@ public class AlbumAdapter extends AbsMultiSelectAdapter 0 && (ViewUtil.hitTest(holder.dragView, x, y) || ViewUtil.hitTest(holder.image, x, y)); } @Override - public ItemDraggableRange onGetItemDraggableRange(ViewHolder holder, int position) { + public ItemDraggableRange onGetItemDraggableRange(@NonNull ViewHolder holder, int position) { return new ItemDraggableRange(1, dataSet.size()); } @@ -98,6 +98,7 @@ public class OrderablePlaylistSongAdapter extends PlaylistSongAdapter implements public ViewHolder(@NonNull View itemView) { super(itemView); + if (dragView != null) { if (onMoveItemListener != null) { dragView.setVisibility(View.VISIBLE); diff --git a/app/src/main/java/com/dkanada/gramophone/adapter/song/PlayingQueueAdapter.java b/app/src/main/java/com/dkanada/gramophone/adapter/song/PlayingQueueAdapter.java index 7e0ff9d1..ee711307 100644 --- a/app/src/main/java/com/dkanada/gramophone/adapter/song/PlayingQueueAdapter.java +++ b/app/src/main/java/com/dkanada/gramophone/adapter/song/PlayingQueueAdapter.java @@ -24,7 +24,7 @@ import java.util.List; public class PlayingQueueAdapter extends SongAdapter implements DraggableItemAdapter { private static final int HISTORY = 0; private static final int CURRENT = 1; - private static final int UP_NEXT = 2; + private static final int NEXT = 2; private int current; @@ -44,6 +44,7 @@ public class PlayingQueueAdapter extends SongAdapter implements DraggableItemAda if (holder.imageText != null) { holder.imageText.setText(String.valueOf(position - current)); } + if (holder.getItemViewType() == HISTORY || holder.getItemViewType() == CURRENT) { setAlpha(holder, 0.5f); } @@ -54,8 +55,9 @@ public class PlayingQueueAdapter extends SongAdapter implements DraggableItemAda if (position < current) { return HISTORY; } else if (position > current) { - return UP_NEXT; + return NEXT; } + return CURRENT; } @@ -103,7 +105,7 @@ public class PlayingQueueAdapter extends SongAdapter implements DraggableItemAda } @Override - public ItemDraggableRange onGetItemDraggableRange(ViewHolder holder, int position) { + public ItemDraggableRange onGetItemDraggableRange(@NonNull ViewHolder holder, int position) { return null; } @@ -133,6 +135,7 @@ public class PlayingQueueAdapter extends SongAdapter implements DraggableItemAda public ViewHolder(@NonNull View itemView) { super(itemView); + if (imageText != null) { imageText.setVisibility(View.VISIBLE); } @@ -151,7 +154,7 @@ public class PlayingQueueAdapter extends SongAdapter implements DraggableItemAda protected boolean onSongMenuItemClick(MenuItem item) { switch (item.getItemId()) { case R.id.action_remove_from_queue: - MusicPlayerRemote.removeFromQueue(getAdapterPosition()); + MusicPlayerRemote.removeFromQueue(getBindingAdapterPosition()); return true; } diff --git a/app/src/main/java/com/dkanada/gramophone/adapter/song/PlaylistSongAdapter.java b/app/src/main/java/com/dkanada/gramophone/adapter/song/PlaylistSongAdapter.java index 575446f9..8cfb5113 100644 --- a/app/src/main/java/com/dkanada/gramophone/adapter/song/PlaylistSongAdapter.java +++ b/app/src/main/java/com/dkanada/gramophone/adapter/song/PlaylistSongAdapter.java @@ -84,7 +84,7 @@ public class PlaylistSongAdapter extends AbsOffsetSongAdapter { protected boolean onSongMenuItemClick(MenuItem item) { if (item.getItemId() == R.id.action_go_to_album) { Pair[] albumPairs = new Pair[]{Pair.create(image, activity.getString(R.string.transition_album_image))}; - NavigationUtil.goToAlbum(activity, new Album(dataSet.get(getAdapterPosition() - 1)), albumPairs); + NavigationUtil.goToAlbum(activity, new Album(dataSet.get(getBindingAdapterPosition() - 1)), albumPairs); return true; } diff --git a/app/src/main/java/com/dkanada/gramophone/adapter/song/SongAdapter.java b/app/src/main/java/com/dkanada/gramophone/adapter/song/SongAdapter.java index 816937f4..4e9da7c3 100644 --- a/app/src/main/java/com/dkanada/gramophone/adapter/song/SongAdapter.java +++ b/app/src/main/java/com/dkanada/gramophone/adapter/song/SongAdapter.java @@ -35,7 +35,6 @@ import com.simplecityapps.recyclerview_fastscroll.views.FastScrollRecyclerView; import java.util.List; public class SongAdapter extends AbsMultiSelectAdapter implements MaterialCab.Callback, FastScrollRecyclerView.SectionedAdapter { - protected final AppCompatActivity activity; protected List dataSet; @@ -56,6 +55,7 @@ public class SongAdapter extends AbsMultiSelectAdapter { private static SwatchComparator sInstance; - static SwatchComparator getInstance() { + private static SwatchComparator getInstance() { if (sInstance == null) { sInstance = new SwatchComparator(); } diff --git a/app/src/main/java/com/dkanada/gramophone/views/shortcuts/shortcuttype/BaseShortcutType.java b/app/src/main/java/com/dkanada/gramophone/views/shortcuts/shortcuttype/BaseShortcutType.java index 66e54cb2..e0c68145 100644 --- a/app/src/main/java/com/dkanada/gramophone/views/shortcuts/shortcuttype/BaseShortcutType.java +++ b/app/src/main/java/com/dkanada/gramophone/views/shortcuts/shortcuttype/BaseShortcutType.java @@ -13,15 +13,15 @@ import com.dkanada.gramophone.views.shortcuts.AppShortcutLauncherActivity; @TargetApi(Build.VERSION_CODES.O) public abstract class BaseShortcutType { - static final String PREFIX = BuildConfig.APPLICATION_ID + ".views.shortcut"; + protected static final String PREFIX = BuildConfig.APPLICATION_ID + ".views.shortcut"; - Context context; + protected final Context context; public BaseShortcutType(Context context) { this.context = context; } - static public String getId() { + public static String getId() { return PREFIX + ".base"; }