Enabled scrolling to LastFM

This commit is contained in:
CappielloAntonio 2022-01-04 15:31:52 +01:00
parent 483ce56277
commit cdc01a8d26
2 changed files with 14 additions and 0 deletions

View file

@ -10,6 +10,7 @@ import com.cappielloantonio.play.App;
import com.cappielloantonio.play.interfaces.MediaIndexCallback; import com.cappielloantonio.play.interfaces.MediaIndexCallback;
import com.cappielloantonio.play.model.Song; import com.cappielloantonio.play.model.Song;
import com.cappielloantonio.play.repository.QueueRepository; import com.cappielloantonio.play.repository.QueueRepository;
import com.cappielloantonio.play.repository.SongRepository;
import com.cappielloantonio.play.util.MappingUtil; import com.cappielloantonio.play.util.MappingUtil;
import com.google.common.util.concurrent.ListenableFuture; import com.google.common.util.concurrent.ListenableFuture;
import com.google.common.util.concurrent.MoreExecutors; import com.google.common.util.concurrent.MoreExecutors;
@ -275,10 +276,18 @@ public class MediaManager {
if (mediaItem != null) getQueueRepository().setPlayingPausedTimestamp(mediaItem.mediaId, ms); if (mediaItem != null) getQueueRepository().setPlayingPausedTimestamp(mediaItem.mediaId, ms);
} }
public static void scrobble(MediaItem mediaItem) {
if (mediaItem != null) getSongRepository().scrobble(mediaItem.mediaMetadata.extras.getString("id"));
}
private static QueueRepository getQueueRepository() { private static QueueRepository getQueueRepository() {
return new QueueRepository(App.getInstance()); return new QueueRepository(App.getInstance());
} }
private static SongRepository getSongRepository() {
return new SongRepository(App.getInstance());
}
private static void enqueueDatabase(List<Song> songs, boolean reset, int afterIndex) { private static void enqueueDatabase(List<Song> songs, boolean reset, int afterIndex) {
getQueueRepository().insertAll(songs, reset, afterIndex); getQueueRepository().insertAll(songs, reset, afterIndex);
} }
@ -297,4 +306,6 @@ public class MediaManager {
getQueueRepository().insertAll(songs, true, 0); getQueueRepository().insertAll(songs, true, 0);
} }
} }
} }

View file

@ -11,6 +11,8 @@ import androidx.media3.common.MediaItem;
import androidx.media3.common.Player; import androidx.media3.common.Player;
import androidx.media3.datasource.DataSource; import androidx.media3.datasource.DataSource;
import androidx.media3.exoplayer.ExoPlayer; import androidx.media3.exoplayer.ExoPlayer;
import androidx.media3.exoplayer.analytics.AnalyticsListener;
import androidx.media3.exoplayer.analytics.PlaybackStatsListener;
import androidx.media3.exoplayer.source.DefaultMediaSourceFactory; import androidx.media3.exoplayer.source.DefaultMediaSourceFactory;
import androidx.media3.exoplayer.source.MediaSourceFactory; import androidx.media3.exoplayer.source.MediaSourceFactory;
import androidx.media3.session.MediaLibraryService; import androidx.media3.session.MediaLibraryService;
@ -96,6 +98,7 @@ public class MediaService extends MediaLibraryService {
@Override @Override
public void onMediaItemTransition(@Nullable MediaItem mediaItem, int reason) { public void onMediaItemTransition(@Nullable MediaItem mediaItem, int reason) {
MediaManager.setLastPlayedTimestamp(mediaItem); MediaManager.setLastPlayedTimestamp(mediaItem);
MediaManager.scrobble(mediaItem);
} }
@Override @Override