mirror of
https://github.com/nextcloud/talk-android
synced 2025-07-13 15:54:59 +01:00
Fix avatar caching
This commit is contained in:
parent
b3bb2d6adb
commit
a9b4846de9
@ -184,8 +184,8 @@ dependencies {
|
||||
// Koin AndroidX Experimental features
|
||||
implementation "org.koin:koin-androidx-ext:$koin_version"
|
||||
|
||||
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.2'
|
||||
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.2'
|
||||
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.3'
|
||||
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.3'
|
||||
implementation "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version"
|
||||
|
||||
implementation "com.github.stateless4j:stateless4j:2.6.0"
|
||||
|
@ -23,10 +23,13 @@ package com.nextcloud.talk.newarch.di.module
|
||||
import android.app.Application
|
||||
import android.content.Context
|
||||
import android.os.Build
|
||||
import android.os.Build.VERSION.SDK_INT
|
||||
import android.os.Build.VERSION_CODES.P
|
||||
import android.text.TextUtils
|
||||
import android.util.Log
|
||||
import coil.ImageLoader
|
||||
import coil.decode.GifDecoder
|
||||
import coil.decode.ImageDecoderDecoder
|
||||
import coil.decode.SvgDecoder
|
||||
import com.github.aurae.retrofit2.LoganSquareConverterFactory
|
||||
import com.nextcloud.talk.BuildConfig
|
||||
@ -43,6 +46,7 @@ import com.nextcloud.talk.newarch.utils.NetworkUtils.GetProxyRunnable
|
||||
import com.nextcloud.talk.newarch.utils.NetworkUtils.MagicAuthenticator
|
||||
import com.nextcloud.talk.utils.LoggingUtils
|
||||
import com.nextcloud.talk.utils.preferences.AppPreferences
|
||||
import com.nextcloud.talk.utils.singletons.AvatarStatusCodeHolder
|
||||
import com.nextcloud.talk.utils.ssl.MagicKeyManager
|
||||
import com.nextcloud.talk.utils.ssl.MagicTrustManager
|
||||
import io.reactivex.schedulers.Schedulers
|
||||
@ -61,7 +65,6 @@ import java.net.CookiePolicy.ACCEPT_ALL
|
||||
import java.net.Proxy
|
||||
import java.security.*
|
||||
import java.security.cert.CertificateException
|
||||
import java.util.*
|
||||
import java.util.concurrent.TimeUnit
|
||||
import javax.net.ssl.KeyManagerFactory
|
||||
import javax.net.ssl.SSLContext
|
||||
@ -142,6 +145,20 @@ fun createOkHttpClient(
|
||||
}
|
||||
}
|
||||
|
||||
httpClient.addNetworkInterceptor { chain ->
|
||||
var response = chain.proceed(chain.request())
|
||||
|
||||
if (response.request().url().encodedPath().contains("/avatar/")) {
|
||||
AvatarStatusCodeHolder.getInstance().statusCode = response.code()
|
||||
}
|
||||
|
||||
if (response.code() == 201) {
|
||||
response = response.newBuilder().code(200).build()
|
||||
}
|
||||
|
||||
response
|
||||
}
|
||||
|
||||
httpClient.addInterceptor(NetworkUtils.HeadersInterceptor())
|
||||
|
||||
if (BuildConfig.DEBUG && !context.resources.getBoolean(R.bool.nc_is_debug)) {
|
||||
@ -278,7 +295,11 @@ fun createImageLoader(
|
||||
crossfade(true)
|
||||
okHttpClient(okHttpClient)
|
||||
componentRegistry {
|
||||
add(GifDecoder())
|
||||
if (SDK_INT >= P) {
|
||||
add(ImageDecoderDecoder())
|
||||
} else {
|
||||
add(GifDecoder())
|
||||
}
|
||||
add(SvgDecoder(androidApplication))
|
||||
}
|
||||
}
|
||||
|
@ -22,7 +22,6 @@ package com.nextcloud.talk.newarch.utils
|
||||
|
||||
import com.nextcloud.talk.utils.ApiUtils
|
||||
import com.nextcloud.talk.utils.preferences.AppPreferences
|
||||
import com.nextcloud.talk.utils.singletons.AvatarStatusCodeHolder
|
||||
import okhttp3.*
|
||||
import java.io.IOException
|
||||
import java.net.InetSocketAddress
|
||||
@ -46,11 +45,6 @@ class NetworkUtils {
|
||||
|
||||
val response = chain.proceed(request)
|
||||
|
||||
if (request.url().encodedPath().contains("/avatar/")) {
|
||||
AvatarStatusCodeHolder.getInstance()
|
||||
.statusCode = response.code()
|
||||
}
|
||||
|
||||
return response
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user