Add: Extras db.entity

This commit is contained in:
machiav3lli 2022-06-23 00:25:43 +02:00
parent dff6e32178
commit 2708b618b9
3 changed files with 47 additions and 0 deletions

View File

@ -24,6 +24,8 @@ const val TABLE_RELEASE = "release"
const val TABLE_RELEASE_NAME = "release"
const val TABLE_REPOSITORY = "repository"
const val TABLE_REPOSITORY_NAME = "repository"
const val TABLE_EXTRAS = "extras"
const val TABLE_EXTRAS_NAME = "extras"
const val ROW_REPOSITORY_ID = "repositoryId"
const val ROW_PACKAGE_NAME = "packageName"
@ -48,6 +50,8 @@ const val ROW_ID = "_id"
const val ROW_ENABLED = "enabled"
const val ROW_CAN_UPDATE = "can_update"
const val ROW_MATCH_RANK = "match_rank"
const val ROW_IGNORED_VERSION = "ignoredVersion"
const val ROW_IGNORE_UPDATES = "ignoreUpdates"
const val RELEASE_STATE_NONE = 0
const val RELEASE_STATE_SUGGESTED = 1

View File

@ -21,6 +21,8 @@ import com.looker.droidify.ROW_DONATES
import com.looker.droidify.ROW_ENABLED
import com.looker.droidify.ROW_ICON
import com.looker.droidify.ROW_ID
import com.looker.droidify.ROW_IGNORED_VERSION
import com.looker.droidify.ROW_IGNORE_UPDATES
import com.looker.droidify.ROW_LABEL
import com.looker.droidify.ROW_LICENSES
import com.looker.droidify.ROW_MATCH_RANK
@ -38,6 +40,8 @@ import com.looker.droidify.TABLE_CATEGORY
import com.looker.droidify.TABLE_CATEGORY_NAME
import com.looker.droidify.TABLE_IGNORED
import com.looker.droidify.TABLE_IGNORED_NAME
import com.looker.droidify.TABLE_EXTRAS
import com.looker.droidify.TABLE_EXTRAS_NAME
import com.looker.droidify.TABLE_INSTALLED
import com.looker.droidify.TABLE_INSTALLED_NAME
import com.looker.droidify.TABLE_PRODUCT
@ -47,6 +51,7 @@ import com.looker.droidify.TABLE_REPOSITORY_NAME
import com.looker.droidify.database.entity.Category
import com.looker.droidify.database.entity.CategoryTemp
import com.looker.droidify.database.entity.Ignored
import com.looker.droidify.database.entity.Extras
import com.looker.droidify.database.entity.Installed
import com.looker.droidify.database.entity.Product
import com.looker.droidify.database.entity.ProductTemp
@ -380,3 +385,27 @@ interface CategoryTempDao : BaseDao<CategoryTemp> {
@Query("DELETE FROM temporary_category")
fun emptyTable()
}
@Dao
interface ExtrasDao : BaseDao<Extras> {
@Query("DELETE FROM extras WHERE packageName = :packageName")
fun delete(packageName: String)
@Query("SELECT * FROM extras WHERE packageName = :packageName")
operator fun get(packageName: String): Extras?
@Query("SELECT * FROM extras WHERE packageName = :packageName")
fun getLive(packageName: String): LiveData<Extras?>
@get:Query("SELECT * FROM extras")
val all: List<Extras>
@get:Query("SELECT * FROM extras")
val allLive: LiveData<List<Extras>>
@get:Query("SELECT packageName FROM extras WHERE favorite != 0")
val favorites: Array<String>
@get:Query("SELECT packageName FROM extras WHERE favorite != 0")
val favoritesLive: LiveData<Array<String>>
}

View File

@ -0,0 +1,14 @@
package com.looker.droidify.database.entity
import androidx.room.Entity
import androidx.room.PrimaryKey
import com.looker.droidify.TABLE_EXTRAS_NAME
@Entity(tableName = TABLE_EXTRAS_NAME)
data class Extras(
@PrimaryKey
var packageName: String = "",
var favorite: Boolean = false,
var ignoreUpdates: Boolean = false,
var ignoredVersion: Long = 0L,
)