diff --git a/app/build.gradle b/app/build.gradle index 72ad0bf5a2..f1adaf6f7c 100644 --- a/app/build.gradle +++ b/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" diff --git a/app/src/main/java/eu/kanade/tachiyomi/App.kt b/app/src/main/java/eu/kanade/tachiyomi/App.kt index 1b0622604b..ab2f45ca4f 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/App.kt +++ b/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))