forked from melod1n/fast-messenger
refactor: centralize shared error handling
This commit is contained in:
@@ -1,24 +1,18 @@
|
||||
package dev.meloda.fast.data
|
||||
|
||||
import androidx.core.net.toUri
|
||||
import okhttp3.Interceptor
|
||||
import okhttp3.Response
|
||||
import java.net.URLEncoder
|
||||
|
||||
class AccessTokenInterceptor : Interceptor {
|
||||
|
||||
override fun intercept(chain: Interceptor.Chain): Response {
|
||||
val builder = chain.request().url.newBuilder()
|
||||
val request = chain.request()
|
||||
val urlBuilder = request.url.newBuilder()
|
||||
|
||||
val uri = builder.build().toUri().toString().toUri()
|
||||
|
||||
if (uri.getQueryParameter("access_token") == null) {
|
||||
builder.addQueryParameter(
|
||||
"access_token",
|
||||
URLEncoder.encode(UserConfig.accessToken, "utf-8")
|
||||
)
|
||||
if (request.url.queryParameter("access_token") == null) {
|
||||
urlBuilder.addQueryParameter("access_token", UserConfig.accessToken)
|
||||
}
|
||||
|
||||
return chain.proceed(chain.request().newBuilder().apply { url(builder.build()) }.build())
|
||||
return chain.proceed(request.newBuilder().url(urlBuilder.build()).build())
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
package dev.meloda.fast.data
|
||||
|
||||
import dev.meloda.fast.data.UserConfig.userId
|
||||
import dev.meloda.fast.model.api.domain.VkContactDomain
|
||||
import dev.meloda.fast.model.api.domain.VkConvo
|
||||
import dev.meloda.fast.model.api.domain.VkGroupDomain
|
||||
@@ -38,7 +37,15 @@ object VkMemoryCache {
|
||||
contacts.forEach { contact -> VkMemoryCache.contacts[contact.userId] = contact }
|
||||
}
|
||||
|
||||
operator fun set(userid: Long, user: VkUser) {
|
||||
fun clear() {
|
||||
users.clear()
|
||||
groups.clear()
|
||||
messages.clear()
|
||||
convos.clear()
|
||||
contacts.clear()
|
||||
}
|
||||
|
||||
operator fun set(userId: Long, user: VkUser) {
|
||||
users[userId] = user
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user