Как в библиотеке Coil android получить изображение svg для jetpack compose

Хочу получать изображения из интернета при помощи библиотеки coil, прочитал нужную документацию, но изображение не загружалось, и я узнал, что для корректной работы с svg изображениями требуется дополнительно подключить конвертер, но в документации всё сделано под xml и как это сделать на jetpack compose неизвестно. прошу помочь. Вот код:

import android.app.Application
import coil.ImageLoader
import coil.decode.SvgDecoder
import dagger.Module
import dagger.Provides
import dagger.hilt.InstallIn
import dagger.hilt.components.SingletonComponent
import okhttp3.OkHttpClient
import okhttp3.logging.HttpLoggingInterceptor
import retrofit2.Retrofit
import retrofit2.converter.gson.GsonConverterFactory
import ru.den.daggerhilt.service.WeatherApi
import javax.inject.Singleton

@Module
@InstallIn(SingletonComponent::class)
object MineModule {

    @Provides
    @Singleton
    fun getBaseUrl(): String = "https://api.weather.yandex.ru/v2/"


    @Provides
    @Singleton
    fun getInterceptor(): HttpLoggingInterceptor {
        val interceptor = HttpLoggingInterceptor()
        interceptor.level = HttpLoggingInterceptor.Level.BODY
        return interceptor
    }

    @Provides
    @Singleton
    fun provideImageLoader(app: Application): ImageLoader =
        ImageLoader.Builder(app)
            .crossfade(true)
            .components {
                add(SvgDecoder.Factory())
            }
            .build()

    @Provides
    @Singleton
    fun getClient(interceptor: HttpLoggingInterceptor): OkHttpClient {
        val client = OkHttpClient.Builder()
            .addInterceptor(interceptor)
            .build()
        return client
    }

    @Provides
    @Singleton
    fun getRetrofit(BASE_URL: String, client: OkHttpClient): Retrofit = Retrofit.Builder()
        .baseUrl(BASE_URL)
        .client(client)
        .addConverterFactory(GsonConverterFactory.create())
        .build()

    @Provides
    @Singleton
    fun getService(retrofit: Retrofit): WeatherApi = retrofit.create(WeatherApi::class.java)
}

и:

@SuppressLint("UnusedMaterial3ScaffoldPaddingParameter")
@Composable
fun Home(
    viewModel: HomeViewModel = hiltViewModel()
) {
    Column(modifier = Modifier.fillMaxWidth()) {
        Card(
            modifier = Modifier
                .fillMaxWidth()
                .padding(5.dp),
            colors = CardDefaults.cardColors(
                containerColor = BlueDen
            )
        ) {
            Column(
                modifier = Modifier.fillMaxWidth(),
                horizontalAlignment = Alignment.CenterHorizontally
            ) {
                Row(
                    horizontalArrangement = Arrangement.SpaceBetween,
                    modifier = Modifier
                        .fillMaxWidth()
                        .padding(5.dp)
                ) {
                    Text(text = "ден", color = Color.White)
                    AsyncImage(
                        model = ImageRequest.Builder(LocalContext.current)
                            .data("https://yastatic.net/weather/i/icons/funky/dark/ovc.svg")
                            .crossfade(true)
                            .build(),
                        placeholder = painterResource(id = R.drawable.potato1),
                        contentDescription = "image",
                        modifier = Modifier.size(50.dp)
                    )
                }
                Text(text = viewModel.text, fontSize = 50.sp, color = Color.White)
                Row(
                    modifier = Modifier.fillMaxWidth(),
                    horizontalArrangement = Arrangement.SpaceBetween
                ) {
                    IconButton(onClick = { viewModel.getWeather() }) {
                        Icon(
                            Icons.Default.Refresh,
                            contentDescription = "refresh",
                            tint = Color.White
                        )
                    }
                    IconButton(onClick = { /*TODO*/ }) {
                        Icon(
                            Icons.Default.Search,
                            contentDescription = "search",
                            tint = Color.White
                        )
                    }
                }
            }
        }
    }
}

Ответы (0 шт):