Merge pull request #590 from vector-im/feature/quickfix
Fix my dirty code
This commit is contained in:
commit
7817f49072
@ -20,7 +20,7 @@ data class HomeServerCapabilities(
|
|||||||
/**
|
/**
|
||||||
* Max size of file which can be uploaded to the homeserver in bytes. [MAX_UPLOAD_FILE_SIZE_UNKNOWN] if unknown or not retrieved yet
|
* Max size of file which can be uploaded to the homeserver in bytes. [MAX_UPLOAD_FILE_SIZE_UNKNOWN] if unknown or not retrieved yet
|
||||||
*/
|
*/
|
||||||
val maxUploadFileSize: Long
|
val maxUploadFileSize: Long = MAX_UPLOAD_FILE_SIZE_UNKNOWN
|
||||||
) {
|
) {
|
||||||
companion object {
|
companion object {
|
||||||
const val MAX_UPLOAD_FILE_SIZE_UNKNOWN = -1L
|
const val MAX_UPLOAD_FILE_SIZE_UNKNOWN = -1L
|
||||||
|
@ -26,13 +26,13 @@ internal object HomeServerCapabilitiesMapper {
|
|||||||
|
|
||||||
fun map(entity: HomeServerCapabilitiesEntity): HomeServerCapabilities {
|
fun map(entity: HomeServerCapabilitiesEntity): HomeServerCapabilities {
|
||||||
return HomeServerCapabilities(
|
return HomeServerCapabilities(
|
||||||
entity.maxUploadFileSize
|
maxUploadFileSize = entity.maxUploadFileSize
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun map(domain: HomeServerCapabilities): HomeServerCapabilitiesEntity {
|
fun map(domain: HomeServerCapabilities): HomeServerCapabilitiesEntity {
|
||||||
return HomeServerCapabilitiesEntity(
|
return HomeServerCapabilitiesEntity(
|
||||||
domain.maxUploadFileSize
|
maxUploadFileSize = domain.maxUploadFileSize
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -21,17 +21,16 @@ import io.realm.Realm
|
|||||||
import io.realm.kotlin.createObject
|
import io.realm.kotlin.createObject
|
||||||
import io.realm.kotlin.where
|
import io.realm.kotlin.where
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the current HomeServerCapabilitiesEntity, return null if it does not exist
|
||||||
|
*/
|
||||||
|
internal fun HomeServerCapabilitiesEntity.Companion.get(realm: Realm): HomeServerCapabilitiesEntity? {
|
||||||
|
return realm.where<HomeServerCapabilitiesEntity>().findFirst()
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the current HomeServerCapabilitiesEntity, create one if it does not exist
|
* Get the current HomeServerCapabilitiesEntity, create one if it does not exist
|
||||||
*/
|
*/
|
||||||
internal fun HomeServerCapabilitiesEntity.Companion.getOrCreate(realm: Realm): HomeServerCapabilitiesEntity {
|
internal fun HomeServerCapabilitiesEntity.Companion.getOrCreate(realm: Realm): HomeServerCapabilitiesEntity {
|
||||||
var homeServerCapabilitiesEntity = realm.where<HomeServerCapabilitiesEntity>().findFirst()
|
return get(realm) ?: realm.createObject()
|
||||||
if (homeServerCapabilitiesEntity == null) {
|
|
||||||
realm.executeTransaction {
|
|
||||||
realm.createObject<HomeServerCapabilitiesEntity>()
|
|
||||||
}
|
|
||||||
homeServerCapabilitiesEntity = realm.where<HomeServerCapabilitiesEntity>().findFirst()!!
|
|
||||||
}
|
|
||||||
|
|
||||||
return homeServerCapabilitiesEntity
|
|
||||||
}
|
}
|
||||||
|
@ -56,16 +56,15 @@ internal class DefaultGetHomeServerCapabilitiesTask @Inject constructor(
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private fun insertInDb(getUploadCapabilitiesResult: GetUploadCapabilitiesResult) {
|
private suspend fun insertInDb(getUploadCapabilitiesResult: GetUploadCapabilitiesResult) {
|
||||||
monarchy
|
monarchy.awaitTransaction { realm ->
|
||||||
.writeAsync { realm ->
|
val homeServerCapabilitiesEntity = HomeServerCapabilitiesEntity.getOrCreate(realm)
|
||||||
val homeServerCapabilitiesEntity = HomeServerCapabilitiesEntity.getOrCreate(realm)
|
|
||||||
|
|
||||||
homeServerCapabilitiesEntity.maxUploadFileSize = getUploadCapabilitiesResult.maxUploadSize
|
homeServerCapabilitiesEntity.maxUploadFileSize = getUploadCapabilitiesResult.maxUploadSize
|
||||||
?: HomeServerCapabilities.MAX_UPLOAD_FILE_SIZE_UNKNOWN
|
?: HomeServerCapabilities.MAX_UPLOAD_FILE_SIZE_UNKNOWN
|
||||||
|
|
||||||
homeServerCapabilitiesEntity.lastUpdatedTimestamp = Date().time
|
homeServerCapabilitiesEntity.lastUpdatedTimestamp = Date().time
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
|
@ -21,24 +21,18 @@ import im.vector.matrix.android.api.session.homeserver.HomeServerCapabilities
|
|||||||
import im.vector.matrix.android.api.session.homeserver.HomeServerCapabilitiesService
|
import im.vector.matrix.android.api.session.homeserver.HomeServerCapabilitiesService
|
||||||
import im.vector.matrix.android.internal.database.mapper.HomeServerCapabilitiesMapper
|
import im.vector.matrix.android.internal.database.mapper.HomeServerCapabilitiesMapper
|
||||||
import im.vector.matrix.android.internal.database.model.HomeServerCapabilitiesEntity
|
import im.vector.matrix.android.internal.database.model.HomeServerCapabilitiesEntity
|
||||||
import im.vector.matrix.android.internal.database.query.getOrCreate
|
import im.vector.matrix.android.internal.database.query.get
|
||||||
|
import io.realm.Realm
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
internal class DefaultHomeServerCapabilitiesService @Inject constructor(private val monarchy: Monarchy) : HomeServerCapabilitiesService {
|
internal class DefaultHomeServerCapabilitiesService @Inject constructor(private val monarchy: Monarchy) : HomeServerCapabilitiesService {
|
||||||
|
|
||||||
override fun getHomeServerCapabilities(): HomeServerCapabilities {
|
override fun getHomeServerCapabilities(): HomeServerCapabilities {
|
||||||
var entity: HomeServerCapabilitiesEntity? = null
|
return Realm.getInstance(monarchy.realmConfiguration).use { realm ->
|
||||||
monarchy.doWithRealm { realm ->
|
HomeServerCapabilitiesEntity.get(realm)?.let {
|
||||||
entity = HomeServerCapabilitiesEntity.getOrCreate(realm)
|
HomeServerCapabilitiesMapper.map(it)
|
||||||
}
|
|
||||||
|
|
||||||
return with(entity) {
|
|
||||||
if (this != null) {
|
|
||||||
HomeServerCapabilitiesMapper.map(this)
|
|
||||||
} else {
|
|
||||||
// Should not happen
|
|
||||||
HomeServerCapabilities(HomeServerCapabilities.MAX_UPLOAD_FILE_SIZE_UNKNOWN)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
?: HomeServerCapabilities()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user