From 925398503480d2d9ba6fc9901e1198ad2e99ec84 Mon Sep 17 00:00:00 2001 From: NicolasBourdin88 Date: Mon, 13 May 2024 13:53:38 +0200 Subject: [PATCH 1/3] Add decoder svg --- build.gradle | 1 + src/main/java/com/infomaniak/lib/core/utils/CoilUtils.kt | 3 +++ 2 files changed, 4 insertions(+) diff --git a/build.gradle b/build.gradle index 70715bac..b755d37f 100644 --- a/build.gradle +++ b/build.gradle @@ -78,6 +78,7 @@ dependencies { def coilVersion = '2.6.0' api "io.coil-kt:coil-gif:$coilVersion" api "io.coil-kt:coil:$coilVersion" + api "io.coil-kt:coil-svg:$coilVersion" api 'com.github.infomaniak:android-login:2.8.0' api 'com.facebook.stetho:stetho-okhttp3:1.6.0' diff --git a/src/main/java/com/infomaniak/lib/core/utils/CoilUtils.kt b/src/main/java/com/infomaniak/lib/core/utils/CoilUtils.kt index d0a289bc..dd662da4 100644 --- a/src/main/java/com/infomaniak/lib/core/utils/CoilUtils.kt +++ b/src/main/java/com/infomaniak/lib/core/utils/CoilUtils.kt @@ -22,6 +22,7 @@ import android.os.Build import coil.ImageLoader import coil.decode.GifDecoder import coil.decode.ImageDecoderDecoder +import coil.decode.SvgDecoder import coil.disk.DiskCache import coil.memory.MemoryCache import com.infomaniak.lib.core.auth.TokenAuthenticator @@ -54,6 +55,7 @@ object CoilUtils { context: Context, tokenInterceptorListener: TokenInterceptorListener? = null, gifPreview: Boolean = false, + isSvg: Boolean = false ): ImageLoader { return ImageLoader.Builder(context) .crossfade(true) @@ -66,6 +68,7 @@ object CoilUtils { } add(factory) } + if (isSvg) add(SvgDecoder.Factory()) } .okHttpClient { OkHttpClient.Builder().apply { From 510f9f681078cae2cae7b116ce0aea9903ee3dba Mon Sep 17 00:00:00 2001 From: NicolasBourdin88 Date: Thu, 23 May 2024 12:45:32 +0200 Subject: [PATCH 2/3] Change emplacement where svg is used Change emplacement so we don't import the coil svg lib everywhere, only in mail --- build.gradle | 1 - src/main/java/com/infomaniak/lib/core/utils/CoilUtils.kt | 6 +++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/build.gradle b/build.gradle index b755d37f..70715bac 100644 --- a/build.gradle +++ b/build.gradle @@ -78,7 +78,6 @@ dependencies { def coilVersion = '2.6.0' api "io.coil-kt:coil-gif:$coilVersion" api "io.coil-kt:coil:$coilVersion" - api "io.coil-kt:coil-svg:$coilVersion" api 'com.github.infomaniak:android-login:2.8.0' api 'com.facebook.stetho:stetho-okhttp3:1.6.0' diff --git a/src/main/java/com/infomaniak/lib/core/utils/CoilUtils.kt b/src/main/java/com/infomaniak/lib/core/utils/CoilUtils.kt index dd662da4..b758388c 100644 --- a/src/main/java/com/infomaniak/lib/core/utils/CoilUtils.kt +++ b/src/main/java/com/infomaniak/lib/core/utils/CoilUtils.kt @@ -20,9 +20,9 @@ package com.infomaniak.lib.core.utils import android.content.Context import android.os.Build import coil.ImageLoader +import coil.decode.Decoder import coil.decode.GifDecoder import coil.decode.ImageDecoderDecoder -import coil.decode.SvgDecoder import coil.disk.DiskCache import coil.memory.MemoryCache import com.infomaniak.lib.core.auth.TokenAuthenticator @@ -55,7 +55,7 @@ object CoilUtils { context: Context, tokenInterceptorListener: TokenInterceptorListener? = null, gifPreview: Boolean = false, - isSvg: Boolean = false + customComponents: List = emptyList() ): ImageLoader { return ImageLoader.Builder(context) .crossfade(true) @@ -68,7 +68,7 @@ object CoilUtils { } add(factory) } - if (isSvg) add(SvgDecoder.Factory()) + customComponents.forEach { add(it) } } .okHttpClient { OkHttpClient.Builder().apply { From c32eee266e0af67529f9c9e2037f021367a95664 Mon Sep 17 00:00:00 2001 From: NicolasBourdin88 Date: Thu, 13 Jun 2024 11:24:18 +0200 Subject: [PATCH 3/3] change customComponents name to customFactories Apply suggestion from code review --- src/main/java/com/infomaniak/lib/core/utils/CoilUtils.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/infomaniak/lib/core/utils/CoilUtils.kt b/src/main/java/com/infomaniak/lib/core/utils/CoilUtils.kt index b758388c..ec62e1cd 100644 --- a/src/main/java/com/infomaniak/lib/core/utils/CoilUtils.kt +++ b/src/main/java/com/infomaniak/lib/core/utils/CoilUtils.kt @@ -55,7 +55,7 @@ object CoilUtils { context: Context, tokenInterceptorListener: TokenInterceptorListener? = null, gifPreview: Boolean = false, - customComponents: List = emptyList() + customFactories: List = emptyList() ): ImageLoader { return ImageLoader.Builder(context) .crossfade(true) @@ -68,7 +68,7 @@ object CoilUtils { } add(factory) } - customComponents.forEach { add(it) } + customFactories.forEach { add(it) } } .okHttpClient { OkHttpClient.Builder().apply {