Hello again :)
What about supporting pref values, which could be presisted into String by custom converter?
object AppState { // client code
val user by customPref<User?>(default = null, converter = UserConverter)
}
interface PrefConverter<T> { // library code
fun fromPref(str: String): T
fun toPref(t: T): String
}
object UserConverter : PrefConverter<User> { // client code
private val gson = Gson()
override fun fromPref(str: String) = gson.fromJson(str, User::class.java)
override fun toPref(t: T) = gson.toJson(t)
}
Many ORMs (Hibernate, GreenDAO, ORMLite, ObjectBox, etc) do this for object's fields, so we can borrow some architectural solutions from them.
Hello again :)
What about supporting pref values, which could be presisted into String by custom converter?
Many ORMs (Hibernate, GreenDAO, ORMLite, ObjectBox, etc) do this for object's fields, so we can borrow some architectural solutions from them.