VancedManager/feature-home/src/main/java/com/vanced/manager/feature/home/data/datasource/AppIconDataSource.kt

23 lines
638 B
Kotlin

package com.vanced.manager.feature.home.data.datasource
import android.graphics.Bitmap
import android.graphics.BitmapFactory
import com.vanced.manager.feature.home.data.api.AppsApi
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.withContext
interface AppIconDataSource {
suspend fun getIcon(url: String): Bitmap
}
class AppIconDataSourceImpl(
private val api: AppsApi
) : AppIconDataSource {
override suspend fun getIcon(url: String): Bitmap =
withContext(Dispatchers.IO) {
val inputStream = api.getIcon(url).byteStream()
BitmapFactory.decodeStream(inputStream)
}
}