Use just one cronet instance throughout.

This commit is contained in:
Kavin 2022-05-27 02:34:44 +01:00
parent e9d57e31dd
commit 5235121b89
No known key found for this signature in database
GPG Key ID: 49451E4482CC5BCD
4 changed files with 26 additions and 4 deletions

View File

@ -59,7 +59,7 @@ dependencies {
implementation 'androidx.appcompat:appcompat:1.4.1'
implementation 'androidx.constraintlayout:constraintlayout:2.1.3'
implementation 'com.google.android.material:material:1.6.0-beta01'
implementation 'com.google.android.material:material:1.6.0'
implementation 'androidx.navigation:navigation-fragment-ktx:2.4.2'
implementation 'androidx.navigation:navigation-ui-ktx:2.4.2'
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
@ -83,6 +83,6 @@ dependencies {
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.1.5'
implementation ('com.google.android.exoplayer:extension-cronet:2.17.1') { exclude group: 'com.google.android.gms' }
implementation 'org.chromium.net:cronet-embedded:98.4758.101'
implementation 'org.chromium.net:cronet-embedded:101.4951.41'
}

View File

@ -30,6 +30,7 @@ import androidx.navigation.NavController
import androidx.navigation.findNavController
import androidx.navigation.ui.setupWithNavController
import androidx.preference.PreferenceManager
import com.github.libretube.util.CronetHelper
import com.google.android.material.bottomnavigation.BottomNavigationView
import com.google.android.material.color.DynamicColors
@ -42,6 +43,7 @@ class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
DynamicColors.applyToActivityIfAvailable(this)
super.onCreate(savedInstanceState)
CronetHelper.initCronet(this.applicationContext)
val sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this)
RetrofitInstance.url =
sharedPreferences.getString("instance", "https://pipedapi.kavin.rocks/")!!

View File

@ -48,6 +48,7 @@ import com.github.libretube.obj.PipedStream
import com.github.libretube.obj.Segment
import com.github.libretube.obj.Segments
import com.github.libretube.obj.Subscribe
import com.github.libretube.util.CronetHelper
import com.google.android.exoplayer2.C
import com.google.android.exoplayer2.ExoPlayer
import com.google.android.exoplayer2.MediaItem
@ -404,8 +405,7 @@ class PlayerFragment : Fragment() {
)
}
val cronetEngine: CronetEngine = CronetEngine.Builder(context)
.build()
val cronetEngine: CronetEngine = CronetHelper.getCronetEngine()
val cronetDataSourceFactory: CronetDataSource.Factory =
CronetDataSource.Factory(cronetEngine, Executors.newCachedThreadPool())

View File

@ -0,0 +1,20 @@
package com.github.libretube.util
import android.content.Context
import org.chromium.net.CronetEngine
class CronetHelper {
companion object {
private lateinit var engine: CronetEngine
fun initCronet(context: Context) {
this.engine = CronetEngine.Builder(context)
.enableBrotli(true)
.build()
}
fun getCronetEngine(): CronetEngine {
return engine
}
}
}