From c23e95935652cbab9e1d2333801729d23bb89cde Mon Sep 17 00:00:00 2001 From: Hemanth S Date: Sun, 26 Jul 2020 01:52:37 +0530 Subject: [PATCH] Code refactor and Genre category added to home --- app/build.gradle | 7 +++-- app/proguard-rules.pro | 5 ---- .../java/code/name/monkey/retromusic/App.kt | 3 +- .../code/name/monkey/retromusic/MainModule.kt | 17 +++++++++-- .../retromusic/activities/MainActivity.kt | 9 ++++-- .../monkey/retromusic/adapter/HomeAdapter.kt | 28 ++++++++++++++++++- .../retromusic/fragments/LibraryViewModel.kt | 3 +- .../fragments/albums/AlbumsFragment.kt | 8 ++++-- .../fragments/artists/ArtistsFragment.kt | 9 ++++-- .../fragments/genres/GenresFragment.kt | 6 +++- .../fragments/home/BannerHomeFragment.kt | 6 +++- .../fragments/playlists/PlaylistsFragment.kt | 18 ++++++------ .../fragments/songs/SongsFragment.kt | 22 +++++++++------ .../retromusic/providers/ProviderModule.kt | 11 -------- .../retromusic/providers/RepositoryImpl.kt | 27 ++++++++++++++---- .../providers/interfaces/Repository.kt | 2 ++ .../fragment_main_activity_recycler_view.xml | 1 - app/src/main/res/layout/home_content.xml | 1 - app/src/main/res/layout/item_grid_genre.xml | 18 ++++++++++++ .../main/res/navigation/settings_graph.xml | 4 +++ build.gradle | 2 +- 21 files changed, 149 insertions(+), 58 deletions(-) delete mode 100644 app/src/main/java/code/name/monkey/retromusic/providers/ProviderModule.kt create mode 100644 app/src/main/res/layout/item_grid_genre.xml diff --git a/app/build.gradle b/app/build.gradle index b6b12352..bf1c7c9a 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -167,8 +167,11 @@ dependencies { def koin_version = "2.1.5" implementation "org.koin:koin-core:$koin_version" - implementation "org.koin:koin-android:$koin_version" - implementation "org.koin:koin-android-viewmodel:$koin_version" + implementation "org.koin:koin-core-ext:$koin_version" + implementation "org.koin:koin-androidx-scope:$koin_version" + implementation "org.koin:koin-androidx-viewmodel:$koin_version" + implementation "org.koin:koin-androidx-fragment:$koin_version" + implementation "org.koin:koin-androidx-ext:$koin_version" def nav_version = "2.3.0" implementation "androidx.navigation:navigation-fragment-ktx:$nav_version" diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro index b58c71e0..5e2e2be5 100644 --- a/app/proguard-rules.pro +++ b/app/proguard-rules.pro @@ -59,11 +59,6 @@ #-keep class org.jaudiotagger.** { *; } -#For cast --keep class code.name.monkey.retromusic.cast.CastOptionsProvider { *; } --keep class android.support.** { *; } --keep class com.google.** { *; } --keep class java.nio.file.** { *; } -obfuscationdictionary build/obfuscation-dictionary.txt -classobfuscationdictionary build/class-dictionary.txt diff --git a/app/src/main/java/code/name/monkey/retromusic/App.kt b/app/src/main/java/code/name/monkey/retromusic/App.kt index e6fe75c6..6e0f2cfa 100644 --- a/app/src/main/java/code/name/monkey/retromusic/App.kt +++ b/app/src/main/java/code/name/monkey/retromusic/App.kt @@ -20,7 +20,6 @@ import code.name.monkey.appthemehelper.ThemeStore import code.name.monkey.appthemehelper.util.VersionUtils import code.name.monkey.retromusic.Constants.PRO_VERSION_PRODUCT_ID import code.name.monkey.retromusic.appshortcuts.DynamicShortcutManager -import code.name.monkey.retromusic.network.networkModule import code.name.monkey.retromusic.providers.provideModules import com.anjlab.android.iab.v3.BillingProcessor import com.anjlab.android.iab.v3.TransactionDetails @@ -37,7 +36,7 @@ class App : MultiDexApplication() { startKoin { androidContext(this@App) - modules(listOf(mainModule, provideModules, networkModule)) + modules(appModules) } // default theme if (!ThemeStore.isConfigured(this, 3)) { diff --git a/app/src/main/java/code/name/monkey/retromusic/MainModule.kt b/app/src/main/java/code/name/monkey/retromusic/MainModule.kt index cc13de3d..f551bd94 100644 --- a/app/src/main/java/code/name/monkey/retromusic/MainModule.kt +++ b/app/src/main/java/code/name/monkey/retromusic/MainModule.kt @@ -8,11 +8,20 @@ import code.name.monkey.retromusic.activities.search.SearchViewModel import code.name.monkey.retromusic.fragments.LibraryViewModel import code.name.monkey.retromusic.model.Genre import code.name.monkey.retromusic.model.Playlist -import org.koin.android.viewmodel.dsl.viewModel +import code.name.monkey.retromusic.network.networkModule +import code.name.monkey.retromusic.providers.RepositoryImpl +import org.eclipse.egit.github.core.Repository +import org.koin.androidx.viewmodel.dsl.viewModel +import org.koin.dsl.bind import org.koin.dsl.module +private val dataModule = module { + single { + RepositoryImpl(get(), get()) + } bind Repository::class +} -val mainModule = module { +private val viewModules = module { viewModel { LibraryViewModel(get()) @@ -37,4 +46,6 @@ val mainModule = module { viewModel { SearchViewModel(get()) } -} \ No newline at end of file +} + +val appModules = listOf(dataModule, viewModules, networkModule) \ No newline at end of file diff --git a/app/src/main/java/code/name/monkey/retromusic/activities/MainActivity.kt b/app/src/main/java/code/name/monkey/retromusic/activities/MainActivity.kt index 931703ca..ae82e3c5 100644 --- a/app/src/main/java/code/name/monkey/retromusic/activities/MainActivity.kt +++ b/app/src/main/java/code/name/monkey/retromusic/activities/MainActivity.kt @@ -74,7 +74,7 @@ class MainActivity : AbsSlidingMusicPanelActivity(), const val APP_UPDATE_REQUEST_CODE = 9002 } - val libraryViewModel: LibraryViewModel by inject() + private val libraryViewModel: LibraryViewModel by inject() private var cab: MaterialCab? = null private val intentFilter = IntentFilter(Intent.ACTION_SCREEN_OFF) private lateinit var currentFragment: MainActivityFragmentCallbacks @@ -621,8 +621,13 @@ class MainActivity : AbsSlidingMusicPanelActivity(), fragment: Fragment, tag: String ) { - supportFragmentManager.commit { + setCustomAnimations( + R.anim.retro_fragment_open_enter, + R.anim.retro_fragment_open_exit, + R.anim.retro_fragment_fade_enter, + R.anim.retro_fragment_fade_exit + ) replace(R.id.fragment_container, fragment, tag) } currentFragment = fragment as MainActivityFragmentCallbacks diff --git a/app/src/main/java/code/name/monkey/retromusic/adapter/HomeAdapter.kt b/app/src/main/java/code/name/monkey/retromusic/adapter/HomeAdapter.kt index 681dadec..77590c89 100644 --- a/app/src/main/java/code/name/monkey/retromusic/adapter/HomeAdapter.kt +++ b/app/src/main/java/code/name/monkey/retromusic/adapter/HomeAdapter.kt @@ -50,6 +50,7 @@ class HomeAdapter( .inflate(R.layout.metal_section_recycler_view, parent, false) ) } + GENRES -> GenreViewHolder(layout) FAVOURITES -> PlaylistViewHolder(layout) else -> { SuggestionsViewHolder( @@ -103,6 +104,10 @@ class HomeAdapter( R.string.favorites ) } + GENRES -> { + val viewHolder = holder as GenreViewHolder + viewHolder.bind(list[position].arrayList as List, R.string.genres) + } } } @@ -117,7 +122,15 @@ class HomeAdapter( companion object { - @IntDef(RECENT_ALBUMS, TOP_ALBUMS, RECENT_ARTISTS, TOP_ARTISTS, SUGGESTIONS, FAVOURITES) + @IntDef( + RECENT_ALBUMS, + TOP_ALBUMS, + RECENT_ARTISTS, + TOP_ARTISTS, + SUGGESTIONS, + FAVOURITES, + GENRES + ) @Retention(AnnotationRetention.SOURCE) annotation class HomeSection @@ -127,6 +140,7 @@ class HomeAdapter( const val TOP_ARTISTS = 0 const val SUGGESTIONS = 5 const val FAVOURITES = 4 + const val GENRES = 6 } private inner class AlbumViewHolder(view: View) : AbsHomeViewItem(view) { @@ -214,6 +228,18 @@ class HomeAdapter( } } + private inner class GenreViewHolder(itemView: View) : AbsHomeViewItem(itemView) { + fun bind(genres: List, titleRes: Int) { + title.text = activity.getString(titleRes) + recyclerView.apply { + show() + layoutManager = GridLayoutManager(activity, 2, GridLayoutManager.HORIZONTAL, false) + val genreAdapter = GenreAdapter(activity, genres, R.layout.item_grid_genre) + adapter = genreAdapter + } + } + } + open inner class AbsHomeViewItem(itemView: View) : RecyclerView.ViewHolder(itemView) { val recyclerView: RecyclerView = itemView.findViewById(R.id.recyclerView) val title: AppCompatTextView = itemView.findViewById(R.id.title) diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/LibraryViewModel.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/LibraryViewModel.kt index 73a71dd0..dd142d5a 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/LibraryViewModel.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/LibraryViewModel.kt @@ -57,7 +57,8 @@ class LibraryViewModel( repository.recentArtists(), repository.recentAlbums(), repository.suggestions(), - repository.favoritePlaylist() + repository.favoritePlaylist(), + repository.homeGenres() ) result.forEach { if (it != null && it.arrayList.isNotEmpty()) { diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/albums/AlbumsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/albums/AlbumsFragment.kt index 425f3fe9..ab44cbf8 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/albums/AlbumsFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/albums/AlbumsFragment.kt @@ -6,18 +6,22 @@ import androidx.lifecycle.Observer import androidx.recyclerview.widget.GridLayoutManager import code.name.monkey.retromusic.R import code.name.monkey.retromusic.adapter.album.AlbumAdapter +import code.name.monkey.retromusic.fragments.LibraryViewModel import code.name.monkey.retromusic.fragments.ReloadType import code.name.monkey.retromusic.fragments.base.AbsLibraryPagerRecyclerViewCustomGridSizeFragment import code.name.monkey.retromusic.interfaces.MainActivityFragmentCallbacks import code.name.monkey.retromusic.util.PreferenceUtil +import org.koin.android.viewmodel.ext.android.sharedViewModel class AlbumsFragment : AbsLibraryPagerRecyclerViewCustomGridSizeFragment(), MainActivityFragmentCallbacks { + private val libraryViewModel: LibraryViewModel by sharedViewModel() + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - mainActivity.libraryViewModel.allAlbums + libraryViewModel.allAlbums .observe(viewLifecycleOwner, Observer { albums -> if (albums.isNotEmpty()) adapter?.swapDataSet(albums) @@ -73,7 +77,7 @@ class AlbumsFragment : } override fun setSortOrder(sortOrder: String) { - mainActivity.libraryViewModel.forceReload(ReloadType.Albums) + libraryViewModel.forceReload(ReloadType.Albums) } override fun loadLayoutRes(): Int { diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/artists/ArtistsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/artists/ArtistsFragment.kt index 48944bab..a669f77a 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/artists/ArtistsFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/artists/ArtistsFragment.kt @@ -6,17 +6,22 @@ import androidx.lifecycle.Observer import androidx.recyclerview.widget.GridLayoutManager import code.name.monkey.retromusic.R import code.name.monkey.retromusic.adapter.artist.ArtistAdapter +import code.name.monkey.retromusic.fragments.LibraryViewModel import code.name.monkey.retromusic.fragments.ReloadType import code.name.monkey.retromusic.fragments.base.AbsLibraryPagerRecyclerViewCustomGridSizeFragment import code.name.monkey.retromusic.interfaces.MainActivityFragmentCallbacks import code.name.monkey.retromusic.util.PreferenceUtil +import org.koin.android.viewmodel.ext.android.sharedViewModel class ArtistsFragment : AbsLibraryPagerRecyclerViewCustomGridSizeFragment(), MainActivityFragmentCallbacks { + + private val libraryViewModel: LibraryViewModel by sharedViewModel() + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - mainActivity.libraryViewModel.allArtists + libraryViewModel.allArtists .observe(viewLifecycleOwner, Observer { artists -> if (artists.isNotEmpty()) { adapter?.swapDataSet(artists) @@ -34,7 +39,7 @@ class ArtistsFragment : get() = R.string.no_artists override fun setSortOrder(sortOrder: String) { - mainActivity.libraryViewModel.forceReload(ReloadType.Artists) + libraryViewModel.forceReload(ReloadType.Artists) } override fun createLayoutManager(): GridLayoutManager { diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/genres/GenresFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/genres/GenresFragment.kt index c696b28c..94fecdd3 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/genres/GenresFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/genres/GenresFragment.kt @@ -20,15 +20,19 @@ import androidx.lifecycle.Observer import androidx.recyclerview.widget.LinearLayoutManager import code.name.monkey.retromusic.R import code.name.monkey.retromusic.adapter.GenreAdapter +import code.name.monkey.retromusic.fragments.LibraryViewModel import code.name.monkey.retromusic.fragments.base.AbsLibraryPagerRecyclerViewFragment import code.name.monkey.retromusic.interfaces.MainActivityFragmentCallbacks +import org.koin.android.viewmodel.ext.android.sharedViewModel class GenresFragment : AbsLibraryPagerRecyclerViewFragment(), MainActivityFragmentCallbacks { + private val libraryViewModel: LibraryViewModel by sharedViewModel() + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - mainActivity.libraryViewModel.allGenres + libraryViewModel.allGenres .observe(viewLifecycleOwner, Observer { genres -> if (genres.isNotEmpty()) { adapter?.swapDataSet(genres) diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/home/BannerHomeFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/home/BannerHomeFragment.kt index 16b2d132..0f05c0c7 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/home/BannerHomeFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/home/BannerHomeFragment.kt @@ -24,6 +24,7 @@ import androidx.lifecycle.Observer import androidx.recyclerview.widget.LinearLayoutManager import code.name.monkey.retromusic.R import code.name.monkey.retromusic.adapter.HomeAdapter +import code.name.monkey.retromusic.fragments.LibraryViewModel import code.name.monkey.retromusic.fragments.base.AbsMainActivityFragment import code.name.monkey.retromusic.glide.ProfileBannerGlideRequest import code.name.monkey.retromusic.glide.UserProfileGlideRequest @@ -39,9 +40,12 @@ import com.bumptech.glide.Glide import kotlinx.android.synthetic.main.abs_playlists.* import kotlinx.android.synthetic.main.fragment_banner_home.* import kotlinx.android.synthetic.main.home_content.* +import org.koin.android.viewmodel.ext.android.sharedViewModel class BannerHomeFragment : AbsMainActivityFragment(), MainActivityFragmentCallbacks { + private lateinit var homeAdapter: HomeAdapter + private val libraryViewModel: LibraryViewModel by sharedViewModel() override fun onCreateView( inflater: LayoutInflater, @@ -112,7 +116,7 @@ class BannerHomeFragment : AbsMainActivityFragment(), MainActivityFragmentCallba adapter = homeAdapter } - mainActivity.libraryViewModel.homeSections + libraryViewModel.homeSections .observe(viewLifecycleOwner, Observer { sections -> homeAdapter.swapData(sections) }) diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/playlists/PlaylistsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/playlists/PlaylistsFragment.kt index 345651ad..baaf46c1 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/playlists/PlaylistsFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/playlists/PlaylistsFragment.kt @@ -8,24 +8,26 @@ import androidx.lifecycle.Observer import androidx.recyclerview.widget.GridLayoutManager import code.name.monkey.retromusic.R import code.name.monkey.retromusic.adapter.playlist.PlaylistAdapter +import code.name.monkey.retromusic.fragments.LibraryViewModel import code.name.monkey.retromusic.fragments.base.AbsLibraryPagerRecyclerViewFragment import code.name.monkey.retromusic.interfaces.MainActivityFragmentCallbacks +import org.koin.android.viewmodel.ext.android.sharedViewModel class PlaylistsFragment : AbsLibraryPagerRecyclerViewFragment(), MainActivityFragmentCallbacks { + private val libraryViewModel: LibraryViewModel by sharedViewModel() override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - mainActivity.libraryViewModel.allPlaylisits - .observe(viewLifecycleOwner, Observer { playlists -> - if (playlists.isNotEmpty()) { - adapter?.swapDataSet(playlists) - } else { - adapter?.swapDataSet(listOf()) - } - }) + libraryViewModel.allPlaylisits.observe(viewLifecycleOwner, Observer { playlists -> + if (playlists.isNotEmpty()) { + adapter?.swapDataSet(playlists) + } else { + adapter?.swapDataSet(listOf()) + } + }) } override fun handleBackPress(): Boolean { diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/songs/SongsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/songs/SongsFragment.kt index 5d0fe316..e6ff5425 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/songs/SongsFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/songs/SongsFragment.kt @@ -8,24 +8,28 @@ import androidx.recyclerview.widget.GridLayoutManager import code.name.monkey.retromusic.R import code.name.monkey.retromusic.adapter.song.ShuffleButtonSongAdapter import code.name.monkey.retromusic.adapter.song.SongAdapter +import code.name.monkey.retromusic.fragments.LibraryViewModel import code.name.monkey.retromusic.fragments.ReloadType import code.name.monkey.retromusic.fragments.base.AbsLibraryPagerRecyclerViewCustomGridSizeFragment import code.name.monkey.retromusic.interfaces.MainActivityFragmentCallbacks import code.name.monkey.retromusic.util.PreferenceUtil +import org.koin.android.viewmodel.ext.android.sharedViewModel class SongsFragment : AbsLibraryPagerRecyclerViewCustomGridSizeFragment(), MainActivityFragmentCallbacks { + + private val libraryViewModel: LibraryViewModel by sharedViewModel() + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - mainActivity.libraryViewModel.allSongs - .observe(viewLifecycleOwner, Observer { - if (it.isNotEmpty()) { - adapter?.swapDataSet(it) - } else { - adapter?.swapDataSet(listOf()) - } - }) + libraryViewModel.allSongs.observe(viewLifecycleOwner, Observer { + if (it.isNotEmpty()) { + adapter?.swapDataSet(it) + } else { + adapter?.swapDataSet(listOf()) + } + }) } override val emptyMessage: Int @@ -93,7 +97,7 @@ class SongsFragment : } override fun setSortOrder(sortOrder: String) { - mainActivity.libraryViewModel.forceReload(ReloadType.Songs) + libraryViewModel.forceReload(ReloadType.Songs) } companion object { diff --git a/app/src/main/java/code/name/monkey/retromusic/providers/ProviderModule.kt b/app/src/main/java/code/name/monkey/retromusic/providers/ProviderModule.kt deleted file mode 100644 index a5874e77..00000000 --- a/app/src/main/java/code/name/monkey/retromusic/providers/ProviderModule.kt +++ /dev/null @@ -1,11 +0,0 @@ -package code.name.monkey.retromusic.providers - -import org.eclipse.egit.github.core.Repository -import org.koin.dsl.bind -import org.koin.dsl.module - -val provideModules = module { - single { - RepositoryImpl(get(), get()) - } bind Repository::class -} \ No newline at end of file diff --git a/app/src/main/java/code/name/monkey/retromusic/providers/RepositoryImpl.kt b/app/src/main/java/code/name/monkey/retromusic/providers/RepositoryImpl.kt index 367b646f..c1c778e9 100644 --- a/app/src/main/java/code/name/monkey/retromusic/providers/RepositoryImpl.kt +++ b/app/src/main/java/code/name/monkey/retromusic/providers/RepositoryImpl.kt @@ -32,19 +32,19 @@ class RepositoryImpl( override suspend fun allAlbums(): List = AlbumLoader.getAllAlbums(context) + override suspend fun albumById(albumId: Int): Album = AlbumLoader.getAlbum(context, albumId) + override suspend fun allArtists(): List = ArtistLoader.getAllArtists(context) + override suspend fun artistById(artistId: Int): Artist = + ArtistLoader.getArtist(context, artistId) + override suspend fun allPlaylists(): List = PlaylistLoader.getAllPlaylists(context) override suspend fun allGenres(): List = GenreLoader.getAllGenres(context) override suspend fun allSongs(): List = SongLoader.getAllSongs(context) - override suspend fun albumById(albumId: Int): Album = AlbumLoader.getAlbum(context, albumId) - - override suspend fun artistById(artistId: Int): Artist = - ArtistLoader.getArtist(context, artistId) - override suspend fun suggestions(): Home? { val songs = NotRecentlyPlayedPlaylist(context).getSongs(context).shuffled().apply { if (size > 9) subList(0, 9) @@ -59,6 +59,23 @@ class RepositoryImpl( return null } + override suspend fun homeGenres(): Home? { + val genres = + GenreLoader.getAllGenres(context) + .shuffled() + .take(10) + .filter { it.name.length > 4 } + + if (genres.isNotEmpty()) { + return Home( + genres, + HomeAdapter.GENRES, + R.drawable.ic_guitar + ) + } + return null + } + override suspend fun search(query: String?): MutableList = SearchLoader.searchAll(context, query) diff --git a/app/src/main/java/code/name/monkey/retromusic/providers/interfaces/Repository.kt b/app/src/main/java/code/name/monkey/retromusic/providers/interfaces/Repository.kt index 2f2d6f83..984960df 100644 --- a/app/src/main/java/code/name/monkey/retromusic/providers/interfaces/Repository.kt +++ b/app/src/main/java/code/name/monkey/retromusic/providers/interfaces/Repository.kt @@ -58,4 +58,6 @@ interface Repository { suspend fun favoritePlaylist(): Home? suspend fun suggestions(): Home? + + suspend fun homeGenres(): Home? } \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_main_activity_recycler_view.xml b/app/src/main/res/layout/fragment_main_activity_recycler_view.xml index 9a925d89..d546767b 100644 --- a/app/src/main/res/layout/fragment_main_activity_recycler_view.xml +++ b/app/src/main/res/layout/fragment_main_activity_recycler_view.xml @@ -11,7 +11,6 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:clipToPadding="false" - android:layoutAnimation="@anim/layout_animation_fall_down" android:overScrollMode="never" android:scrollbars="none" app:layout_dodgeInsetEdges="bottom" diff --git a/app/src/main/res/layout/home_content.xml b/app/src/main/res/layout/home_content.xml index 31fa3b89..f97294c1 100644 --- a/app/src/main/res/layout/home_content.xml +++ b/app/src/main/res/layout/home_content.xml @@ -37,7 +37,6 @@ android:id="@+id/recyclerView" android:layout_width="match_parent" android:layout_height="wrap_content" - android:layoutAnimation="@anim/layout_animation_fall_down" android:nestedScrollingEnabled="false" android:overScrollMode="never" app:layoutManager="androidx.recyclerview.widget.GridLayoutManager" diff --git a/app/src/main/res/layout/item_grid_genre.xml b/app/src/main/res/layout/item_grid_genre.xml new file mode 100644 index 00000000..408c8869 --- /dev/null +++ b/app/src/main/res/layout/item_grid_genre.xml @@ -0,0 +1,18 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/navigation/settings_graph.xml b/app/src/main/res/navigation/settings_graph.xml index c398464c..2559e9dc 100644 --- a/app/src/main/res/navigation/settings_graph.xml +++ b/app/src/main/res/navigation/settings_graph.xml @@ -47,6 +47,10 @@ app:popExitAnim="@anim/retro_fragment_close_exit" />