Add function to increase song count when track is changed

This commit is contained in:
CappielloAntonio 2021-04-14 14:07:57 +02:00
parent 2b5a686fe4
commit 0c401fce95
2 changed files with 17 additions and 4 deletions

View file

@ -1,6 +1,7 @@
package com.cappielloantonio.play.repository;
import android.app.Application;
import android.util.Log;
import androidx.lifecycle.LiveData;
@ -14,6 +15,8 @@ import java.util.ArrayList;
import java.util.List;
public class SongRepository {
private static final String TAG = "SongRepository";
private SongDao songDao;
private SongGenreCrossDao songGenreCrossDao;
private LiveData<List<Song>> searchListLiveSongs;
@ -192,11 +195,13 @@ public class SongRepository {
}
public void increasePlayCount(Song song) {
song.nowPlaying();
boolean isIncreased = song.nowPlaying();
UpdateThreadSafe update = new UpdateThreadSafe(songDao, song);
Thread thread = new Thread(update);
thread.start();
if(isIncreased) {
UpdateThreadSafe update = new UpdateThreadSafe(songDao, song);
Thread thread = new Thread(update);
thread.start();
}
}
public void setFavoriteStatus(Song song) {

View file

@ -32,6 +32,7 @@ import com.cappielloantonio.play.R;
import com.cappielloantonio.play.model.Playlist;
import com.cappielloantonio.play.model.Song;
import com.cappielloantonio.play.repository.QueueRepository;
import com.cappielloantonio.play.repository.SongRepository;
import com.cappielloantonio.play.service.notification.PlayingNotification;
import com.cappielloantonio.play.service.playback.Playback;
import com.cappielloantonio.play.util.PreferenceUtil;
@ -436,6 +437,8 @@ public class MusicService extends Service implements Playback.PlaybackCallbacks
nextPosition = getNextPosition();
playback.queueDataSource(getSongAt(nextPosition));
}
increaseSongCount();
}
private boolean requestFocus() {
@ -735,6 +738,11 @@ public class MusicService extends Service implements Playback.PlaybackCallbacks
}
}
private void increaseSongCount() {
SongRepository songRepository = new SongRepository(App.getInstance());
songRepository.increasePlayCount(getCurrentSong());
}
@Override
public void onStateChanged(int state) {
notifyChange(STATE_CHANGED);