@@ -12,7 +12,6 @@ import androidx.room.Query
12
12
import androidx.room.Room
13
13
import androidx.room.RoomDatabase
14
14
import androidx.room.Transaction
15
- import androidx.room.Update
16
15
import androidx.room.migration.Migration
17
16
import androidx.sqlite.db.SupportSQLiteDatabase
18
17
import org.json.JSONObject
@@ -35,18 +34,18 @@ internal interface StorageDao {
35
34
36
35
@Transaction
37
36
@Query(" SELECT * FROM $TABLE_NAME WHERE `$COLUMN_KEY ` IN (:keys)" )
38
- fun getValues (keys : List <String >): List <Entry >
37
+ suspend fun getValues (keys : List <String >): List <Entry >
39
38
40
39
@Transaction
41
40
@Insert(onConflict = OnConflictStrategy .REPLACE )
42
- fun setValues (entries : List <Entry >)
41
+ suspend fun setValues (entries : List <Entry >)
43
42
44
43
@Transaction
45
44
@Query(" DELETE FROM $TABLE_NAME WHERE `$COLUMN_KEY ` in (:keys)" )
46
- fun removeValues (keys : List <String >)
45
+ suspend fun removeValues (keys : List <String >)
47
46
48
47
@Transaction
49
- fun mergeValues (entries : List <Entry >) {
48
+ suspend fun mergeValues (entries : List <Entry >) {
50
49
val currentDbEntries = getValues(entries.map { it.key })
51
50
val newEntries = mutableListOf<Entry >()
52
51
@@ -67,11 +66,11 @@ internal interface StorageDao {
67
66
68
67
@Transaction
69
68
@Query(" SELECT `$COLUMN_KEY ` FROM $TABLE_NAME " )
70
- fun getKeys (): List <String >
69
+ suspend fun getKeys (): List <String >
71
70
72
71
@Transaction
73
72
@Query(" DELETE FROM $TABLE_NAME " )
74
- fun clear ()
73
+ suspend fun clear ()
75
74
}
76
75
77
76
@@ -148,6 +147,7 @@ class StorageSupplier internal constructor(db: StorageDb) : AsyncStorageAccess {
148
147
return StorageSupplier (StorageDb .getDatabase(ctx))
149
148
}
150
149
}
150
+
151
151
private val access = db.storage()
152
152
153
153
override suspend fun getValues (keys : List <String >) = access.getValues(keys)
0 commit comments