project upload

This commit is contained in:
Antonio Cappiello 2020-11-20 15:38:08 +01:00
parent e1749a3123
commit 6eff64e7e1
105 changed files with 5907 additions and 0 deletions

View file

@ -0,0 +1,46 @@
package com.cappielloantonio.play.database;
import android.content.Context;
import androidx.room.Database;
import androidx.room.Room;
import androidx.room.RoomDatabase;
import com.cappielloantonio.play.database.dao.AlbumDao;
import com.cappielloantonio.play.database.dao.ArtistDao;
import com.cappielloantonio.play.database.dao.GenreDao;
import com.cappielloantonio.play.database.dao.PlaylistDao;
import com.cappielloantonio.play.database.dao.SongDao;
import com.cappielloantonio.play.model.Album;
import com.cappielloantonio.play.model.Artist;
import com.cappielloantonio.play.model.Genre;
import com.cappielloantonio.play.model.Playlist;
import com.cappielloantonio.play.model.Song;
@Database(entities = {Album.class, Artist.class, Genre.class, Playlist.class, Song.class}, version = 2, exportSchema = false)
public abstract class AppDatabase extends RoomDatabase {
private static final String TAG = "AppDatabase";
private static AppDatabase instance;
private final static String DB_NAME = "play_db";
public static synchronized AppDatabase getInstance(Context context) {
if (instance == null) {
instance = Room.databaseBuilder(context.getApplicationContext(), AppDatabase.class, DB_NAME)
.fallbackToDestructiveMigration()
.build();
}
return instance;
}
public abstract AlbumDao albumDao();
public abstract ArtistDao artistDao();
public abstract GenreDao genreDao();
public abstract PlaylistDao playlistDao();
public abstract SongDao songDao();
}

View file

@ -0,0 +1,31 @@
package com.cappielloantonio.play.database.dao;
import androidx.lifecycle.LiveData;
import androidx.room.Dao;
import androidx.room.Delete;
import androidx.room.Insert;
import androidx.room.OnConflictStrategy;
import androidx.room.Query;
import com.cappielloantonio.play.model.Album;
import com.cappielloantonio.play.model.Song;
import java.util.List;
@Dao
public interface AlbumDao {
@Query("SELECT * FROM album")
LiveData<List<Album>> getAll();
@Query("SELECT EXISTS(SELECT * FROM album WHERE id = :id)")
boolean exist(String id);
@Insert(onConflict = OnConflictStrategy.REPLACE)
void insert(Album album);
@Insert(onConflict = OnConflictStrategy.REPLACE)
void insertAll(List<Album> albums);
@Delete
void delete(Album album);
}

View file

@ -0,0 +1,31 @@
package com.cappielloantonio.play.database.dao;
import androidx.lifecycle.LiveData;
import androidx.room.Dao;
import androidx.room.Delete;
import androidx.room.Insert;
import androidx.room.OnConflictStrategy;
import androidx.room.Query;
import com.cappielloantonio.play.model.Album;
import com.cappielloantonio.play.model.Artist;
import java.util.List;
@Dao
public interface ArtistDao {
@Query("SELECT * FROM artist")
LiveData<List<Artist>> getAll();
@Query("SELECT EXISTS(SELECT * FROM artist WHERE id = :id)")
boolean exist(String id);
@Insert(onConflict = OnConflictStrategy.REPLACE)
void insert(Artist artist);
@Insert(onConflict = OnConflictStrategy.REPLACE)
void insertAll(List<Artist> artists);
@Delete
void delete(Artist artist);
}

View file

@ -0,0 +1,31 @@
package com.cappielloantonio.play.database.dao;
import androidx.lifecycle.LiveData;
import androidx.room.Dao;
import androidx.room.Delete;
import androidx.room.Insert;
import androidx.room.OnConflictStrategy;
import androidx.room.Query;
import com.cappielloantonio.play.model.Artist;
import com.cappielloantonio.play.model.Genre;
import java.util.List;
@Dao
public interface GenreDao {
@Query("SELECT * FROM genre")
LiveData<List<Genre>> getAll();
@Query("SELECT EXISTS(SELECT * FROM genre WHERE id = :id)")
boolean exist(String id);
@Insert(onConflict = OnConflictStrategy.REPLACE)
void insert(Genre genre);
@Insert(onConflict = OnConflictStrategy.REPLACE)
void insertAll(List<Genre> genres);
@Delete
void delete(Genre genre);
}

View file

@ -0,0 +1,31 @@
package com.cappielloantonio.play.database.dao;
import androidx.lifecycle.LiveData;
import androidx.room.Dao;
import androidx.room.Delete;
import androidx.room.Insert;
import androidx.room.OnConflictStrategy;
import androidx.room.Query;
import com.cappielloantonio.play.model.Artist;
import com.cappielloantonio.play.model.Playlist;
import java.util.List;
@Dao
public interface PlaylistDao {
@Query("SELECT * FROM playlist")
LiveData<List<Playlist>> getAll();
@Query("SELECT EXISTS(SELECT * FROM playlist WHERE id = :id)")
boolean exist(String id);
@Insert(onConflict = OnConflictStrategy.REPLACE)
void insert(Playlist playlist);
@Insert(onConflict = OnConflictStrategy.REPLACE)
void insertAll(List<Playlist> playlists);
@Delete
void delete(Playlist playlist);
}

View file

@ -0,0 +1,30 @@
package com.cappielloantonio.play.database.dao;
import androidx.lifecycle.LiveData;
import androidx.room.Dao;
import androidx.room.Delete;
import androidx.room.Insert;
import androidx.room.OnConflictStrategy;
import androidx.room.Query;
import com.cappielloantonio.play.model.Song;
import java.util.List;
@Dao
public interface SongDao {
@Query("SELECT * FROM song")
LiveData<List<Song>> getAll();
@Query("SELECT EXISTS(SELECT * FROM song WHERE id = :id)")
boolean exist(String id);
@Insert(onConflict = OnConflictStrategy.REPLACE)
void insert(Song song);
@Insert(onConflict = OnConflictStrategy.REPLACE)
void insertAll(List<Song> songs);
@Delete
void delete(Song song);
}