Fixing incorrect song data in notification

This commit is contained in:
Prathamesh More 2022-04-19 18:29:15 +05:30
parent 4563378505
commit 098f9f939d
2 changed files with 18 additions and 30 deletions

View file

@ -13,6 +13,7 @@
*/
package code.name.monkey.retromusic.service
import android.annotation.SuppressLint
import android.app.NotificationManager
import android.appwidget.AppWidgetManager
import android.bluetooth.BluetoothDevice
@ -88,10 +89,10 @@ import code.name.monkey.retromusic.util.PreferenceUtil.isPauseOnZeroVolume
import code.name.monkey.retromusic.util.PreferenceUtil.playbackSpeed
import code.name.monkey.retromusic.util.PreferenceUtil.registerOnSharedPreferenceChangedListener
import code.name.monkey.retromusic.util.PreferenceUtil.unregisterOnSharedPreferenceChangedListener
import code.name.monkey.retromusic.util.RetroUtil
import code.name.monkey.retromusic.volume.AudioVolumeObserver
import code.name.monkey.retromusic.volume.OnAudioVolumeChangedListener
import com.bumptech.glide.request.target.SimpleTarget
import com.bumptech.glide.request.target.CustomTarget
import com.bumptech.glide.request.target.Target
import com.bumptech.glide.request.transition.Transition
import org.koin.java.KoinJavaComponent.get
import java.util.*
@ -251,7 +252,6 @@ class MusicService : MediaBrowserServiceCompat(),
play()
TelephonyManager.CALL_STATE_RINGING, TelephonyManager.CALL_STATE_OFFHOOK -> // A call is dialing, active or on hold
pause()
else -> {}
}
super.onCallStateChanged(state, incomingNumber)
}
@ -1122,6 +1122,7 @@ class MusicService : MediaBrowserServiceCompat(),
}
}
@SuppressLint("CheckResult")
fun updateMediaSessionMetaData() {
Log.i(TAG, "onResourceReady: ")
val song = currentSong
@ -1141,7 +1142,6 @@ class MusicService : MediaBrowserServiceCompat(),
.putLong(MediaMetadataCompat.METADATA_KEY_NUM_TRACKS, playingQueue.size.toLong())
if (isAlbumArtOnLockScreen) {
val screenSize = RetroUtil.getScreenSize(this@MusicService)
val request = GlideApp.with(this@MusicService)
.asBitmap()
.songCoverOptions(song)
@ -1150,7 +1150,8 @@ class MusicService : MediaBrowserServiceCompat(),
request.transform(BlurTransformation.Builder(this@MusicService).build())
}
runOnUiThread {
request.into(object : SimpleTarget<Bitmap?>(screenSize.x, screenSize.y) {
request.into(object :
CustomTarget<Bitmap?>(Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL) {
override fun onLoadFailed(errorDrawable: Drawable?) {
super.onLoadFailed(errorDrawable)
mediaSession?.setMetadata(metaData.build())
@ -1166,6 +1167,10 @@ class MusicService : MediaBrowserServiceCompat(),
)
mediaSession?.setMetadata(metaData.build())
}
override fun onLoadCleared(placeholder: Drawable?) {
mediaSession?.setMetadata(metaData.build())
}
})
}
} else {
@ -1280,13 +1285,7 @@ class MusicService : MediaBrowserServiceCompat(),
private fun openCurrent(): Boolean {
return try {
if (playback != null) {
return playback!!.setDataSource(
getTrackUri(
Objects.requireNonNull(
currentSong
)
)
)
return playback!!.setDataSource(getTrackUri(currentSong))
} else false
} catch (e: Exception) {
e.printStackTrace()

View file

@ -20,10 +20,9 @@ import android.app.PendingIntent
import android.content.ComponentName
import android.content.Context
import android.content.Intent
import android.graphics.Bitmap
import android.graphics.BitmapFactory
import android.graphics.Color
import android.graphics.drawable.Drawable
import android.os.Build
import android.support.v4.media.session.MediaSessionCompat
import androidx.core.app.NotificationCompat
import androidx.core.text.parseAsHtml
@ -33,7 +32,6 @@ import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.activities.MainActivity
import code.name.monkey.retromusic.glide.GlideApp
import code.name.monkey.retromusic.glide.RetroGlideExtension
import code.name.monkey.retromusic.glide.palette.BitmapPaletteWrapper
import code.name.monkey.retromusic.model.Song
import code.name.monkey.retromusic.service.MusicService
import code.name.monkey.retromusic.service.MusicService.Companion.ACTION_QUIT
@ -43,7 +41,6 @@ import code.name.monkey.retromusic.service.MusicService.Companion.ACTION_TOGGLE_
import code.name.monkey.retromusic.service.MusicService.Companion.TOGGLE_FAVORITE
import code.name.monkey.retromusic.util.MusicUtil
import code.name.monkey.retromusic.util.PreferenceUtil
import code.name.monkey.retromusic.util.RetroColorUtil
import com.bumptech.glide.request.target.CustomTarget
import com.bumptech.glide.request.transition.Transition
import kotlinx.coroutines.Dispatchers
@ -125,26 +122,18 @@ class PlayingNotificationImpl24(
setSubText(("<b>" + song.albumName + "</b>").parseAsHtml())
val bigNotificationImageSize = context.resources
.getDimensionPixelSize(R.dimen.notification_big_image_size)
GlideApp.with(context).asBitmapPalette().songCoverOptions(song)
GlideApp.with(context)
.asBitmap()
.songCoverOptions(song)
.load(RetroGlideExtension.getSongModel(song))
//.checkIgnoreMediaStore()
.centerCrop()
.into(object : CustomTarget<BitmapPaletteWrapper>(
.into(object : CustomTarget<Bitmap>(
bigNotificationImageSize,
bigNotificationImageSize
) {
override fun onResourceReady(
resource: BitmapPaletteWrapper,
transition: Transition<in BitmapPaletteWrapper>?
) {
setLargeIcon(
resource.bitmap
)
if (Build.VERSION.SDK_INT <=
Build.VERSION_CODES.O && PreferenceUtil.isColoredNotification
) {
color = RetroColorUtil.getColor(resource.palette, Color.TRANSPARENT)
}
override fun onResourceReady(resource: Bitmap, transition: Transition<in Bitmap>?) {
setLargeIcon(resource)
onUpdate()
}