|
|
|
|
@ -13,9 +13,9 @@ import java.io.InputStream
|
|
|
|
|
class PagesCache(context: Context) {
|
|
|
|
|
|
|
|
|
|
private val cacheDir = context.externalCacheDir ?: context.cacheDir
|
|
|
|
|
private val lruCache = DiskLruCache.create(
|
|
|
|
|
cacheDir.subdir(CacheDir.PAGES.dir),
|
|
|
|
|
FileSize.MEGABYTES.convert(200, FileSize.BYTES),
|
|
|
|
|
private val lruCache = createDiskLruCacheSafe(
|
|
|
|
|
dir = cacheDir.subdir(CacheDir.PAGES.dir),
|
|
|
|
|
size = FileSize.MEGABYTES.convert(200, FileSize.BYTES),
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
operator fun get(url: String): File? {
|
|
|
|
|
@ -60,4 +60,14 @@ class PagesCache(context: Context) {
|
|
|
|
|
progress.value = (bytesCopied.toDouble() / contentLength.toDouble()).toFloat()
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private fun createDiskLruCacheSafe(dir: File, size: Long): DiskLruCache {
|
|
|
|
|
return try {
|
|
|
|
|
DiskLruCache.create(dir, size)
|
|
|
|
|
} catch (e: Exception) {
|
|
|
|
|
dir.deleteRecursively()
|
|
|
|
|
dir.mkdir()
|
|
|
|
|
DiskLruCache.create(dir, size)
|
|
|
|
|
}
|
|
|
|
|
}
|