diff --git a/app/build.gradle b/app/build.gradle
index e7d3ecc9d..7581b2571 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -14,7 +14,7 @@ android {
vectorDrawables.useSupportLibrary = true
applicationId "code.name.monkey.retromusic"
- versionCode 10568
+ versionCode 10569
versionName '5.7.3'
buildConfigField("String", "GOOGLE_PLAY_LICENSING_KEY", "\"${getProperty(getProperties('../public.properties'), 'GOOGLE_PLAY_LICENSE_KEY')}\"")
@@ -126,7 +126,7 @@ dependencies {
def retrofit_version = '2.9.0'
implementation "com.squareup.retrofit2:retrofit:$retrofit_version"
implementation "com.squareup.retrofit2:converter-gson:$retrofit_version"
- implementation 'com.squareup.okhttp3:logging-interceptor:5.0.0-alpha.5'
+ implementation 'com.squareup.okhttp3:logging-interceptor:5.0.0-alpha.6'
def material_dialog_version = "3.3.0"
implementation "com.afollestad.material-dialogs:core:$material_dialog_version"
diff --git a/app/src/main/assets/retro-changelog.html b/app/src/main/assets/retro-changelog.html
index ce70231fc..40bcf73be 100644
--- a/app/src/main/assets/retro-changelog.html
+++ b/app/src/main/assets/retro-changelog.html
@@ -67,11 +67,13 @@
v5.7.3
What's New
+ - Added adaptive color in Material now playing theme
- Added an option to share crash report
- Added options to clear, pause history
Fixed
+ - Adapt Wallpaper accent for better readability
- Optimized search
- Made sleep timer precise
diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/home/HomeFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/home/HomeFragment.kt
index 9c5b04117..944a0ce9d 100644
--- a/app/src/main/java/code/name/monkey/retromusic/fragments/home/HomeFragment.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/fragments/home/HomeFragment.kt
@@ -187,7 +187,7 @@ class HomeFragment :
}
GlideApp.with(requireActivity())
.load(RetroGlideExtension.getUserModel())
- .userProfileOptions(RetroGlideExtension.getUserModel())
+ .userProfileOptions(RetroGlideExtension.getUserModel(), requireContext())
.into(binding.userImage)
}
diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/other/UserInfoFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/other/UserInfoFragment.kt
index 79ef841ed..ee4e76a20 100644
--- a/app/src/main/java/code/name/monkey/retromusic/fragments/other/UserInfoFragment.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/fragments/other/UserInfoFragment.kt
@@ -130,7 +130,7 @@ class UserInfoFragment : Fragment() {
}
GlideApp.with(this)
.load(RetroGlideExtension.getUserModel())
- .userProfileOptions(RetroGlideExtension.getUserModel())
+ .userProfileOptions(RetroGlideExtension.getUserModel(), requireContext())
.into(binding.userImage)
}
diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/player/material/MaterialFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/player/material/MaterialFragment.kt
index a7eac74f9..b57654fad 100644
--- a/app/src/main/java/code/name/monkey/retromusic/fragments/player/material/MaterialFragment.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/fragments/player/material/MaterialFragment.kt
@@ -14,6 +14,9 @@
*/
package code.name.monkey.retromusic.fragments.player.material
+import android.animation.ArgbEvaluator
+import android.animation.ValueAnimator
+import android.graphics.drawable.GradientDrawable
import android.os.Bundle
import android.view.View
import androidx.appcompat.widget.Toolbar
@@ -22,12 +25,16 @@ import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.databinding.FragmentMaterialBinding
import code.name.monkey.retromusic.extensions.colorControlNormal
import code.name.monkey.retromusic.extensions.drawAboveSystemBars
+import code.name.monkey.retromusic.extensions.surfaceColor
import code.name.monkey.retromusic.fragments.base.AbsPlayerFragment
import code.name.monkey.retromusic.fragments.player.PlayerAlbumCoverFragment
import code.name.monkey.retromusic.fragments.player.normal.PlayerFragment
import code.name.monkey.retromusic.helper.MusicPlayerRemote
import code.name.monkey.retromusic.model.Song
+import code.name.monkey.retromusic.util.PreferenceUtil
+import code.name.monkey.retromusic.util.ViewUtil
import code.name.monkey.retromusic.util.color.MediaNotificationProcessor
+import code.name.monkey.retromusic.views.DrawableGradient
/**
* @author Hemanth S (h4h13).
@@ -48,6 +55,33 @@ class MaterialFragment : AbsPlayerFragment(R.layout.fragment_material) {
private var _binding: FragmentMaterialBinding? = null
private val binding get() = _binding!!
+ private var valueAnimator: ValueAnimator? = null
+
+ private fun colorize(i: Int) {
+ if (valueAnimator != null) {
+ valueAnimator?.cancel()
+ }
+
+ valueAnimator = ValueAnimator.ofObject(
+ ArgbEvaluator(),
+ surfaceColor(),
+ i
+ )
+ valueAnimator?.addUpdateListener { animation ->
+ if (isAdded) {
+ val drawable = DrawableGradient(
+ GradientDrawable.Orientation.TOP_BOTTOM,
+ intArrayOf(
+ animation.animatedValue as Int,
+ surfaceColor()
+ ), 0
+ )
+ binding.colorGradientBackground.background = drawable
+ }
+ }
+ valueAnimator?.setDuration(ViewUtil.RETRO_MUSIC_ANIM_TIME.toLong())?.start()
+ }
+
override fun onShow() {
playbackControlsFragment.show()
@@ -74,6 +108,10 @@ class MaterialFragment : AbsPlayerFragment(R.layout.fragment_material) {
colorControlNormal(),
requireActivity()
)
+
+ if (PreferenceUtil.isAdaptiveColor) {
+ colorize(color.backgroundColor)
+ }
}
override fun toggleFavorite(song: Song) {
diff --git a/app/src/main/java/code/name/monkey/retromusic/glide/RetroGlideExtension.kt b/app/src/main/java/code/name/monkey/retromusic/glide/RetroGlideExtension.kt
index 127044e92..8602de58c 100644
--- a/app/src/main/java/code/name/monkey/retromusic/glide/RetroGlideExtension.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/glide/RetroGlideExtension.kt
@@ -1,5 +1,6 @@
package code.name.monkey.retromusic.glide
+import android.content.Context
import android.graphics.drawable.Drawable
import code.name.monkey.appthemehelper.ThemeStore.Companion.accentColor
import code.name.monkey.appthemehelper.util.TintHelper
@@ -150,10 +151,11 @@ object RetroGlideExtension {
@GlideOption
fun userProfileOptions(
baseRequestOptions: BaseRequestOptions<*>,
- file: File
+ file: File,
+ context: Context
): BaseRequestOptions<*> {
return baseRequestOptions.diskCacheStrategy(DEFAULT_DISK_CACHE_STRATEGY)
- .error(getErrorUserProfile())
+ .error(getErrorUserProfile(context))
.signature(createSignature(file))
}
@@ -201,11 +203,11 @@ object RetroGlideExtension {
return File(dir, USER_BANNER)
}
- private fun getErrorUserProfile(): Drawable {
+ private fun getErrorUserProfile(context: Context): Drawable {
return TintHelper.createTintedDrawable(
getContext(),
R.drawable.ic_account,
- accentColor(getContext())
+ accentColor(context)
)
}
diff --git a/app/src/main/java/code/name/monkey/retromusic/helper/WallpaperAccentManager.kt b/app/src/main/java/code/name/monkey/retromusic/helper/WallpaperAccentManager.kt
index 62191bdd3..871904cef 100644
--- a/app/src/main/java/code/name/monkey/retromusic/helper/WallpaperAccentManager.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/helper/WallpaperAccentManager.kt
@@ -43,9 +43,7 @@ class WallpaperAccentManager(val context: Context) {
.getWallpaperColors(WallpaperManager.FLAG_SYSTEM)
if (colors != null) {
val primaryColor = colors.primaryColor.toArgb()
- if (primaryColor != ThemeStore.wallpaperColor(context)) {
- ThemeStore.editTheme(context).wallpaperColor(primaryColor).commit()
- }
+ ThemeStore.editTheme(context).wallpaperColor(context, primaryColor).commit()
}
}
}
diff --git a/app/src/main/java/code/name/monkey/retromusic/service/notification/PlayingNotificationImpl24.kt b/app/src/main/java/code/name/monkey/retromusic/service/notification/PlayingNotificationImpl24.kt
index 16d925a88..7a0ceba9f 100644
--- a/app/src/main/java/code/name/monkey/retromusic/service/notification/PlayingNotificationImpl24.kt
+++ b/app/src/main/java/code/name/monkey/retromusic/service/notification/PlayingNotificationImpl24.kt
@@ -125,8 +125,14 @@ class PlayingNotificationImpl24(
}
override fun updateMetadata(song: Song, onUpdate: () -> Unit) {
- setContentTitle(song.title)
- setContentText(
+ setContentTitle(
+ HtmlCompat.fromHtml(
+ "" + song.title + "",
+ HtmlCompat.FROM_HTML_MODE_LEGACY
+ )
+ )
+ setContentText(song.artistName)
+ setSubText(
HtmlCompat.fromHtml(
"" + song.albumName + "",
HtmlCompat.FROM_HTML_MODE_LEGACY
@@ -169,10 +175,12 @@ class PlayingNotificationImpl24(
}
override fun onLoadCleared(placeholder: Drawable?) {
- setLargeIcon(BitmapFactory.decodeResource(
- context.resources,
- R.drawable.default_audio_art
- ))
+ setLargeIcon(
+ BitmapFactory.decodeResource(
+ context.resources,
+ R.drawable.default_audio_art
+ )
+ )
onUpdate()
}
})
diff --git a/app/src/main/res/layout-land/fragment_material.xml b/app/src/main/res/layout-land/fragment_material.xml
index 454e14fb4..357ddd717 100644
--- a/app/src/main/res/layout-land/fragment_material.xml
+++ b/app/src/main/res/layout-land/fragment_material.xml
@@ -14,6 +14,15 @@
+
+
+
+
- true
true
\ No newline at end of file
diff --git a/app/src/main/res/values-v31/donottranslate.xml b/app/src/main/res/values-v31/donottranslate.xml
index fb985e1c5..9bc7e67f2 100644
--- a/app/src/main/res/values-v31/donottranslate.xml
+++ b/app/src/main/res/values-v31/donottranslate.xml
@@ -4,6 +4,5 @@
true
0
- false
false
\ No newline at end of file
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index 77555943d..179ca4e10 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -211,7 +211,7 @@