diff --git a/app/build.gradle.kts b/app/build.gradle.kts index cf4d4df4b..1b65125cd 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -131,8 +131,6 @@ dependencies { /* Cronet and Coil */ coreLibraryDesugaring(libs.desugaring) - implementation(libs.cronet.embedded) - implementation(libs.cronet.okhttp) implementation(libs.coil) /* Room */ diff --git a/app/src/main/java/com/github/libretube/api/CronetHelper.kt b/app/src/main/java/com/github/libretube/api/CronetHelper.kt deleted file mode 100644 index 0c217bd86..000000000 --- a/app/src/main/java/com/github/libretube/api/CronetHelper.kt +++ /dev/null @@ -1,16 +0,0 @@ -package com.github.libretube.api - -import com.github.libretube.LibreTubeApp -import com.google.net.cronet.okhttptransport.CronetCallFactory -import org.chromium.net.CronetEngine - -object CronetHelper { - val cronetEngine: CronetEngine = CronetEngine.Builder(LibreTubeApp.instance) - .enableHttp2(true) - .enableQuic(true) - .enableBrotli(true) - .enableHttpCache(CronetEngine.Builder.HTTP_CACHE_IN_MEMORY, 1024L * 1024L) // 1MiB - .build() - - val callFactory: CronetCallFactory = CronetCallFactory.newBuilder(cronetEngine).build() -} diff --git a/app/src/main/java/com/github/libretube/api/RetrofitInstance.kt b/app/src/main/java/com/github/libretube/api/RetrofitInstance.kt index b1f232552..9d10f0782 100644 --- a/app/src/main/java/com/github/libretube/api/RetrofitInstance.kt +++ b/app/src/main/java/com/github/libretube/api/RetrofitInstance.kt @@ -3,7 +3,6 @@ package com.github.libretube.api import com.github.libretube.BuildConfig import com.github.libretube.constants.PreferenceKeys import com.github.libretube.helpers.PreferenceHelper -import com.google.net.cronet.okhttptransport.CronetInterceptor import com.jakewharton.retrofit2.converter.kotlinx.serialization.asConverterFactory import okhttp3.MediaType.Companion.toMediaType import okhttp3.OkHttpClient @@ -38,7 +37,6 @@ object RetrofitInstance { val api by resettableLazy(lazyMgr) { Retrofit.Builder() .baseUrl(apiUrl) - .callFactory(CronetHelper.callFactory) .client(httpClient) .addConverterFactory(kotlinxConverterFactory) .build() @@ -48,7 +46,6 @@ object RetrofitInstance { val authApi by resettableLazy(lazyMgr) { Retrofit.Builder() .baseUrl(authUrl) - .callFactory(CronetHelper.callFactory) .client(httpClient) .addConverterFactory(kotlinxConverterFactory) .build() @@ -58,7 +55,6 @@ object RetrofitInstance { val externalApi by resettableLazy(lazyMgr) { Retrofit.Builder() .baseUrl(apiUrl) - .callFactory(CronetHelper.callFactory) .client(httpClient) .addConverterFactory(kotlinxConverterFactory) .build() @@ -76,8 +72,6 @@ object RetrofitInstance { httpClient.addInterceptor(loggingInterceptor) } - httpClient.addInterceptor(CronetInterceptor.newBuilder(CronetHelper.cronetEngine).build()) - return httpClient.build() } } diff --git a/app/src/main/java/com/github/libretube/helpers/ImageHelper.kt b/app/src/main/java/com/github/libretube/helpers/ImageHelper.kt index a44ada25c..aad9373ef 100644 --- a/app/src/main/java/com/github/libretube/helpers/ImageHelper.kt +++ b/app/src/main/java/com/github/libretube/helpers/ImageHelper.kt @@ -13,11 +13,9 @@ import coil.disk.DiskCache import coil.request.CachePolicy import coil.request.ImageRequest import com.github.libretube.BuildConfig -import com.github.libretube.api.CronetHelper import com.github.libretube.constants.PreferenceKeys import com.github.libretube.extensions.toAndroidUri import com.github.libretube.util.DataSaverMode -import com.google.net.cronet.okhttptransport.CronetInterceptor import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.withContext import okhttp3.OkHttpClient @@ -46,10 +44,7 @@ object ImageHelper { httpClient.addInterceptor(loggingInterceptor) } - httpClient.addInterceptor(CronetInterceptor.newBuilder(CronetHelper.cronetEngine).build()) - imageLoader = ImageLoader.Builder(context) - .callFactory(CronetHelper.callFactory) .crossfade(true) .okHttpClient { httpClient.build() diff --git a/app/src/main/java/com/github/libretube/helpers/PlayerHelper.kt b/app/src/main/java/com/github/libretube/helpers/PlayerHelper.kt index fbc0bcaa4..b712c0c61 100644 --- a/app/src/main/java/com/github/libretube/helpers/PlayerHelper.kt +++ b/app/src/main/java/com/github/libretube/helpers/PlayerHelper.kt @@ -22,7 +22,6 @@ import androidx.media3.common.TrackSelectionOverride import androidx.media3.common.Tracks import androidx.media3.common.util.UnstableApi import androidx.media3.datasource.DefaultDataSource -import androidx.media3.datasource.cronet.CronetDataSource import androidx.media3.exoplayer.DefaultLoadControl import androidx.media3.exoplayer.ExoPlayer import androidx.media3.exoplayer.LoadControl @@ -31,7 +30,6 @@ import androidx.media3.exoplayer.trackselection.DefaultTrackSelector import androidx.media3.ui.CaptionStyleCompat import com.github.libretube.LibreTubeApp import com.github.libretube.R -import com.github.libretube.api.CronetHelper import com.github.libretube.api.obj.ChapterSegment import com.github.libretube.api.obj.Segment import com.github.libretube.api.obj.Streams @@ -50,7 +48,6 @@ import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch import java.util.Locale -import java.util.concurrent.Executors import kotlin.math.absoluteValue import kotlin.math.max import kotlin.math.roundToInt @@ -520,11 +517,7 @@ object PlayerHelper { trackSelector: DefaultTrackSelector, isBackgroundMode: Boolean ): ExoPlayer { - val cronetDataSourceFactory = CronetDataSource.Factory( - CronetHelper.cronetEngine, - Executors.newCachedThreadPool() - ) - val dataSourceFactory = DefaultDataSource.Factory(context, cronetDataSourceFactory) + val dataSourceFactory = DefaultDataSource.Factory(context) val audioAttributes = AudioAttributes.Builder() .setUsage(C.USAGE_MEDIA) .setContentType(C.AUDIO_CONTENT_TYPE_MOVIE) diff --git a/app/src/main/java/com/github/libretube/services/DownloadService.kt b/app/src/main/java/com/github/libretube/services/DownloadService.kt index c18675056..0428be429 100644 --- a/app/src/main/java/com/github/libretube/services/DownloadService.kt +++ b/app/src/main/java/com/github/libretube/services/DownloadService.kt @@ -20,7 +20,6 @@ import androidx.lifecycle.LifecycleService import androidx.lifecycle.lifecycleScope import com.github.libretube.LibreTubeApp.Companion.DOWNLOAD_CHANNEL_NAME import com.github.libretube.R -import com.github.libretube.api.CronetHelper import com.github.libretube.api.StreamsExtractor import com.github.libretube.api.obj.Streams import com.github.libretube.constants.IntentData @@ -47,7 +46,6 @@ import com.github.libretube.receivers.NotificationReceiver.Companion.ACTION_DOWN import com.github.libretube.receivers.NotificationReceiver.Companion.ACTION_DOWNLOAD_RESUME import com.github.libretube.receivers.NotificationReceiver.Companion.ACTION_DOWNLOAD_STOP import com.github.libretube.ui.activities.MainActivity -import com.google.net.cronet.okhttptransport.CronetInterceptor import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Job import kotlinx.coroutines.SupervisorJob @@ -95,12 +93,9 @@ class DownloadService : LifecycleService() { val downloadFlow: SharedFlow> = _downloadFlow private val httpClient: OkHttpClient by lazy { - val cronetInterceptor = CronetInterceptor.newBuilder(CronetHelper.cronetEngine).build() - OkHttpClient.Builder() .connectTimeout(Duration.ofMillis(DownloadHelper.DEFAULT_TIMEOUT.toLong())) .readTimeout(Duration.ofMillis(DownloadHelper.DEFAULT_TIMEOUT.toLong())) - .addInterceptor(cronetInterceptor) .retryOnConnectionFailure(true) .build() } diff --git a/app/src/main/java/com/github/libretube/services/OnlinePlayerService.kt b/app/src/main/java/com/github/libretube/services/OnlinePlayerService.kt index bfc3b9161..08671037b 100644 --- a/app/src/main/java/com/github/libretube/services/OnlinePlayerService.kt +++ b/app/src/main/java/com/github/libretube/services/OnlinePlayerService.kt @@ -8,10 +8,9 @@ import androidx.media3.common.MediaItem import androidx.media3.common.MediaItem.SubtitleConfiguration import androidx.media3.common.MimeTypes import androidx.media3.common.Player -import androidx.media3.datasource.cronet.CronetDataSource +import androidx.media3.datasource.DefaultDataSource import androidx.media3.exoplayer.hls.HlsMediaSource import com.github.libretube.R -import com.github.libretube.api.CronetHelper import com.github.libretube.api.JsonHelper import com.github.libretube.api.RetrofitInstance import com.github.libretube.api.StreamsExtractor @@ -37,7 +36,6 @@ import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch import kotlinx.coroutines.withContext import kotlinx.serialization.encodeToString -import java.util.concurrent.Executors /** * Loads the selected videos audio in background mode with a notification area. @@ -52,11 +50,6 @@ open class OnlinePlayerService : AbstractPlayerService() { private var channelId: String? = null private var startTimestamp: Long? = null - private val cronetDataSourceFactory = CronetDataSource.Factory( - CronetHelper.cronetEngine, - Executors.newCachedThreadPool() - ) - /** * The response that gets when called the Api. */ @@ -290,7 +283,7 @@ open class OnlinePlayerService : AbstractPlayerService() { } // HLS streams.hls != null -> { - val hlsMediaSourceFactory = HlsMediaSource.Factory(cronetDataSourceFactory) + val hlsMediaSourceFactory = HlsMediaSource.Factory(DefaultDataSource.Factory(this)) .setPlaylistParserFactory(YoutubeHlsPlaylistParser.Factory()) val mediaItem = createMediaItem( diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 9e37c2b9e..7ad2946b4 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -17,8 +17,6 @@ espresso = "3.6.1" workRuntime = "2.9.1" retrofit = "2.11.0" desugaring = "2.1.4" -cronetEmbedded = "119.6045.31" -cronetOkHttp = "0.1.0" coil = "2.7.0" room = "2.6.1" kotlinxSerialization = "1.6.3" @@ -65,8 +63,6 @@ androidx-media3-ui = { group="androidx.media3", name="media3-ui", version.ref="m newpipeextractor = { module = "com.github.teamnewpipe:NewPipeExtractor", version.ref = "newpipeextractor" } square-retrofit = { group = "com.squareup.retrofit2", name = "retrofit", version.ref = "retrofit" } desugaring = { group = "com.android.tools", name = "desugar_jdk_libs_nio", version.ref = "desugaring" } -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" } coil = { group = "io.coil-kt", name = "coil", version.ref="coil" } lifecycle-viewmodel = { group = "androidx.lifecycle", name = "lifecycle-viewmodel-ktx", version.ref = "lifecycle" } lifecycle-runtime = { group = "androidx.lifecycle", name = "lifecycle-runtime-ktx", version.ref = "lifecycle" }