From c3e043b7f08e54ae629ad54cff7cfb4731ec20c1 Mon Sep 17 00:00:00 2001 From: Louis CAD Date: Tue, 29 Jul 2025 17:56:44 +0200 Subject: [PATCH] chore: Don't authenticate loading avatars This allows them to load for cross-app login --- Coil/build.gradle.kts | 2 +- .../com/infomaniak/core/useravatar/exposed/UserAvatar.kt | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/Coil/build.gradle.kts b/Coil/build.gradle.kts index a5378db92..a8d782275 100644 --- a/Coil/build.gradle.kts +++ b/Coil/build.gradle.kts @@ -43,7 +43,7 @@ android { } dependencies { - implementation(project(":Core:Auth")) + api(project(":Core:Auth")) implementation(project(":Core:Avatar")) implementation(project(":Core:Network")) diff --git a/UserAvatar/src/main/java/com/infomaniak/core/useravatar/exposed/UserAvatar.kt b/UserAvatar/src/main/java/com/infomaniak/core/useravatar/exposed/UserAvatar.kt index d079c8664..30b3ba5f8 100644 --- a/UserAvatar/src/main/java/com/infomaniak/core/useravatar/exposed/UserAvatar.kt +++ b/UserAvatar/src/main/java/com/infomaniak/core/useravatar/exposed/UserAvatar.kt @@ -31,6 +31,7 @@ import androidx.compose.material3.Surface import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember import androidx.compose.runtime.saveable.rememberSaveable import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment @@ -46,6 +47,7 @@ import coil3.compose.AsyncImage import coil3.request.ImageRequest import coil3.request.crossfade import com.infomaniak.core.avatar.getBackgroundColorResBasedOnId +import com.infomaniak.core.coil.ImageLoaderProvider import com.infomaniak.core.useravatar.AvatarData import com.infomaniak.core.useravatar.AvatarDisplayState import com.infomaniak.core.useravatar.component.InitialsTextAvatar @@ -71,7 +73,9 @@ fun UserAvatar(modifier: Modifier = Modifier, avatarData: AvatarData, border: Bo AvatarDisplayState.Initials -> InitialsTextAvatar(avatarData) AvatarDisplayState.UnknownUser -> UnknownUserIcon(avatarData.iconColor) AvatarDisplayState.Avatar -> { - val imageRequest = ImageRequest.Builder(LocalContext.current) + val context = LocalContext.current + val unauthenticatedImageLoader = remember(context) { ImageLoaderProvider.newImageLoader(context) } + val imageRequest = ImageRequest.Builder(context ) .data(avatarData.uri) .crossfade(true) .build() @@ -79,6 +83,7 @@ fun UserAvatar(modifier: Modifier = Modifier, avatarData: AvatarData, border: Bo AsyncImage( model = imageRequest, contentDescription = null, + imageLoader = unauthenticatedImageLoader, contentScale = ContentScale.Crop, onError = { avatarDisplayState = computeAvatarState(avatarData, hasLoadingFailed = true) }, )