Optimized the history saving and scrobbling functions
This commit is contained in:
@@ -300,12 +300,14 @@ public class MediaManager {
|
||||
|
||||
public static void scrobble(MediaItem mediaItem) {
|
||||
if (mediaItem != null)
|
||||
getSongRepository().scrobble(mediaItem.mediaMetadata.extras.getString("id"));
|
||||
if (getQueueRepository().isMediaPlayingPlausible(mediaItem))
|
||||
getSongRepository().scrobble(mediaItem.mediaMetadata.extras.getString("id"));
|
||||
}
|
||||
|
||||
public static void saveChronology(MediaItem mediaItem) {
|
||||
if (mediaItem != null)
|
||||
getChronologyRepository().insert(MappingUtil.mapChronology(mediaItem));
|
||||
if (getQueueRepository().isMediaPlayingPlausible(mediaItem))
|
||||
getChronologyRepository().insert(MappingUtil.mapChronology(mediaItem));
|
||||
}
|
||||
|
||||
private static QueueRepository getQueueRepository() {
|
||||
|
||||
@@ -233,11 +233,13 @@ class MediaService : MediaLibraryService(), SessionAvailabilityListener {
|
||||
player.addListener(object : Player.Listener {
|
||||
override fun onMediaItemTransition(mediaItem: MediaItem?, reason: Int) {
|
||||
if (mediaItem == null) return
|
||||
MediaManager.setLastPlayedTimestamp(mediaItem)
|
||||
|
||||
if (mediaItem.mediaMetadata.extras!!.getString("mediaType") == Media.MEDIA_TYPE_MUSIC) {
|
||||
MediaManager.scrobble(mediaItem)
|
||||
MediaManager.saveChronology(mediaItem)
|
||||
}
|
||||
|
||||
MediaManager.setLastPlayedTimestamp(mediaItem)
|
||||
}
|
||||
|
||||
override fun onIsPlayingChanged(isPlaying: Boolean) {
|
||||
|
||||
Reference in New Issue
Block a user