diff --git a/app/schemas/com.rtbishop.look4sat.data.database.SatelliteDb/2.json b/app/schemas/com.rtbishop.look4sat.data.database.SatelliteDb/2.json index 0387840a..3fcf5f9f 100644 --- a/app/schemas/com.rtbishop.look4sat.data.database.SatelliteDb/2.json +++ b/app/schemas/com.rtbishop.look4sat.data.database.SatelliteDb/2.json @@ -2,7 +2,7 @@ "formatVersion": 1, "database": { "version": 2, - "identityHash": "ae51481b0cb1f66d055cd7487e79ad2c", + "identityHash": "24170ecaf2ab85adb66aa3b557134997", "entities": [ { "tableName": "entries", @@ -44,7 +44,7 @@ }, { "tableName": "transmitters", - "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`uuid` TEXT NOT NULL, `description` TEXT NOT NULL, `isAlive` INTEGER NOT NULL, `uplinkLow` INTEGER, `uplinkHigh` INTEGER, `downlinkLow` INTEGER, `downlinkHigh` INTEGER, `mode` TEXT, `isInverted` INTEGER NOT NULL, `catNum` INTEGER NOT NULL, PRIMARY KEY(`uuid`))", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`uuid` TEXT NOT NULL, `description` TEXT NOT NULL, `isAlive` INTEGER NOT NULL, `uplink` INTEGER, `downlink` INTEGER, `mode` TEXT, `isInverted` INTEGER NOT NULL, `catNum` INTEGER NOT NULL, PRIMARY KEY(`uuid`))", "fields": [ { "fieldPath": "uuid", @@ -65,26 +65,14 @@ "notNull": true }, { - "fieldPath": "uplinkLow", - "columnName": "uplinkLow", + "fieldPath": "uplink", + "columnName": "uplink", "affinity": "INTEGER", "notNull": false }, { - "fieldPath": "uplinkHigh", - "columnName": "uplinkHigh", - "affinity": "INTEGER", - "notNull": false - }, - { - "fieldPath": "downlinkLow", - "columnName": "downlinkLow", - "affinity": "INTEGER", - "notNull": false - }, - { - "fieldPath": "downlinkHigh", - "columnName": "downlinkHigh", + "fieldPath": "downlink", + "columnName": "downlink", "affinity": "INTEGER", "notNull": false }, @@ -120,7 +108,7 @@ "views": [], "setupQueries": [ "CREATE TABLE IF NOT EXISTS room_master_table (id INTEGER PRIMARY KEY,identity_hash TEXT)", - "INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, 'ae51481b0cb1f66d055cd7487e79ad2c')" + "INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, '24170ecaf2ab85adb66aa3b557134997')" ] } } \ No newline at end of file diff --git a/app/schemas/com.rtbishop.look4sat.data.database.SatelliteDb/3.json b/app/schemas/com.rtbishop.look4sat.data.database.SatelliteDb/3.json new file mode 100644 index 00000000..a8143337 --- /dev/null +++ b/app/schemas/com.rtbishop.look4sat.data.database.SatelliteDb/3.json @@ -0,0 +1,114 @@ +{ + "formatVersion": 1, + "database": { + "version": 3, + "identityHash": "53fa623fc55b279c50d33e6263866a89", + "entities": [ + { + "tableName": "entries", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`tle` TEXT NOT NULL, `isSelected` INTEGER NOT NULL, `catNum` INTEGER NOT NULL, `name` TEXT NOT NULL, PRIMARY KEY(`catNum`))", + "fields": [ + { + "fieldPath": "tle", + "columnName": "tle", + "affinity": "TEXT", + "notNull": true + }, + { + "fieldPath": "isSelected", + "columnName": "isSelected", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "catNum", + "columnName": "catNum", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "name", + "columnName": "name", + "affinity": "TEXT", + "notNull": true + } + ], + "primaryKey": { + "columnNames": [ + "catNum" + ], + "autoGenerate": false + }, + "indices": [], + "foreignKeys": [] + }, + { + "tableName": "transmitters", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`uuid` TEXT NOT NULL, `info` TEXT NOT NULL, `isAlive` INTEGER NOT NULL, `downlink` INTEGER, `uplink` INTEGER, `mode` TEXT, `isInverted` INTEGER NOT NULL, `catNum` INTEGER NOT NULL, PRIMARY KEY(`uuid`))", + "fields": [ + { + "fieldPath": "uuid", + "columnName": "uuid", + "affinity": "TEXT", + "notNull": true + }, + { + "fieldPath": "info", + "columnName": "info", + "affinity": "TEXT", + "notNull": true + }, + { + "fieldPath": "isAlive", + "columnName": "isAlive", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "downlink", + "columnName": "downlink", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "uplink", + "columnName": "uplink", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "mode", + "columnName": "mode", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "isInverted", + "columnName": "isInverted", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "catNum", + "columnName": "catNum", + "affinity": "INTEGER", + "notNull": true + } + ], + "primaryKey": { + "columnNames": [ + "uuid" + ], + "autoGenerate": false + }, + "indices": [], + "foreignKeys": [] + } + ], + "views": [], + "setupQueries": [ + "CREATE TABLE IF NOT EXISTS room_master_table (id INTEGER PRIMARY KEY,identity_hash TEXT)", + "INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, '53fa623fc55b279c50d33e6263866a89')" + ] + } +} \ No newline at end of file diff --git a/app/src/main/java/com/rtbishop/look4sat/data/database/SatelliteDb.kt b/app/src/main/java/com/rtbishop/look4sat/data/database/SatelliteDb.kt index 75162780..5fa8a779 100644 --- a/app/src/main/java/com/rtbishop/look4sat/data/database/SatelliteDb.kt +++ b/app/src/main/java/com/rtbishop/look4sat/data/database/SatelliteDb.kt @@ -25,10 +25,10 @@ import androidx.sqlite.db.SupportSQLiteDatabase import com.rtbishop.look4sat.data.model.SatEntry import com.rtbishop.look4sat.data.model.SatTrans -@Database(entities = [SatEntry::class, SatTrans::class], version = 2) +@Database(entities = [SatEntry::class, SatTrans::class], version = 3) @TypeConverters(RoomConverters::class) abstract class SatelliteDb : RoomDatabase() { - + abstract fun satelliteDao(): SatelliteDao } @@ -37,3 +37,12 @@ val MIGRATION_1_2 = object : Migration(1, 2) { database.execSQL("DROP TABLE sources") } } + +val MIGRATION_2_3 = object : Migration(2, 3) { + 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 NOT NULL, PRIMARY KEY(uuid))") + database.execSQL("INSERT INTO trans_backup (uuid, info, isAlive, downlink, uplink, mode, isInverted, catNum) SELECT uuid, description, isAlive, downlinkLow, uplinkLow, mode, isInverted, catNum FROM transmitters") + database.execSQL("DROP TABLE transmitters") + database.execSQL("ALTER TABLE trans_backup RENAME TO transmitters") + } +} diff --git a/app/src/main/java/com/rtbishop/look4sat/data/model/SatTrans.kt b/app/src/main/java/com/rtbishop/look4sat/data/model/SatTrans.kt index b8a330ed..f9997471 100644 --- a/app/src/main/java/com/rtbishop/look4sat/data/model/SatTrans.kt +++ b/app/src/main/java/com/rtbishop/look4sat/data/model/SatTrans.kt @@ -24,12 +24,10 @@ import com.squareup.moshi.Json @Entity(tableName = "transmitters") class SatTrans( @PrimaryKey @field:Json(name = "uuid") val uuid: String, - @field:Json(name = "description") val description: String, + @field:Json(name = "description") val info: String, @field:Json(name = "alive") val isAlive: Boolean, - @field:Json(name = "uplink_low") val uplinkLow: Long?, - @field:Json(name = "uplink_high") val uplinkHigh: Long?, - @field:Json(name = "downlink_low") val downlinkLow: Long?, - @field:Json(name = "downlink_high") val downlinkHigh: Long?, + @field:Json(name = "downlink_low") val downlink: Long?, + @field:Json(name = "uplink_low") val uplink: Long?, @field:Json(name = "mode") val mode: String?, @field:Json(name = "invert") val isInverted: Boolean, @field:Json(name = "norad_cat_id") val catNum: Int diff --git a/app/src/main/java/com/rtbishop/look4sat/di/RepositoryModule.kt b/app/src/main/java/com/rtbishop/look4sat/di/RepositoryModule.kt index 73191661..f9b50b86 100644 --- a/app/src/main/java/com/rtbishop/look4sat/di/RepositoryModule.kt +++ b/app/src/main/java/com/rtbishop/look4sat/di/RepositoryModule.kt @@ -19,10 +19,7 @@ package com.rtbishop.look4sat.di import android.content.Context import androidx.room.Room -import com.rtbishop.look4sat.data.database.MIGRATION_1_2 -import com.rtbishop.look4sat.data.database.RoomConverters -import com.rtbishop.look4sat.data.database.SatelliteDao -import com.rtbishop.look4sat.data.database.SatelliteDb +import com.rtbishop.look4sat.data.database.* import com.squareup.moshi.Moshi import dagger.Module import dagger.Provides @@ -44,6 +41,7 @@ object RepositoryModule { RoomConverters.initialize(moshi) return Room.databaseBuilder(context, SatelliteDb::class.java, "satDb") .addMigrations(MIGRATION_1_2) + .addMigrations(MIGRATION_2_3) .build() } } diff --git a/app/src/main/java/com/rtbishop/look4sat/ui/polarScreen/TransAdapter.kt b/app/src/main/java/com/rtbishop/look4sat/ui/polarScreen/TransAdapter.kt index 0969c1b6..54123ad7 100644 --- a/app/src/main/java/com/rtbishop/look4sat/ui/polarScreen/TransAdapter.kt +++ b/app/src/main/java/com/rtbishop/look4sat/ui/polarScreen/TransAdapter.kt @@ -67,7 +67,7 @@ class TransAdapter(private val pass: SatPass) : RecyclerView.Adapter