Apply default RequestOptions globally instead of locally

This commit is contained in:
ByteHamster 2022-11-01 12:47:52 +01:00
parent fe2195f051
commit 6921d7162e
15 changed files with 6 additions and 48 deletions

View File

@ -38,7 +38,6 @@ import de.danoeh.antennapod.core.feed.FeedUrlNotFoundException;
import de.danoeh.antennapod.core.util.DownloadErrorLabel; import de.danoeh.antennapod.core.util.DownloadErrorLabel;
import de.danoeh.antennapod.event.FeedListUpdateEvent; import de.danoeh.antennapod.event.FeedListUpdateEvent;
import de.danoeh.antennapod.event.PlayerStatusEvent; import de.danoeh.antennapod.event.PlayerStatusEvent;
import de.danoeh.antennapod.core.glide.ApGlideSettings;
import de.danoeh.antennapod.core.glide.FastBlurTransformation; import de.danoeh.antennapod.core.glide.FastBlurTransformation;
import de.danoeh.antennapod.core.preferences.PlaybackPreferences; import de.danoeh.antennapod.core.preferences.PlaybackPreferences;
import de.danoeh.antennapod.core.preferences.UserPreferences; import de.danoeh.antennapod.core.preferences.UserPreferences;
@ -431,7 +430,6 @@ public class OnlineFeedViewActivity extends AppCompatActivity {
.apply(new RequestOptions() .apply(new RequestOptions()
.placeholder(R.color.light_gray) .placeholder(R.color.light_gray)
.error(R.color.light_gray) .error(R.color.light_gray)
.diskCacheStrategy(ApGlideSettings.AP_DISK_CACHE_STRATEGY)
.fitCenter() .fitCenter()
.dontAnimate()) .dontAnimate())
.into(viewBinding.coverImage); .into(viewBinding.coverImage);
@ -440,7 +438,6 @@ public class OnlineFeedViewActivity extends AppCompatActivity {
.apply(new RequestOptions() .apply(new RequestOptions()
.placeholder(R.color.image_readability_tint) .placeholder(R.color.image_readability_tint)
.error(R.color.image_readability_tint) .error(R.color.image_readability_tint)
.diskCacheStrategy(ApGlideSettings.AP_DISK_CACHE_STRATEGY)
.transform(new FastBlurTransformation()) .transform(new FastBlurTransformation())
.dontAnimate()) .dontAnimate())
.into(viewBinding.backgroundImage); .into(viewBinding.backgroundImage);

View File

@ -16,7 +16,6 @@ import com.bumptech.glide.load.resource.bitmap.RoundedCorners;
import com.bumptech.glide.request.RequestOptions; import com.bumptech.glide.request.RequestOptions;
import de.danoeh.antennapod.R; import de.danoeh.antennapod.R;
import de.danoeh.antennapod.model.feed.Chapter; import de.danoeh.antennapod.model.feed.Chapter;
import de.danoeh.antennapod.core.glide.ApGlideSettings;
import de.danoeh.antennapod.core.util.Converter; import de.danoeh.antennapod.core.util.Converter;
import de.danoeh.antennapod.model.feed.EmbeddedChapterImage; import de.danoeh.antennapod.model.feed.EmbeddedChapterImage;
import de.danoeh.antennapod.core.util.IntentUtils; import de.danoeh.antennapod.core.util.IntentUtils;
@ -106,7 +105,6 @@ public class ChaptersListAdapter extends RecyclerView.Adapter<ChaptersListAdapte
Glide.with(context) Glide.with(context)
.load(EmbeddedChapterImage.getModelFor(media, position)) .load(EmbeddedChapterImage.getModelFor(media, position))
.apply(new RequestOptions() .apply(new RequestOptions()
.diskCacheStrategy(ApGlideSettings.AP_DISK_CACHE_STRATEGY)
.dontAnimate() .dontAnimate()
.transform(new FitCenter(), new RoundedCorners((int) .transform(new FitCenter(), new RoundedCorners((int)
(4 * context.getResources().getDisplayMetrics().density)))) (4 * context.getResources().getDisplayMetrics().density))))

View File

@ -23,7 +23,6 @@ import com.bumptech.glide.request.transition.Transition;
import de.danoeh.antennapod.R; import de.danoeh.antennapod.R;
import de.danoeh.antennapod.activity.MainActivity; import de.danoeh.antennapod.activity.MainActivity;
import de.danoeh.antennapod.core.glide.ApGlideSettings;
import de.danoeh.antennapod.core.glide.PaletteBitmap; import de.danoeh.antennapod.core.glide.PaletteBitmap;
import de.danoeh.antennapod.core.preferences.UserPreferences; import de.danoeh.antennapod.core.preferences.UserPreferences;
import de.danoeh.antennapod.ui.common.ThemeUtils; import de.danoeh.antennapod.ui.common.ThemeUtils;
@ -90,7 +89,6 @@ public class CoverLoader {
} }
RequestOptions options = new RequestOptions() RequestOptions options = new RequestOptions()
.diskCacheStrategy(ApGlideSettings.AP_DISK_CACHE_STRATEGY)
.fitCenter() .fitCenter()
.dontAnimate(); .dontAnimate();

View File

@ -29,7 +29,6 @@ import de.danoeh.antennapod.fragment.AllEpisodesFragment;
import de.danoeh.antennapod.fragment.CompletedDownloadsFragment; import de.danoeh.antennapod.fragment.CompletedDownloadsFragment;
import de.danoeh.antennapod.fragment.InboxFragment; import de.danoeh.antennapod.fragment.InboxFragment;
import de.danoeh.antennapod.model.feed.Feed; import de.danoeh.antennapod.model.feed.Feed;
import de.danoeh.antennapod.core.glide.ApGlideSettings;
import de.danoeh.antennapod.core.preferences.UserPreferences; import de.danoeh.antennapod.core.preferences.UserPreferences;
import de.danoeh.antennapod.core.storage.NavDrawerData; import de.danoeh.antennapod.core.storage.NavDrawerData;
import de.danoeh.antennapod.fragment.AddFeedFragment; import de.danoeh.antennapod.fragment.AddFeedFragment;
@ -326,7 +325,6 @@ public class NavListAdapter extends RecyclerView.Adapter<NavListAdapter.Holder>
.apply(new RequestOptions() .apply(new RequestOptions()
.placeholder(R.color.light_gray) .placeholder(R.color.light_gray)
.error(R.color.light_gray) .error(R.color.light_gray)
.diskCacheStrategy(ApGlideSettings.AP_DISK_CACHE_STRATEGY)
.transform(new FitCenter(), .transform(new FitCenter(),
new RoundedCorners((int) (4 * context.getResources().getDisplayMetrics().density))) new RoundedCorners((int) (4 * context.getResources().getDisplayMetrics().density)))
.dontAnimate()) .dontAnimate())

View File

@ -32,7 +32,6 @@ import com.google.android.material.snackbar.Snackbar;
import de.danoeh.antennapod.R; import de.danoeh.antennapod.R;
import de.danoeh.antennapod.activity.MainActivity; import de.danoeh.antennapod.activity.MainActivity;
import de.danoeh.antennapod.core.feed.util.ImageResourceUtils; import de.danoeh.antennapod.core.feed.util.ImageResourceUtils;
import de.danoeh.antennapod.core.glide.ApGlideSettings;
import de.danoeh.antennapod.core.util.ChapterUtils; import de.danoeh.antennapod.core.util.ChapterUtils;
import de.danoeh.antennapod.core.util.DateFormatter; import de.danoeh.antennapod.core.util.DateFormatter;
import de.danoeh.antennapod.core.util.playback.PlaybackController; import de.danoeh.antennapod.core.util.playback.PlaybackController;
@ -268,7 +267,6 @@ public class CoverFragment extends Fragment {
private void displayCoverImage() { private void displayCoverImage() {
RequestOptions options = new RequestOptions() RequestOptions options = new RequestOptions()
.diskCacheStrategy(ApGlideSettings.AP_DISK_CACHE_STRATEGY)
.dontAnimate() .dontAnimate()
.transform(new FitCenter(), .transform(new FitCenter(),
new RoundedCorners((int) (16 * getResources().getDisplayMetrics().density))); new RoundedCorners((int) (16 * getResources().getDisplayMetrics().density)));

View File

@ -21,7 +21,6 @@ import de.danoeh.antennapod.event.playback.PlaybackPositionEvent;
import de.danoeh.antennapod.event.playback.PlaybackServiceEvent; import de.danoeh.antennapod.event.playback.PlaybackServiceEvent;
import de.danoeh.antennapod.model.playback.MediaType; import de.danoeh.antennapod.model.playback.MediaType;
import de.danoeh.antennapod.core.feed.util.ImageResourceUtils; import de.danoeh.antennapod.core.feed.util.ImageResourceUtils;
import de.danoeh.antennapod.core.glide.ApGlideSettings;
import de.danoeh.antennapod.core.service.playback.PlaybackService; import de.danoeh.antennapod.core.service.playback.PlaybackService;
import de.danoeh.antennapod.model.playback.Playable; import de.danoeh.antennapod.model.playback.Playable;
import de.danoeh.antennapod.core.util.playback.PlaybackController; import de.danoeh.antennapod.core.util.playback.PlaybackController;
@ -201,7 +200,6 @@ public class ExternalPlayerFragment extends Fragment {
RequestOptions options = new RequestOptions() RequestOptions options = new RequestOptions()
.placeholder(R.color.light_gray) .placeholder(R.color.light_gray)
.error(R.color.light_gray) .error(R.color.light_gray)
.diskCacheStrategy(ApGlideSettings.AP_DISK_CACHE_STRATEGY)
.fitCenter() .fitCenter()
.dontAnimate(); .dontAnimate();

View File

@ -36,7 +36,6 @@ import com.google.android.material.snackbar.Snackbar;
import com.joanzapata.iconify.Iconify; import com.joanzapata.iconify.Iconify;
import de.danoeh.antennapod.R; import de.danoeh.antennapod.R;
import de.danoeh.antennapod.activity.MainActivity; import de.danoeh.antennapod.activity.MainActivity;
import de.danoeh.antennapod.core.glide.ApGlideSettings;
import de.danoeh.antennapod.core.glide.FastBlurTransformation; import de.danoeh.antennapod.core.glide.FastBlurTransformation;
import de.danoeh.antennapod.core.storage.DBReader; import de.danoeh.antennapod.core.storage.DBReader;
import de.danoeh.antennapod.core.storage.DBTasks; import de.danoeh.antennapod.core.storage.DBTasks;
@ -203,7 +202,6 @@ public class FeedInfoFragment extends Fragment implements MaterialToolbar.OnMenu
.apply(new RequestOptions() .apply(new RequestOptions()
.placeholder(R.color.light_gray) .placeholder(R.color.light_gray)
.error(R.color.light_gray) .error(R.color.light_gray)
.diskCacheStrategy(ApGlideSettings.AP_DISK_CACHE_STRATEGY)
.fitCenter() .fitCenter()
.dontAnimate()) .dontAnimate())
.into(imgvCover); .into(imgvCover);
@ -212,7 +210,6 @@ public class FeedInfoFragment extends Fragment implements MaterialToolbar.OnMenu
.apply(new RequestOptions() .apply(new RequestOptions()
.placeholder(R.color.image_readability_tint) .placeholder(R.color.image_readability_tint)
.error(R.color.image_readability_tint) .error(R.color.image_readability_tint)
.diskCacheStrategy(ApGlideSettings.AP_DISK_CACHE_STRATEGY)
.transform(new FastBlurTransformation()) .transform(new FastBlurTransformation())
.dontAnimate()) .dontAnimate())
.into(imgvBackground); .into(imgvBackground);

View File

@ -32,7 +32,6 @@ import de.danoeh.antennapod.adapter.EpisodeItemListAdapter;
import de.danoeh.antennapod.core.event.DownloadEvent; import de.danoeh.antennapod.core.event.DownloadEvent;
import de.danoeh.antennapod.core.event.DownloaderUpdate; import de.danoeh.antennapod.core.event.DownloaderUpdate;
import de.danoeh.antennapod.core.feed.FeedEvent; import de.danoeh.antennapod.core.feed.FeedEvent;
import de.danoeh.antennapod.core.glide.ApGlideSettings;
import de.danoeh.antennapod.core.glide.FastBlurTransformation; import de.danoeh.antennapod.core.glide.FastBlurTransformation;
import de.danoeh.antennapod.core.menuhandler.MenuItemUtils; import de.danoeh.antennapod.core.menuhandler.MenuItemUtils;
import de.danoeh.antennapod.core.service.download.DownloadService; import de.danoeh.antennapod.core.service.download.DownloadService;
@ -505,7 +504,6 @@ public class FeedItemlistFragment extends Fragment implements AdapterView.OnItem
.apply(new RequestOptions() .apply(new RequestOptions()
.placeholder(R.color.image_readability_tint) .placeholder(R.color.image_readability_tint)
.error(R.color.image_readability_tint) .error(R.color.image_readability_tint)
.diskCacheStrategy(ApGlideSettings.AP_DISK_CACHE_STRATEGY)
.transform(new FastBlurTransformation()) .transform(new FastBlurTransformation())
.dontAnimate()) .dontAnimate())
.into(viewBinding.imgvBackground); .into(viewBinding.imgvBackground);
@ -515,7 +513,6 @@ public class FeedItemlistFragment extends Fragment implements AdapterView.OnItem
.apply(new RequestOptions() .apply(new RequestOptions()
.placeholder(R.color.light_gray) .placeholder(R.color.light_gray)
.error(R.color.light_gray) .error(R.color.light_gray)
.diskCacheStrategy(ApGlideSettings.AP_DISK_CACHE_STRATEGY)
.fitCenter() .fitCenter()
.dontAnimate()) .dontAnimate())
.into(viewBinding.header.imgvCover); .into(viewBinding.header.imgvCover);

View File

@ -47,7 +47,6 @@ import de.danoeh.antennapod.event.UnreadItemsUpdateEvent;
import de.danoeh.antennapod.model.feed.FeedItem; import de.danoeh.antennapod.model.feed.FeedItem;
import de.danoeh.antennapod.model.feed.FeedMedia; import de.danoeh.antennapod.model.feed.FeedMedia;
import de.danoeh.antennapod.core.feed.util.ImageResourceUtils; import de.danoeh.antennapod.core.feed.util.ImageResourceUtils;
import de.danoeh.antennapod.core.glide.ApGlideSettings;
import de.danoeh.antennapod.core.preferences.UsageStatistics; import de.danoeh.antennapod.core.preferences.UsageStatistics;
import de.danoeh.antennapod.core.preferences.UserPreferences; import de.danoeh.antennapod.core.preferences.UserPreferences;
import de.danoeh.antennapod.core.service.download.Downloader; import de.danoeh.antennapod.core.service.download.Downloader;
@ -294,7 +293,6 @@ public class ItemFragment extends Fragment {
RequestOptions options = new RequestOptions() RequestOptions options = new RequestOptions()
.error(R.color.light_gray) .error(R.color.light_gray)
.diskCacheStrategy(ApGlideSettings.AP_DISK_CACHE_STRATEGY)
.transform(new FitCenter(), .transform(new FitCenter(),
new RoundedCorners((int) (8 * getResources().getDisplayMetrics().density))) new RoundedCorners((int) (8 * getResources().getDisplayMetrics().density)))
.dontAnimate(); .dontAnimate();

View File

@ -11,6 +11,7 @@ import com.bumptech.glide.GlideBuilder;
import com.bumptech.glide.Registry; import com.bumptech.glide.Registry;
import com.bumptech.glide.annotation.GlideModule; import com.bumptech.glide.annotation.GlideModule;
import com.bumptech.glide.load.DecodeFormat; import com.bumptech.glide.load.DecodeFormat;
import com.bumptech.glide.load.engine.DiskCacheStrategy;
import com.bumptech.glide.load.engine.cache.InternalCacheDiskCacheFactory; import com.bumptech.glide.load.engine.cache.InternalCacheDiskCacheFactory;
import com.bumptech.glide.module.AppGlideModule; import com.bumptech.glide.module.AppGlideModule;
@ -31,7 +32,9 @@ public class ApGlideModule extends AppGlideModule {
@Override @Override
public void applyOptions(@NonNull Context context, @NonNull GlideBuilder builder) { public void applyOptions(@NonNull Context context, @NonNull GlideBuilder builder) {
builder.setDefaultRequestOptions(RequestOptions.formatOf(DecodeFormat.PREFER_ARGB_8888)); builder.setDefaultRequestOptions(new RequestOptions()
.format(DecodeFormat.PREFER_ARGB_8888)
.diskCacheStrategy(DiskCacheStrategy.ALL));
builder.setLogLevel(Log.WARN); builder.setLogLevel(Log.WARN);
@SuppressLint("UsableSpace") @SuppressLint("UsableSpace")
long spaceAvailable = context.getCacheDir().getUsableSpace(); long spaceAvailable = context.getCacheDir().getUsableSpace();

View File

@ -1,12 +0,0 @@
package de.danoeh.antennapod.core.glide;
import com.bumptech.glide.load.engine.DiskCacheStrategy;
/**
* The settings that AntennaPod will use for various Glide options
*/
public class ApGlideSettings {
private ApGlideSettings(){}
public static final DiskCacheStrategy AP_DISK_CACHE_STRATEGY = DiskCacheStrategy.ALL;
}

View File

@ -19,7 +19,6 @@ import de.danoeh.antennapod.core.R;
import de.danoeh.antennapod.model.feed.Feed; import de.danoeh.antennapod.model.feed.Feed;
import de.danoeh.antennapod.model.feed.FeedCounter; import de.danoeh.antennapod.model.feed.FeedCounter;
import de.danoeh.antennapod.model.feed.FeedPreferences; import de.danoeh.antennapod.model.feed.FeedPreferences;
import de.danoeh.antennapod.core.glide.ApGlideSettings;
import de.danoeh.antennapod.core.util.gui.NotificationUtils; import de.danoeh.antennapod.core.util.gui.NotificationUtils;
import de.danoeh.antennapod.storage.database.PodDBAdapter; import de.danoeh.antennapod.storage.database.PodDBAdapter;
@ -119,9 +118,7 @@ public class NewEpisodesNotification {
return Glide.with(context) return Glide.with(context)
.asBitmap() .asBitmap()
.load(feed.getImageUrl()) .load(feed.getImageUrl())
.apply(new RequestOptions() .apply(new RequestOptions().centerCrop())
.diskCacheStrategy(ApGlideSettings.AP_DISK_CACHE_STRATEGY)
.centerCrop())
.submit(iconSize, iconSize) .submit(iconSize, iconSize)
.get(); .get();
} catch (Throwable tr) { } catch (Throwable tr) {

View File

@ -20,7 +20,6 @@ import androidx.core.content.ContextCompat;
import com.bumptech.glide.Glide; import com.bumptech.glide.Glide;
import com.bumptech.glide.request.RequestOptions; import com.bumptech.glide.request.RequestOptions;
import de.danoeh.antennapod.core.R; import de.danoeh.antennapod.core.R;
import de.danoeh.antennapod.core.glide.ApGlideSettings;
import de.danoeh.antennapod.core.preferences.UserPreferences; import de.danoeh.antennapod.core.preferences.UserPreferences;
import de.danoeh.antennapod.core.receiver.MediaButtonReceiver; import de.danoeh.antennapod.core.receiver.MediaButtonReceiver;
import de.danoeh.antennapod.core.util.Converter; import de.danoeh.antennapod.core.util.Converter;
@ -72,9 +71,7 @@ public class PlaybackServiceNotificationBuilder {
public void loadIcon() { public void loadIcon() {
int iconSize = (int) (128 * context.getResources().getDisplayMetrics().density); int iconSize = (int) (128 * context.getResources().getDisplayMetrics().density);
final RequestOptions options = new RequestOptions() final RequestOptions options = new RequestOptions().centerCrop();
.diskCacheStrategy(ApGlideSettings.AP_DISK_CACHE_STRATEGY)
.centerCrop();
try { try {
icon = Glide.with(context) icon = Glide.with(context)
.asBitmap() .asBitmap()

View File

@ -15,14 +15,12 @@ import android.view.View;
import android.widget.RemoteViews; import android.widget.RemoteViews;
import com.bumptech.glide.Glide; import com.bumptech.glide.Glide;
import com.bumptech.glide.request.RequestOptions;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import de.danoeh.antennapod.core.R; import de.danoeh.antennapod.core.R;
import de.danoeh.antennapod.core.preferences.UserPreferences; import de.danoeh.antennapod.core.preferences.UserPreferences;
import de.danoeh.antennapod.model.playback.MediaType; import de.danoeh.antennapod.model.playback.MediaType;
import de.danoeh.antennapod.core.glide.ApGlideSettings;
import de.danoeh.antennapod.core.receiver.MediaButtonReceiver; import de.danoeh.antennapod.core.receiver.MediaButtonReceiver;
import de.danoeh.antennapod.core.receiver.PlayerWidget; import de.danoeh.antennapod.core.receiver.PlayerWidget;
import de.danoeh.antennapod.core.util.Converter; import de.danoeh.antennapod.core.util.Converter;
@ -91,7 +89,6 @@ public abstract class WidgetUpdater {
icon = Glide.with(context) icon = Glide.with(context)
.asBitmap() .asBitmap()
.load(widgetState.media.getImageLocation()) .load(widgetState.media.getImageLocation())
.apply(RequestOptions.diskCacheStrategyOf(ApGlideSettings.AP_DISK_CACHE_STRATEGY))
.submit(iconSize, iconSize) .submit(iconSize, iconSize)
.get(500, TimeUnit.MILLISECONDS); .get(500, TimeUnit.MILLISECONDS);
views.setImageViewBitmap(R.id.imgvCover, icon); views.setImageViewBitmap(R.id.imgvCover, icon);
@ -100,7 +97,6 @@ public abstract class WidgetUpdater {
icon = Glide.with(context) icon = Glide.with(context)
.asBitmap() .asBitmap()
.load(ImageResourceUtils.getFallbackImageLocation(widgetState.media)) .load(ImageResourceUtils.getFallbackImageLocation(widgetState.media))
.apply(RequestOptions.diskCacheStrategyOf(ApGlideSettings.AP_DISK_CACHE_STRATEGY))
.submit(iconSize, iconSize) .submit(iconSize, iconSize)
.get(500, TimeUnit.MILLISECONDS); .get(500, TimeUnit.MILLISECONDS);
views.setImageViewBitmap(R.id.imgvCover, icon); views.setImageViewBitmap(R.id.imgvCover, icon);

View File

@ -12,7 +12,6 @@ import android.widget.TextView;
import com.bumptech.glide.Glide; import com.bumptech.glide.Glide;
import com.bumptech.glide.request.RequestOptions; import com.bumptech.glide.request.RequestOptions;
import de.danoeh.antennapod.core.glide.ApGlideSettings;
import de.danoeh.antennapod.core.storage.StatisticsItem; import de.danoeh.antennapod.core.storage.StatisticsItem;
import java.util.List; import java.util.List;
@ -66,7 +65,6 @@ public abstract class StatisticsListAdapter extends RecyclerView.Adapter<Recycle
.apply(new RequestOptions() .apply(new RequestOptions()
.placeholder(R.color.light_gray) .placeholder(R.color.light_gray)
.error(R.color.light_gray) .error(R.color.light_gray)
.diskCacheStrategy(ApGlideSettings.AP_DISK_CACHE_STRATEGY)
.fitCenter() .fitCenter()
.dontAnimate()) .dontAnimate())
.into(holder.image); .into(holder.image);