From 68bec3d6ec3095e2c5d84930bd0a5c57be221a0b Mon Sep 17 00:00:00 2001 From: CappielloAntonio Date: Sat, 17 Apr 2021 19:25:55 +0200 Subject: [PATCH] Removed NestedScrollView where possible to speed-up scrolling performance --- app/build.gradle | 1 - .../play/adapter/ArtistCatalogueAdapter.java | 3 +- .../play/ui/activities/MainActivity.java | 2 - .../ui/fragment/AlbumCatalogueFragment.java | 1 - .../ui/fragment/ArtistCatalogueFragment.java | 6 +- .../play/ui/fragment/SearchFragment.java | 4 +- .../res/layout/fragment_album_catalogue.xml | 63 +++++------- .../res/layout/fragment_artist_catalogue.xml | 58 +++++------ .../res/layout/fragment_genre_catalogue.xml | 96 ++++++++----------- app/src/main/res/layout/fragment_search.xml | 12 ++- .../res/layout/fragment_song_list_page.xml | 52 +++++----- 11 files changed, 125 insertions(+), 173 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index e6dca9a5..3729459d 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -55,7 +55,6 @@ dependencies { implementation "androidx.room:room-runtime:2.2.6" implementation "androidx.cardview:cardview:1.0.0" implementation 'androidx.legacy:legacy-support-v4:1.0.0' - implementation 'androidx.paging:paging-runtime-ktx:2.1.2' implementation "androidx.lifecycle:lifecycle-common-java8:2.3.1" // Android Material diff --git a/app/src/main/java/com/cappielloantonio/play/adapter/ArtistCatalogueAdapter.java b/app/src/main/java/com/cappielloantonio/play/adapter/ArtistCatalogueAdapter.java index 5622b527..bb81bc7d 100644 --- a/app/src/main/java/com/cappielloantonio/play/adapter/ArtistCatalogueAdapter.java +++ b/app/src/main/java/com/cappielloantonio/play/adapter/ArtistCatalogueAdapter.java @@ -19,7 +19,8 @@ import java.util.ArrayList; import java.util.List; import java.util.Objects; -public class ArtistCatalogueAdapter extends RecyclerView.Adapter { +public class ArtistCatalogueAdapter extends + RecyclerView.Adapter { private static final String TAG = "ArtistCatalogueAdapter"; private List artists; diff --git a/app/src/main/java/com/cappielloantonio/play/ui/activities/MainActivity.java b/app/src/main/java/com/cappielloantonio/play/ui/activities/MainActivity.java index c05377e3..8267c9c5 100644 --- a/app/src/main/java/com/cappielloantonio/play/ui/activities/MainActivity.java +++ b/app/src/main/java/com/cappielloantonio/play/ui/activities/MainActivity.java @@ -179,9 +179,7 @@ public class MainActivity extends BaseActivity { break; case BottomSheetBehavior.STATE_HIDDEN: MusicPlayerRemote.quitPlaying(); - mainViewModel.deleteQueue(); break; - } } diff --git a/app/src/main/java/com/cappielloantonio/play/ui/fragment/AlbumCatalogueFragment.java b/app/src/main/java/com/cappielloantonio/play/ui/fragment/AlbumCatalogueFragment.java index fe0ef7d0..690b59d6 100644 --- a/app/src/main/java/com/cappielloantonio/play/ui/fragment/AlbumCatalogueFragment.java +++ b/app/src/main/java/com/cappielloantonio/play/ui/fragment/AlbumCatalogueFragment.java @@ -58,7 +58,6 @@ public class AlbumCatalogueFragment extends Fragment { bind.albumCatalogueRecyclerView.setAdapter(albumAdapter); albumCatalogueViewModel.getAlbumList().observe(requireActivity(), albums -> { bind.loadingProgressBar.setVisibility(View.GONE); - bind.albumCatalogueContainer.setVisibility(View.VISIBLE); albumAdapter.setItems(albums); }); } diff --git a/app/src/main/java/com/cappielloantonio/play/ui/fragment/ArtistCatalogueFragment.java b/app/src/main/java/com/cappielloantonio/play/ui/fragment/ArtistCatalogueFragment.java index e568711e..41d41b4c 100644 --- a/app/src/main/java/com/cappielloantonio/play/ui/fragment/ArtistCatalogueFragment.java +++ b/app/src/main/java/com/cappielloantonio/play/ui/fragment/ArtistCatalogueFragment.java @@ -1,6 +1,7 @@ package com.cappielloantonio.play.ui.fragment; import android.os.Bundle; +import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -56,10 +57,9 @@ public class ArtistCatalogueFragment extends Fragment { artistAdapter = new ArtistCatalogueAdapter(requireContext()); bind.artistCatalogueRecyclerView.setAdapter(artistAdapter); - artistCatalogueViewModel.getArtistList().observe(requireActivity(), artists -> { + artistCatalogueViewModel.getArtistList().observe(requireActivity(), artistList -> { bind.loadingProgressBar.setVisibility(View.GONE); - bind.artistCatalogueContainer.setVisibility(View.VISIBLE); - artistAdapter.setItems(artists); + artistAdapter.setItems(artistList); }); } } \ No newline at end of file diff --git a/app/src/main/java/com/cappielloantonio/play/ui/fragment/SearchFragment.java b/app/src/main/java/com/cappielloantonio/play/ui/fragment/SearchFragment.java index 477cc483..295bf239 100644 --- a/app/src/main/java/com/cappielloantonio/play/ui/fragment/SearchFragment.java +++ b/app/src/main/java/com/cappielloantonio/play/ui/fragment/SearchFragment.java @@ -138,14 +138,14 @@ public class SearchFragment extends Fragment { } public void search(String query) { - if (!query.trim().equals("") && query.trim().length() > 1) { + if (!query.trim().equals("") && query.trim().length() > 2) { searchViewModel.insertNewSearch(query); bind.persistentSearchView.collapse(); bind.persistentSearchView.setInputQuery(query); performSearch(query.trim()); } else { - Toast.makeText(requireContext(), "Enter at least two characters", Toast.LENGTH_SHORT).show(); + Toast.makeText(requireContext(), "Enter at least three characters", Toast.LENGTH_SHORT).show(); } } diff --git a/app/src/main/res/layout/fragment_album_catalogue.xml b/app/src/main/res/layout/fragment_album_catalogue.xml index ea91dfa4..73f28d38 100644 --- a/app/src/main/res/layout/fragment_album_catalogue.xml +++ b/app/src/main/res/layout/fragment_album_catalogue.xml @@ -1,7 +1,6 @@ @@ -12,46 +11,32 @@ android:layout_height="wrap_content" android:indeterminate="true" android:minWidth="128dp" - android:layout_centerInParent="true" - android:visibility="visible"/> + android:layout_centerInParent="true" /> - + android:layout_height="wrap_content" + android:fontFamily="@font/open_sans_font_family" + android:paddingStart="16dp" + android:paddingTop="20dp" + android:paddingEnd="16dp" + android:text="Album Catalogue" + android:textColor="@color/titleTextColor" + android:textSize="22sp" + android:textStyle="bold" /> - - - - - - - + diff --git a/app/src/main/res/layout/fragment_artist_catalogue.xml b/app/src/main/res/layout/fragment_artist_catalogue.xml index 22f029eb..95767f9f 100644 --- a/app/src/main/res/layout/fragment_artist_catalogue.xml +++ b/app/src/main/res/layout/fragment_artist_catalogue.xml @@ -1,7 +1,6 @@ @@ -14,43 +13,30 @@ android:minWidth="128dp" android:layout_centerInParent="true"/> - + android:fontFamily="@font/open_sans_font_family" + android:paddingStart="16dp" + android:paddingTop="20dp" + android:paddingEnd="16dp" + android:text="Artist Catalogue" + android:textColor="@color/titleTextColor" + android:textSize="22sp" + android:textStyle="bold" /> - - - - - - - + diff --git a/app/src/main/res/layout/fragment_genre_catalogue.xml b/app/src/main/res/layout/fragment_genre_catalogue.xml index 4d8eae89..57b53ca0 100644 --- a/app/src/main/res/layout/fragment_genre_catalogue.xml +++ b/app/src/main/res/layout/fragment_genre_catalogue.xml @@ -1,7 +1,6 @@ @@ -14,67 +13,54 @@ android:minWidth="128dp" android:layout_centerInParent="true"/> - + + android:orientation="horizontal" + android:paddingStart="8dp" + android:paddingTop="8dp" + android:paddingEnd="8dp"> - - - - - - + android:layout_weight="1" + android:fontFamily="@font/open_sans_font_family" + android:paddingStart="8dp" + android:paddingTop="12dp" + android:paddingEnd="8dp" + android:text="Genre Catalogue" + android:textColor="@color/titleTextColor" + android:textSize="22sp" + android:textStyle="bold" /> - - + + - - - + diff --git a/app/src/main/res/layout/fragment_search.xml b/app/src/main/res/layout/fragment_search.xml index ac6c2885..d6cf5c3c 100644 --- a/app/src/main/res/layout/fragment_search.xml +++ b/app/src/main/res/layout/fragment_search.xml @@ -97,7 +97,8 @@ android:clipToPadding="false" android:paddingStart="8dp" android:paddingTop="4dp" - android:paddingEnd="8dp" /> + android:paddingEnd="8dp" + android:nestedScrollingEnabled="false"/> @@ -142,7 +143,8 @@ android:clipToPadding="false" android:overScrollMode="never" android:paddingTop="8dp" - android:paddingBottom="24dp" /> + android:paddingBottom="24dp" + android:nestedScrollingEnabled="false"/> + android:paddingBottom="16dp" + android:nestedScrollingEnabled="false"/> + android:paddingBottom="56dp" + android:nestedScrollingEnabled="false"/> diff --git a/app/src/main/res/layout/fragment_song_list_page.xml b/app/src/main/res/layout/fragment_song_list_page.xml index 06137f2a..8e87ad9c 100644 --- a/app/src/main/res/layout/fragment_song_list_page.xml +++ b/app/src/main/res/layout/fragment_song_list_page.xml @@ -1,36 +1,30 @@ - + android:layout_height="wrap_content" + android:orientation="vertical"> - + android:fontFamily="@font/open_sans_font_family" + android:paddingStart="16dp" + android:paddingTop="20dp" + android:paddingEnd="16dp" + android:text="@string/label_placeholder" + android:textColor="@color/titleTextColor" + android:textSize="22sp" + android:textStyle="bold" /> - - - - - - + +