From 5235121b89c52071ce938306feb77543955e1fb2 Mon Sep 17 00:00:00 2001 From: Kavin <20838718+FireMasterK@users.noreply.github.com> Date: Fri, 27 May 2022 02:34:44 +0100 Subject: [PATCH] Use just one cronet instance throughout. --- app/build.gradle | 4 ++-- .../java/com/github/libretube/MainActivity.kt | 2 ++ .../com/github/libretube/PlayerFragment.kt | 4 ++-- .../com/github/libretube/util/CronetHelper.kt | 20 +++++++++++++++++++ 4 files changed, 26 insertions(+), 4 deletions(-) create mode 100644 app/src/main/java/com/github/libretube/util/CronetHelper.kt diff --git a/app/build.gradle b/app/build.gradle index 1129a60c6..e18a5bd42 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -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' } \ No newline at end of file diff --git a/app/src/main/java/com/github/libretube/MainActivity.kt b/app/src/main/java/com/github/libretube/MainActivity.kt index dee6759cd..72618d16f 100644 --- a/app/src/main/java/com/github/libretube/MainActivity.kt +++ b/app/src/main/java/com/github/libretube/MainActivity.kt @@ -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/")!! diff --git a/app/src/main/java/com/github/libretube/PlayerFragment.kt b/app/src/main/java/com/github/libretube/PlayerFragment.kt index 2bc1bf36b..f46023450 100644 --- a/app/src/main/java/com/github/libretube/PlayerFragment.kt +++ b/app/src/main/java/com/github/libretube/PlayerFragment.kt @@ -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()) diff --git a/app/src/main/java/com/github/libretube/util/CronetHelper.kt b/app/src/main/java/com/github/libretube/util/CronetHelper.kt new file mode 100644 index 000000000..61bb62e75 --- /dev/null +++ b/app/src/main/java/com/github/libretube/util/CronetHelper.kt @@ -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 + } + } +}