- PinnableSearchable -> SavableSearchable,
- FavoritesItem -> SavedSearchable,
- FavoritesItemEntity -> SavedSearchableEntity

add type column to searchable table
This commit is contained in:
MM20
2022-10-16 15:53:22 +02:00
parent 7e6a4466ca
commit f88f71e5ee
61 changed files with 717 additions and 295 deletions
@@ -6,8 +6,7 @@ import androidx.core.database.getStringOrNull
import de.mm20.launcher2.ktx.jsonObjectOf
import de.mm20.launcher2.permissions.PermissionGroup
import de.mm20.launcher2.permissions.PermissionsManager
import de.mm20.launcher2.search.PinnableSearchable
import de.mm20.launcher2.search.Searchable
import de.mm20.launcher2.search.SavableSearchable
import de.mm20.launcher2.search.SearchableDeserializer
import de.mm20.launcher2.search.SearchableSerializer
import de.mm20.launcher2.search.data.*
@@ -16,7 +15,7 @@ import org.koin.core.component.KoinComponent
import org.koin.core.component.get
class LocalFileSerializer : SearchableSerializer {
override fun serialize(searchable: PinnableSearchable): String {
override fun serialize(searchable: SavableSearchable): String {
searchable as LocalFile
return jsonObjectOf(
"id" to searchable.id
@@ -30,7 +29,7 @@ class LocalFileSerializer : SearchableSerializer {
class LocalFileDeserializer(
val context: Context
) : SearchableDeserializer, KoinComponent {
override fun deserialize(serialized: String): PinnableSearchable? {
override fun deserialize(serialized: String): SavableSearchable? {
val permissionsManager: PermissionsManager = get()
if (!permissionsManager.checkPermissionOnce(
PermissionGroup.ExternalStorage
@@ -75,7 +74,7 @@ class LocalFileDeserializer(
}
class GDriveFileSerializer : SearchableSerializer {
override fun serialize(searchable: PinnableSearchable): String {
override fun serialize(searchable: SavableSearchable): String {
searchable as GDriveFile
return jsonObjectOf(
"id" to searchable.fileId,
@@ -104,7 +103,7 @@ class GDriveFileSerializer : SearchableSerializer {
}
class GDriveFileDeserializer : SearchableDeserializer {
override fun deserialize(serialized: String): PinnableSearchable {
override fun deserialize(serialized: String): SavableSearchable {
val json = JSONObject(serialized)
val id = json.getString("id")
val label = json.getString("label")
@@ -135,7 +134,7 @@ class GDriveFileDeserializer : SearchableDeserializer {
}
class OneDriveFileSerializer : SearchableSerializer {
override fun serialize(searchable: PinnableSearchable): String {
override fun serialize(searchable: SavableSearchable): String {
searchable as OneDriveFile
return jsonObjectOf(
"id" to searchable.fileId,
@@ -162,7 +161,7 @@ class OneDriveFileSerializer : SearchableSerializer {
}
class OneDriveFileDeserializer : SearchableDeserializer {
override fun deserialize(serialized: String): PinnableSearchable {
override fun deserialize(serialized: String): SavableSearchable {
val json = JSONObject(serialized)
val fileId = json.getString("id")
val label = json.getString("label")
@@ -190,7 +189,7 @@ class OneDriveFileDeserializer : SearchableDeserializer {
}
class NextcloudFileSerializer : SearchableSerializer {
override fun serialize(searchable: PinnableSearchable): String {
override fun serialize(searchable: SavableSearchable): String {
searchable as NextcloudFile
return jsonObjectOf(
"id" to searchable.fileId,
@@ -217,7 +216,7 @@ class NextcloudFileSerializer : SearchableSerializer {
}
class NextcloudFileDeserializer : SearchableDeserializer {
override fun deserialize(serialized: String): PinnableSearchable {
override fun deserialize(serialized: String): SavableSearchable {
val json = JSONObject(serialized)
val id = json.getLong("id")
val label = json.getString("label")
@@ -243,7 +242,7 @@ class NextcloudFileDeserializer : SearchableDeserializer {
}
class OwncloudFileSerializer : SearchableSerializer {
override fun serialize(searchable: PinnableSearchable): String {
override fun serialize(searchable: SavableSearchable): String {
searchable as OwncloudFile
return jsonObjectOf(
"id" to searchable.fileId,
@@ -270,7 +269,7 @@ class OwncloudFileSerializer : SearchableSerializer {
}
class OwncloudFileDeserializer : SearchableDeserializer {
override fun deserialize(serialized: String): PinnableSearchable {
override fun deserialize(serialized: String): SavableSearchable {
val json = JSONObject(serialized)
val id = json.getLong("id")
val label = json.getString("label")
@@ -6,11 +6,10 @@ import de.mm20.launcher2.files.R
import de.mm20.launcher2.icons.ColorLayer
import de.mm20.launcher2.icons.StaticLauncherIcon
import de.mm20.launcher2.icons.TintedIconLayer
import de.mm20.launcher2.search.PinnableSearchable
import de.mm20.launcher2.search.Searchable
import de.mm20.launcher2.search.SavableSearchable
import java.util.*
interface File : PinnableSearchable {
interface File : SavableSearchable {
val path: String
val mimeType: String
val size: Long
@@ -20,10 +20,8 @@ import de.mm20.launcher2.icons.*
import de.mm20.launcher2.ktx.formatToString
import de.mm20.launcher2.ktx.tryStartActivity
import de.mm20.launcher2.media.ThumbnailUtilsCompat
import de.mm20.launcher2.search.PinnableSearchable
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.withContext
import org.koin.core.component.KoinComponent
import java.io.IOException
import java.io.File as JavaIOFile