diff --git a/app/build.gradle.kts b/app/build.gradle.kts index e72fcfcfc..8d1457690 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -132,7 +132,6 @@ ksp { arg("room.schemaLocation", "$projectDir/schemas") } - // Custom dependency configuration for ktlint val ktlint by configurations.creating @@ -256,6 +255,7 @@ dependencies { // HTTP client implementation(libs.squareup.okhttp) + implementation(libs.squareup.okhttp.brotli) // Media player implementation(libs.google.exoplayer.core) diff --git a/app/src/main/java/org/schabi/newpipe/DownloaderImpl.java b/app/src/main/java/org/schabi/newpipe/DownloaderImpl.java index 041e91396..76e436e56 100644 --- a/app/src/main/java/org/schabi/newpipe/DownloaderImpl.java +++ b/app/src/main/java/org/schabi/newpipe/DownloaderImpl.java @@ -23,9 +23,12 @@ import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; import java.util.stream.Stream; +import okhttp3.CompressionInterceptor; +import okhttp3.Gzip; import okhttp3.OkHttpClient; import okhttp3.RequestBody; import okhttp3.ResponseBody; +import okhttp3.brotli.Brotli; public final class DownloaderImpl extends Downloader { public static final String USER_AGENT = @@ -44,6 +47,9 @@ public final class DownloaderImpl extends Downloader { .readTimeout(30, TimeUnit.SECONDS) // .cache(new Cache(new File(context.getExternalCacheDir(), "okhttp"), // 16 * 1024 * 1024)) + .addInterceptor(new CompressionInterceptor( + Brotli.INSTANCE, + Gzip.INSTANCE)) .build(); this.mCookies = new HashMap<>(); } diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 944a059e8..38db83ff8 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -127,6 +127,7 @@ squareup-leakcanary-core = { module = "com.squareup.leakcanary:leakcanary-androi squareup-leakcanary-plumber = { module = "com.squareup.leakcanary:plumber-android", version.ref = "leakcanary" } squareup-leakcanary-watcher = { module = "com.squareup.leakcanary:leakcanary-object-watcher-android", version.ref = "leakcanary" } squareup-okhttp = { module = "com.squareup.okhttp3:okhttp", version.ref = "okhttp" } +squareup-okhttp-brotli = { module = "com.squareup.okhttp3:okhttp-brotli", version.ref = "okhttp" } squareup-picasso = { module = "com.squareup.picasso:picasso", version.ref = "picasso" } zacsweers-autoservice-compiler = { module = "dev.zacsweers.autoservice:auto-service-ksp", version.ref = "autoservice-zacsweers" }