Fixed app crashing when loading thumbnail

This commit is contained in:
tom5079
2020-09-27 21:40:22 +09:00
parent c18bffd08f
commit 0c3c78cc72
6 changed files with 10 additions and 8 deletions

View File

@@ -38,7 +38,7 @@ android {
minSdkVersion 16
targetSdkVersion 30
versionCode 61
versionName "5.1.1-hotfix2"
versionName "5.1.1-hotfix3"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
vectorDrawables.useSupportLibrary = true
}

View File

@@ -12,7 +12,7 @@
"filters": [],
"properties": [],
"versionCode": 61,
"versionName": "5.1.1-hotfix2",
"versionName": "5.1.1-hotfix3",
"enabled": true,
"outputFile": "app-release.apk"
}

View File

@@ -20,7 +20,6 @@ package xyz.quaver.pupil.adapters
import android.content.Context
import android.graphics.drawable.Drawable
import android.net.Uri
import android.util.SparseBooleanArray
import android.view.LayoutInflater
import android.view.View
@@ -36,7 +35,6 @@ import com.daimajia.swipe.adapters.RecyclerSwipeAdapter
import com.daimajia.swipe.interfaces.SwipeAdapterInterface
import com.github.piasy.biv.loader.ImageLoader
import kotlinx.android.synthetic.main.item_galleryblock.view.*
import kotlinx.android.synthetic.main.item_reader.view.*
import kotlinx.coroutines.*
import xyz.quaver.hitomi.getReader
import xyz.quaver.io.util.getChild
@@ -158,7 +156,9 @@ class GalleryBlockAdapter(private val galleries: List<Int>) : RecyclerSwipeAdapt
})
ssiv?.recycle()
CoroutineScope(Dispatchers.IO).launch {
showImage(cache.getThumbnail() ?: Uri.EMPTY)
cache.getThumbnail().let { launch(Dispatchers.Main) {
showImage(it)
} }
}
}

View File

@@ -122,6 +122,8 @@ class MainActivity :
checkUpdate(this)
initView()
}

View File

@@ -132,7 +132,7 @@ class Cache private constructor(context: Context, val galleryID: Int) : ContextW
}
@Suppress("BlockingMethodInNonBlockingContext")
suspend fun getThumbnail(): Uri? =
suspend fun getThumbnail(): Uri =
findFile(".thumbnail")?.uri
?: getGalleryBlock()?.thumbnails?.firstOrNull()?.let { withContext(Dispatchers.IO) {
kotlin.runCatching {
@@ -144,7 +144,7 @@ class Cache private constructor(context: Context, val galleryID: Int) : ContextW
}.getOrNull()?.let { thumbnail -> kotlin.runCatching {
cacheFolder.getChild(".thumbnail").also { it.writeBytes(thumbnail) }
}.getOrNull()?.uri }
} }
} } ?: Uri.EMPTY
suspend fun getReader(): Reader? {
val mirrors = Preferences.get<String>("mirrors").let { if (it.isEmpty()) emptyList() else it.split('>') }

View File

@@ -12,7 +12,7 @@
<string name="settings_galleries_per_page">한 번에 로드할 갤러리 수</string>
<string name="settings_search_title">검색 설정</string>
<string name="settings_title">설정</string>
<string name="update_notification_description">apk 다운로드중&#8230;</string>
<string name="update_notification_description">업데이트 다운로드중&#8230;</string>
<string name="update_title">업데이트가 있습니다!</string>
<string name="warning">경고</string>
<string name="main_no_result">결과 없음</string>