mirror of
https://github.com/rt-bishop/Look4Sat.git
synced 2026-10-02 03:15:37 +00:00
Added database migration to v5
This commit is contained in:
1 parent
148104880e
commit
f34cb8eb3c
10 files changed
+726
-10
No files matched your search
@@ -10,6 +10,7 @@
|
||||
android:name=".presentation.Look4SatApplication"
|
||||
android:allowBackup="false"
|
||||
android:icon="@mipmap/ic_launcher"
|
||||
android:roundIcon="@mipmap/ic_launcher_round"
|
||||
android:label="@string/app_name"
|
||||
android:theme="@style/Theme.Look4Sat.Main">
|
||||
<activity
|
||||
|
||||
@@ -19,13 +19,49 @@ package com.rtbishop.look4sat.framework.local
|
||||
|
||||
import androidx.room.Database
|
||||
import androidx.room.RoomDatabase
|
||||
import androidx.room.migration.Migration
|
||||
import androidx.sqlite.db.SupportSQLiteDatabase
|
||||
import com.rtbishop.look4sat.framework.model.SatEntry
|
||||
import com.rtbishop.look4sat.framework.model.Transmitter
|
||||
|
||||
@Database(entities = [SatEntry::class, Transmitter::class], version = 1)
|
||||
@Database(entities = [SatEntry::class, Transmitter::class], version = 5, exportSchema = true)
|
||||
abstract class SatelliteDb : RoomDatabase() {
|
||||
|
||||
abstract fun entriesDao(): EntriesDao
|
||||
|
||||
abstract fun transmittersDao(): TransmittersDao
|
||||
}
|
||||
|
||||
val MIGRATION_1_2 = object : Migration(1, 2) {
|
||||
override fun migrate(database: SupportSQLiteDatabase) {
|
||||
database.execSQL("CREATE TABLE trans_backup (uuid TEXT NOT NULL, info TEXT NOT NULL, isAlive INTEGER NOT NULL, downlink INTEGER, uplink INTEGER, mode TEXT, isInverted INTEGER NOT NULL, catNum INTEGER, PRIMARY KEY(uuid))")
|
||||
database.execSQL("INSERT INTO trans_backup (uuid, info, isAlive, downlink, uplink, mode, isInverted, catNum) SELECT uuid, info, isAlive, downlink, uplink, mode, isInverted, catNum FROM transmitters")
|
||||
database.execSQL("DROP TABLE transmitters")
|
||||
database.execSQL("ALTER TABLE trans_backup RENAME TO transmitters")
|
||||
}
|
||||
}
|
||||
|
||||
val MIGRATION_2_3 = object : Migration(2, 3) {
|
||||
override fun migrate(database: SupportSQLiteDatabase) {
|
||||
database.execSQL("CREATE TABLE sources (sourceUrl TEXT NOT NULL, PRIMARY KEY(sourceUrl))")
|
||||
}
|
||||
}
|
||||
|
||||
val MIGRATION_3_4 = object : Migration(3, 4) {
|
||||
override fun migrate(database: SupportSQLiteDatabase) {
|
||||
database.execSQL("CREATE TABLE entries_backup (isSelected INTEGER NOT NULL, name TEXT NOT NULL, epoch REAL NOT NULL, meanmo REAL NOT NULL, eccn REAL NOT NULL, incl REAL NOT NULL, raan REAL NOT NULL, argper REAL NOT NULL, meanan REAL NOT NULL, catnum INTEGER NOT NULL, bstar REAL NOT NULL, xincl REAL NOT NULL, xnodeo REAL NOT NULL, omegao REAL NOT NULL, xmo REAL NOT NULL, xno REAL NOT NULL, isDeepspace INTEGER NOT NULL, PRIMARY KEY(catnum))")
|
||||
database.execSQL("INSERT INTO entries_backup (isSelected, name, epoch, meanmo, eccn, incl, raan, argper, meanan, catnum, bstar, xincl, xnodeo, omegao, xmo, xno, isDeepspace) SELECT isSelected, 'name', 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, catNum, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0 FROM entries")
|
||||
database.execSQL("DROP TABLE entries")
|
||||
database.execSQL("ALTER TABLE entries_backup RENAME TO entries")
|
||||
database.execSQL("CREATE TABLE trans_backup (uuid TEXT NOT NULL, info TEXT NOT NULL, isAlive INTEGER NOT NULL, downlink INTEGER, uplink INTEGER, mode TEXT, isInverted INTEGER NOT NULL, catnum INTEGER, PRIMARY KEY(uuid))")
|
||||
database.execSQL("INSERT INTO trans_backup (uuid, info, isAlive, downlink, uplink, mode, isInverted, catnum) SELECT uuid, info, isAlive, downlink, uplink, mode, isInverted, catNum FROM transmitters")
|
||||
database.execSQL("DROP TABLE transmitters")
|
||||
database.execSQL("ALTER TABLE trans_backup RENAME TO transmitters")
|
||||
}
|
||||
}
|
||||
|
||||
val MIGRATION_4_5 = object : Migration(4, 5) {
|
||||
override fun migrate(database: SupportSQLiteDatabase) {
|
||||
database.execSQL("DROP TABLE sources")
|
||||
}
|
||||
}
|
||||
@@ -29,8 +29,7 @@ import com.rtbishop.look4sat.domain.LocationHandler
|
||||
import com.rtbishop.look4sat.domain.predict.Predictor
|
||||
import com.rtbishop.look4sat.framework.LocationProvider
|
||||
import com.rtbishop.look4sat.framework.SettingsProvider
|
||||
import com.rtbishop.look4sat.framework.local.LocalSource
|
||||
import com.rtbishop.look4sat.framework.local.SatelliteDb
|
||||
import com.rtbishop.look4sat.framework.local.*
|
||||
import com.rtbishop.look4sat.framework.remote.RemoteSource
|
||||
import dagger.Module
|
||||
import dagger.Provides
|
||||
@@ -53,7 +52,8 @@ object CoreModule {
|
||||
@DefaultDispatcher defaultDispatcher: CoroutineDispatcher
|
||||
): DataRepository {
|
||||
val dataParser = DataParser(defaultDispatcher)
|
||||
val db = Room.databaseBuilder(context, SatelliteDb::class.java, "Look4SatDB")
|
||||
val db = Room.databaseBuilder(context, SatelliteDb::class.java, "SatelliteDb")
|
||||
.addMigrations(MIGRATION_1_2, MIGRATION_2_3, MIGRATION_3_4, MIGRATION_4_5)
|
||||
.fallbackToDestructiveMigration().build()
|
||||
val localSource = LocalSource(db.entriesDao(), db.transmittersDao())
|
||||
val remoteSource = RemoteSource(ioDispatcher)
|
||||
|
||||
@@ -1,11 +1,17 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<color name="themeAccent">#FFE082</color>
|
||||
<color name="themeLight">#D0D0D0</color>
|
||||
<color name="themeLight">#D6FFFFFF</color>
|
||||
<color name="themeGrey">#99FFFFFF</color>
|
||||
<color name="themeDisabled">#5CFFFFFF</color>
|
||||
<color name="themeDark">#121212</color>
|
||||
<color name="surfaceIcon">#404040</color>
|
||||
<color name="surfaceTop">#383838</color>
|
||||
<color name="surfaceChip">#303030</color>
|
||||
<color name="surfaceButton">#242424</color>
|
||||
<color name="surfaceStatusbar">#1A1A1A</color>
|
||||
<color name="surfaceToolbar">#202020</color>
|
||||
<color name="surfaceCard">#181818</color>
|
||||
<color name="surfaceSystem">#1A1A1A</color>
|
||||
<color name="surfaceCard">#1A1A1A</color>
|
||||
<color name="surfaceBg">#121212</color>
|
||||
<color name="mapInfoLayout">#B3181818</color>
|
||||
<color name="mtrl_textinput_disabled_color">@color/surfaceButton</color>
|
||||
|
||||
@@ -11,10 +11,11 @@
|
||||
<item name="colorPrimary">@color/themeAccent</item>
|
||||
<item name="colorSecondary">@color/themeAccent</item>
|
||||
<item name="colorAccent">@color/themeAccent</item>
|
||||
<item name="colorControlNormal">@color/themeLight</item>
|
||||
<item name="android:textColorPrimary">@color/themeLight</item>
|
||||
<item name="android:statusBarColor">@color/surfaceStatusbar</item>
|
||||
<item name="android:statusBarColor">@color/surfaceSystem</item>
|
||||
<item name="android:windowBackground">@color/surfaceBg</item>
|
||||
<item name="android:navigationBarColor">@color/surfaceStatusbar</item>
|
||||
<item name="android:navigationBarColor">@color/surfaceSystem</item>
|
||||
<item name="android:forceDarkAllowed" tools:targetApi="q">false</item>
|
||||
</style>
|
||||
|
||||
|
||||
Reference in new issue
Block a user