Fixed bug for older devices

Hoping that the viewer crashing bug is fixed
Version 2.11
This commit is contained in:
tom5079
2019-06-23 23:09:01 +09:00
parent e01380090d
commit cdc545ea32
27 changed files with 203 additions and 98 deletions

View File

@@ -4,7 +4,6 @@ import android.app.PendingIntent
import android.content.Context
import android.content.ContextWrapper
import android.content.Intent
import android.util.Log
import android.util.SparseArray
import androidx.core.app.NotificationCompat
import androidx.core.app.NotificationManagerCompat
@@ -18,8 +17,8 @@ import kotlinx.serialization.list
import xyz.quaver.hitomi.*
import xyz.quaver.hiyobi.cookie
import xyz.quaver.hiyobi.user_agent
import xyz.quaver.pupil.ui.Pupil
import xyz.quaver.pupil.R
import xyz.quaver.pupil.Pupil
import xyz.quaver.pupil.ui.ReaderActivity
import java.io.File
import java.io.FileOutputStream
@@ -218,7 +217,7 @@ class GalleryDownloader(
if (download) {
File(cacheDir, "imageCache/${galleryBlock.id}").let {
if (it.exists()) {
val target = File(getExternalFilesDir("Pupil"), galleryBlock.id.toString())
val target = File(getDownloadDirectory(this@GalleryDownloader), galleryBlock.id.toString())
if (!target.exists())
target.mkdirs()
@@ -230,10 +229,10 @@ class GalleryDownloader(
notificationManager.notify(galleryBlock.id, notificationBuilder.build())
onCompleteHandler?.invoke()
download = false
}
onCompleteHandler?.invoke()
}
remove(galleryBlock.id)

View File

@@ -1,15 +1,24 @@
package xyz.quaver.pupil.util
import android.content.Context
import android.os.Build
import android.os.Environment
import android.provider.MediaStore
import androidx.core.content.ContextCompat
import java.io.File
fun getCachedGallery(context: Context, galleryID: Int): File {
return File(context.getExternalFilesDir("Pupil"), galleryID.toString()).let {
return File(getDownloadDirectory(context), galleryID.toString()).let {
when {
it.exists() -> it
else -> File(context.cacheDir, "imageCache/$galleryID")
}
}
}
fun getDownloadDirectory(context: Context): File? {
return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q)
context.getExternalFilesDir("Pupil")
else
File(Environment.getExternalStorageDirectory(), "Pupil")
}