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
|
package code.name.monkey.retromusic.service
|
||||||
|
|
||||||
|
import android.annotation.SuppressLint
|
||||||
import android.app.NotificationManager
|
import android.app.NotificationManager
|
||||||
import android.appwidget.AppWidgetManager
|
import android.appwidget.AppWidgetManager
|
||||||
import android.bluetooth.BluetoothDevice
|
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.playbackSpeed
|
||||||
import code.name.monkey.retromusic.util.PreferenceUtil.registerOnSharedPreferenceChangedListener
|
import code.name.monkey.retromusic.util.PreferenceUtil.registerOnSharedPreferenceChangedListener
|
||||||
import code.name.monkey.retromusic.util.PreferenceUtil.unregisterOnSharedPreferenceChangedListener
|
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.AudioVolumeObserver
|
||||||
import code.name.monkey.retromusic.volume.OnAudioVolumeChangedListener
|
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 com.bumptech.glide.request.transition.Transition
|
||||||
import org.koin.java.KoinJavaComponent.get
|
import org.koin.java.KoinJavaComponent.get
|
||||||
import java.util.*
|
import java.util.*
|
||||||
|
@ -251,7 +252,6 @@ class MusicService : MediaBrowserServiceCompat(),
|
||||||
play()
|
play()
|
||||||
TelephonyManager.CALL_STATE_RINGING, TelephonyManager.CALL_STATE_OFFHOOK -> // A call is dialing, active or on hold
|
TelephonyManager.CALL_STATE_RINGING, TelephonyManager.CALL_STATE_OFFHOOK -> // A call is dialing, active or on hold
|
||||||
pause()
|
pause()
|
||||||
else -> {}
|
|
||||||
}
|
}
|
||||||
super.onCallStateChanged(state, incomingNumber)
|
super.onCallStateChanged(state, incomingNumber)
|
||||||
}
|
}
|
||||||
|
@ -1122,6 +1122,7 @@ class MusicService : MediaBrowserServiceCompat(),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@SuppressLint("CheckResult")
|
||||||
fun updateMediaSessionMetaData() {
|
fun updateMediaSessionMetaData() {
|
||||||
Log.i(TAG, "onResourceReady: ")
|
Log.i(TAG, "onResourceReady: ")
|
||||||
val song = currentSong
|
val song = currentSong
|
||||||
|
@ -1141,7 +1142,6 @@ class MusicService : MediaBrowserServiceCompat(),
|
||||||
.putLong(MediaMetadataCompat.METADATA_KEY_NUM_TRACKS, playingQueue.size.toLong())
|
.putLong(MediaMetadataCompat.METADATA_KEY_NUM_TRACKS, playingQueue.size.toLong())
|
||||||
|
|
||||||
if (isAlbumArtOnLockScreen) {
|
if (isAlbumArtOnLockScreen) {
|
||||||
val screenSize = RetroUtil.getScreenSize(this@MusicService)
|
|
||||||
val request = GlideApp.with(this@MusicService)
|
val request = GlideApp.with(this@MusicService)
|
||||||
.asBitmap()
|
.asBitmap()
|
||||||
.songCoverOptions(song)
|
.songCoverOptions(song)
|
||||||
|
@ -1150,7 +1150,8 @@ class MusicService : MediaBrowserServiceCompat(),
|
||||||
request.transform(BlurTransformation.Builder(this@MusicService).build())
|
request.transform(BlurTransformation.Builder(this@MusicService).build())
|
||||||
}
|
}
|
||||||
runOnUiThread {
|
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?) {
|
override fun onLoadFailed(errorDrawable: Drawable?) {
|
||||||
super.onLoadFailed(errorDrawable)
|
super.onLoadFailed(errorDrawable)
|
||||||
mediaSession?.setMetadata(metaData.build())
|
mediaSession?.setMetadata(metaData.build())
|
||||||
|
@ -1166,6 +1167,10 @@ class MusicService : MediaBrowserServiceCompat(),
|
||||||
)
|
)
|
||||||
mediaSession?.setMetadata(metaData.build())
|
mediaSession?.setMetadata(metaData.build())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun onLoadCleared(placeholder: Drawable?) {
|
||||||
|
mediaSession?.setMetadata(metaData.build())
|
||||||
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
@ -1280,13 +1285,7 @@ class MusicService : MediaBrowserServiceCompat(),
|
||||||
private fun openCurrent(): Boolean {
|
private fun openCurrent(): Boolean {
|
||||||
return try {
|
return try {
|
||||||
if (playback != null) {
|
if (playback != null) {
|
||||||
return playback!!.setDataSource(
|
return playback!!.setDataSource(getTrackUri(currentSong))
|
||||||
getTrackUri(
|
|
||||||
Objects.requireNonNull(
|
|
||||||
currentSong
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
} else false
|
} else false
|
||||||
} catch (e: Exception) {
|
} catch (e: Exception) {
|
||||||
e.printStackTrace()
|
e.printStackTrace()
|
||||||
|
|
|
@ -20,10 +20,9 @@ import android.app.PendingIntent
|
||||||
import android.content.ComponentName
|
import android.content.ComponentName
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
|
import android.graphics.Bitmap
|
||||||
import android.graphics.BitmapFactory
|
import android.graphics.BitmapFactory
|
||||||
import android.graphics.Color
|
|
||||||
import android.graphics.drawable.Drawable
|
import android.graphics.drawable.Drawable
|
||||||
import android.os.Build
|
|
||||||
import android.support.v4.media.session.MediaSessionCompat
|
import android.support.v4.media.session.MediaSessionCompat
|
||||||
import androidx.core.app.NotificationCompat
|
import androidx.core.app.NotificationCompat
|
||||||
import androidx.core.text.parseAsHtml
|
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.activities.MainActivity
|
||||||
import code.name.monkey.retromusic.glide.GlideApp
|
import code.name.monkey.retromusic.glide.GlideApp
|
||||||
import code.name.monkey.retromusic.glide.RetroGlideExtension
|
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.model.Song
|
||||||
import code.name.monkey.retromusic.service.MusicService
|
import code.name.monkey.retromusic.service.MusicService
|
||||||
import code.name.monkey.retromusic.service.MusicService.Companion.ACTION_QUIT
|
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.service.MusicService.Companion.TOGGLE_FAVORITE
|
||||||
import code.name.monkey.retromusic.util.MusicUtil
|
import code.name.monkey.retromusic.util.MusicUtil
|
||||||
import code.name.monkey.retromusic.util.PreferenceUtil
|
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.target.CustomTarget
|
||||||
import com.bumptech.glide.request.transition.Transition
|
import com.bumptech.glide.request.transition.Transition
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
|
@ -125,26 +122,18 @@ class PlayingNotificationImpl24(
|
||||||
setSubText(("<b>" + song.albumName + "</b>").parseAsHtml())
|
setSubText(("<b>" + song.albumName + "</b>").parseAsHtml())
|
||||||
val bigNotificationImageSize = context.resources
|
val bigNotificationImageSize = context.resources
|
||||||
.getDimensionPixelSize(R.dimen.notification_big_image_size)
|
.getDimensionPixelSize(R.dimen.notification_big_image_size)
|
||||||
GlideApp.with(context).asBitmapPalette().songCoverOptions(song)
|
GlideApp.with(context)
|
||||||
|
.asBitmap()
|
||||||
|
.songCoverOptions(song)
|
||||||
.load(RetroGlideExtension.getSongModel(song))
|
.load(RetroGlideExtension.getSongModel(song))
|
||||||
//.checkIgnoreMediaStore()
|
//.checkIgnoreMediaStore()
|
||||||
.centerCrop()
|
.centerCrop()
|
||||||
.into(object : CustomTarget<BitmapPaletteWrapper>(
|
.into(object : CustomTarget<Bitmap>(
|
||||||
bigNotificationImageSize,
|
bigNotificationImageSize,
|
||||||
bigNotificationImageSize
|
bigNotificationImageSize
|
||||||
) {
|
) {
|
||||||
override fun onResourceReady(
|
override fun onResourceReady(resource: Bitmap, transition: Transition<in Bitmap>?) {
|
||||||
resource: BitmapPaletteWrapper,
|
setLargeIcon(resource)
|
||||||
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)
|
|
||||||
}
|
|
||||||
onUpdate()
|
onUpdate()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue