Răsfoiți Sursa

TLS 1.3 support for Android < 10

Should fix https://github.com/inorichi/tachiyomi-extensions/issues/3233
arkon 4 ani în urmă
părinte
comite
31015504f4
2 a modificat fișierele cu 11 adăugiri și 0 ștergeri
  1. 3 0
      app/build.gradle
  2. 8 0
      app/src/main/java/eu/kanade/tachiyomi/App.kt

+ 3 - 0
app/build.gradle

@@ -164,6 +164,9 @@ dependencies {
     implementation "com.squareup.okhttp3:logging-interceptor:$okhttp_version"
     implementation 'com.squareup.okio:okio:2.6.0'
 
+    // TLS 1.3 support for Android < 10
+    implementation 'org.conscrypt:conscrypt-android:2.4.0'
+
     // REST
     final retrofit_version = '2.9.0'
     implementation "com.squareup.retrofit2:retrofit:$retrofit_version"

+ 8 - 0
app/src/main/java/eu/kanade/tachiyomi/App.kt

@@ -3,6 +3,7 @@ package eu.kanade.tachiyomi
 import android.app.Application
 import android.content.Context
 import android.content.res.Configuration
+import android.os.Build
 import android.widget.Toast
 import androidx.lifecycle.Lifecycle
 import androidx.lifecycle.LifecycleObserver
@@ -16,10 +17,12 @@ import eu.kanade.tachiyomi.ui.security.SecureActivityDelegate
 import eu.kanade.tachiyomi.util.system.LocaleHelper
 import eu.kanade.tachiyomi.util.system.WebViewUtil
 import eu.kanade.tachiyomi.util.system.toast
+import java.security.Security
 import org.acra.ACRA
 import org.acra.annotation.AcraCore
 import org.acra.annotation.AcraHttpSender
 import org.acra.sender.HttpSender
+import org.conscrypt.Conscrypt
 import timber.log.Timber
 import uy.kohesive.injekt.Injekt
 import uy.kohesive.injekt.api.InjektScope
@@ -46,6 +49,11 @@ open class App : Application(), LifecycleObserver {
             ForceCloseActivity.closeApp(this)
         }
 
+        // TLS 1.3 support for Android 10 and below
+        if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) {
+            Security.insertProviderAt(Conscrypt.newProvider(), 1)
+        }
+
         Injekt = InjektScope(DefaultRegistrar())
         Injekt.importModule(AppModule(this))