Added Search tab
This commit is contained in:
parent
f769740d17
commit
ff1c83c91d
9 changed files with 18 additions and 31 deletions
|
@ -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)
|
||||
|
|
|
@ -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<A : RecyclerView.Adapter<*>, 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
|
||||
)
|
||||
|
|
|
@ -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
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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(
|
||||
|
|
|
@ -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
|
||||
)
|
||||
|
|
|
@ -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 =
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
|
@ -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<CategoryInfo>
|
||||
|
|
|
@ -70,7 +70,7 @@
|
|||
</fragment>
|
||||
|
||||
<fragment
|
||||
android:id="@+id/searchFragment"
|
||||
android:id="@+id/action_search"
|
||||
android:name="code.name.monkey.retromusic.fragments.search.SearchFragment"
|
||||
android:label="SearchFragment"
|
||||
tools:layout="@layout/fragment_search" />
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue