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 502977858..3f9b3d8df 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 @@ -103,7 +103,7 @@ class MainActivity : AbsCastActivity(), OnSharedPreferenceChangeListener { currentFragment(R.id.fragment_container)?.enterTransition = null } when (destination.id) { - R.id.action_home, R.id.action_song, R.id.action_album, R.id.action_artist, R.id.action_folder, R.id.action_playlist, R.id.action_genre -> { + R.id.action_home, R.id.action_song, R.id.action_album, R.id.action_artist, R.id.action_folder, R.id.action_playlist, R.id.action_genre, R.id.action_search -> { // Save the last tab if (PreferenceUtil.rememberLastTab) { saveTab(destination.id) diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/base/AbsRecyclerViewFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/base/AbsRecyclerViewFragment.kt index 489aebc21..d60685a15 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/base/AbsRecyclerViewFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/base/AbsRecyclerViewFragment.kt @@ -39,7 +39,6 @@ import code.name.monkey.retromusic.util.PreferenceUtil import code.name.monkey.retromusic.util.ThemedFastScroller.create import com.google.android.material.shape.MaterialShapeDrawable import com.google.android.material.transition.MaterialFadeThrough -import com.google.android.material.transition.MaterialSharedAxis import me.zhanghai.android.fastscroll.FastScroller import me.zhanghai.android.fastscroll.FastScrollerBuilder @@ -105,10 +104,8 @@ abstract class AbsRecyclerViewFragment, LM : Recycle private fun setupToolbar() { binding.toolbar.setNavigationOnClickListener { - exitTransition = MaterialSharedAxis(MaterialSharedAxis.Z, true).addTarget(requireView()) - reenterTransition = MaterialSharedAxis(MaterialSharedAxis.Z, false) findNavController().navigate( - R.id.searchFragment, + R.id.action_search, null, navOptions ) diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/folder/FoldersFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/folder/FoldersFragment.kt index 47f70e72e..2c161c27e 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/folder/FoldersFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/folder/FoldersFragment.kt @@ -24,9 +24,10 @@ import android.webkit.MimeTypeMap import android.widget.Toast import androidx.activity.OnBackPressedCallback import androidx.appcompat.widget.PopupMenu +import androidx.core.view.isVisible import androidx.loader.app.LoaderManager import androidx.loader.content.Loader -import androidx.navigation.Navigation.findNavController +import androidx.navigation.fragment.findNavController import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import code.name.monkey.appthemehelper.ThemeStore.Companion.accentColor @@ -57,12 +58,10 @@ import code.name.monkey.retromusic.misc.WrappedAsyncTaskLoader import code.name.monkey.retromusic.model.Song import code.name.monkey.retromusic.providers.BlacklistStore import code.name.monkey.retromusic.util.* -import code.name.monkey.retromusic.util.DensityUtil.dip2px import code.name.monkey.retromusic.util.PreferenceUtil.startDirectory import code.name.monkey.retromusic.util.ThemedFastScroller.create import code.name.monkey.retromusic.views.BreadCrumbLayout.Crumb import code.name.monkey.retromusic.views.BreadCrumbLayout.SelectionCallback -import code.name.monkey.retromusic.views.ScrollingViewOnApplyWindowInsetsListener import com.afollestad.materialcab.attached.AttachedCab import com.afollestad.materialcab.attached.destroy import com.afollestad.materialcab.attached.isActive @@ -128,10 +127,8 @@ class FoldersFragment : AbsMainActivityFragment(R.layout.fragment_folder), } private fun setUpTitle() { - binding.toolbar.setNavigationOnClickListener { v: View? -> - exitTransition = MaterialSharedAxis(MaterialSharedAxis.Z, true).setDuration(300) - reenterTransition = MaterialSharedAxis(MaterialSharedAxis.Z, false).setDuration(300) - findNavController(v!!).navigate(R.id.searchFragment, null, navOptions) + binding.toolbar.setNavigationOnClickListener { + findNavController().navigate(R.id.action_search, null, navOptions) } binding.appNameText.text = resources.getString(R.string.folders) } @@ -461,8 +458,7 @@ class FoldersFragment : AbsMainActivityFragment(R.layout.fragment_folder), private fun checkIsEmpty() { if (_binding != null) { binding.emptyEmoji.text = getEmojiByUnicode(0x1F631) - binding.empty.visibility = - if (adapter == null || adapter!!.itemCount == 0) View.VISIBLE else View.GONE + binding.empty.isVisible = adapter?.itemCount == 0 } } diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/home/HomeFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/home/HomeFragment.kt index fa76bc8ac..335a84a5c 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/home/HomeFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/home/HomeFragment.kt @@ -175,10 +175,7 @@ class HomeFragment : private fun setupTitle() { binding.toolbar.setNavigationOnClickListener { - exitTransition = MaterialSharedAxis(MaterialSharedAxis.Z, true).addTarget(binding.root) - reenterTransition = - MaterialSharedAxis(MaterialSharedAxis.Z, false) - findNavController().navigate(R.id.searchFragment, null, navOptions) + findNavController().navigate(R.id.action_search, null, navOptions) } val hexColor = String.format("#%06X", 0xFFFFFF and accentColor()) val appName = HtmlCompat.fromHtml( diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/library/LibraryFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/library/LibraryFragment.kt index 0a468f350..83a6eb508 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/library/LibraryFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/library/LibraryFragment.kt @@ -54,7 +54,7 @@ class LibraryFragment : AbsMainActivityFragment(R.layout.fragment_library) { mainActivity.supportActionBar?.title = null binding.toolbar.setNavigationOnClickListener { findNavController().navigate( - R.id.searchFragment, + R.id.action_search, null, navOptions ) diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/search/SearchFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/search/SearchFragment.kt index fbb625079..090a8ef5b 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/search/SearchFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/search/SearchFragment.kt @@ -42,7 +42,7 @@ import com.google.android.material.chip.Chip import com.google.android.material.chip.ChipGroup import com.google.android.material.shape.MaterialShapeDrawable import com.google.android.material.textfield.TextInputEditText -import com.google.android.material.transition.MaterialSharedAxis +import com.google.android.material.transition.MaterialFadeThrough import net.yslibrary.android.keyboardvisibilityevent.KeyboardVisibilityEvent import java.util.* import kotlin.collections.ArrayList @@ -63,8 +63,8 @@ class SearchFragment : AbsMainActivityFragment(R.layout.fragment_search), TextWa override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - enterTransition = MaterialSharedAxis(MaterialSharedAxis.Z, true).addTarget(view) - returnTransition = MaterialSharedAxis(MaterialSharedAxis.Z, false) + enterTransition = MaterialFadeThrough().addTarget(view) + reenterTransition = MaterialFadeThrough().addTarget(view) _binding = FragmentSearchBinding.bind(view) mainActivity.setSupportActionBar(binding.toolbar) libraryViewModel.clearSearchResult() @@ -147,7 +147,7 @@ class SearchFragment : AbsMainActivityFragment(R.layout.fragment_search), TextWa super.onChanged() binding.empty.isVisible = searchAdapter.itemCount < 1 val height = dipToPix(52f) - binding.recyclerView.setPadding(0, 0, 0, height.toInt()) + binding.recyclerView.updatePadding(bottom = height.toInt()) } }) binding.recyclerView.apply { @@ -226,11 +226,6 @@ class SearchFragment : AbsMainActivityFragment(R.layout.fragment_search), TextWa hideKeyboard(view) } - override fun onResume() { - super.onResume() - mainActivity.setBottomNavVisibility(false) - } - private fun hideKeyboard(view: View?) { if (view != null) { val imm: InputMethodManager = diff --git a/app/src/main/java/code/name/monkey/retromusic/model/CategoryInfo.kt b/app/src/main/java/code/name/monkey/retromusic/model/CategoryInfo.kt index cd62d4c84..78e6a1966 100644 --- a/app/src/main/java/code/name/monkey/retromusic/model/CategoryInfo.kt +++ b/app/src/main/java/code/name/monkey/retromusic/model/CategoryInfo.kt @@ -37,6 +37,7 @@ data class CategoryInfo( Artists(R.id.action_artist, R.string.artists, R.drawable.asld_artist), Playlists(R.id.action_playlist, R.string.playlists, R.drawable.asld_playlist), Genres(R.id.action_genre, R.string.genres, R.drawable.asld_guitar), - Folder(R.id.action_folder, R.string.folders, R.drawable.asld_folder); + Folder(R.id.action_folder, R.string.folders, R.drawable.asld_folder), + Search(R.id.action_search, R.string.action_search, R.drawable.ic_search); } } \ No newline at end of file diff --git a/app/src/main/java/code/name/monkey/retromusic/util/PreferenceUtil.kt b/app/src/main/java/code/name/monkey/retromusic/util/PreferenceUtil.kt index b12986c2e..b0a3d981a 100644 --- a/app/src/main/java/code/name/monkey/retromusic/util/PreferenceUtil.kt +++ b/app/src/main/java/code/name/monkey/retromusic/util/PreferenceUtil.kt @@ -36,7 +36,8 @@ object PreferenceUtil { CategoryInfo(CategoryInfo.Category.Artists, true), CategoryInfo(CategoryInfo.Category.Playlists, true), CategoryInfo(CategoryInfo.Category.Genres, false), - CategoryInfo(CategoryInfo.Category.Folder, false) + CategoryInfo(CategoryInfo.Category.Folder, false), + CategoryInfo(CategoryInfo.Category.Search, false) ) var libraryCategory: List diff --git a/app/src/main/res/navigation/main_graph.xml b/app/src/main/res/navigation/main_graph.xml index 499f527fd..fd3d34b22 100644 --- a/app/src/main/res/navigation/main_graph.xml +++ b/app/src/main/res/navigation/main_graph.xml @@ -70,7 +70,7 @@