From e664efefe9ec9d7ebd76b500c17fa5084107a84f Mon Sep 17 00:00:00 2001 From: tom5079 Date: Wed, 28 Aug 2019 09:21:36 +0900 Subject: [PATCH] Fixed image broken after download finishes --- .../xyz/quaver/pupil/adapters/ReaderAdapter.kt | 8 ++++++-- .../java/xyz/quaver/pupil/ui/ReaderActivity.kt | 2 +- .../xyz/quaver/pupil/util/GalleryDownloader.kt | 17 +++++++++-------- 3 files changed, 16 insertions(+), 11 deletions(-) diff --git a/app/src/main/java/xyz/quaver/pupil/adapters/ReaderAdapter.kt b/app/src/main/java/xyz/quaver/pupil/adapters/ReaderAdapter.kt index 968c0794..9b4781a8 100644 --- a/app/src/main/java/xyz/quaver/pupil/adapters/ReaderAdapter.kt +++ b/app/src/main/java/xyz/quaver/pupil/adapters/ReaderAdapter.kt @@ -32,8 +32,12 @@ import com.bumptech.glide.request.RequestListener import com.bumptech.glide.request.target.Target import xyz.quaver.pupil.BuildConfig import xyz.quaver.pupil.R +import xyz.quaver.pupil.util.getCachedGallery +import java.io.File -class ReaderAdapter(private val glide: RequestManager, private val images: List) : RecyclerView.Adapter() { +class ReaderAdapter(private val glide: RequestManager, + private val galleryID: Int, + private val images: List) : RecyclerView.Adapter() { var isFullScreen = false private var prev : Drawable? = null @@ -52,7 +56,7 @@ class ReaderAdapter(private val glide: RequestManager, private val images: List< holder.view as ImageView glide - .load(images[position]) + .load(File(getCachedGallery(holder.view.context, galleryID), images[position])) .dontTransform() .diskCacheStrategy(DiskCacheStrategy.NONE) .skipMemoryCache(true) diff --git a/app/src/main/java/xyz/quaver/pupil/ui/ReaderActivity.kt b/app/src/main/java/xyz/quaver/pupil/ui/ReaderActivity.kt index 0ccd4d60..3d8e6795 100644 --- a/app/src/main/java/xyz/quaver/pupil/ui/ReaderActivity.kt +++ b/app/src/main/java/xyz/quaver/pupil/ui/ReaderActivity.kt @@ -330,7 +330,7 @@ class ReaderActivity : AppCompatActivity() { private fun initView() { with(reader_recyclerview) { - adapter = ReaderAdapter(Glide.with(this@ReaderActivity), images) + adapter = ReaderAdapter(Glide.with(this@ReaderActivity), galleryID, images) addOnScrollListener(object: RecyclerView.OnScrollListener() { override fun onScrolled(recyclerView: RecyclerView, dx: Int, dy: Int) { diff --git a/app/src/main/java/xyz/quaver/pupil/util/GalleryDownloader.kt b/app/src/main/java/xyz/quaver/pupil/util/GalleryDownloader.kt index d66c9781..38725a09 100644 --- a/app/src/main/java/xyz/quaver/pupil/util/GalleryDownloader.kt +++ b/app/src/main/java/xyz/quaver/pupil/util/GalleryDownloader.kt @@ -63,16 +63,17 @@ class GalleryDownloader( field = true notificationManager.notify(galleryID, notificationBuilder.build()) - val data = File(getDownloadDirectory(this), galleryID.toString()) - val cache = File(cacheDir, "imageCache/$galleryID") + if (reader?.isActive == false && downloadJob?.isActive != true) { + val data = File(getDownloadDirectory(this), galleryID.toString()) + val cache = File(cacheDir, "imageCache/$galleryID") - if (File(cache, "images").exists() && !data.exists()) { - cache.copyRecursively(data, true) - cache.deleteRecursively() - } + if (File(cache, "images").exists() && !data.exists()) { + cache.copyRecursively(data, true) + cache.deleteRecursively() + } - if (reader?.isActive == false && downloadJob?.isActive != true) field = false + } downloads.add(galleryID) } else { @@ -223,7 +224,7 @@ class GalleryDownloader( notificationManager.notify(galleryID, notificationBuilder.build()) } - cache.absolutePath + "images/$name.$ext" } }.forEach { list.add(it.await())