[Notification] Set default notification icon for failed Image loads or for Songs with no Cover
This commit is contained in:
parent
22451b3cf1
commit
158865a500
3 changed files with 19 additions and 10 deletions
|
@ -99,8 +99,8 @@ import code.name.monkey.retromusic.providers.HistoryStore;
|
|||
import code.name.monkey.retromusic.providers.MusicPlaybackQueueStore;
|
||||
import code.name.monkey.retromusic.providers.SongPlayCountStore;
|
||||
import code.name.monkey.retromusic.service.notification.PlayingNotification;
|
||||
import code.name.monkey.retromusic.service.notification.PlayingNotificationImpl;
|
||||
import code.name.monkey.retromusic.service.notification.PlayingNotificationOreo;
|
||||
import code.name.monkey.retromusic.service.notification.PlayingNotificationClassic;
|
||||
import code.name.monkey.retromusic.service.notification.PlayingNotificationImpl24;
|
||||
import code.name.monkey.retromusic.service.playback.Playback;
|
||||
import code.name.monkey.retromusic.util.MusicUtil;
|
||||
import code.name.monkey.retromusic.util.PackageValidator;
|
||||
|
@ -781,9 +781,9 @@ public class MusicService extends MediaBrowserServiceCompat
|
|||
public void initNotification() {
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N
|
||||
&& !PreferenceUtil.INSTANCE.isClassicNotification()) {
|
||||
playingNotification = PlayingNotificationImpl.Companion.from(this, notificationManager, mediaSession);
|
||||
playingNotification = PlayingNotificationImpl24.Companion.from(this, notificationManager, mediaSession);
|
||||
} else {
|
||||
playingNotification = PlayingNotificationOreo.Companion.from(this, notificationManager);
|
||||
playingNotification = PlayingNotificationClassic.Companion.from(this, notificationManager);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -50,7 +50,7 @@ import com.bumptech.glide.request.transition.Transition
|
|||
* @author Hemanth S (h4h13).
|
||||
*/
|
||||
@SuppressLint("RestrictedApi")
|
||||
class PlayingNotificationOreo(
|
||||
class PlayingNotificationClassic(
|
||||
val context: Context
|
||||
) : PlayingNotification(context) {
|
||||
|
||||
|
@ -313,7 +313,7 @@ class PlayingNotificationOreo(
|
|||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
||||
createNotificationChannel(context, notificationManager)
|
||||
}
|
||||
return PlayingNotificationOreo(context)
|
||||
return PlayingNotificationClassic(context)
|
||||
}
|
||||
}
|
||||
}
|
|
@ -20,6 +20,7 @@ import android.app.PendingIntent
|
|||
import android.content.ComponentName
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.graphics.BitmapFactory
|
||||
import android.graphics.Color
|
||||
import android.graphics.drawable.Drawable
|
||||
import android.os.Build
|
||||
|
@ -47,7 +48,7 @@ import kotlinx.coroutines.launch
|
|||
import kotlinx.coroutines.withContext
|
||||
|
||||
@SuppressLint("RestrictedApi")
|
||||
class PlayingNotificationImpl(
|
||||
class PlayingNotificationImpl24(
|
||||
val context: Context,
|
||||
mediaSessionToken: MediaSessionCompat.Token
|
||||
) : PlayingNotification(context) {
|
||||
|
@ -154,12 +155,20 @@ class PlayingNotificationImpl(
|
|||
|
||||
override fun onLoadFailed(errorDrawable: Drawable?) {
|
||||
super.onLoadFailed(errorDrawable)
|
||||
setLargeIcon(null)
|
||||
setLargeIcon(
|
||||
BitmapFactory.decodeResource(
|
||||
context.resources,
|
||||
R.drawable.default_audio_art
|
||||
)
|
||||
)
|
||||
onUpdate()
|
||||
}
|
||||
|
||||
override fun onLoadCleared(placeholder: Drawable?) {
|
||||
setLargeIcon(null)
|
||||
setLargeIcon(BitmapFactory.decodeResource(
|
||||
context.resources,
|
||||
R.drawable.default_audio_art
|
||||
))
|
||||
onUpdate()
|
||||
}
|
||||
})
|
||||
|
@ -221,7 +230,7 @@ class PlayingNotificationImpl(
|
|||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
||||
createNotificationChannel(context, notificationManager)
|
||||
}
|
||||
return PlayingNotificationImpl(context, mediaSession.sessionToken)
|
||||
return PlayingNotificationImpl24(context, mediaSession.sessionToken)
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue