upgrade room and use ProvidedTypeConverter
This commit is contained in:
parent
ea860a761b
commit
7df890efef
|
@ -62,7 +62,7 @@ dependencies {
|
|||
|
||||
val lifecycleVersion = "2.3.0-alpha07"
|
||||
val emojiCompatVersion = "1.2.0-alpha01"
|
||||
val roomVersion = "2.3.0-alpha02"
|
||||
val roomVersion = "2.3.0-alpha03"
|
||||
val okHttpVersion = "4.8.1"
|
||||
val retrofitVersion = "2.9.0"
|
||||
val moshiVersion = "1.10.0"
|
||||
|
|
|
@ -27,6 +27,7 @@ import androidx.room.Room
|
|||
import at.connyduck.pixelcat.PixelcatApplication
|
||||
import at.connyduck.pixelcat.db.AccountManager
|
||||
import at.connyduck.pixelcat.db.AppDatabase
|
||||
import at.connyduck.pixelcat.db.RoomConverter
|
||||
import dagger.Module
|
||||
import dagger.Provides
|
||||
import javax.inject.Singleton
|
||||
|
@ -47,9 +48,10 @@ class AppModule {
|
|||
|
||||
@Provides
|
||||
@Singleton
|
||||
fun providesDatabase(app: PixelcatApplication): AppDatabase {
|
||||
fun providesDatabase(context: Context, converter: RoomConverter): AppDatabase {
|
||||
return Room
|
||||
.databaseBuilder(app, AppDatabase::class.java, "pixelcat.db")
|
||||
.databaseBuilder(context, AppDatabase::class.java, "pixelcat.db")
|
||||
.addTypeConverter(converter)
|
||||
.build()
|
||||
}
|
||||
|
||||
|
|
|
@ -19,6 +19,7 @@
|
|||
|
||||
package at.connyduck.pixelcat.db
|
||||
|
||||
import androidx.room.ProvidedTypeConverter
|
||||
import androidx.room.TypeConverter
|
||||
import at.connyduck.pixelcat.model.Attachment
|
||||
import at.connyduck.pixelcat.model.Notification
|
||||
|
@ -26,10 +27,14 @@ import at.connyduck.pixelcat.model.Status
|
|||
import com.squareup.moshi.Moshi
|
||||
import com.squareup.moshi.Types
|
||||
import java.util.Date
|
||||
import javax.inject.Inject
|
||||
import javax.inject.Singleton
|
||||
|
||||
class Converters {
|
||||
|
||||
private val moshi = Moshi.Builder().build()
|
||||
@ProvidedTypeConverter
|
||||
@Singleton
|
||||
class RoomConverter @Inject constructor (
|
||||
private val moshi: Moshi
|
||||
) {
|
||||
|
||||
@TypeConverter
|
||||
fun visibilityToString(visibility: Status.Visibility) = visibility.name
|
|
@ -22,11 +22,11 @@ package at.connyduck.pixelcat.db.entitity
|
|||
import androidx.room.Embedded
|
||||
import androidx.room.Entity
|
||||
import androidx.room.TypeConverters
|
||||
import at.connyduck.pixelcat.db.Converters
|
||||
import at.connyduck.pixelcat.db.RoomConverter
|
||||
import at.connyduck.pixelcat.model.Notification
|
||||
|
||||
@Entity(primaryKeys = ["accountId", "id"])
|
||||
@TypeConverters(Converters::class)
|
||||
@TypeConverters(RoomConverter::class)
|
||||
data class NotificationEntity(
|
||||
val accountId: Long,
|
||||
val type: Notification.Type,
|
||||
|
|
|
@ -22,13 +22,13 @@ package at.connyduck.pixelcat.db.entitity
|
|||
import androidx.room.Embedded
|
||||
import androidx.room.Entity
|
||||
import androidx.room.TypeConverters
|
||||
import at.connyduck.pixelcat.db.Converters
|
||||
import at.connyduck.pixelcat.db.RoomConverter
|
||||
import at.connyduck.pixelcat.model.Attachment
|
||||
import at.connyduck.pixelcat.model.Status
|
||||
import java.util.Date
|
||||
|
||||
@Entity(primaryKeys = ["accountId", "id"])
|
||||
@TypeConverters(Converters::class)
|
||||
@TypeConverters(RoomConverter::class)
|
||||
data class StatusEntity(
|
||||
val accountId: Long,
|
||||
val id: String,
|
||||
|
|
Loading…
Reference in New Issue