From 1f78d4d2c51fc2c63ab3650d3a008d6640a93e1c Mon Sep 17 00:00:00 2001 From: Kavin <20838718+FireMasterK@users.noreply.github.com> Date: Thu, 21 Jul 2022 19:06:15 +0530 Subject: [PATCH] Use cronet call factory for api requests. --- app/build.gradle | 1 + .../main/java/com/github/libretube/util/RetrofitInstance.kt | 6 ++++++ gradle/libs.versions.toml | 2 ++ 3 files changed, 9 insertions(+) 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