diff --git a/app/src/main/java/code/name/monkey/retromusic/Constants.kt b/app/src/main/java/code/name/monkey/retromusic/Constants.kt index 3a9625aef..3e95ef631 100644 --- a/app/src/main/java/code/name/monkey/retromusic/Constants.kt +++ b/app/src/main/java/code/name/monkey/retromusic/Constants.kt @@ -154,3 +154,4 @@ const val LAST_USED_TAB = "last_used_tab" const val WHITELIST_MUSIC = "whitelist_music" const val MATERIAL_YOU = "material_you" const val SNOWFALL = "snowfall" +const val LYRICS_TYPE = "lyrics_type" diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/PlayerAlbumCoverFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/PlayerAlbumCoverFragment.kt index 2e323e670..14ffa31a2 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/PlayerAlbumCoverFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/PlayerAlbumCoverFragment.kt @@ -26,6 +26,7 @@ import androidx.lifecycle.lifecycleScope import androidx.preference.PreferenceManager import androidx.viewpager.widget.ViewPager import code.name.monkey.appthemehelper.util.MaterialValueHelper +import code.name.monkey.retromusic.LYRICS_TYPE import code.name.monkey.retromusic.R import code.name.monkey.retromusic.SHOW_LYRICS import code.name.monkey.retromusic.adapter.album.AlbumCoverPagerAdapter @@ -43,6 +44,7 @@ import code.name.monkey.retromusic.model.lyrics.Lyrics import code.name.monkey.retromusic.transform.CarousalPagerTransformer import code.name.monkey.retromusic.transform.ParallaxPagerTransformer import code.name.monkey.retromusic.util.LyricUtil +import code.name.monkey.retromusic.util.LyricsType import code.name.monkey.retromusic.util.PreferenceUtil import code.name.monkey.retromusic.util.color.MediaNotificationProcessor import kotlinx.coroutines.Dispatchers @@ -201,6 +203,8 @@ class PlayerAlbumCoverFragment : AbsMusicServiceFragment(R.layout.fragment_playe showLyrics(false) progressViewUpdateHelper?.stop() } + } else if (key == LYRICS_TYPE) { + maybeInitLyrics() } } @@ -223,13 +227,21 @@ class PlayerAlbumCoverFragment : AbsMusicServiceFragment(R.layout.fragment_playe } private fun showLyrics(visible: Boolean) { - ObjectAnimator.ofFloat(lrcView, View.ALPHA, if (visible) 1F else 0F).apply { + binding.coverLyrics.isVisible = false + binding.lyricsView.isVisible = false + binding.viewPager.isVisible = true + val lyrics: View = if (PreferenceUtil.lyricsType == LyricsType.REPLACE_LYRICS) { + ObjectAnimator.ofFloat(viewPager, View.ALPHA, if (visible) 0F else 1F).start() + lrcView + } else { + binding.coverLyrics + } + ObjectAnimator.ofFloat(lyrics, View.ALPHA, if (visible) 1F else 0F).apply { doOnEnd { - _binding?.lyricsView?.isVisible = visible + lyrics.isVisible = visible } start() } - ObjectAnimator.ofFloat(viewPager, View.ALPHA, if (visible) 0F else 1F).start() } private fun maybeInitLyrics() { @@ -237,7 +249,9 @@ class PlayerAlbumCoverFragment : AbsMusicServiceFragment(R.layout.fragment_playe // Don't show lyrics container for below conditions if (lyricViewNpsList.contains(nps) && PreferenceUtil.showLyrics) { showLyrics(true) - progressViewUpdateHelper?.start() + if (PreferenceUtil.lyricsType == LyricsType.REPLACE_LYRICS) { + progressViewUpdateHelper?.start() + } } else { showLyrics(false) progressViewUpdateHelper?.stop() 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 ab72dfa15..f310bb9cc 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 @@ -667,4 +667,14 @@ object PreferenceUtil { val isSnowFalling get() = sharedPreferences.getBoolean(SNOWFALL, false) + + val lyricsType: LyricsType + get() = if (sharedPreferences.getString(LYRICS_TYPE, "0") == "0") { + LyricsType.REPLACE_LYRICS + } else { + LyricsType.OVER_LYRICS + } } +enum class LyricsType { + REPLACE_LYRICS, OVER_LYRICS +} \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_player_album_cover.xml b/app/src/main/res/layout/fragment_player_album_cover.xml index 4086b5d20..da034be3f 100644 --- a/app/src/main/res/layout/fragment_player_album_cover.xml +++ b/app/src/main/res/layout/fragment_player_album_cover.xml @@ -13,6 +13,13 @@ + + - + @string/normal @string/cascading @string/depth @@ -20,6 +20,16 @@ 6 + + 0 + 1 + + + + @string/replace_cover + @string/over_cover + + 0 1 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 6afb0f685..daedc0c0a 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1,4 +1,3 @@ - About %s Team, social links @@ -275,6 +274,7 @@ Only on Wi-Fi Advanced testing features Other + Over Cover Password Past 3 months Paste Lyrics Here @@ -372,6 +372,7 @@ Ignore Media Store covers Last added playlist interval Fullscreen controls + Lyrics type Now playing theme Open source licences Remember Last Tab @@ -405,6 +406,7 @@ %1$d songs from the playlist?]]> Rename playlist + Replace Cover Report an issue Report bug Reset diff --git a/app/src/main/res/xml/pref_now_playing_screen.xml b/app/src/main/res/xml/pref_now_playing_screen.xml index f1c84acad..a1eecf692 100644 --- a/app/src/main/res/xml/pref_now_playing_screen.xml +++ b/app/src/main/res/xml/pref_now_playing_screen.xml @@ -21,6 +21,14 @@ android:layout="@layout/list_item_view_switch_no_title" android:title="Snow Fall Effect (Only on Normal theme)" /> + + @@ -33,7 +41,7 @@ - - \ No newline at end of file