/
Libra
/
my-application
Обзор
Документация
Войти
/
Libra
/
my-application
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
app/src/main/java/com/libraprogramming/myapplication/caching/BitmapProviderFactory.java
31 строка
983 B
Толмачёв Владимир Викторович
Next commit
20 ноя 2025, 19:49
20 ноя 2025, 19:49
0db7810
Код
Авторство
О чём код?
package com.libraprogramming.myapplication.caching; import android.content.Context; import android.net.Uri; import javax.inject.Inject; import java.util.Map; import java.util.Objects; import java.util.function.Function; public class BitmapProviderFactory { private final Map<String, Function<Uri, BitmapProvider>> providers = Map.of( "drawable", this::fromDrawableResource ); private final Context context; @Inject public BitmapProviderFactory(Context context) { this.context = context; } public BitmapProvider getBitmapProvider(String bitmapSourceUri) { final Uri uri = Uri.parse(bitmapSourceUri); return Objects.requireNonNull(providers.get(uri.getScheme())).apply(uri); } private BitmapProvider fromDrawableResource(Uri resourceUri) { final int resourceId = Integer.parseInt(resourceUri.getHost()); return new DrawableResourceBitmapProvider(context.getResources(), resourceId); } }