diff --git a/app/src/main/java/com/fongmi/android/tv/db/AppDatabase.java b/app/src/main/java/com/fongmi/android/tv/db/AppDatabase.java index 41843309b..6c4596827 100644 --- a/app/src/main/java/com/fongmi/android/tv/db/AppDatabase.java +++ b/app/src/main/java/com/fongmi/android/tv/db/AppDatabase.java @@ -2,12 +2,9 @@ package com.fongmi.android.tv.db; import android.content.Context; -import androidx.annotation.NonNull; import androidx.room.Database; import androidx.room.Room; import androidx.room.RoomDatabase; -import androidx.room.migration.Migration; -import androidx.sqlite.db.SupportSQLiteDatabase; import com.fongmi.android.tv.App; import com.fongmi.android.tv.Setting; @@ -80,29 +77,7 @@ public abstract class AppDatabase extends RoomDatabase { } private static AppDatabase create(Context context) { - return Room.databaseBuilder(context, AppDatabase.class, NAME) - .addMigrations(MIGRATION_11_12) - .addMigrations(MIGRATION_12_13) - .addMigrations(MIGRATION_13_14) - .addMigrations(MIGRATION_14_15) - .addMigrations(MIGRATION_15_16) - .addMigrations(MIGRATION_16_17) - .addMigrations(MIGRATION_17_18) - .addMigrations(MIGRATION_18_19) - .addMigrations(MIGRATION_19_20) - .addMigrations(MIGRATION_20_21) - .addMigrations(MIGRATION_21_22) - .addMigrations(MIGRATION_22_23) - .addMigrations(MIGRATION_23_24) - .addMigrations(MIGRATION_24_25) - .addMigrations(MIGRATION_25_26) - .addMigrations(MIGRATION_26_27) - .addMigrations(MIGRATION_27_28) - .addMigrations(MIGRATION_28_29) - .addMigrations(MIGRATION_29_30) - .addMigrations(MIGRATION_30_31) - .addMigrations(MIGRATION_31_32) - .allowMainThreadQueries().fallbackToDestructiveMigration().build(); + return Room.databaseBuilder(context, AppDatabase.class, NAME).addMigrations(Migrations.MIGRATION_30_31).addMigrations(Migrations.MIGRATION_31_32).allowMainThreadQueries().fallbackToDestructiveMigration().build(); } public abstract KeepDao getKeepDao(); @@ -118,169 +93,4 @@ public abstract class AppDatabase extends RoomDatabase { public abstract DeviceDao getDeviceDao(); public abstract HistoryDao getHistoryDao(); - - static final Migration MIGRATION_11_12 = new Migration(11, 12) { - @Override - public void migrate(@NonNull SupportSQLiteDatabase database) { - database.execSQL("ALTER TABLE Config ADD COLUMN type INTEGER DEFAULT 0 NOT NULL"); - database.execSQL("ALTER TABLE Config ADD COLUMN home TEXT DEFAULT NULL"); - } - }; - - static final Migration MIGRATION_12_13 = new Migration(12, 13) { - @Override - public void migrate(@NonNull SupportSQLiteDatabase database) { - database.execSQL("ALTER TABLE Keep ADD COLUMN type INTEGER DEFAULT 0 NOT NULL"); - } - }; - - static final Migration MIGRATION_13_14 = new Migration(13, 14) { - @Override - public void migrate(@NonNull SupportSQLiteDatabase database) { - database.execSQL("DROP INDEX IF EXISTS index_Config_url"); - database.execSQL("CREATE UNIQUE INDEX IF NOT EXISTS index_Config_url_type ON Config(url, type)"); - } - }; - - static final Migration MIGRATION_14_15 = new Migration(14, 15) { - @Override - public void migrate(@NonNull SupportSQLiteDatabase database) { - database.execSQL("ALTER TABLE History ADD COLUMN scale INTEGER DEFAULT -1 NOT NULL"); - } - }; - - static final Migration MIGRATION_15_16 = new Migration(15, 16) { - @Override - public void migrate(@NonNull SupportSQLiteDatabase database) { - database.execSQL("ALTER TABLE History ADD COLUMN speed REAL DEFAULT 1 NOT NULL"); - database.execSQL("ALTER TABLE History ADD COLUMN player INTEGER DEFAULT -1 NOT NULL"); - } - }; - - static final Migration MIGRATION_16_17 = new Migration(16, 17) { - @Override - public void migrate(@NonNull SupportSQLiteDatabase database) { - database.execSQL("CREATE TABLE IF NOT EXISTS `Track` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `type` INTEGER NOT NULL, `group` INTEGER NOT NULL, `track` INTEGER NOT NULL, `player` INTEGER NOT NULL, `key` TEXT, `name` TEXT, `selected` INTEGER NOT NULL)"); - database.execSQL("CREATE UNIQUE INDEX IF NOT EXISTS `index_Track_key_player_type` ON `Track` (`key`, `player`, `type`)"); - } - }; - - static final Migration MIGRATION_17_18 = new Migration(17, 18) { - @Override - public void migrate(@NonNull SupportSQLiteDatabase database) { - database.execSQL("ALTER TABLE Config ADD COLUMN parse TEXT DEFAULT NULL"); - } - }; - - static final Migration MIGRATION_18_19 = new Migration(18, 19) { - @Override - public void migrate(@NonNull SupportSQLiteDatabase database) { - database.execSQL("ALTER TABLE Site ADD COLUMN changeable INTEGER DEFAULT 1"); - } - }; - - static final Migration MIGRATION_19_20 = new Migration(19, 20) { - @Override - public void migrate(@NonNull SupportSQLiteDatabase database) { - database.execSQL("ALTER TABLE Config ADD COLUMN name TEXT DEFAULT NULL"); - } - }; - - static final Migration MIGRATION_20_21 = new Migration(20, 21) { - @Override - public void migrate(@NonNull SupportSQLiteDatabase database) { - database.execSQL("CREATE TABLE IF NOT EXISTS `Device` (`id` INTEGER PRIMARY KEY AUTOINCREMENT, `uuid` TEXT, `name` TEXT, `ip` TEXT)"); - database.execSQL("CREATE UNIQUE INDEX IF NOT EXISTS `index_Device_uuid_name` ON `Device` (`uuid`, `name`)"); - } - }; - - static final Migration MIGRATION_21_22 = new Migration(21, 22) { - @Override - public void migrate(@NonNull SupportSQLiteDatabase database) { - database.execSQL("ALTER TABLE Device ADD COLUMN type INTEGER DEFAULT 0 NOT NULL"); - } - }; - - static final Migration MIGRATION_22_23 = new Migration(22, 23) { - @Override - public void migrate(@NonNull SupportSQLiteDatabase database) { - database.execSQL("UPDATE History SET player = 2 WHERE player = 0"); - } - }; - - static final Migration MIGRATION_23_24 = new Migration(23, 24) { - @Override - public void migrate(@NonNull SupportSQLiteDatabase database) { - database.execSQL("ALTER TABLE Track ADD COLUMN `adaptive` INTEGER NOT NULL DEFAULT 0"); - } - }; - - static final Migration MIGRATION_24_25 = new Migration(24, 25) { - @Override - public void migrate(@NonNull SupportSQLiteDatabase database) { - database.execSQL("ALTER TABLE Site ADD COLUMN recordable INTEGER DEFAULT 1"); - } - }; - - static final Migration MIGRATION_25_26 = new Migration(25, 26) { - @Override - public void migrate(@NonNull SupportSQLiteDatabase database) { - database.execSQL("CREATE TABLE Site_Backup (`key` TEXT NOT NULL, name TEXT, searchable INTEGER, changeable INTEGER, recordable INTEGER, PRIMARY KEY (`key`))"); - database.execSQL("INSERT INTO Site_Backup SELECT `key`, name, searchable, changeable, recordable FROM Site"); - database.execSQL("DROP TABLE Site"); - database.execSQL("ALTER TABLE Site_Backup RENAME to Site"); - } - }; - - static final Migration MIGRATION_26_27 = new Migration(26, 27) { - @Override - public void migrate(@NonNull SupportSQLiteDatabase database) { - database.execSQL("CREATE TABLE IF NOT EXISTS `Live` (`name` TEXT NOT NULL, `boot` INTEGER NOT NULL, `pass` INTEGER NOT NULL, PRIMARY KEY(`name`))"); - } - }; - - static final Migration MIGRATION_27_28 = new Migration(27, 28) { - @Override - public void migrate(@NonNull SupportSQLiteDatabase database) { - Prefers.remove("danmu_size"); - } - }; - - static final Migration MIGRATION_28_29 = new Migration(28, 29) { - @Override - public void migrate(@NonNull SupportSQLiteDatabase database) { - database.execSQL("CREATE TABLE Site_Backup (`key` TEXT NOT NULL, searchable INTEGER, changeable INTEGER, PRIMARY KEY (`key`))"); - database.execSQL("INSERT INTO Site_Backup SELECT `key`, searchable, changeable FROM Site"); - database.execSQL("DROP TABLE Site"); - database.execSQL("ALTER TABLE Site_Backup RENAME to Site"); - } - }; - - static final Migration MIGRATION_29_30 = new Migration(29, 30) { - @Override - public void migrate(@NonNull SupportSQLiteDatabase database) { - database.execSQL("ALTER TABLE Config ADD COLUMN logo TEXT DEFAULT NULL"); - } - }; - - static final Migration MIGRATION_30_31 = new Migration(30, 31) { - @Override - public void migrate(@NonNull SupportSQLiteDatabase database) { - database.execSQL("CREATE TABLE Track_Backup (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `type` INTEGER NOT NULL, `group` INTEGER NOT NULL, `track` INTEGER NOT NULL, `key` TEXT, `name` TEXT, `selected` INTEGER NOT NULL, `adaptive` INTEGER NOT NULL)"); - database.execSQL("INSERT INTO Track_Backup SELECT id, type, `group`, track, `key`, name, selected, adaptive FROM Track"); - database.execSQL("DROP TABLE Track"); - database.execSQL("ALTER TABLE Track_Backup RENAME to Track"); - database.execSQL("CREATE UNIQUE INDEX IF NOT EXISTS `index_Track_key_type` ON `Track` (`key`, `type`)"); - } - }; - - static final Migration MIGRATION_31_32 = new Migration(31, 32) { - @Override - public void migrate(@NonNull SupportSQLiteDatabase database) { - database.execSQL("CREATE TABLE History_Backup (`key` TEXT NOT NULL, `vodPic` TEXT, `vodName` TEXT, `vodFlag` TEXT, `vodRemarks` TEXT, `episodeUrl` TEXT, `revSort` INTEGER NOT NULL, `revPlay` INTEGER NOT NULL, `createTime` INTEGER NOT NULL, `opening` INTEGER NOT NULL, `ending` INTEGER NOT NULL, `position` INTEGER NOT NULL, `duration` INTEGER NOT NULL, `speed` REAL NOT NULL, `scale` INTEGER NOT NULL, `cid` INTEGER NOT NULL, PRIMARY KEY(`key`))"); - database.execSQL("INSERT INTO History_Backup SELECT `key`, `vodPic`, `vodName`, `vodFlag`, `vodRemarks`, `episodeUrl`, `revSort`, `revPlay`, `createTime`, `opening`, `ending`, `position`, `duration`, `speed`, `scale`, `cid` FROM History"); - database.execSQL("DROP TABLE History"); - database.execSQL("ALTER TABLE History_Backup RENAME to History"); - } - }; } diff --git a/app/src/main/java/com/fongmi/android/tv/db/Migrations.java b/app/src/main/java/com/fongmi/android/tv/db/Migrations.java new file mode 100644 index 000000000..db5136343 --- /dev/null +++ b/app/src/main/java/com/fongmi/android/tv/db/Migrations.java @@ -0,0 +1,27 @@ +package com.fongmi.android.tv.db; + +import androidx.annotation.NonNull; +import androidx.room.migration.Migration; +import androidx.sqlite.db.SupportSQLiteDatabase; + +public class Migrations { + + public static final Migration MIGRATION_30_31 = new Migration(30, 31) { + @Override + public void migrate(@NonNull SupportSQLiteDatabase database) { + database.execSQL("DROP TABLE Track"); + database.execSQL("CREATE TABLE Track (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `type` INTEGER NOT NULL, `group` INTEGER NOT NULL, `track` INTEGER NOT NULL, `key` TEXT, `name` TEXT, `selected` INTEGER NOT NULL, `adaptive` INTEGER NOT NULL)"); + database.execSQL("CREATE UNIQUE INDEX IF NOT EXISTS `index_Track_key_type` ON `Track` (`key`, `type`)"); + } + }; + + public static final Migration MIGRATION_31_32 = new Migration(31, 32) { + @Override + public void migrate(@NonNull SupportSQLiteDatabase database) { + database.execSQL("CREATE TABLE History_Backup (`key` TEXT NOT NULL, `vodPic` TEXT, `vodName` TEXT, `vodFlag` TEXT, `vodRemarks` TEXT, `episodeUrl` TEXT, `revSort` INTEGER NOT NULL, `revPlay` INTEGER NOT NULL, `createTime` INTEGER NOT NULL, `opening` INTEGER NOT NULL, `ending` INTEGER NOT NULL, `position` INTEGER NOT NULL, `duration` INTEGER NOT NULL, `speed` REAL NOT NULL, `scale` INTEGER NOT NULL, `cid` INTEGER NOT NULL, PRIMARY KEY(`key`))"); + database.execSQL("INSERT INTO History_Backup SELECT `key`, `vodPic`, `vodName`, `vodFlag`, `vodRemarks`, `episodeUrl`, `revSort`, `revPlay`, `createTime`, `opening`, `ending`, `position`, `duration`, `speed`, `scale`, `cid` FROM History"); + database.execSQL("DROP TABLE History"); + database.execSQL("ALTER TABLE History_Backup RENAME to History"); + } + }; +} diff --git a/app/src/mobile/java/com/fongmi/android/tv/service/PlaybackService.java b/app/src/mobile/java/com/fongmi/android/tv/service/PlaybackService.java index 141d8b43c..0c7e157ee 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/service/PlaybackService.java +++ b/app/src/mobile/java/com/fongmi/android/tv/service/PlaybackService.java @@ -138,7 +138,6 @@ public class PlaybackService extends Service { @Override public void onLoadCleared(@Nullable Drawable placeholder) { - } }; }