Bringup notes widget
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
package de.mm20.launcher2.widgets
|
||||
|
||||
import de.mm20.launcher2.database.entities.PartialWidgetEntity
|
||||
import kotlinx.serialization.Serializable
|
||||
import kotlinx.serialization.encodeToString
|
||||
import kotlinx.serialization.json.Json
|
||||
import java.util.UUID
|
||||
|
||||
@Serializable
|
||||
data class NotesWidgetConfig(
|
||||
val storedText: String = "",
|
||||
val quickActions: Boolean = true,
|
||||
)
|
||||
|
||||
data class NotesWidget(
|
||||
override val id: UUID,
|
||||
val config: NotesWidgetConfig = NotesWidgetConfig(),
|
||||
) : Widget() {
|
||||
|
||||
override fun toDatabaseEntity(): PartialWidgetEntity {
|
||||
return PartialWidgetEntity(
|
||||
id = id,
|
||||
type = Type,
|
||||
config = Json.encodeToString(config),
|
||||
)
|
||||
}
|
||||
|
||||
companion object {
|
||||
const val Type = "notes"
|
||||
}
|
||||
}
|
||||
@@ -54,6 +54,12 @@ sealed class Widget {
|
||||
config,
|
||||
)
|
||||
}
|
||||
NotesWidget.Type -> {
|
||||
val config: NotesWidgetConfig =
|
||||
Json.decodeFromStringOrNull(entity.config?.takeIf { it.isNotBlank() })
|
||||
?: NotesWidgetConfig()
|
||||
NotesWidget(entity.id, config)
|
||||
}
|
||||
|
||||
else -> null
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user