1 package io.casey.musikcube.remote.service.gapless.db; 2 3 import androidx.room.Dao; 4 import androidx.room.Insert; 5 import androidx.room.OnConflictStrategy; 6 import androidx.room.Query; 7 8 import java.util.List; 9 10 @Dao 11 public interface GaplessDao { 12 @Insert(onConflict = OnConflictStrategy.REPLACE) insert(GaplessTrack... track)13 void insert(GaplessTrack... track); 14 15 @Query("UPDATE GaplessTrack " + 16 "SET state=:state " + 17 "WHERE url=:url ") update(int state, String url)18 void update(int state, String url); 19 20 @Query("DELETE FROM GaplessTrack WHERE state=:state") deleteByState(int state)21 void deleteByState(int state); 22 23 @Query("DELETE FROM GaplessTrack WHERE url=:url") deleteByUrl(String url)24 void deleteByUrl(String url); 25 26 @Query("SELECT * FROM GaplessTrack WHERE state=:state") queryByState(int state)27 List<GaplessTrack> queryByState(int state); 28 29 @Query("SELECT * FROM GaplessTrack WHERE url=:url") queryByUrl(String url)30 List<GaplessTrack> queryByUrl(String url); 31 } 32