diff --git a/app/build.gradle b/app/build.gradle index 7d30fb465..ca71c4053 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -89,5 +89,6 @@ dependencies { coreLibraryDesugaring libs.desugaring implementation libs.cronet.embedded + implementation libs.cronet.okhttp implementation libs.gson } diff --git a/app/src/main/java/com/github/libretube/util/RetrofitInstance.kt b/app/src/main/java/com/github/libretube/util/RetrofitInstance.kt index 87caad710..5e26f0f43 100644 --- a/app/src/main/java/com/github/libretube/util/RetrofitInstance.kt +++ b/app/src/main/java/com/github/libretube/util/RetrofitInstance.kt @@ -1,5 +1,6 @@ package com.github.libretube.util +import com.google.net.cronet.okhttptransport.CronetCallFactory import retrofit2.Retrofit import retrofit2.converter.jackson.JacksonConverterFactory @@ -7,9 +8,13 @@ object RetrofitInstance { lateinit var url: String lateinit var authUrl: String val lazyMgr = resettableManager() + private val callFactory: CronetCallFactory = + CronetCallFactory.newBuilder(CronetHelper.getCronetEngine()) + .build() val api: PipedApi by resettableLazy(lazyMgr) { Retrofit.Builder() .baseUrl(url) + .callFactory(callFactory) .addConverterFactory(JacksonConverterFactory.create()) .build() .create(PipedApi::class.java) @@ -17,6 +22,7 @@ object RetrofitInstance { val authApi: PipedApi by resettableLazy(lazyMgr) { Retrofit.Builder() .baseUrl(authUrl) + .callFactory(callFactory) .addConverterFactory(JacksonConverterFactory.create()) .build() .create(PipedApi::class.java) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 2e6834caa..e2ab85470 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -16,6 +16,7 @@ jacksonAnnotations = "2.13.3" mobileffmpeg = "4.5.1.LTS" desugaring = "1.1.5" cronetEmbedded = "101.4951.41" +cronetOkHttp = "0.1.0" leakcanary = "2.8.1" gson = "2.9.0" @@ -41,5 +42,6 @@ mobileffmpeg = { group = "com.arthenica", name = "ffmpeg-kit-min", version.ref = desugaring = { group = "com.android.tools", name = "desugar_jdk_libs", version.ref = "desugaring" } exoplayer-extension-cronet = { group = "com.google.android.exoplayer", name = "extension-cronet", version.ref = "exoplayer" } cronet-embedded = { group = "org.chromium.net", name = "cronet-embedded", version.ref = "cronetEmbedded" } +cronet-okhttp = { group = "com.google.net.cronet", name = "cronet-okhttp", version.ref = "cronetOkHttp" } square-leakcanary = { group = "com.squareup.leakcanary", name = "leakcanary-android", version.ref = "leakcanary" } gson = { group = "com.google.code.gson", name="gson", version.ref = "gson"} \ No newline at end of file