This commit is contained in:
kunfei
2022-10-17 21:02:11 +08:00
parent c43f396747
commit 42b8fcc2b4

View File

@@ -28,6 +28,10 @@ import io.legado.app.help.http.cronet.CronetLoader
import io.legado.app.model.BookCover
import io.legado.app.utils.defaultSharedPreferences
import io.legado.app.utils.getPrefBoolean
import kotlinx.coroutines.Deferred
import kotlinx.coroutines.Dispatchers.IO
import kotlinx.coroutines.async
import kotlinx.coroutines.coroutineScope
import splitties.systemservices.notificationManager
import java.util.concurrent.TimeUnit
@@ -49,7 +53,7 @@ class App : MultiDexApplication() {
registerActivityLifecycleCallbacks(LifecycleHelp)
defaultSharedPreferences.registerOnSharedPreferenceChangeListener(AppConfig)
Coroutine.async {
installGmsTlsProvider(this@App)
installGmsTlsProviderAsync(this@App).start()
//初始化封面
BookCover.toString()
//清除过期数据
@@ -95,20 +99,24 @@ class App : MultiDexApplication() {
* @param context
* @return
*/
private suspend fun installGmsTlsProvider(context: Context): Boolean {
return try {
val gms = context.createPackageContext(
"com.google.android.gms",
CONTEXT_INCLUDE_CODE or CONTEXT_IGNORE_SECURITY
)
gms.classLoader
.loadClass("com.google.android.gms.common.security.ProviderInstallerImpl")
.getMethod("insertProvider", Context::class.java)
.invoke(null, gms)
true
} catch (e: java.lang.Exception) {
e.printStackTrace()
false
private suspend fun installGmsTlsProviderAsync(context: Context): Deferred<Boolean> {
return coroutineScope {
async(IO) {
try {
val gms = context.createPackageContext(
"com.google.android.gms",
CONTEXT_INCLUDE_CODE or CONTEXT_IGNORE_SECURITY
)
gms.classLoader
.loadClass("com.google.android.gms.common.security.ProviderInstallerImpl")
.getMethod("insertProvider", Context::class.java)
.invoke(null, gms)
true
} catch (e: java.lang.Exception) {
e.printStackTrace()
false
}
}
}
}