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