From 1174cbb477e56b46b44ae65032db7a87d8f4944f Mon Sep 17 00:00:00 2001 From: h4h13 Date: Wed, 19 Feb 2020 00:41:26 +0530 Subject: [PATCH] WIP Removing library fragment --- .../retromusic/activities/MainActivity.kt | 346 +++++++++++++++++- .../fragments/base/AbsLibraryPagerFragment.kt | 7 +- .../AbsLibraryPagerRecyclerViewFragment.kt | 6 +- .../fragments/mainactivity/AlbumsFragment.kt | 13 +- .../fragments/mainactivity/ArtistsFragment.kt | 17 +- .../fragments/mainactivity/GenresFragment.kt | 11 +- .../mainactivity/PlayingQueueFragment.kt | 8 +- .../mainactivity/PlaylistsFragment.kt | 14 +- .../fragments/mainactivity/SongsFragment.kt | 18 +- .../monkey/retromusic/helper/SortOrder.kt | 11 +- .../MainActivityFragmentCallbacks.kt | 3 +- .../main/res/layout/activity_main_content.xml | 72 +++- 12 files changed, 484 insertions(+), 42 deletions(-) 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 01eb8532c..0d12575da 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 @@ -1,33 +1,66 @@ package code.name.monkey.retromusic.activities +import android.app.ActivityOptions import android.content.BroadcastReceiver import android.content.Context import android.content.Intent import android.content.IntentFilter import android.content.SharedPreferences +import android.content.res.ColorStateList +import android.graphics.Color import android.os.Bundle import android.provider.MediaStore import android.util.Log +import android.view.Menu +import android.view.MenuItem +import android.view.SubMenu import android.view.View import androidx.core.app.ActivityCompat import androidx.fragment.app.Fragment +import code.name.monkey.appthemehelper.util.ATHUtil +import code.name.monkey.appthemehelper.util.ATHUtil.resolveColor import code.name.monkey.retromusic.R +import code.name.monkey.retromusic.R.drawable +import code.name.monkey.retromusic.R.id +import code.name.monkey.retromusic.R.layout +import code.name.monkey.retromusic.R.string import code.name.monkey.retromusic.activities.base.AbsSlidingMusicPanelActivity +import code.name.monkey.retromusic.dialogs.CreatePlaylistDialog.Companion.create +import code.name.monkey.retromusic.fragments.base.AbsLibraryPagerRecyclerViewCustomGridSizeFragment +import code.name.monkey.retromusic.fragments.mainactivity.AlbumsFragment +import code.name.monkey.retromusic.fragments.mainactivity.ArtistsFragment +import code.name.monkey.retromusic.fragments.mainactivity.GenresFragment import code.name.monkey.retromusic.fragments.mainactivity.LibraryFragment +import code.name.monkey.retromusic.fragments.mainactivity.PlayingQueueFragment +import code.name.monkey.retromusic.fragments.mainactivity.PlaylistsFragment +import code.name.monkey.retromusic.fragments.mainactivity.SongsFragment import code.name.monkey.retromusic.fragments.mainactivity.folders.FoldersFragment import code.name.monkey.retromusic.fragments.mainactivity.home.BannerHomeFragment import code.name.monkey.retromusic.helper.MusicPlayerRemote import code.name.monkey.retromusic.helper.SearchQueryHelper +import code.name.monkey.retromusic.helper.SortOrder.AlbumSortOrder +import code.name.monkey.retromusic.helper.SortOrder.ArtistSortOrder +import code.name.monkey.retromusic.helper.SortOrder.SongSortOrder +import code.name.monkey.retromusic.interfaces.CabHolder import code.name.monkey.retromusic.interfaces.MainActivityFragmentCallbacks import code.name.monkey.retromusic.loaders.AlbumLoader import code.name.monkey.retromusic.loaders.ArtistLoader import code.name.monkey.retromusic.loaders.PlaylistSongsLoader import code.name.monkey.retromusic.service.MusicService import code.name.monkey.retromusic.util.AppRater +import code.name.monkey.retromusic.util.NavigationUtil import code.name.monkey.retromusic.util.PreferenceUtil +import code.name.monkey.retromusic.util.RetroColorUtil +import code.name.monkey.retromusic.util.RetroUtil +import com.afollestad.materialcab.MaterialCab +import com.afollestad.materialcab.MaterialCab.Callback +import com.google.android.material.appbar.AppBarLayout.OnOffsetChangedListener +import kotlinx.android.synthetic.main.activity_main_content.appBarLayout +import kotlinx.android.synthetic.main.activity_main_content.toolbar +import kotlinx.android.synthetic.main.activity_main_content.toolbarContainer import java.util.ArrayList -class MainActivity : AbsSlidingMusicPanelActivity(), SharedPreferences.OnSharedPreferenceChangeListener { +class MainActivity : AbsSlidingMusicPanelActivity(), CabHolder, SharedPreferences.OnSharedPreferenceChangeListener { private lateinit var currentFragment: MainActivityFragmentCallbacks @@ -71,6 +104,23 @@ class MainActivity : AbsSlidingMusicPanelActivity(), SharedPreferences.OnSharedP checkShowChangelog() AppRater.appLaunched(this) + setupToolbar() + setBottomBarVisibility(View.VISIBLE) + } + + private fun setupToolbar() { + toolbar.setBackgroundColor(Color.TRANSPARENT) + toolbarContainer.backgroundTintList = + ColorStateList.valueOf(resolveColor(this, R.attr.colorSurface)) + setSupportActionBar(toolbar) + toolbar.setOnClickListener { + val options = ActivityOptions + .makeSceneTransitionAnimation( + this, toolbarContainer, + getString(R.string.transition_toolbar) + ) + NavigationUtil.goToSearch(this, options) + } } private fun checkShowChangelog() { @@ -238,12 +288,12 @@ class MainActivity : AbsSlidingMusicPanelActivity(), SharedPreferences.OnSharedP private fun selectedFragment(itemId: Int) { when (itemId) { - R.id.action_album, - R.id.action_artist, - R.id.action_playlist, - R.id.action_genre, - R.id.action_playing_queue, - R.id.action_song -> setCurrentFragment(LibraryFragment.newInstance(itemId), itemId.toString()) + R.id.action_album -> setCurrentFragment(AlbumsFragment.newInstance(), itemId.toString()) + R.id.action_artist -> setCurrentFragment(ArtistsFragment.newInstance(), itemId.toString()) + R.id.action_playlist -> setCurrentFragment(PlaylistsFragment.newInstance(), itemId.toString()) + R.id.action_genre -> setCurrentFragment(GenresFragment.newInstance(), itemId.toString()) + R.id.action_playing_queue -> setCurrentFragment(PlayingQueueFragment.newInstance(), itemId.toString()) + R.id.action_song -> setCurrentFragment(SongsFragment.newInstance(), itemId.toString()) R.id.action_home -> setCurrentFragment(BannerHomeFragment.newInstance(), BannerHomeFragment.TAG) else -> { setCurrentFragment(BannerHomeFragment.newInstance(), BannerHomeFragment.TAG) @@ -269,4 +319,286 @@ class MainActivity : AbsSlidingMusicPanelActivity(), SharedPreferences.OnSharedP private const val REQUEST_CODE_THEME = 9002 private const val PURCHASE_REQUEST = 101 } + + private lateinit var cab: MaterialCab + + fun getTotalAppBarScrollingRange(): Int { + return appBarLayout.totalScrollRange + } + + fun addOnAppBarOffsetChangedListener( + onOffsetChangedListener: OnOffsetChangedListener + ) { + appBarLayout.addOnOffsetChangedListener(onOffsetChangedListener) + } + + fun removeOnAppBarOffsetChangedListener( + onOffsetChangedListener: OnOffsetChangedListener + ) { + appBarLayout.removeOnOffsetChangedListener(onOffsetChangedListener) + } + + override fun openCab(menuRes: Int, callback: Callback): MaterialCab { + if (cab != null && cab.isActive()) { + cab.finish() + } + + cab = MaterialCab(this, R.id.cab_stub) + .setMenu(menuRes) + .setCloseDrawableRes(R.drawable.ic_close_white_24dp) + .setBackgroundColor( + RetroColorUtil.shiftBackgroundColorForLightText( + ATHUtil.resolveColor(this, R.attr.colorSurface) + ) + ) + .start(callback) + return cab + } + + private fun getCurrentFragment(): Fragment? { + return if (supportFragmentManager == null) { + SongsFragment.newInstance() + } else supportFragmentManager.findFragmentByTag(LibraryFragment.TAG) + } + + override fun onCreateOptionsMenu(menu: Menu?): Boolean { + menuInflater.inflate(R.menu.menu_main, menu) + val currentFragment: Fragment? = getCurrentFragment() + if (currentFragment is AbsLibraryPagerRecyclerViewCustomGridSizeFragment<*, *> + && currentFragment.isAdded() + ) { + + if (currentFragment is SongsFragment) { + menu!!.removeItem(id.action_grid_size) + menu.removeItem(id.action_layout_type) + } else { + val gridSizeItem = menu!!.findItem(id.action_grid_size) + if (RetroUtil.isLandscape()) { + gridSizeItem.setTitle(string.action_grid_size_land) + } + setUpGridSizeMenu(currentFragment, gridSizeItem.subMenu) + val layoutItem = menu.findItem(id.action_layout_type) + setupLayoutMenu(currentFragment, layoutItem.subMenu) + } + setUpSortOrderMenu(currentFragment, menu.findItem(id.action_sort_order).subMenu) + } else if (currentFragment is GenresFragment || currentFragment is PlayingQueueFragment) { + menu!!.removeItem(id.action_new_playlist) + menu.removeItem(id.action_layout_type) + menu.removeItem(id.action_grid_size) + menu.removeItem(id.action_sort_order) + } else { + menu!!.add(0, id.action_new_playlist, 0, string.new_playlist_title) + .setIcon(drawable.ic_playlist_add_white_24dp) + .setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM) + menu.removeItem(id.action_grid_size) + menu.removeItem(id.action_layout_type) + } + return super.onCreateOptionsMenu(menu) + } + + private fun setUpGridSizeMenu( + fragment: AbsLibraryPagerRecyclerViewCustomGridSizeFragment<*, *>, + gridSizeMenu: SubMenu + ) { + when (fragment.getGridSize()) { + 1 -> gridSizeMenu.findItem(id.action_grid_size_1).isChecked = true + 2 -> gridSizeMenu.findItem(id.action_grid_size_2).isChecked = true + 3 -> gridSizeMenu.findItem(id.action_grid_size_3).isChecked = true + 4 -> gridSizeMenu.findItem(id.action_grid_size_4).isChecked = true + 5 -> gridSizeMenu.findItem(id.action_grid_size_5).isChecked = true + 6 -> gridSizeMenu.findItem(id.action_grid_size_6).isChecked = true + 7 -> gridSizeMenu.findItem(id.action_grid_size_7).isChecked = true + 8 -> gridSizeMenu.findItem(id.action_grid_size_8).isChecked = true + } + val maxGridSize = fragment.maxGridSize + if (maxGridSize < 8) { + gridSizeMenu.findItem(id.action_grid_size_8).isVisible = false + } + if (maxGridSize < 7) { + gridSizeMenu.findItem(id.action_grid_size_7).isVisible = false + } + if (maxGridSize < 6) { + gridSizeMenu.findItem(id.action_grid_size_6).isVisible = false + } + if (maxGridSize < 5) { + gridSizeMenu.findItem(id.action_grid_size_5).isVisible = false + } + if (maxGridSize < 4) { + gridSizeMenu.findItem(id.action_grid_size_4).isVisible = false + } + if (maxGridSize < 3) { + gridSizeMenu.findItem(id.action_grid_size_3).isVisible = false + } + } + + private fun setUpSortOrderMenu( + fragment: AbsLibraryPagerRecyclerViewCustomGridSizeFragment<*, *>, + sortOrderMenu: SubMenu + ) { + val currentSortOrder = fragment.getSortOrder() + sortOrderMenu.clear() + when (fragment) { + is AlbumsFragment -> { + sortOrderMenu.add(0, id.action_album_sort_order_asc, 0, string.sort_order_a_z).isChecked = + currentSortOrder == AlbumSortOrder.ALBUM_A_Z + sortOrderMenu.add(0, id.action_album_sort_order_desc, 1, string.sort_order_z_a).isChecked = + currentSortOrder == AlbumSortOrder.ALBUM_Z_A + sortOrderMenu.add(0, id.action_album_sort_order_artist, 2, string.sort_order_artist).isChecked = + currentSortOrder == AlbumSortOrder.ALBUM_ARTIST + sortOrderMenu.add(0, id.action_album_sort_order_year, 3, string.sort_order_year).isChecked = + currentSortOrder == AlbumSortOrder.ALBUM_YEAR + } + is ArtistsFragment -> { + sortOrderMenu.add(0, id.action_artist_sort_order_asc, 0, string.sort_order_a_z).isChecked = + currentSortOrder == ArtistSortOrder.ARTIST_A_Z + sortOrderMenu.add(0, id.action_artist_sort_order_desc, 1, string.sort_order_z_a).isChecked = + currentSortOrder == ArtistSortOrder.ARTIST_Z_A + } + is SongsFragment -> { + sortOrderMenu.add(0, id.action_song_sort_order_asc, 0, string.sort_order_a_z).isChecked = + currentSortOrder == SongSortOrder.SONG_A_Z + sortOrderMenu.add(0, id.action_song_sort_order_desc, 1, string.sort_order_z_a).isChecked = + currentSortOrder == SongSortOrder.SONG_Z_A + sortOrderMenu.add(0, id.action_song_sort_order_artist, 2, string.sort_order_artist).isChecked = + currentSortOrder == SongSortOrder.SONG_ARTIST + sortOrderMenu.add(0, id.action_song_sort_order_album, 3, string.sort_order_album).isChecked = + currentSortOrder == SongSortOrder.SONG_ALBUM + sortOrderMenu.add(0, id.action_song_sort_order_year, 4, string.sort_order_year).isChecked = + currentSortOrder == SongSortOrder.SONG_YEAR + sortOrderMenu.add(0, id.action_song_sort_order_date, 5, string.sort_order_date).isChecked = + currentSortOrder == SongSortOrder.SONG_DATE + sortOrderMenu.add(0, id.action_song_sort_order_composer, 6, string.sort_order_composer).isChecked = + currentSortOrder == SongSortOrder.COMPOSER + } + } + sortOrderMenu.setGroupCheckable(0, true, true) + } + + private fun setupLayoutMenu( + fragment: AbsLibraryPagerRecyclerViewCustomGridSizeFragment<*, *>, + subMenu: SubMenu + ) { + when (fragment.itemLayoutRes()) { + layout.item_card -> subMenu.findItem(id.action_layout_card).isChecked = true + layout.item_grid -> subMenu.findItem(id.action_layout_normal).isChecked = true + layout.item_card_color -> subMenu.findItem(id.action_layout_colored_card).isChecked = true + layout.item_grid_circle -> subMenu.findItem(id.action_layout_circular).isChecked = true + layout.image -> subMenu.findItem(id.action_layout_image).isChecked = true + layout.item_image_gradient -> subMenu.findItem(id.action_layout_gradient_image).isChecked = true + } + } + + override fun onOptionsItemSelected(item: MenuItem): Boolean { + //if (pager == null) return false; + val currentFragment = getCurrentFragment() + if (currentFragment is AbsLibraryPagerRecyclerViewCustomGridSizeFragment<*, *>) { + if (handleGridSizeMenuItem(currentFragment, item)) { + return true + } + if (handleLayoutResType(currentFragment, item)) { + return true + } + if (handleSortOrderMenuItem(currentFragment, item)) { + return true + } + } + when (item.itemId) { + R.id.action_search -> { + val options = ActivityOptions + .makeSceneTransitionAnimation( + this, toolbarContainer, + getString(string.transition_toolbar) + ) + NavigationUtil.goToSearch(this, options) + } + R.id.action_new_playlist -> { + create().show(supportFragmentManager, "CREATE_PLAYLIST") + return true + } + } + return super.onOptionsItemSelected(item) + } + + private fun handleGridSizeMenuItem( + fragment: AbsLibraryPagerRecyclerViewCustomGridSizeFragment<*, *>, + item: MenuItem + ): Boolean { + var gridSize = 0 + when (item.itemId) { + id.action_grid_size_1 -> gridSize = 1 + id.action_grid_size_2 -> gridSize = 2 + id.action_grid_size_3 -> gridSize = 3 + id.action_grid_size_4 -> gridSize = 4 + id.action_grid_size_5 -> gridSize = 5 + id.action_grid_size_6 -> gridSize = 6 + id.action_grid_size_7 -> gridSize = 7 + id.action_grid_size_8 -> gridSize = 8 + } + if (gridSize > 0) { + item.isChecked = true + fragment.setAndSaveGridSize(gridSize) + return true + } + return false + } + + private fun handleLayoutResType( + fragment: AbsLibraryPagerRecyclerViewCustomGridSizeFragment<*, *>, + item: MenuItem + ): Boolean { + var layoutRes = -1 + when (item.itemId) { + id.action_layout_normal -> layoutRes = layout.item_grid + id.action_layout_card -> layoutRes = layout.item_card + id.action_layout_colored_card -> layoutRes = layout.item_card_color + id.action_layout_circular -> layoutRes = layout.item_grid_circle + id.action_layout_image -> layoutRes = layout.image + id.action_layout_gradient_image -> layoutRes = layout.item_image_gradient + } + if (layoutRes != -1) { + item.isChecked = true + fragment.setAndSaveLayoutRes(layoutRes) + return true + } + return false + } + + private fun handleSortOrderMenuItem( + fragment: AbsLibraryPagerRecyclerViewCustomGridSizeFragment<*, *>, item: MenuItem + ): Boolean { + var sortOrder: String? = null + when (fragment) { + is SongsFragment -> { + when (item.itemId) { + id.action_song_sort_order_asc -> sortOrder = SongSortOrder.SONG_A_Z + id.action_song_sort_order_desc -> sortOrder = SongSortOrder.SONG_Z_A + id.action_song_sort_order_artist -> sortOrder = SongSortOrder.SONG_ARTIST + id.action_song_sort_order_album -> sortOrder = SongSortOrder.SONG_ALBUM + id.action_song_sort_order_year -> sortOrder = SongSortOrder.SONG_YEAR + id.action_song_sort_order_date -> sortOrder = SongSortOrder.SONG_DATE + id.action_song_sort_order_composer -> sortOrder = SongSortOrder.COMPOSER + } + } + is AlbumsFragment -> { + when (item.itemId) { + id.action_album_sort_order_asc -> sortOrder = AlbumSortOrder.ALBUM_A_Z + id.action_album_sort_order_desc -> sortOrder = AlbumSortOrder.ALBUM_Z_A + id.action_album_sort_order_artist -> sortOrder = AlbumSortOrder.ALBUM_ARTIST + id.action_album_sort_order_year -> sortOrder = AlbumSortOrder.ALBUM_YEAR + } + } + is ArtistsFragment -> { + when (item.itemId) { + id.action_artist_sort_order_asc -> sortOrder = ArtistSortOrder.ARTIST_A_Z + id.action_artist_sort_order_desc -> sortOrder = ArtistSortOrder.ARTIST_Z_A + } + } + } + if (sortOrder != null) { + item.isChecked = true + fragment.setAndSaveSortOrder(sortOrder) + return true + } + return false + } } diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/base/AbsLibraryPagerFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/base/AbsLibraryPagerFragment.kt index c1ceaefce..d725202e5 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/base/AbsLibraryPagerFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/base/AbsLibraryPagerFragment.kt @@ -1,13 +1,12 @@ package code.name.monkey.retromusic.fragments.base import android.os.Bundle -import code.name.monkey.retromusic.fragments.mainactivity.LibraryFragment +import code.name.monkey.retromusic.activities.MainActivity open class AbsLibraryPagerFragment : AbsMusicServiceFragment() { - - val libraryFragment: LibraryFragment - get() = parentFragment as LibraryFragment + val mainActivity: MainActivity + get() = requireActivity() as MainActivity override fun onActivityCreated(savedInstanceState: Bundle?) { super.onActivityCreated(savedInstanceState) diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/base/AbsLibraryPagerRecyclerViewFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/base/AbsLibraryPagerRecyclerViewFragment.kt index dd4c3bf94..f6047f1eb 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/base/AbsLibraryPagerRecyclerViewFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/base/AbsLibraryPagerRecyclerViewFragment.kt @@ -35,7 +35,7 @@ abstract class AbsLibraryPagerRecyclerViewFragment, override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - libraryFragment.addOnAppBarOffsetChangedListener(this) + mainActivity.addOnAppBarOffsetChangedListener(this) initLayoutManager() initAdapter() setUpRecyclerView() @@ -109,7 +109,7 @@ abstract class AbsLibraryPagerRecyclerViewFragment, container.paddingLeft, container.paddingTop, container.paddingRight, - libraryFragment.totalAppBarScrollingRange + i + mainActivity.getTotalAppBarScrollingRange() + i ) } @@ -136,7 +136,7 @@ abstract class AbsLibraryPagerRecyclerViewFragment, override fun onDestroyView() { super.onDestroyView() - libraryFragment.removeOnAppBarOffsetChangedListener(this) + mainActivity.removeOnAppBarOffsetChangedListener(this) } fun recyclerView(): RecyclerView { diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/mainactivity/AlbumsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/mainactivity/AlbumsFragment.kt index 4790b261e..a453356ba 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/mainactivity/AlbumsFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/mainactivity/AlbumsFragment.kt @@ -7,6 +7,7 @@ import code.name.monkey.retromusic.App import code.name.monkey.retromusic.R import code.name.monkey.retromusic.adapter.album.AlbumAdapter import code.name.monkey.retromusic.fragments.base.AbsLibraryPagerRecyclerViewCustomGridSizeFragment +import code.name.monkey.retromusic.interfaces.MainActivityFragmentCallbacks import code.name.monkey.retromusic.model.Album import code.name.monkey.retromusic.mvp.presenter.AlbumsPresenter import code.name.monkey.retromusic.mvp.presenter.AlbumsView @@ -14,7 +15,7 @@ import code.name.monkey.retromusic.util.PreferenceUtil import javax.inject.Inject class AlbumsFragment : AbsLibraryPagerRecyclerViewCustomGridSizeFragment(), - AlbumsView { + AlbumsView, MainActivityFragmentCallbacks { @Inject lateinit var albumsPresenter: AlbumsPresenter @@ -49,16 +50,16 @@ class AlbumsFragment : AbsLibraryPagerRecyclerViewCustomGridSizeFragment(), - ArtistsView { + ArtistsView, MainActivityFragmentCallbacks { + + override fun handleBackPress(): Boolean { + return false + } override fun artists(artists: List) { adapter?.swapDataSet(artists) @@ -57,21 +62,21 @@ class ArtistsFragment : AbsLibraryPagerRecyclerViewCustomGridSizeFragment(), GenresView { +class GenresFragment : AbsLibraryPagerRecyclerViewFragment(), + GenresView, MainActivityFragmentCallbacks { + + override fun handleBackPress(): Boolean { + return false + } + override fun genres(genres: List) { adapter?.swapDataSet(genres) } @@ -40,7 +47,7 @@ class GenresFragment : AbsLibraryPagerRecyclerViewFragment() { +class PlayingQueueFragment : AbsLibraryPagerRecyclerViewFragment(), + MainActivityFragmentCallbacks { + + override fun handleBackPress(): Boolean { + return false + } private lateinit var wrappedAdapter: RecyclerView.Adapter<*> private var recyclerViewDragDropManager: RecyclerViewDragDropManager? = null diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/mainactivity/PlaylistsFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/mainactivity/PlaylistsFragment.kt index 76a6721e4..c7af01bb0 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/mainactivity/PlaylistsFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/mainactivity/PlaylistsFragment.kt @@ -9,12 +9,18 @@ import code.name.monkey.retromusic.App import code.name.monkey.retromusic.R import code.name.monkey.retromusic.adapter.playlist.PlaylistAdapter import code.name.monkey.retromusic.fragments.base.AbsLibraryPagerRecyclerViewFragment +import code.name.monkey.retromusic.interfaces.MainActivityFragmentCallbacks import code.name.monkey.retromusic.model.Playlist import code.name.monkey.retromusic.mvp.presenter.PlaylistView import code.name.monkey.retromusic.mvp.presenter.PlaylistsPresenter import javax.inject.Inject -class PlaylistsFragment : AbsLibraryPagerRecyclerViewFragment(), PlaylistView { +class PlaylistsFragment : AbsLibraryPagerRecyclerViewFragment(), PlaylistView, + MainActivityFragmentCallbacks { + + override fun handleBackPress(): Boolean { + return false + } @Inject lateinit var playlistsPresenter: PlaylistsPresenter @@ -38,8 +44,10 @@ class PlaylistsFragment : AbsLibraryPagerRecyclerViewFragment(), - SongView { + SongView, MainActivityFragmentCallbacks { @Inject lateinit var songPresenter: SongPresenter @@ -36,16 +37,16 @@ class SongsFragment : AbsLibraryPagerRecyclerViewCustomGridSizeFragment - + android:layout_height="match_parent" + android:background="?colorSurface" + android:orientation="vertical"> + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file