Image loading optimization
This commit is contained in:
@@ -20,7 +20,7 @@ android {
|
|||||||
minSdkVersion 16
|
minSdkVersion 16
|
||||||
targetSdkVersion 29
|
targetSdkVersion 29
|
||||||
versionCode 42
|
versionCode 42
|
||||||
versionName "4.6-alpha5"
|
versionName "4.6-alpha6"
|
||||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||||
multiDexEnabled true
|
multiDexEnabled true
|
||||||
vectorDrawables.useSupportLibrary = true
|
vectorDrawables.useSupportLibrary = true
|
||||||
@@ -68,7 +68,7 @@ dependencies {
|
|||||||
implementation "androidx.biometric:biometric:1.0.1"
|
implementation "androidx.biometric:biometric:1.0.1"
|
||||||
implementation 'com.android.support:multidex:1.0.3'
|
implementation 'com.android.support:multidex:1.0.3'
|
||||||
implementation "com.daimajia.swipelayout:library:1.2.0@aar"
|
implementation "com.daimajia.swipelayout:library:1.2.0@aar"
|
||||||
implementation 'com.google.android.material:material:1.2.0-alpha04'
|
implementation 'com.google.android.material:material:1.2.0-alpha05'
|
||||||
implementation 'com.google.firebase:firebase-core:17.2.2'
|
implementation 'com.google.firebase:firebase-core:17.2.2'
|
||||||
implementation 'com.google.firebase:firebase-perf:19.0.5'
|
implementation 'com.google.firebase:firebase-perf:19.0.5'
|
||||||
implementation 'com.crashlytics.sdk.android:crashlytics:2.10.1'
|
implementation 'com.crashlytics.sdk.android:crashlytics:2.10.1'
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
[{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":42,"versionName":"4.6-alpha5","enabled":true,"outputFile":"app-release.apk","fullName":"release","baseName":"release"},"path":"app-release.apk","properties":{}}]
|
[{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":42,"versionName":"4.6-alpha6","enabled":true,"outputFile":"app-release.apk","fullName":"release","baseName":"release"},"path":"app-release.apk","properties":{}}]
|
||||||
@@ -118,15 +118,14 @@ class ReaderAdapter(private val context: Context,
|
|||||||
|
|
||||||
holder.view.reader_index.text = (position+1).toString()
|
holder.view.reader_index.text = (position+1).toString()
|
||||||
|
|
||||||
val images = Cache(context).getImages(galleryID)
|
val images = Cache(context).getImage(galleryID, position)
|
||||||
|
|
||||||
if (images?.get(position) != null) {
|
if (images != null) {
|
||||||
glide
|
glide
|
||||||
.load(images[position])
|
.load(images)
|
||||||
.diskCacheStrategy(DiskCacheStrategy.NONE)
|
.diskCacheStrategy(DiskCacheStrategy.NONE)
|
||||||
.skipMemoryCache(true)
|
.skipMemoryCache(true)
|
||||||
.error(R.drawable.image_broken_variant)
|
.error(R.drawable.image_broken_variant)
|
||||||
.dontTransform()
|
|
||||||
.apply {
|
.apply {
|
||||||
if (BuildConfig.CENSOR)
|
if (BuildConfig.CENSOR)
|
||||||
override(5, 8)
|
override(5, 8)
|
||||||
|
|||||||
@@ -25,7 +25,6 @@ import android.net.Uri
|
|||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.text.*
|
import android.text.*
|
||||||
import android.text.style.AlignmentSpan
|
import android.text.style.AlignmentSpan
|
||||||
import android.util.Log
|
|
||||||
import android.view.KeyEvent
|
import android.view.KeyEvent
|
||||||
import android.view.MotionEvent
|
import android.view.MotionEvent
|
||||||
import android.view.View
|
import android.view.View
|
||||||
@@ -120,7 +119,6 @@ class MainActivity : AppCompatActivity() {
|
|||||||
val lockManager = try {
|
val lockManager = try {
|
||||||
LockManager(this)
|
LockManager(this)
|
||||||
} catch (e: Exception) {
|
} catch (e: Exception) {
|
||||||
Log.i("PUPILD", e.toString())
|
|
||||||
android.app.AlertDialog.Builder(this).apply {
|
android.app.AlertDialog.Builder(this).apply {
|
||||||
setTitle(R.string.warning)
|
setTitle(R.string.warning)
|
||||||
setMessage(R.string.lock_corrupted)
|
setMessage(R.string.lock_corrupted)
|
||||||
|
|||||||
@@ -188,6 +188,23 @@ class Cache(context: Context) : ContextWrapper(context) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
val imageExts = listOf(
|
||||||
|
"jpg",
|
||||||
|
"webp"
|
||||||
|
)
|
||||||
|
fun getImage(galleryID: Int, index: Int): File? {
|
||||||
|
val gallery = getCachedGallery(galleryID)
|
||||||
|
|
||||||
|
for (ext in imageExts) {
|
||||||
|
File(gallery, "%05d.$ext".format(index)).let {
|
||||||
|
if (it.exists())
|
||||||
|
return it
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return null
|
||||||
|
}
|
||||||
|
|
||||||
fun putImage(galleryID: Int, name: String, data: ByteArray) {
|
fun putImage(galleryID: Int, name: String, data: ByteArray) {
|
||||||
val cache = File(getCachedGallery(galleryID), name).also {
|
val cache = File(getCachedGallery(galleryID), name).also {
|
||||||
if (!it.exists())
|
if (!it.exists())
|
||||||
|
|||||||
Reference in New Issue
Block a user