Fix bottom navigation hiding

This commit is contained in:
Hemanth S 2020-08-13 18:06:24 +05:30
parent 3a68c7de12
commit ff20b3a052
10 changed files with 114 additions and 138 deletions

View file

@ -14,7 +14,6 @@ import code.name.monkey.appthemehelper.util.ATHUtil
import code.name.monkey.appthemehelper.util.ColorUtil
import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.RetroBottomSheetBehavior
import code.name.monkey.retromusic.extensions.dimToPixel
import code.name.monkey.retromusic.extensions.hide
import code.name.monkey.retromusic.extensions.show
import code.name.monkey.retromusic.extensions.whichFragment
@ -180,7 +179,7 @@ abstract class AbsSlidingMusicPanelActivity() : AbsMusicServiceActivity() {
}
private fun hideBottomBar(hide: Boolean) {
val heightOfBar = dimToPixel(R.dimen.mini_player_height)
val heightOfBar = bottomNavigationView.height
val isBottomBarVisible = bottomNavigationView.isVisible
if (hide) {
@ -192,7 +191,7 @@ abstract class AbsSlidingMusicPanelActivity() : AbsMusicServiceActivity() {
ViewCompat.setElevation(bottomNavigationView, 10f)
ViewCompat.setElevation(slidingPanel, 10f)
behavior.isHideable = false
behavior.peekHeight = if (isBottomBarVisible) heightOfBar * 2 else heightOfBar
behavior.peekHeight = (if (isBottomBarVisible) heightOfBar * 2 else heightOfBar) - 24
}
}

View file

@ -166,19 +166,18 @@ class HomeAdapter(
val color = ThemeStore.accentColor(activity)
itemView.findViewById<TextView>(R.id.message).setTextColor(color)
itemView.findViewById<MaterialCardView>(R.id.card6).apply {
setCardBackgroundColor(ColorUtil.withAlpha(color, 0.2f))
setCardBackgroundColor(ColorUtil.withAlpha(color, 0.12f))
}
if (songs.size > 9)
images.forEachIndexed { index, i ->
itemView.findViewById<View>(i).setOnClickListener {
MusicPlayerRemote.playNext(songs[index])
}
SongGlideRequest.Builder.from(Glide.with(activity), songs[index])
.asBitmap()
.build()
.into(itemView.findViewById(i))
images.forEachIndexed { index, id ->
itemView.findViewById<View>(id).setOnClickListener {
MusicPlayerRemote.playNext(songs[index])
}
SongGlideRequest.Builder.from(Glide.with(activity), songs[index])
.asBitmap()
.build()
.into(itemView.findViewById(id))
}
}
}

View file

@ -15,6 +15,7 @@ import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.LinearLayoutManager
import code.name.monkey.appthemehelper.common.ATHToolbarActivity.getToolbarBackgroundColor
import code.name.monkey.appthemehelper.util.ToolbarContentTintHelper
import code.name.monkey.retromusic.EXTRA_ALBUM_ID
import code.name.monkey.retromusic.EXTRA_ARTIST_ID
import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.activities.tageditor.AbsTagEditorActivity
@ -65,6 +66,7 @@ class AlbumDetailsFragment : AbsMainActivityFragment(R.layout.fragment_album_det
mainActivity.hideBottomBarVisibility(false)
mainActivity.addMusicServiceEventListener(detailsViewModel)
mainActivity.setSupportActionBar(toolbar)
toolbar.title = null
postponeEnterTransition()
@ -238,7 +240,7 @@ class AlbumDetailsFragment : AbsMainActivityFragment(R.layout.fragment_album_det
override fun onAlbumClick(albumId: Int, view: View) {
findNavController().navigate(
R.id.albumDetailsFragment,
bundleOf("extra_album_id" to albumId)
bundleOf(EXTRA_ALBUM_ID to albumId)
)
}
@ -263,6 +265,7 @@ class AlbumDetailsFragment : AbsMainActivityFragment(R.layout.fragment_album_det
var sortOrder: String? = null
val songs = simpleSongAdapter.dataSet
when (item.itemId) {
android.R.id.home -> findNavController().navigateUp()
R.id.action_play_next -> {
MusicPlayerRemote.playNext(songs)
return true

View file

@ -10,6 +10,8 @@ import android.view.View
import android.view.inputmethod.InputMethodManager
import androidx.appcompat.app.AppCompatActivity
import androidx.core.content.ContextCompat.getSystemService
import androidx.core.view.isGone
import androidx.core.view.isVisible
import androidx.lifecycle.Observer
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
@ -38,14 +40,13 @@ class SearchFragment : AbsMainActivityFragment(R.layout.fragment_search), TextWa
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
mainActivity.setSupportActionBar(toolbar)
mainActivity.hideBottomNavigation()
mainActivity.hideBottomBarVisibility(false)
setupRecyclerView()
setupSearchView()
keyboardPopup.accentColor()
searchView.addTextChangedListener(this)
voiceSearch.setOnClickListener { startMicSearch() }
clearText.setOnClickListener { searchView.clearText() }
keyboardPopup.setOnClickListener {
val inputManager =
getSystemService<InputMethodManager>(
@ -54,7 +55,7 @@ class SearchFragment : AbsMainActivityFragment(R.layout.fragment_search), TextWa
)
inputManager?.showSoftInput(searchView, InputMethodManager.SHOW_IMPLICIT)
}
keyboardPopup.accentColor()
if (savedInstanceState != null) {
query = savedInstanceState.getString(QUERY)
}
@ -78,7 +79,7 @@ class SearchFragment : AbsMainActivityFragment(R.layout.fragment_search), TextWa
searchAdapter.registerAdapterDataObserver(object : RecyclerView.AdapterDataObserver() {
override fun onChanged() {
super.onChanged()
empty.visibility = if (searchAdapter.itemCount < 1) View.VISIBLE else View.GONE
empty.isVisible = searchAdapter.itemCount < 1
}
})
recyclerView.apply {
@ -97,10 +98,6 @@ class SearchFragment : AbsMainActivityFragment(R.layout.fragment_search), TextWa
}
}
private fun setupSearchView() {
searchView.addTextChangedListener(this)
}
override fun afterTextChanged(newText: Editable?) {
search(newText.toString())
}
@ -116,8 +113,8 @@ class SearchFragment : AbsMainActivityFragment(R.layout.fragment_search), TextWa
private fun search(query: String) {
this.query = query
TransitionManager.beginDelayedTransition(appBarLayout)
voiceSearch.visibility = if (query.isNotEmpty()) View.GONE else View.VISIBLE
clearText.visibility = if (query.isNotEmpty()) View.VISIBLE else View.GONE
voiceSearch.isGone = query.isNotEmpty()
clearText.isVisible = query.isNotEmpty()
viewModel.search(query)
}

View file

@ -143,9 +143,10 @@ class RepositoryImpl(
override suspend fun suggestionsHome(): Home {
val songs =
NotRecentlyPlayedPlaylist(context).getSongs(context).shuffled().takeUnless {
NotRecentlyPlayedPlaylist(context).getSongs(context).shuffled().takeIf {
it.size > 9
}?.take(9) ?: emptyList<Song>()
} ?: emptyList()
println(songs.size)
return Home(songs, SUGGESTIONS)
}

View file

@ -66,5 +66,5 @@ class BottomNavigationBarTinted @JvmOverloads constructor(
}
fun Int.addAlpha(): Int {
return ColorUtil.withAlpha(this, 0.38f)
return ColorUtil.withAlpha(this, 0.12f)
}