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