BraveNewPipe: integrate BraveTimeoutInterceptor into PicassoHelper

This commit is contained in:
evermind 2024-02-20 07:45:45 +01:00
parent aac9f2e59c
commit 89a366856a
2 changed files with 22 additions and 1 deletions

View file

@ -3,6 +3,8 @@ package org.schabi.newpipe;
import android.content.Context;
import android.content.SharedPreferences;
import org.schabi.newpipe.util.image.PicassoHelper;
import java.io.IOException;
import java.net.HttpURLConnection;
import java.net.URL;
@ -49,7 +51,7 @@ public final class BraveDownloaderImplUtils {
addOrRemoveTimeoutInterceptor(builder, context, settings);
}
private static void addOrRemoveHostInterceptor(
public static void addOrRemoveHostInterceptor(
final OkHttpClient.Builder builder,
final Context context,
final SharedPreferences settings) {
@ -121,6 +123,11 @@ public final class BraveDownloaderImplUtils {
DownloaderImpl.getInstance().reInitInterceptors();
}
if (configOption.equals(
context.getString(R.string.brave_settings_host_replace_key))) {
PicassoHelper.reInit(context);
}
}
public void unRegisterOnChanged(@NonNull final Context context) {

View file

@ -6,6 +6,7 @@ import static org.schabi.newpipe.util.image.ImageStrategy.choosePreferredImage;
import android.annotation.SuppressLint;
import android.content.Context;
import android.content.SharedPreferences;
import android.graphics.Bitmap;
import android.util.Log;
@ -21,6 +22,8 @@ import com.squareup.picasso.Picasso;
import com.squareup.picasso.RequestCreator;
import com.squareup.picasso.Transformation;
import org.schabi.newpipe.BraveDownloaderImplUtils;
import org.schabi.newpipe.BraveTimeoutInterceptor;
import org.schabi.newpipe.DownloaderImpl;
import org.schabi.newpipe.R;
import org.schabi.newpipe.extractor.Image;
@ -30,6 +33,7 @@ import java.io.IOException;
import java.util.List;
import java.util.concurrent.TimeUnit;
import androidx.preference.PreferenceManager;
import okhttp3.OkHttpClient;
public final class PicassoHelper {
@ -69,6 +73,8 @@ public final class PicassoHelper {
private static void initInternal(
final Context context,
final OkHttpClient.Builder builder) {
addBraveHostInterceptor(context, builder);
picassoDownloaderClient = builder.build();
picassoInstance = new Picasso.Builder(context)
@ -78,6 +84,14 @@ public final class PicassoHelper {
.build();
}
private static void addBraveHostInterceptor(
final Context context,
final OkHttpClient.Builder builder) {
builder.interceptors().removeIf(BraveTimeoutInterceptor.class::isInstance);
final SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(context);
BraveDownloaderImplUtils.addOrRemoveHostInterceptor(builder, context, settings);
}
public static void terminate() {
picassoCache = null;
picassoDownloaderClient = null;