diff --git a/app/build.gradle b/app/build.gradle index f6c83ef02..611111bb8 100755 --- a/app/build.gradle +++ b/app/build.gradle @@ -175,6 +175,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" diff --git a/app/src/main/java/eu/kanade/tachiyomi/App.kt b/app/src/main/java/eu/kanade/tachiyomi/App.kt index e19610e76..266cb6c5b 100755 --- a/app/src/main/java/eu/kanade/tachiyomi/App.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/App.kt @@ -42,10 +42,12 @@ import io.realm.Realm import io.realm.RealmConfiguration import java.io.File import java.security.NoSuchAlgorithmException +import java.security.Security import javax.net.ssl.SSLContext import kotlin.concurrent.thread import kotlinx.coroutines.GlobalScope import kotlinx.coroutines.launch +import org.conscrypt.Conscrypt import timber.log.Timber import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.InjektScope @@ -67,6 +69,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))