diff --git a/src/main/kotlin/com/looker/droidify/database/DAOs.kt b/src/main/kotlin/com/looker/droidify/database/DAOs.kt index bd0f844b..8cb657b7 100644 --- a/src/main/kotlin/com/looker/droidify/database/DAOs.kt +++ b/src/main/kotlin/com/looker/droidify/database/DAOs.kt @@ -280,14 +280,8 @@ interface CategoryDao : BaseDao { // TODO make sure that apps that not uninstalled by Droid-ify still get removed @Dao interface InstalledDao : BaseDao { - fun put(vararg isntalled: com.looker.droidify.entity.InstalledItem) { - isntalled.forEach { - insertReplace(Installed(it.packageName).apply { - version = it.version - version_code = it.versionCode - signature = it.signature - }) - } + fun put(vararg installed: Installed) { + installed.forEach { insertReplace(it) } } @Query("SELECT * FROM memory_installed WHERE package_name = :packageName") @@ -296,6 +290,9 @@ interface InstalledDao : BaseDao { @Query("SELECT * FROM memory_installed WHERE package_name = :packageName") fun getObject(packageName: String): Installed? + @Query("SELECT * FROM memory_installed WHERE package_name = :packageName") + fun getObjectLive(packageName: String): LiveData + @Query("DELETE FROM memory_installed WHERE package_name = :packageName") fun delete(packageName: String) } diff --git a/src/main/kotlin/com/looker/droidify/database/entity/Installed.kt b/src/main/kotlin/com/looker/droidify/database/entity/Installed.kt index 56d101d9..a9132fde 100644 --- a/src/main/kotlin/com/looker/droidify/database/entity/Installed.kt +++ b/src/main/kotlin/com/looker/droidify/database/entity/Installed.kt @@ -4,11 +4,10 @@ import androidx.room.Entity import androidx.room.PrimaryKey @Entity(tableName = "memory_installed") -class Installed(pName: String = "") { +data class Installed( @PrimaryKey - var package_name = pName - - var version = "" - var version_code = 0L - var signature = "" -} \ No newline at end of file + var package_name: String = "", + var version: String = "", + var version_code: Long = 0L, + var signature: String = "" +) \ No newline at end of file diff --git a/src/main/kotlin/com/looker/droidify/entity/InstalledItem.kt b/src/main/kotlin/com/looker/droidify/entity/InstalledItem.kt deleted file mode 100644 index 3e9ecd1a..00000000 --- a/src/main/kotlin/com/looker/droidify/entity/InstalledItem.kt +++ /dev/null @@ -1,9 +0,0 @@ -package com.looker.droidify.entity - -// Redundant to Room's Installed -class InstalledItem( - val packageName: String, - val version: String, - val versionCode: Long, - val signature: String, -) diff --git a/src/main/kotlin/com/looker/droidify/utility/Utils.kt b/src/main/kotlin/com/looker/droidify/utility/Utils.kt index b4e414f5..d9fb64a5 100644 --- a/src/main/kotlin/com/looker/droidify/utility/Utils.kt +++ b/src/main/kotlin/com/looker/droidify/utility/Utils.kt @@ -18,7 +18,6 @@ import com.looker.droidify.* import com.looker.droidify.content.Preferences import com.looker.droidify.database.entity.Installed import com.looker.droidify.database.entity.Repository -import com.looker.droidify.entity.InstalledItem import com.looker.droidify.entity.Product import com.looker.droidify.entity.ProductItem import com.looker.droidify.service.Connection @@ -46,9 +45,9 @@ object Utils { .apply { setTintList(context.getColorFromAttr(tintAttrResId)) } } - fun PackageInfo.toInstalledItem(): InstalledItem { + fun PackageInfo.toInstalledItem(): Installed { val signatureString = singleSignature?.let(Utils::calculateHash).orEmpty() - return InstalledItem(packageName, versionName.orEmpty(), versionCodeCompat, signatureString) + return Installed(packageName, versionName.orEmpty(), versionCodeCompat, signatureString) } fun getDefaultApplicationIcons(context: Context): Pair { @@ -221,13 +220,6 @@ fun Cursor.getRepository(): Repository = getBlob(getColumnIndex(ROW_DATA)) } } -fun Cursor.getInstalledItem(): InstalledItem = InstalledItem( - getString(getColumnIndex(ROW_PACKAGE_NAME)), - getString(getColumnIndex(ROW_VERSION)), - getLong(getColumnIndex(ROW_VERSION_CODE)), - getString(getColumnIndex(ROW_SIGNATURE)) -) - fun ByteArray.jsonParse(callback: (JsonParser) -> T): T { return Json.factory.createParser(this).use { it.parseDictionary(callback) } }