Code Cleanup
This commit is contained in:
parent
061c0a8a3c
commit
f769740d17
27 changed files with 127 additions and 170 deletions
|
@ -140,7 +140,7 @@ abstract class AbsSlidingMusicPanelActivity : AbsMusicServiceActivity() {
|
|||
insets
|
||||
}
|
||||
if (RetroUtil.isLandscape()) {
|
||||
binding.slidingPanel.drawAboveSystemBarsWithPadding(true)
|
||||
binding.slidingPanel.drawAboveSystemBarsWithPadding()
|
||||
}
|
||||
chooseFragmentForTheme()
|
||||
setupSlidingUpPanel()
|
||||
|
|
|
@ -35,11 +35,10 @@ abstract class AbsThemeActivity : ATHToolbarActivity(), Runnable {
|
|||
private val handler = Handler()
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
setDrawBehindSystemBars()
|
||||
setEdgeToEdgeOrImmersive()
|
||||
updateTheme()
|
||||
hideStatusBar()
|
||||
super.onCreate(savedInstanceState)
|
||||
setImmersiveFullscreen()
|
||||
registerSystemUiVisibility()
|
||||
toggleScreenOn()
|
||||
setLightNavigationBarAuto()
|
||||
|
|
|
@ -150,13 +150,13 @@ class SearchAdapter(
|
|||
imageTextContainer?.isInvisible = true
|
||||
if (itemViewType == SONG) {
|
||||
imageTextContainer?.isGone = true
|
||||
menu?.visibility = View.VISIBLE
|
||||
menu?.isVisible = true
|
||||
menu?.setOnClickListener(object : SongMenuHelper.OnClickSongMenu(activity) {
|
||||
override val song: Song
|
||||
get() = dataSet[layoutPosition] as Song
|
||||
})
|
||||
} else {
|
||||
menu?.visibility = View.GONE
|
||||
menu?.isVisible = false
|
||||
}
|
||||
|
||||
when (itemViewType) {
|
||||
|
@ -164,7 +164,7 @@ class SearchAdapter(
|
|||
ARTIST -> setImageTransitionName(activity.getString(R.string.transition_artist_image))
|
||||
else -> {
|
||||
val container = itemView.findViewById<View>(R.id.imageContainer)
|
||||
container?.visibility = View.GONE
|
||||
container?.isVisible = false
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -20,6 +20,7 @@ import android.view.MenuItem
|
|||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import androidx.core.view.isVisible
|
||||
import code.name.monkey.appthemehelper.util.ATHUtil
|
||||
import code.name.monkey.retromusic.R
|
||||
import code.name.monkey.retromusic.adapter.base.AbsMultiSelectAdapter
|
||||
|
@ -78,7 +79,7 @@ class SongFileAdapter(
|
|||
if (holder.itemViewType == FILE) {
|
||||
holder.text?.text = getFileText(file)
|
||||
} else {
|
||||
holder.text?.visibility = View.GONE
|
||||
holder.text?.isVisible = false
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -20,6 +20,7 @@ import android.view.MenuItem
|
|||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import androidx.core.view.ViewCompat
|
||||
import androidx.core.view.isVisible
|
||||
import androidx.fragment.app.FragmentActivity
|
||||
import code.name.monkey.retromusic.R
|
||||
import code.name.monkey.retromusic.adapter.base.AbsMultiSelectAdapter
|
||||
|
@ -174,7 +175,7 @@ open class AlbumAdapter(
|
|||
inner class ViewHolder(itemView: View) : MediaEntryViewHolder(itemView) {
|
||||
|
||||
init {
|
||||
menu?.visibility = View.GONE
|
||||
menu?.isVisible = false
|
||||
}
|
||||
|
||||
override fun onClick(v: View?) {
|
||||
|
|
|
@ -21,6 +21,7 @@ import android.view.MenuItem
|
|||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import androidx.core.view.ViewCompat
|
||||
import androidx.core.view.isVisible
|
||||
import androidx.fragment.app.FragmentActivity
|
||||
import code.name.monkey.retromusic.R
|
||||
import code.name.monkey.retromusic.adapter.base.AbsMultiSelectAdapter
|
||||
|
@ -158,7 +159,7 @@ class ArtistAdapter(
|
|||
inner class ViewHolder(itemView: View) : MediaEntryViewHolder(itemView) {
|
||||
|
||||
init {
|
||||
menu?.visibility = View.GONE
|
||||
menu?.isVisible = false
|
||||
}
|
||||
|
||||
override fun onClick(v: View?) {
|
||||
|
|
|
@ -16,6 +16,7 @@ package code.name.monkey.retromusic.adapter.song
|
|||
|
||||
import android.view.MenuItem
|
||||
import android.view.View
|
||||
import androidx.core.view.isVisible
|
||||
import androidx.fragment.app.FragmentActivity
|
||||
import androidx.lifecycle.lifecycleScope
|
||||
import code.name.monkey.appthemehelper.ThemeStore
|
||||
|
@ -129,7 +130,7 @@ class OrderablePlaylistSongAdapter(
|
|||
}
|
||||
|
||||
init {
|
||||
dragView?.visibility = View.VISIBLE
|
||||
dragView?.isVisible = true
|
||||
}
|
||||
|
||||
override fun onClick(v: View?) {
|
||||
|
|
|
@ -16,6 +16,7 @@ package code.name.monkey.retromusic.adapter.song
|
|||
|
||||
import android.view.MenuItem
|
||||
import android.view.View
|
||||
import androidx.core.view.isVisible
|
||||
import androidx.fragment.app.FragmentActivity
|
||||
import code.name.monkey.retromusic.R
|
||||
import code.name.monkey.retromusic.glide.GlideApp
|
||||
|
@ -154,7 +155,7 @@ class PlayingQueueAdapter(
|
|||
}
|
||||
|
||||
init {
|
||||
dragView?.visibility = View.VISIBLE
|
||||
dragView?.isVisible = true
|
||||
}
|
||||
|
||||
override fun onSongMenuItemClick(item: MenuItem): Boolean {
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
package code.name.monkey.retromusic.adapter.song
|
||||
|
||||
import android.view.View
|
||||
import androidx.core.view.isVisible
|
||||
import androidx.fragment.app.FragmentActivity
|
||||
import code.name.monkey.retromusic.R
|
||||
import code.name.monkey.retromusic.extensions.accentColor
|
||||
|
@ -61,7 +62,7 @@ class ShuffleButtonSongAdapter(
|
|||
super.onBindViewHolder(holder, position - 1)
|
||||
val landscape = RetroUtil.isLandscape()
|
||||
if ((PreferenceUtil.songGridSize > 2 && !landscape) || (PreferenceUtil.songGridSizeLand > 5 && landscape)) {
|
||||
holder.menu?.visibility = View.GONE
|
||||
holder.menu?.isVisible = false
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -22,6 +22,14 @@ fun AppCompatActivity.toggleScreenOn() {
|
|||
}
|
||||
}
|
||||
|
||||
fun AppCompatActivity.setEdgeToEdgeOrImmersive() {
|
||||
if (PreferenceUtil.isFullScreenMode) {
|
||||
setImmersiveFullscreen()
|
||||
} else {
|
||||
setDrawBehindSystemBars()
|
||||
}
|
||||
}
|
||||
|
||||
fun AppCompatActivity.setImmersiveFullscreen() {
|
||||
if (PreferenceUtil.isFullScreenMode) {
|
||||
WindowInsetsControllerCompat(window, window.decorView).apply {
|
||||
|
|
|
@ -20,11 +20,11 @@ import android.content.Context
|
|||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import android.view.ViewGroup.MarginLayoutParams
|
||||
import android.view.ViewTreeObserver
|
||||
import android.view.inputmethod.InputMethodManager
|
||||
import android.widget.EditText
|
||||
import androidx.annotation.LayoutRes
|
||||
import androidx.annotation.Px
|
||||
import androidx.core.animation.doOnEnd
|
||||
import androidx.core.animation.doOnStart
|
||||
import androidx.core.view.*
|
||||
|
@ -32,11 +32,8 @@ import code.name.monkey.appthemehelper.ThemeStore
|
|||
import code.name.monkey.appthemehelper.util.TintHelper
|
||||
import code.name.monkey.retromusic.util.PreferenceUtil
|
||||
import code.name.monkey.retromusic.util.RetroUtil
|
||||
import com.afollestad.materialdialogs.utils.MDUtil.updatePadding
|
||||
import com.google.android.material.bottomsheet.BottomSheetBehavior
|
||||
import com.google.android.material.imageview.ShapeableImageView
|
||||
import com.google.android.material.shape.ShapeAppearanceModel
|
||||
|
||||
import dev.chrisbanes.insetter.applyInsetter
|
||||
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
fun <T : View> ViewGroup.inflate(@LayoutRes layout: Int): T {
|
||||
|
@ -44,19 +41,17 @@ fun <T : View> ViewGroup.inflate(@LayoutRes layout: Int): T {
|
|||
}
|
||||
|
||||
fun View.show() {
|
||||
visibility = View.VISIBLE
|
||||
isVisible = true
|
||||
}
|
||||
|
||||
fun View.hide() {
|
||||
visibility = View.GONE
|
||||
isVisible = false
|
||||
}
|
||||
|
||||
fun View.hidden() {
|
||||
visibility = View.INVISIBLE
|
||||
isInvisible = true
|
||||
}
|
||||
|
||||
fun View.showOrHide(show: Boolean) = if (show) show() else hide()
|
||||
|
||||
fun EditText.appHandleColor(): EditText {
|
||||
if (PreferenceUtil.materialYou) return this
|
||||
TintHelper.colorHandles(this, ThemeStore.accentColor(context))
|
||||
|
@ -126,121 +121,45 @@ fun View.focusAndShowKeyboard() {
|
|||
}
|
||||
}
|
||||
|
||||
fun ShapeableImageView.setCircleShape(boolean: Boolean) {
|
||||
addOnLayoutChangeListener { _, _, _, _, _, _, _, _, _ ->
|
||||
val radius = width / 2f
|
||||
shapeAppearanceModel = ShapeAppearanceModel().withCornerSize(radius)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* This will draw our view above the navigation bar instead of behind it by adding margins.
|
||||
*/
|
||||
fun View.drawAboveSystemBars(onlyPortrait: Boolean = true) {
|
||||
if (PreferenceUtil.isFullScreenMode) return
|
||||
if (onlyPortrait && RetroUtil.isLandscape()) return
|
||||
// Create a snapshot of the view's margin state
|
||||
val initialMargin = recordInitialMarginForView(this)
|
||||
ViewCompat.setOnApplyWindowInsetsListener(
|
||||
(this)
|
||||
) { _: View, windowInsets: WindowInsetsCompat ->
|
||||
val insets = windowInsets.getInsets(WindowInsetsCompat.Type.systemBars())
|
||||
// Apply the insets as a margin to the view.
|
||||
updateLayoutParams<MarginLayoutParams> {
|
||||
leftMargin = initialMargin.left + insets.left
|
||||
bottomMargin = initialMargin.bottom + insets.bottom
|
||||
rightMargin = initialMargin.right + insets.right
|
||||
applyInsetter {
|
||||
type(navigationBars = true) {
|
||||
margin()
|
||||
}
|
||||
windowInsets
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* This will draw our view above the navigation bar instead of behind it by adding padding.
|
||||
*/
|
||||
fun View.drawAboveSystemBarsWithPadding(consume: Boolean = false) {
|
||||
fun View.drawAboveSystemBarsWithPadding() {
|
||||
if (PreferenceUtil.isFullScreenMode) return
|
||||
val initialPadding = recordInitialPaddingForView(this)
|
||||
|
||||
ViewCompat.setOnApplyWindowInsetsListener(
|
||||
(this)
|
||||
) { v: View, windowInsets: WindowInsetsCompat ->
|
||||
val insets = windowInsets.getInsets(WindowInsetsCompat.Type.systemBars())
|
||||
v.updatePadding(
|
||||
left = initialPadding.left + insets.left,
|
||||
bottom = initialPadding.bottom + insets.bottom,
|
||||
right = initialPadding.right + insets.right
|
||||
)
|
||||
if (consume) WindowInsetsCompat.CONSUMED else windowInsets
|
||||
}
|
||||
requestApplyInsetsWhenAttached()
|
||||
}
|
||||
|
||||
fun View.requestApplyInsetsWhenAttached() {
|
||||
if (isAttachedToWindow) {
|
||||
// We're already attached, just request as normal
|
||||
requestApplyInsets()
|
||||
} else {
|
||||
// We're not attached to the hierarchy, add a listener to
|
||||
// request when we are
|
||||
addOnAttachStateChangeListener(object : View.OnAttachStateChangeListener {
|
||||
override fun onViewAttachedToWindow(v: View) {
|
||||
v.removeOnAttachStateChangeListener(this)
|
||||
v.requestApplyInsets()
|
||||
}
|
||||
|
||||
override fun onViewDetachedFromWindow(v: View) = Unit
|
||||
})
|
||||
applyInsetter {
|
||||
type(navigationBars = true) {
|
||||
padding()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun View.drawNextToNavbar() {
|
||||
val initialPadding = recordInitialPaddingForView(this)
|
||||
|
||||
ViewCompat.setOnApplyWindowInsetsListener(
|
||||
(this)
|
||||
) { v: View, windowInsets: WindowInsetsCompat ->
|
||||
val insets = windowInsets.getInsets(WindowInsetsCompat.Type.systemBars())
|
||||
v.updatePadding(
|
||||
left = initialPadding.left + insets.left,
|
||||
right = initialPadding.right + insets.right
|
||||
)
|
||||
windowInsets
|
||||
}
|
||||
requestApplyInsetsWhenAttached()
|
||||
}
|
||||
|
||||
fun View.addBottomInsets() {
|
||||
// Create a snapshot of the view's margin state
|
||||
val initialMargin = recordInitialMarginForView(this)
|
||||
ViewCompat.setOnApplyWindowInsetsListener(
|
||||
(this)
|
||||
) { _: View, windowInsets: WindowInsetsCompat ->
|
||||
val insets = windowInsets.getInsets(WindowInsetsCompat.Type.systemBars())
|
||||
// Apply the insets as a margin to the view.
|
||||
updateLayoutParams<MarginLayoutParams> {
|
||||
bottomMargin = initialMargin.bottom + insets.bottom
|
||||
if (PreferenceUtil.isFullScreenMode) return
|
||||
applyInsetter {
|
||||
type(statusBars = true, navigationBars = true) {
|
||||
padding(horizontal = true)
|
||||
}
|
||||
windowInsets
|
||||
}
|
||||
}
|
||||
|
||||
data class InitialMargin(
|
||||
val left: Int, val top: Int,
|
||||
val right: Int, val bottom: Int
|
||||
)
|
||||
|
||||
fun recordInitialMarginForView(view: View) = InitialMargin(
|
||||
view.marginLeft, view.marginTop, view.marginRight, view.marginBottom
|
||||
)
|
||||
|
||||
|
||||
data class InitialPadding(
|
||||
val left: Int, val top: Int,
|
||||
val right: Int, val bottom: Int
|
||||
)
|
||||
|
||||
fun recordInitialPaddingForView(view: View) = InitialPadding(
|
||||
view.paddingLeft, view.paddingTop, view.paddingRight, view.paddingBottom
|
||||
)
|
||||
fun View.updateMargin(
|
||||
@Px left: Int = marginLeft,
|
||||
@Px top: Int = marginTop,
|
||||
@Px right: Int = marginRight,
|
||||
@Px bottom: Int = marginBottom
|
||||
) {
|
||||
(layoutParams as ViewGroup.MarginLayoutParams).updateMargins(left, top, right, bottom)
|
||||
}
|
|
@ -12,6 +12,7 @@ import androidx.core.os.bundleOf
|
|||
import androidx.core.text.HtmlCompat
|
||||
import androidx.core.view.ViewCompat
|
||||
import androidx.core.view.doOnPreDraw
|
||||
import androidx.core.view.isVisible
|
||||
import androidx.lifecycle.lifecycleScope
|
||||
import androidx.navigation.fragment.FragmentNavigatorExtras
|
||||
import androidx.navigation.fragment.findNavController
|
||||
|
@ -192,19 +193,21 @@ abstract class AbsArtistDetailsFragment : AbsMainActivityFragment(R.layout.fragm
|
|||
if (lastFmArtist != null && lastFmArtist.artist != null && lastFmArtist.artist.bio != null) {
|
||||
val bioContent = lastFmArtist.artist.bio.content
|
||||
if (bioContent != null && bioContent.trim { it <= ' ' }.isNotEmpty()) {
|
||||
binding.fragmentArtistContent.biographyText.visibility = View.VISIBLE
|
||||
binding.fragmentArtistContent.biographyTitle.visibility = View.VISIBLE
|
||||
biography = HtmlCompat.fromHtml(bioContent, HtmlCompat.FROM_HTML_MODE_LEGACY)
|
||||
binding.fragmentArtistContent.biographyText.text = biography
|
||||
if (lastFmArtist.artist.stats.listeners.isNotEmpty()) {
|
||||
binding.fragmentArtistContent.listeners.show()
|
||||
binding.fragmentArtistContent.listenersLabel.show()
|
||||
binding.fragmentArtistContent.scrobbles.show()
|
||||
binding.fragmentArtistContent.scrobblesLabel.show()
|
||||
binding.fragmentArtistContent.listeners.text =
|
||||
RetroUtil.formatValue(lastFmArtist.artist.stats.listeners.toFloat())
|
||||
binding.fragmentArtistContent.scrobbles.text =
|
||||
RetroUtil.formatValue(lastFmArtist.artist.stats.playcount.toFloat())
|
||||
binding.fragmentArtistContent.run {
|
||||
biographyText.isVisible = true
|
||||
biographyTitle.isVisible = true
|
||||
biography = HtmlCompat.fromHtml(bioContent, HtmlCompat.FROM_HTML_MODE_LEGACY)
|
||||
biographyText.text = biography
|
||||
if (lastFmArtist.artist.stats.listeners.isNotEmpty()) {
|
||||
listeners.show()
|
||||
listenersLabel.show()
|
||||
scrobbles.show()
|
||||
scrobblesLabel.show()
|
||||
listeners.text =
|
||||
RetroUtil.formatValue(lastFmArtist.artist.stats.listeners.toFloat())
|
||||
scrobbles.text =
|
||||
RetroUtil.formatValue(lastFmArtist.artist.stats.playcount.toFloat())
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -19,6 +19,7 @@ import android.view.View
|
|||
import android.view.animation.AccelerateInterpolator
|
||||
import android.view.animation.DecelerateInterpolator
|
||||
import androidx.annotation.LayoutRes
|
||||
import androidx.core.view.isVisible
|
||||
import code.name.monkey.retromusic.R
|
||||
import code.name.monkey.retromusic.fragments.other.VolumeFragment
|
||||
import code.name.monkey.retromusic.helper.MusicProgressViewUpdateHelper
|
||||
|
@ -49,7 +50,7 @@ abstract class AbsPlayerControlsFragment(@LayoutRes layout: Int) : AbsMusicServi
|
|||
clearAnimation()
|
||||
scaleX = 0.9f
|
||||
scaleY = 0.9f
|
||||
visibility = View.VISIBLE
|
||||
isVisible = true
|
||||
pivotX = (view.width / 2).toFloat()
|
||||
pivotY = (view.height / 2).toFloat()
|
||||
|
||||
|
|
|
@ -35,6 +35,7 @@ import androidx.annotation.LayoutRes
|
|||
import androidx.appcompat.graphics.drawable.DrawableWrapper
|
||||
import androidx.appcompat.widget.Toolbar
|
||||
import androidx.core.os.bundleOf
|
||||
import androidx.core.view.isVisible
|
||||
import androidx.lifecycle.lifecycleScope
|
||||
import androidx.navigation.findNavController
|
||||
import androidx.navigation.navOptions
|
||||
|
@ -275,7 +276,7 @@ abstract class AbsPlayerFragment(@LayoutRes layout: Int) : AbsMainActivityFragme
|
|||
if (PreferenceUtil.isFullScreenMode &&
|
||||
view.findViewById<View>(R.id.status_bar) != null
|
||||
) {
|
||||
view.findViewById<View>(R.id.status_bar).visibility = View.GONE
|
||||
view.findViewById<View>(R.id.status_bar).isVisible = false
|
||||
}
|
||||
playerAlbumCoverFragment = whichFragment(R.id.playerAlbumCoverFragment)
|
||||
playerAlbumCoverFragment?.setCallbacks(this)
|
||||
|
|
|
@ -155,17 +155,19 @@ abstract class AbsRecyclerViewFragment<A : RecyclerView.Adapter<*>, LM : Recycle
|
|||
|
||||
private fun checkIsEmpty() {
|
||||
binding.emptyText.setText(emptyMessage)
|
||||
binding.empty.visibility = if (adapter!!.itemCount == 0) View.VISIBLE else View.GONE
|
||||
binding.empty.isVisible = adapter!!.itemCount == 0
|
||||
}
|
||||
|
||||
private fun checkForPadding() {
|
||||
val itemCount: Int = adapter?.itemCount ?: 0
|
||||
|
||||
if (itemCount > 0 && MusicPlayerRemote.playingQueue.isNotEmpty()) {
|
||||
binding.recyclerView.updatePadding(bottom = dip(R.dimen.mini_player_height_expanded))
|
||||
} else {
|
||||
binding.recyclerView.updatePadding(bottom = dip(R.dimen.bottom_nav_height))
|
||||
}
|
||||
binding.recyclerView.updatePadding(
|
||||
bottom = if (itemCount > 0 && MusicPlayerRemote.playingQueue.isNotEmpty()) {
|
||||
dip(R.dimen.mini_player_height_expanded)
|
||||
} else {
|
||||
dip(R.dimen.bottom_nav_height)
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
private fun initLayoutManager() {
|
||||
|
|
|
@ -120,7 +120,7 @@ class CoverLyricsFragment : AbsMusicServiceFragment(R.layout.fragment_cover_lyri
|
|||
if (lyrics !is AbsSynchronizedLyrics) return
|
||||
val synchronizedLyrics = lyrics as AbsSynchronizedLyrics
|
||||
|
||||
lyricsLayout.visibility = View.VISIBLE
|
||||
lyricsLayout.isVisible = true
|
||||
lyricsLayout.alpha = 1f
|
||||
|
||||
val oldLine = lyricsLine2.text.toString()
|
||||
|
|
|
@ -285,11 +285,7 @@ class LyricsFragment : AbsMusicServiceFragment(R.layout.fragment_lyrics) {
|
|||
} catch (e: Exception) {
|
||||
e.printStackTrace()
|
||||
}
|
||||
if (lyrics.isNullOrEmpty()) {
|
||||
binding.noLyricsFound.visibility = View.VISIBLE
|
||||
} else {
|
||||
binding.noLyricsFound.visibility = View.GONE
|
||||
}
|
||||
binding.noLyricsFound.isVisible = lyrics.isNullOrEmpty()
|
||||
binding.normalLyrics.text = lyrics
|
||||
}
|
||||
|
||||
|
|
|
@ -25,6 +25,7 @@ import android.view.animation.DecelerateInterpolator
|
|||
import android.view.animation.LinearInterpolator
|
||||
import android.widget.SeekBar
|
||||
import androidx.core.content.ContextCompat
|
||||
import androidx.core.view.isVisible
|
||||
import code.name.monkey.appthemehelper.util.ColorUtil
|
||||
import code.name.monkey.appthemehelper.util.MaterialValueHelper
|
||||
import code.name.monkey.appthemehelper.util.TintHelper
|
||||
|
@ -261,7 +262,7 @@ class BlurPlaybackControlsFragment :
|
|||
clearAnimation()
|
||||
scaleX = 0.9f
|
||||
scaleY = 0.9f
|
||||
visibility = View.VISIBLE
|
||||
isVisible = true
|
||||
pivotX = (width / 2).toFloat()
|
||||
pivotY = (height / 2).toFloat()
|
||||
|
||||
|
|
|
@ -23,6 +23,7 @@ import android.view.animation.AccelerateInterpolator
|
|||
import android.view.animation.DecelerateInterpolator
|
||||
import android.view.animation.LinearInterpolator
|
||||
import android.widget.SeekBar
|
||||
import androidx.core.view.isVisible
|
||||
import code.name.monkey.appthemehelper.ThemeStore
|
||||
import code.name.monkey.appthemehelper.util.ColorUtil
|
||||
import code.name.monkey.appthemehelper.util.MaterialValueHelper
|
||||
|
@ -265,7 +266,7 @@ class FitPlaybackControlsFragment :
|
|||
clearAnimation()
|
||||
scaleX = 0.9f
|
||||
scaleY = 0.9f
|
||||
visibility = View.VISIBLE
|
||||
isVisible = true
|
||||
pivotX = (width / 2).toFloat()
|
||||
pivotY = (height / 2).toFloat()
|
||||
|
||||
|
|
|
@ -23,6 +23,7 @@ import android.view.animation.AccelerateInterpolator
|
|||
import android.view.animation.DecelerateInterpolator
|
||||
import android.view.animation.LinearInterpolator
|
||||
import android.widget.SeekBar
|
||||
import androidx.core.view.isVisible
|
||||
import code.name.monkey.appthemehelper.ThemeStore
|
||||
import code.name.monkey.appthemehelper.util.ATHUtil
|
||||
import code.name.monkey.appthemehelper.util.ColorUtil
|
||||
|
@ -251,7 +252,7 @@ class PlainPlaybackControlsFragment :
|
|||
clearAnimation()
|
||||
scaleX = 0.9f
|
||||
scaleY = 0.9f
|
||||
visibility = View.VISIBLE
|
||||
isVisible = true
|
||||
pivotX = (width / 2).toFloat()
|
||||
pivotY = (height / 2).toFloat()
|
||||
|
||||
|
|
|
@ -20,6 +20,7 @@ import code.name.monkey.retromusic.db.PlaylistWithSongs
|
|||
import code.name.monkey.retromusic.db.toSongs
|
||||
import code.name.monkey.retromusic.extensions.dip
|
||||
import code.name.monkey.retromusic.extensions.surfaceColor
|
||||
import code.name.monkey.retromusic.extensions.updateMargin
|
||||
import code.name.monkey.retromusic.fragments.base.AbsMainActivityFragment
|
||||
import code.name.monkey.retromusic.helper.MusicPlayerRemote
|
||||
import code.name.monkey.retromusic.helper.menu.PlaylistMenuHelper
|
||||
|
@ -149,8 +150,8 @@ class PlaylistDetailsFragment : AbsMainActivityFragment(R.layout.fragment_playli
|
|||
}
|
||||
|
||||
private fun showEmptyView() {
|
||||
binding.empty.visibility = View.VISIBLE
|
||||
binding.emptyText.visibility = View.VISIBLE
|
||||
binding.empty.isVisible = true
|
||||
binding.emptyText.isVisible = true
|
||||
}
|
||||
|
||||
fun songs(songs: List<Song>) {
|
||||
|
|
|
@ -37,17 +37,20 @@ class MainSettingsFragment : Fragment(), View.OnClickListener {
|
|||
|
||||
|
||||
override fun onClick(view: View) {
|
||||
when (view.id) {
|
||||
R.id.generalSettings -> findNavController().navigate(R.id.action_mainSettingsFragment_to_themeSettingsFragment)
|
||||
R.id.audioSettings -> findNavController().navigate(R.id.action_mainSettingsFragment_to_audioSettings)
|
||||
R.id.personalizeSettings -> findNavController().navigate(R.id.action_mainSettingsFragment_to_personalizeSettingsFragment)
|
||||
R.id.imageSettings -> findNavController().navigate(R.id.action_mainSettingsFragment_to_imageSettingFragment)
|
||||
R.id.notificationSettings -> findNavController().navigate(R.id.action_mainSettingsFragment_to_notificationSettingsFragment)
|
||||
R.id.otherSettings -> findNavController().navigate(R.id.action_mainSettingsFragment_to_otherSettingsFragment)
|
||||
R.id.aboutSettings -> findNavController().navigate(R.id.action_mainSettingsFragment_to_aboutActivity)
|
||||
R.id.nowPlayingSettings -> findNavController().navigate(R.id.action_mainSettingsFragment_to_nowPlayingSettingsFragment)
|
||||
R.id.backup_restore_settings -> findNavController().navigate(R.id.action_mainSettingsFragment_to_backupFragment)
|
||||
}
|
||||
findNavController().navigate(
|
||||
when (view.id) {
|
||||
R.id.generalSettings -> R.id.action_mainSettingsFragment_to_themeSettingsFragment
|
||||
R.id.audioSettings -> R.id.action_mainSettingsFragment_to_audioSettings
|
||||
R.id.personalizeSettings -> R.id.action_mainSettingsFragment_to_personalizeSettingsFragment
|
||||
R.id.imageSettings -> R.id.action_mainSettingsFragment_to_imageSettingFragment
|
||||
R.id.notificationSettings -> R.id.action_mainSettingsFragment_to_notificationSettingsFragment
|
||||
R.id.otherSettings -> R.id.action_mainSettingsFragment_to_otherSettingsFragment
|
||||
R.id.aboutSettings -> R.id.action_mainSettingsFragment_to_aboutActivity
|
||||
R.id.nowPlayingSettings -> R.id.action_mainSettingsFragment_to_nowPlayingSettingsFragment
|
||||
R.id.backup_restore_settings -> R.id.action_mainSettingsFragment_to_backupFragment
|
||||
else -> R.id.action_mainSettingsFragment_to_themeSettingsFragment
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
override fun onCreateView(
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
package code.name.monkey.retromusic.transform
|
||||
|
||||
import android.view.View
|
||||
import androidx.core.view.isVisible
|
||||
import androidx.viewpager.widget.ViewPager
|
||||
import kotlin.math.abs
|
||||
|
||||
|
@ -33,22 +34,22 @@ class HingeTransformation : ViewPager.PageTransformer {
|
|||
// The Page is off-screen but it may still interfere with
|
||||
// click events of current page if
|
||||
// it's visibility is not set to Gone
|
||||
page.visibility = View.GONE
|
||||
page.isVisible = false
|
||||
}
|
||||
position <= 0 -> { // [-1,0]
|
||||
page.rotation = 90 * abs(position)
|
||||
page.alpha = 1 - abs(position)
|
||||
page.visibility = View.VISIBLE
|
||||
page.isVisible = true
|
||||
}
|
||||
position <= 1 -> { // (0,1]
|
||||
page.rotation = 0f
|
||||
page.alpha = 1f
|
||||
page.visibility = View.VISIBLE
|
||||
page.isVisible = true
|
||||
}
|
||||
else -> { // (1,+Infinity]
|
||||
// This page is way off-screen to the right.
|
||||
page.alpha = 0f
|
||||
page.visibility = View.GONE
|
||||
page.isVisible = false
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -15,6 +15,8 @@
|
|||
package code.name.monkey.retromusic.transform
|
||||
|
||||
import android.view.View
|
||||
import androidx.core.view.isInvisible
|
||||
import androidx.core.view.isVisible
|
||||
import androidx.viewpager.widget.ViewPager
|
||||
import kotlin.math.abs
|
||||
|
||||
|
@ -25,9 +27,9 @@ class HorizontalFlipTransformation : ViewPager.PageTransformer {
|
|||
page.cameraDistance = 20000f
|
||||
|
||||
if (position < 0.5 && position > -0.5) {
|
||||
page.visibility = View.VISIBLE
|
||||
page.isVisible = true
|
||||
} else {
|
||||
page.visibility = View.INVISIBLE
|
||||
page.isInvisible = true
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -15,6 +15,8 @@
|
|||
package code.name.monkey.retromusic.transform
|
||||
|
||||
import android.view.View
|
||||
import androidx.core.view.isInvisible
|
||||
import androidx.core.view.isVisible
|
||||
import androidx.viewpager.widget.ViewPager
|
||||
import kotlin.math.abs
|
||||
|
||||
|
@ -25,9 +27,9 @@ class VerticalFlipTransformation : ViewPager.PageTransformer {
|
|||
page.cameraDistance = 100000f
|
||||
|
||||
if (position < 0.5 && position > -0.5) {
|
||||
page.visibility = View.VISIBLE
|
||||
page.isVisible = true
|
||||
} else {
|
||||
page.visibility = View.INVISIBLE
|
||||
page.isInvisible = true
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -23,7 +23,7 @@ import code.name.monkey.appthemehelper.util.ColorUtil
|
|||
import code.name.monkey.appthemehelper.util.NavigationViewUtil
|
||||
import code.name.monkey.retromusic.util.PreferenceUtil
|
||||
import com.google.android.material.bottomnavigation.BottomNavigationView
|
||||
import java.lang.RuntimeException
|
||||
import dev.chrisbanes.insetter.applyInsetter
|
||||
|
||||
class BottomNavigationBarTinted @JvmOverloads constructor(
|
||||
context: Context,
|
||||
|
@ -39,6 +39,12 @@ class BottomNavigationBarTinted @JvmOverloads constructor(
|
|||
setOnApplyWindowInsetsListener { _, insets ->
|
||||
insets
|
||||
}
|
||||
} else {
|
||||
applyInsetter {
|
||||
type(navigationBars = true) {
|
||||
padding()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
labelVisibilityMode = PreferenceUtil.tabTitleMode
|
||||
|
|
|
@ -4,6 +4,7 @@ import android.content.Context
|
|||
import android.util.AttributeSet
|
||||
import androidx.annotation.Px
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import code.name.monkey.retromusic.R
|
||||
import code.name.monkey.retromusic.extensions.drawAboveSystemBarsWithPadding
|
||||
import code.name.monkey.retromusic.util.RetroUtil
|
||||
|
||||
|
@ -24,6 +25,9 @@ class InsetsRecyclerView @JvmOverloads constructor(
|
|||
@Px bottom: Int = paddingBottom
|
||||
) {
|
||||
setPadding(left, top, right, bottom)
|
||||
// Insetter saves initial state i.e. initial padding/margin of the view,
|
||||
// we just clear it for now
|
||||
setTag(R.id.insetter_initial_state, null)
|
||||
if (!RetroUtil.isLandscape())
|
||||
drawAboveSystemBarsWithPadding()
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue