Android -Слайд загрузки локального изображения по URI - PullRequest
0 голосов
/ 17 марта 2020

Я пытаюсь изменить приложение UAMP . Моя цель, чтобы приложение работало в автономном режиме. Поэтому моя проблема в том, что я не понимаю, как использовать Glide для загрузки локальных изображений.

Исходный код (который работает) следующий:

/* song.image = "https://..." */
val artFile = glide.applyDefaultRequestOptions(glideOptions)
                    .downloadOnly()
                    .load(song.image)
                    .submit(NOTIFICATION_LARGE_ICON_SIZE, NOTIFICATION_LARGE_ICON_SIZE)
                    .get()

Я изменил его таким образом:

/* song.image = "asset:///image.png" --> or also --> song.image = "file:///image.png" */
artFile = glide.applyDefaultRequestOptions(glideOptions)
                .asFile()
                .load(song.image)
                .submit(NOTIFICATION_LARGE_ICON_SIZE, NOTIFICATION_LARGE_ICON_SIZE)
                .get()

GlideOptions:

private val glideOptions = RequestOptions()
.fallback(R.drawable.default_art)
.diskCacheStrategy(DiskCacheStrategy.RESOURCE)

Но я получаю эту ошибку:

E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.android.uamp.next, PID: 10218
java.util.concurrent.ExecutionException: com.bumptech.glide.load.engine.GlideException: Failed to load resource
    at com.bumptech.glide.request.RequestFutureTarget.doGet(RequestFutureTarget.java:205)
    at com.bumptech.glide.request.RequestFutureTarget.get(RequestFutureTarget.java:108)
    at com.example.android.uamp.media.library.JsonSource$updateCatalog$2.invokeSuspend(JsonSource.kt:121)
    at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
    at kotlinx.coroutines.DispatchedTask.run(Dispatched.kt:233)
    at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:594)
    at kotlinx.coroutines.scheduling.CoroutineScheduler.access$runSafely(CoroutineScheduler.kt:60)
    at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:742)
 Caused by: com.bumptech.glide.load.engine.GlideException: Failed to load resource

Спасибо всем !!

...