- 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
@@ -9,8 +9,7 @@ import coil.imageLoader
import coil.request.ImageRequest
import de.mm20.launcher2.icons.*
import de.mm20.launcher2.ktx.tryStartActivity
import de.mm20.launcher2.search.PinnableSearchable
import de.mm20.launcher2.search.Searchable
import de.mm20.launcher2.search.SavableSearchable
import de.mm20.launcher2.websites.R
import java.util.concurrent.ExecutionException
@@ -22,7 +21,7 @@ data class Website(
val favicon: String,
val color: Int,
override val labelOverride: String? = null,
) : PinnableSearchable {
) : SavableSearchable {
override val domain: String = Domain
@@ -1,15 +1,14 @@
package de.mm20.launcher2.websites
import de.mm20.launcher2.ktx.jsonObjectOf
import de.mm20.launcher2.search.PinnableSearchable
import de.mm20.launcher2.search.SavableSearchable
import de.mm20.launcher2.search.SearchableDeserializer
import de.mm20.launcher2.search.SearchableSerializer
import de.mm20.launcher2.search.Searchable
import de.mm20.launcher2.search.data.Website
import org.json.JSONObject
class WebsiteSerializer : SearchableSerializer {
override fun serialize(searchable: PinnableSearchable): String {
override fun serialize(searchable: SavableSearchable): String {
searchable as Website
return jsonObjectOf(
"label" to searchable.label,
@@ -26,7 +25,7 @@ class WebsiteSerializer : SearchableSerializer {
}
class WebsiteDeserializer: SearchableDeserializer {
override fun deserialize(serialized: String): PinnableSearchable? {
override fun deserialize(serialized: String): SavableSearchable? {
val json = JSONObject(serialized)
return Website(
label = json.getString("label"),