Dominaezzz' review: remove withContext usage
This commit is contained in:
parent
6a91c2b355
commit
fe80b7bd6a
@ -17,24 +17,22 @@
|
|||||||
package org.matrix.android.sdk.internal.session.terms
|
package org.matrix.android.sdk.internal.session.terms
|
||||||
|
|
||||||
import dagger.Lazy
|
import dagger.Lazy
|
||||||
import kotlinx.coroutines.withContext
|
import okhttp3.OkHttpClient
|
||||||
|
import org.matrix.android.sdk.api.session.accountdata.UserAccountDataTypes
|
||||||
import org.matrix.android.sdk.api.session.events.model.toModel
|
import org.matrix.android.sdk.api.session.events.model.toModel
|
||||||
import org.matrix.android.sdk.api.session.terms.GetTermsResponse
|
import org.matrix.android.sdk.api.session.terms.GetTermsResponse
|
||||||
import org.matrix.android.sdk.api.session.terms.TermsService
|
import org.matrix.android.sdk.api.session.terms.TermsService
|
||||||
import org.matrix.android.sdk.internal.di.UnauthenticatedWithCertificate
|
import org.matrix.android.sdk.internal.di.UnauthenticatedWithCertificate
|
||||||
import org.matrix.android.sdk.internal.network.NetworkConstants
|
import org.matrix.android.sdk.internal.network.NetworkConstants
|
||||||
import org.matrix.android.sdk.internal.network.RetrofitFactory
|
import org.matrix.android.sdk.internal.network.RetrofitFactory
|
||||||
|
import org.matrix.android.sdk.internal.network.executeRequest
|
||||||
import org.matrix.android.sdk.internal.session.identity.IdentityAuthAPI
|
import org.matrix.android.sdk.internal.session.identity.IdentityAuthAPI
|
||||||
import org.matrix.android.sdk.internal.session.identity.IdentityRegisterTask
|
import org.matrix.android.sdk.internal.session.identity.IdentityRegisterTask
|
||||||
import org.matrix.android.sdk.internal.session.openid.GetOpenIdTokenTask
|
import org.matrix.android.sdk.internal.session.openid.GetOpenIdTokenTask
|
||||||
import org.matrix.android.sdk.internal.session.sync.model.accountdata.AcceptedTermsContent
|
import org.matrix.android.sdk.internal.session.sync.model.accountdata.AcceptedTermsContent
|
||||||
import org.matrix.android.sdk.api.session.accountdata.UserAccountDataTypes
|
|
||||||
import org.matrix.android.sdk.internal.session.user.accountdata.AccountDataDataSource
|
import org.matrix.android.sdk.internal.session.user.accountdata.AccountDataDataSource
|
||||||
import org.matrix.android.sdk.internal.session.user.accountdata.UpdateUserAccountDataTask
|
import org.matrix.android.sdk.internal.session.user.accountdata.UpdateUserAccountDataTask
|
||||||
import org.matrix.android.sdk.internal.util.MatrixCoroutineDispatchers
|
|
||||||
import org.matrix.android.sdk.internal.util.ensureTrailingSlash
|
import org.matrix.android.sdk.internal.util.ensureTrailingSlash
|
||||||
import okhttp3.OkHttpClient
|
|
||||||
import org.matrix.android.sdk.internal.network.executeRequest
|
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
internal class DefaultTermsService @Inject constructor(
|
internal class DefaultTermsService @Inject constructor(
|
||||||
@ -45,25 +43,22 @@ internal class DefaultTermsService @Inject constructor(
|
|||||||
private val retrofitFactory: RetrofitFactory,
|
private val retrofitFactory: RetrofitFactory,
|
||||||
private val getOpenIdTokenTask: GetOpenIdTokenTask,
|
private val getOpenIdTokenTask: GetOpenIdTokenTask,
|
||||||
private val identityRegisterTask: IdentityRegisterTask,
|
private val identityRegisterTask: IdentityRegisterTask,
|
||||||
private val updateUserAccountDataTask: UpdateUserAccountDataTask,
|
private val updateUserAccountDataTask: UpdateUserAccountDataTask
|
||||||
private val coroutineDispatchers: MatrixCoroutineDispatchers
|
|
||||||
) : TermsService {
|
) : TermsService {
|
||||||
|
|
||||||
override suspend fun getTerms(serviceType: TermsService.ServiceType,
|
override suspend fun getTerms(serviceType: TermsService.ServiceType,
|
||||||
baseUrl: String): GetTermsResponse {
|
baseUrl: String): GetTermsResponse {
|
||||||
return withContext(coroutineDispatchers.io) {
|
|
||||||
val url = buildUrl(baseUrl, serviceType)
|
val url = buildUrl(baseUrl, serviceType)
|
||||||
val termsResponse = executeRequest(null) {
|
val termsResponse = executeRequest(null) {
|
||||||
termsAPI.getTerms("${url}terms")
|
termsAPI.getTerms("${url}terms")
|
||||||
}
|
}
|
||||||
GetTermsResponse(termsResponse, getAlreadyAcceptedTermUrlsFromAccountData())
|
return GetTermsResponse(termsResponse, getAlreadyAcceptedTermUrlsFromAccountData())
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override suspend fun agreeToTerms(serviceType: TermsService.ServiceType,
|
override suspend fun agreeToTerms(serviceType: TermsService.ServiceType,
|
||||||
baseUrl: String,
|
baseUrl: String,
|
||||||
agreedUrls: List<String>,
|
agreedUrls: List<String>,
|
||||||
token: String?) {
|
token: String?) {
|
||||||
withContext(coroutineDispatchers.io) {
|
|
||||||
val url = buildUrl(baseUrl, serviceType)
|
val url = buildUrl(baseUrl, serviceType)
|
||||||
val tokenToUse = token?.takeIf { it.isNotEmpty() } ?: getToken(baseUrl)
|
val tokenToUse = token?.takeIf { it.isNotEmpty() } ?: getToken(baseUrl)
|
||||||
|
|
||||||
@ -82,7 +77,6 @@ internal class DefaultTermsService @Inject constructor(
|
|||||||
acceptedTermsContent = AcceptedTermsContent(newList)
|
acceptedTermsContent = AcceptedTermsContent(newList)
|
||||||
))
|
))
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
private suspend fun getToken(url: String): String {
|
private suspend fun getToken(url: String): String {
|
||||||
// TODO This is duplicated code see DefaultIdentityService
|
// TODO This is duplicated code see DefaultIdentityService
|
||||||
|
Loading…
x
Reference in New Issue
Block a user