глайда картинку в bitmap, а потом с помощью WallpaperManager ставлю их на телефон
Я хочу добавить прогресс установки обоев, ибо если размер обоев(картинки) достаточно большой, то на это телефону нужно секунд 5-10
Как я могу показать прогресс загрузки битмапа?
imageWallpaper.setOnClickListener {
getBitmap(model).subscribeOn(Schedulers.computation()).subscribe({
val myWallpaperManager = WallpaperManager.getInstance(context)
try {
myWallpaperManager.setBitmap(it)
} catch (e: IOException) {
e.printStackTrace()
}
}, {
Log.e(TAG, "setPreviewData: ${it.localizedMessage}")
})
}
private fun getBitmap(model: UnsplashPhoto): Observable<Bitmap> {
return Observable.create { subscriber ->
bitmap = Glide
.with(context).asBitmap().load(model.urls.full).submit()
.get()
subscriber.onNext(bitmap)
}
у глайда лисенеры есть, там копать нужно)
я находил этот слушатель .listener(object : RequestListener<Bitmap> { override fun onLoadFailed(e: GlideException?, model: Any?, target: Target<Bitmap>?, isFirstResource: Boolean): Boolean { Log.e(TAG, "onLoadFailed: ${e.toString()}") return false } override fun onResourceReady(resource: Bitmap?, model: Any?, target: Target<Bitmap>?, dataSource: DataSource?, isFirstResource: Boolean): Boolean { return true } но метод OnResourceReady вызывается когда картинка загрузилась из сети а мне нужно знать когда картинка загрузилась в битмап
Обсуждают сегодня