parent
1014ffae29
commit
fafe6cf87a
@ -18,20 +18,16 @@ data class FavoritesItem(
|
||||
var pinPosition: Int,
|
||||
var hidden: Boolean
|
||||
) : KoinComponent {
|
||||
private val serializer: SearchableSerializer? by inject { parametersOf(searchable) }
|
||||
private val serializer: SearchableSerializer by inject { parametersOf(searchable) }
|
||||
|
||||
fun toDatabaseEntity(): FavoritesItemEntity? {
|
||||
val serializer = serializer ?: return null
|
||||
val serializer = serializer
|
||||
|
||||
val data = searchable?.let { serializer.serialize(it) } ?: return null
|
||||
|
||||
return FavoritesItemEntity(
|
||||
key = key,
|
||||
serializedSearchable = searchable?.let {
|
||||
"${serializer.typePrefix}#${
|
||||
serializer.serialize(
|
||||
it
|
||||
)
|
||||
}"
|
||||
} ?: "",
|
||||
serializedSearchable = "${serializer.typePrefix}#${data}",
|
||||
hidden = hidden,
|
||||
pinPosition = pinPosition,
|
||||
launchCount = launchCount
|
||||
|
||||
@ -6,6 +6,7 @@ import de.mm20.launcher2.contacts.ContactDeserializer
|
||||
import de.mm20.launcher2.contacts.ContactSerializer
|
||||
import de.mm20.launcher2.files.*
|
||||
import de.mm20.launcher2.search.NullDeserializer
|
||||
import de.mm20.launcher2.search.NullSerializer
|
||||
import de.mm20.launcher2.search.data.*
|
||||
import de.mm20.launcher2.websites.WebsiteDeserializer
|
||||
import de.mm20.launcher2.websites.WebsiteSerializer
|
||||
@ -50,7 +51,7 @@ val favoritesModule = module {
|
||||
if (searchable is Website) {
|
||||
return@factory WebsiteSerializer()
|
||||
}
|
||||
return@factory null
|
||||
return@factory NullSerializer()
|
||||
}
|
||||
|
||||
factory { (serialized: String) ->
|
||||
|
||||
@ -3,6 +3,16 @@ package de.mm20.launcher2.search
|
||||
import de.mm20.launcher2.search.data.Searchable
|
||||
|
||||
interface SearchableSerializer {
|
||||
fun serialize(searchable: Searchable): String
|
||||
fun serialize(searchable: Searchable): String?
|
||||
val typePrefix: String
|
||||
}
|
||||
|
||||
class NullSerializer : SearchableSerializer {
|
||||
override fun serialize(searchable: Searchable): String? {
|
||||
return null
|
||||
}
|
||||
|
||||
override val typePrefix: String
|
||||
get() = "null"
|
||||
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user