Merge branch 'master' into antecer

pull/500/head
Antecer 5 years ago committed by GitHub
commit 3dd1faffc9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 21
      app/src/main/java/io/legado/app/help/JsExtensions.kt

@ -241,30 +241,25 @@ interface JsExtensions {
return null return null
} }
fun queryTTF(path: String): QueryTTF? { fun queryTTF(str: String?): QueryTTF? {
val key = md5Encode16(path) str ?: return null
val key = md5Encode16(str)
var qTTF = CacheManager.getQueryTTF(key) var qTTF = CacheManager.getQueryTTF(key)
if (qTTF != null) return qTTF if (qTTF != null) return qTTF
val font: ByteArray? = when { val font: ByteArray? = when {
path.isAbsUrl() -> runBlocking { str.isAbsUrl() -> runBlocking {
var x = CacheManager.getByteArray(key) var x = CacheManager.getByteArray(key)
if (x == null) { if (x == null) {
x = HttpHelper.simpleGetBytesAsync(path) x = HttpHelper.simpleGetBytesAsync(str)
x?.let { x?.let {
CacheManager.put(key, it) CacheManager.put(key, it)
} }
} }
return@runBlocking x return@runBlocking x
} }
path.isContentScheme() -> { str.isContentScheme() -> Uri.parse(str).readBytes(App.INSTANCE)
Uri.parse(path).readBytes(App.INSTANCE) str.startsWith("/storage") -> File(str).readBytes()
} else -> base64DecodeToByteArray(str)
path.startsWith("/storage")->{
File(path).readBytes()
}
else -> {
base64DecodeToByteArray(path.removePrefix("base64,"))
}
} }
font ?: return null font ?: return null
qTTF = QueryTTF(font) qTTF = QueryTTF(font)

Loading…
Cancel
Save