tempus/app/src/main/java/com/cappielloantonio/play/database/AppDatabase.java

58 lines
1.9 KiB
Java
Raw Normal View History

2020-11-20 15:38:08 +01:00
package com.cappielloantonio.play.database;
2021-09-04 15:21:36 +02:00
import android.annotation.SuppressLint;
2020-11-20 15:38:08 +01:00
import android.content.Context;
import androidx.room.AutoMigration;
2020-11-20 15:38:08 +01:00
import androidx.room.Database;
import androidx.room.Room;
import androidx.room.RoomDatabase;
import com.cappielloantonio.play.database.dao.ChronologyDao;
2021-07-29 17:12:55 +02:00
import com.cappielloantonio.play.database.dao.DownloadDao;
import com.cappielloantonio.play.database.dao.PlaylistDao;
2020-12-05 21:31:12 +01:00
import com.cappielloantonio.play.database.dao.QueueDao;
2020-11-21 13:54:49 +01:00
import com.cappielloantonio.play.database.dao.RecentSearchDao;
2021-08-08 19:21:56 +02:00
import com.cappielloantonio.play.database.dao.ServerDao;
import com.cappielloantonio.play.model.Chronology;
2021-07-29 17:12:55 +02:00
import com.cappielloantonio.play.model.Download;
import com.cappielloantonio.play.model.Playlist;
2020-12-05 21:31:12 +01:00
import com.cappielloantonio.play.model.Queue;
2020-11-21 13:54:49 +01:00
import com.cappielloantonio.play.model.RecentSearch;
2021-08-08 19:21:56 +02:00
import com.cappielloantonio.play.model.Server;
2020-11-20 15:38:08 +01:00
2021-09-04 15:21:36 +02:00
@SuppressLint("RestrictedApi")
@Database(
version = 42,
entities = {Queue.class, Server.class, RecentSearch.class, Download.class, Playlist.class, Chronology.class},
autoMigrations = {@AutoMigration(from = 41, to = 42)}
2021-09-04 15:21:36 +02:00
)
2020-11-20 15:38:08 +01:00
public abstract class AppDatabase extends RoomDatabase {
private static final String TAG = "AppDatabase";
2021-07-28 15:28:32 +02:00
2020-11-20 15:38:08 +01:00
private final static String DB_NAME = "play_db";
private static AppDatabase instance;
2020-11-20 15:38:08 +01:00
public static synchronized AppDatabase getInstance(Context context) {
2021-04-20 17:35:01 +02:00
if (instance == null && context != null) {
instance = Room.databaseBuilder(context, AppDatabase.class, DB_NAME)
2020-11-20 15:38:08 +01:00
.fallbackToDestructiveMigration()
.build();
}
2022-03-08 15:09:56 +01:00
2020-11-20 15:38:08 +01:00
return instance;
}
2021-07-28 15:28:32 +02:00
public abstract QueueDao queueDao();
2020-11-21 13:54:49 +01:00
2021-08-08 19:21:56 +02:00
public abstract ServerDao serverDao();
2020-11-21 13:54:49 +01:00
public abstract RecentSearchDao recentSearchDao();
2021-07-29 17:12:55 +02:00
public abstract DownloadDao downloadDao();
public abstract PlaylistDao playlistDao();
public abstract ChronologyDao chronologyDao();
2020-11-20 15:38:08 +01:00
}