Implemented download service

This commit is contained in:
CappielloAntonio
2021-07-29 17:12:55 +02:00
parent f09d3b774d
commit 0e41cc20bd
9 changed files with 332 additions and 10 deletions

View File

@@ -6,13 +6,15 @@ import androidx.room.Database;
import androidx.room.Room;
import androidx.room.RoomDatabase;
import com.cappielloantonio.play.database.dao.DownloadDao;
import com.cappielloantonio.play.database.dao.QueueDao;
import com.cappielloantonio.play.database.dao.RecentSearchDao;
import com.cappielloantonio.play.model.Download;
import com.cappielloantonio.play.model.Queue;
import com.cappielloantonio.play.model.RecentSearch;
import com.cappielloantonio.play.model.Song;
@Database(entities = {Queue.class, RecentSearch.class}, version = 3, exportSchema = false)
@Database(entities = {Queue.class, RecentSearch.class, Download.class}, version = 5, exportSchema = false)
public abstract class AppDatabase extends RoomDatabase {
private static final String TAG = "AppDatabase";
@@ -31,4 +33,6 @@ public abstract class AppDatabase extends RoomDatabase {
public abstract QueueDao queueDao();
public abstract RecentSearchDao recentSearchDao();
public abstract DownloadDao downloadDao();
}

View File

@@ -0,0 +1,32 @@
package com.cappielloantonio.play.database.dao;
import androidx.lifecycle.LiveData;
import androidx.room.Dao;
import androidx.room.Insert;
import androidx.room.OnConflictStrategy;
import androidx.room.Query;
import com.cappielloantonio.play.model.Download;
import java.util.List;
@Dao
public interface DownloadDao {
@Query("SELECT * FROM download")
LiveData<List<Download>> getAll();
@Query("SELECT * FROM download LIMIT :size")
LiveData<List<Download>> getSample(int size);
@Insert(onConflict = OnConflictStrategy.REPLACE)
void insert(Download download);
@Insert(onConflict = OnConflictStrategy.REPLACE)
void insertAll(List<Download> downloads);
@Query("DELETE FROM download WHERE id = :id")
void delete(String id);
@Query("DELETE FROM download")
void deleteAll();
}