Merge branch 'master' into antecer

pull/500/head
Antecer 4 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
}
fun queryTTF(path: String): QueryTTF? {
val key = md5Encode16(path)
fun queryTTF(str: String?): QueryTTF? {
str ?: return null
val key = md5Encode16(str)
var qTTF = CacheManager.getQueryTTF(key)
if (qTTF != null) return qTTF
val font: ByteArray? = when {
path.isAbsUrl() -> runBlocking {
str.isAbsUrl() -> runBlocking {
var x = CacheManager.getByteArray(key)
if (x == null) {
x = HttpHelper.simpleGetBytesAsync(path)
x = HttpHelper.simpleGetBytesAsync(str)
x?.let {
CacheManager.put(key, it)
}
}
return@runBlocking x
}
path.isContentScheme() -> {
Uri.parse(path).readBytes(App.INSTANCE)
}
path.startsWith("/storage")->{
File(path).readBytes()
}
else -> {
base64DecodeToByteArray(path.removePrefix("base64,"))
}
str.isContentScheme() -> Uri.parse(str).readBytes(App.INSTANCE)
str.startsWith("/storage") -> File(str).readBytes()
else -> base64DecodeToByteArray(str)
}
font ?: return null
qTTF = QueryTTF(font)

Loading…
Cancel
Save