Merge pull request #7015 from Bnyro/master

meta: drop cronet
This commit is contained in:
Bnyro 2025-01-24 19:13:51 +01:00 committed by GitHub
commit 93275b9d00
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
8 changed files with 3 additions and 55 deletions

View File

@ -131,8 +131,6 @@ dependencies {
/* Cronet and Coil */
coreLibraryDesugaring(libs.desugaring)
implementation(libs.cronet.embedded)
implementation(libs.cronet.okhttp)
implementation(libs.coil)
/* Room */

View File

@ -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()
}

View File

@ -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()
}
}

View File

@ -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()

View File

@ -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)

View File

@ -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<Pair<Int, DownloadStatus>> = _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()
}

View File

@ -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(

View File

@ -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" }