Improve color picking

This commit is contained in:
Hemanth S 2020-05-14 20:06:34 +05:30
parent 52bb981549
commit 4960e08fe9
4 changed files with 16 additions and 9 deletions

View file

@ -262,14 +262,14 @@ class AlbumDetailsActivity : AbsSlidingMusicPanelActivity(), AlbumDetailsView, C
.dontTransform()
.into(object : RetroMusicColoredTarget(image) {
override fun onColorReady(colors: MediaNotificationProcessor) {
setColors(colors.primaryTextColor)
setColors(colors)
}
})
}
private fun setColors(color: Int) {
private fun setColors(color: MediaNotificationProcessor) {
val buttonColor = if (PreferenceUtil.getInstance(this).adaptiveColor)
color.ripAlpha()
color.backgroundColor.ripAlpha()
else
ATHUtil.resolveColor(this, R.attr.colorSurface)

View file

@ -248,14 +248,14 @@ class ArtistDetailActivity : AbsSlidingMusicPanelActivity(), ArtistDetailsView,
ArtistGlideRequest.Builder.from(Glide.with(this), artist).generatePalette(this).build()
.dontAnimate().into(object : RetroMusicColoredTarget(image) {
override fun onColorReady(colors: MediaNotificationProcessor) {
setColors(colors.backgroundColor)
setColors(colors)
}
})
}
private fun setColors(color: Int) {
private fun setColors(color: MediaNotificationProcessor) {
val buttonColor = if (PreferenceUtil.getInstance(this).adaptiveColor)
color.ripAlpha()
color.backgroundColor.ripAlpha()
else
ATHUtil.resolveColor(this, R.attr.colorSurface)

View file

@ -17,6 +17,7 @@ package code.name.monkey.retromusic.glide
import android.graphics.drawable.Drawable
import android.widget.ImageView
import code.name.monkey.appthemehelper.util.ATHUtil
import code.name.monkey.retromusic.App
import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.glide.palette.BitmapPaletteTarget
import code.name.monkey.retromusic.glide.palette.BitmapPaletteWrapper
@ -33,8 +34,11 @@ abstract class RetroMusicColoredTarget(view: ImageView) : BitmapPaletteTarget(vi
override fun onLoadFailed(e: Exception?, errorDrawable: Drawable?) {
super.onLoadFailed(e, errorDrawable)
val colors = MediaNotificationProcessor(getView().context, errorDrawable)
val colors = MediaNotificationProcessor(App.getContext(),errorDrawable)
onColorReady(colors)
/* MediaNotificationProcessor(App.getContext()).getPaletteAsync({
onColorReady(it)
}, errorDrawable)*/
}
override fun onResourceReady(
@ -42,8 +46,10 @@ abstract class RetroMusicColoredTarget(view: ImageView) : BitmapPaletteTarget(vi
glideAnimation: GlideAnimation<in BitmapPaletteWrapper>?
) {
super.onResourceReady(resource, glideAnimation)
resource?.let {
onColorReady(MediaNotificationProcessor(getView().context, it.bitmap))
resource?.let { bitmapWrap ->
MediaNotificationProcessor(App.getContext()).getPaletteAsync({
onColorReady(it)
}, bitmapWrap.bitmap)
}
}
}

View file

@ -489,6 +489,7 @@ public class MediaNotificationProcessor {
return primaryTextColor;
}
public interface OnPaletteLoadedListener {
void onPaletteLoaded(MediaNotificationProcessor mediaNotificationProcessor);
}