Fixing incorrect song data in notification
This commit is contained in:
parent
4563378505
commit
098f9f939d
2 changed files with 18 additions and 30 deletions
|
@ -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()
|
||||
|
|
|
@ -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()
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue