From 6a7fa40efab99f8b34fe914571ab65b394c0fc80 Mon Sep 17 00:00:00 2001 From: Prathamesh More Date: Tue, 15 Mar 2022 18:34:39 +0530 Subject: [PATCH] Added adaptive color in Material now playing theme --- .../player/material/MaterialFragment.kt | 38 +++++++++++++++++++ .../res/layout-land/fragment_material.xml | 9 +++++ app/src/main/res/layout/fragment_material.xml | 9 +++++ 3 files changed, 56 insertions(+) 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/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 @@ + + + +