kunfei 4 лет назад
Родитель
Сommit
0dc8af01eb
1 измененных файлов с 16 добавлено и 22 удалено
  1. 16 22
      app/src/main/java/io/legado/app/App.kt

+ 16 - 22
app/src/main/java/io/legado/app/App.kt

@@ -28,10 +28,9 @@ import io.legado.app.help.http.cronet.CronetLoader
 import io.legado.app.model.BookCover
 import io.legado.app.model.BookCover
 import io.legado.app.utils.defaultSharedPreferences
 import io.legado.app.utils.defaultSharedPreferences
 import io.legado.app.utils.getPrefBoolean
 import io.legado.app.utils.getPrefBoolean
-import kotlinx.coroutines.Deferred
-import kotlinx.coroutines.Dispatchers.IO
 import kotlinx.coroutines.async
 import kotlinx.coroutines.async
-import kotlinx.coroutines.coroutineScope
+import kotlinx.coroutines.delay
+import splitties.init.appCtx
 import splitties.systemservices.notificationManager
 import splitties.systemservices.notificationManager
 import java.util.concurrent.TimeUnit
 import java.util.concurrent.TimeUnit
 
 
@@ -53,7 +52,7 @@ class App : MultiDexApplication() {
         registerActivityLifecycleCallbacks(LifecycleHelp)
         registerActivityLifecycleCallbacks(LifecycleHelp)
         defaultSharedPreferences.registerOnSharedPreferenceChangeListener(AppConfig)
         defaultSharedPreferences.registerOnSharedPreferenceChangeListener(AppConfig)
         Coroutine.async {
         Coroutine.async {
-            installGmsTlsProviderAsync(this@App).start()
+            async { installGmsTlsProvider(appCtx) }.start()
             //初始化封面
             //初始化封面
             BookCover.toString()
             BookCover.toString()
             //清除过期数据
             //清除过期数据
@@ -99,24 +98,19 @@ class App : MultiDexApplication() {
      * @param context
      * @param context
      * @return
      * @return
      */
      */
-    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
-                }
-            }
+    private suspend fun installGmsTlsProvider(context: Context) {
+        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)
+            delay(1000)
+        } catch (e: java.lang.Exception) {
+            e.printStackTrace()
         }
         }
     }
     }