Skip to content

Commit 43f35e2

Browse files
committed
Fix Android avatar loading and cache control
1 parent 0270886 commit 43f35e2

File tree

2 files changed

+20
-3
lines changed

2 files changed

+20
-3
lines changed

desktop

Lines changed: 0 additions & 1 deletion
This file was deleted.

opencloudApp/src/main/java/eu/opencloud/android/presentation/thumbnails/ThumbnailsRequester.kt

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -156,8 +156,26 @@ object ThumbnailsRequester : KoinComponent {
156156

157157
val request = chain.request().newBuilder()
158158
requestHeaders.toHeaders().forEach { request.addHeader(it.first, it.second) }
159-
return chain.proceed(request.build()).newBuilder().removeHeader("Cache-Control")
160-
.addHeader("Cache-Control", "max-age=5000, must-revalidate").build().also { Timber.d("Header :" + it.headers) }
159+
val response = chain.proceed(request.build())
160+
var builder = response.newBuilder()
161+
var changed = false
162+
163+
val cacheControl = response.header("Cache-Control")
164+
if (cacheControl.isNullOrEmpty() || cacheControl.contains("no-cache")) {
165+
builder.removeHeader("Cache-Control")
166+
builder.addHeader("Cache-Control", "max-age=5000, must-revalidate")
167+
changed = true
168+
}
169+
170+
if (chain.request().url.toString().contains("/avatar/") && response.header("Content-Type").isNullOrEmpty()) {
171+
builder.addHeader("Content-Type", "image/png")
172+
changed = true
173+
}
174+
175+
if (changed) {
176+
return builder.build().also { Timber.d("Header :" + it.headers) }
177+
}
178+
return response
161179
}
162180
}
163181
}

0 commit comments

Comments
 (0)