ref: reformat caching data in Rooms
This commit is contained in:
@@ -12,8 +12,8 @@ import io.ktor.http.HttpStatusCode
|
||||
import org.json.JSONObject
|
||||
import ru.risdeveau.pixeldragon.baseUrl
|
||||
import ru.risdeveau.pixeldragon.client
|
||||
import ru.risdeveau.pixeldragon.db
|
||||
import ru.risdeveau.pixeldragon.db.Room
|
||||
import ru.risdeveau.pixeldragon.repo.Room
|
||||
import ru.risdeveau.pixeldragon.repo.User
|
||||
import ru.risdeveau.pixeldragon.token
|
||||
|
||||
//fun getRooms(): List<Room> {
|
||||
@@ -34,8 +34,6 @@ suspend fun getRooms(): List<String> {
|
||||
}
|
||||
|
||||
suspend fun getRoom(rid: String): Room {
|
||||
var room = db.roomDoa().getById(rid)
|
||||
|
||||
val direct = getAccountData(getMe()!!.userId, "m.direct")
|
||||
var directWith = ""
|
||||
direct?.let {
|
||||
@@ -51,16 +49,21 @@ suspend fun getRoom(rid: String): Room {
|
||||
}
|
||||
}
|
||||
|
||||
if (room == null) {
|
||||
val name = getState(rid, "m.room.name", "name")
|
||||
val type = getState(rid, "m.room.create", "type") ?: "m.room"
|
||||
val creator = getState(rid, "m.room.create", "creator")
|
||||
val avatar = getState(rid, "m.room.avatar", "url")
|
||||
room = Room(rid, name, type, creator, null, avatar, null, true, if (directWith.isNotEmpty()) directWith else null)
|
||||
db.roomDoa().insert(room)
|
||||
}
|
||||
|
||||
return room
|
||||
val name = getState(rid, "m.room.name", "name")
|
||||
val type = getState(rid, "m.room.create", "type") ?: "m.room"
|
||||
val creator = getState(rid, "m.room.create", "creator")
|
||||
val avatar = getState(rid, "m.room.avatar", "url")
|
||||
return Room(
|
||||
rid,
|
||||
name,
|
||||
type,
|
||||
creator,
|
||||
null,
|
||||
avatar,
|
||||
null,
|
||||
true, // TODO: insert actual value
|
||||
if (directWith.isNotEmpty()) User.getById(directWith) else null
|
||||
)
|
||||
}
|
||||
|
||||
private suspend fun getState(rid: String, state: String, key: String): String? {
|
||||
|
||||
Reference in New Issue
Block a user