Merge pull request #6174 from ByteHamster/modularize-glide
Move Glide config to its own module
This commit is contained in:
commit
546c8841db
@ -90,6 +90,7 @@ dependencies {
|
||||
implementation project(':storage:database')
|
||||
implementation project(':ui:app-start-intent')
|
||||
implementation project(':ui:common')
|
||||
implementation project(':ui:glide')
|
||||
implementation project(':ui:i18n')
|
||||
implementation project(':ui:statistics')
|
||||
|
||||
@ -112,7 +113,6 @@ dependencies {
|
||||
implementation "commons-io:commons-io:$commonsioVersion"
|
||||
implementation "org.jsoup:jsoup:$jsoupVersion"
|
||||
implementation "com.github.bumptech.glide:glide:$glideVersion"
|
||||
annotationProcessor "com.github.bumptech.glide:compiler:$glideVersion"
|
||||
implementation "com.squareup.okhttp3:okhttp:$okhttpVersion"
|
||||
implementation "com.squareup.okhttp3:okhttp-urlconnection:$okhttpVersion"
|
||||
implementation "com.squareup.okio:okio:$okioVersion"
|
||||
|
@ -38,8 +38,6 @@ import de.danoeh.antennapod.core.feed.FeedUrlNotFoundException;
|
||||
import de.danoeh.antennapod.core.util.DownloadErrorLabel;
|
||||
import de.danoeh.antennapod.event.FeedListUpdateEvent;
|
||||
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.preferences.PlaybackPreferences;
|
||||
import de.danoeh.antennapod.core.preferences.UserPreferences;
|
||||
import de.danoeh.antennapod.core.service.download.DownloadRequest;
|
||||
@ -65,6 +63,7 @@ import de.danoeh.antennapod.model.feed.Feed;
|
||||
import de.danoeh.antennapod.model.feed.FeedPreferences;
|
||||
import de.danoeh.antennapod.model.playback.RemoteMedia;
|
||||
import de.danoeh.antennapod.parser.feed.UnsupportedFeedtypeException;
|
||||
import de.danoeh.antennapod.ui.glide.FastBlurTransformation;
|
||||
import io.reactivex.Maybe;
|
||||
import io.reactivex.Observable;
|
||||
import io.reactivex.android.schedulers.AndroidSchedulers;
|
||||
@ -431,7 +430,6 @@ public class OnlineFeedViewActivity extends AppCompatActivity {
|
||||
.apply(new RequestOptions()
|
||||
.placeholder(R.color.light_gray)
|
||||
.error(R.color.light_gray)
|
||||
.diskCacheStrategy(ApGlideSettings.AP_DISK_CACHE_STRATEGY)
|
||||
.fitCenter()
|
||||
.dontAnimate())
|
||||
.into(viewBinding.coverImage);
|
||||
@ -440,7 +438,6 @@ public class OnlineFeedViewActivity extends AppCompatActivity {
|
||||
.apply(new RequestOptions()
|
||||
.placeholder(R.color.image_readability_tint)
|
||||
.error(R.color.image_readability_tint)
|
||||
.diskCacheStrategy(ApGlideSettings.AP_DISK_CACHE_STRATEGY)
|
||||
.transform(new FastBlurTransformation())
|
||||
.dontAnimate())
|
||||
.into(viewBinding.backgroundImage);
|
||||
|
@ -16,7 +16,6 @@ import com.bumptech.glide.load.resource.bitmap.RoundedCorners;
|
||||
import com.bumptech.glide.request.RequestOptions;
|
||||
import de.danoeh.antennapod.R;
|
||||
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.model.feed.EmbeddedChapterImage;
|
||||
import de.danoeh.antennapod.core.util.IntentUtils;
|
||||
@ -106,7 +105,6 @@ public class ChaptersListAdapter extends RecyclerView.Adapter<ChaptersListAdapte
|
||||
Glide.with(context)
|
||||
.load(EmbeddedChapterImage.getModelFor(media, position))
|
||||
.apply(new RequestOptions()
|
||||
.diskCacheStrategy(ApGlideSettings.AP_DISK_CACHE_STRATEGY)
|
||||
.dontAnimate()
|
||||
.transform(new FitCenter(), new RoundedCorners((int)
|
||||
(4 * context.getResources().getDisplayMetrics().density))))
|
||||
|
@ -23,10 +23,9 @@ import com.bumptech.glide.request.transition.Transition;
|
||||
|
||||
import de.danoeh.antennapod.R;
|
||||
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.preferences.UserPreferences;
|
||||
import de.danoeh.antennapod.ui.common.ThemeUtils;
|
||||
import de.danoeh.antennapod.ui.glide.PaletteBitmap;
|
||||
|
||||
public class CoverLoader {
|
||||
private int resource = 0;
|
||||
@ -90,7 +89,6 @@ public class CoverLoader {
|
||||
}
|
||||
|
||||
RequestOptions options = new RequestOptions()
|
||||
.diskCacheStrategy(ApGlideSettings.AP_DISK_CACHE_STRATEGY)
|
||||
.fitCenter()
|
||||
.dontAnimate();
|
||||
|
||||
|
@ -29,7 +29,6 @@ import de.danoeh.antennapod.fragment.AllEpisodesFragment;
|
||||
import de.danoeh.antennapod.fragment.CompletedDownloadsFragment;
|
||||
import de.danoeh.antennapod.fragment.InboxFragment;
|
||||
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.storage.NavDrawerData;
|
||||
import de.danoeh.antennapod.fragment.AddFeedFragment;
|
||||
@ -326,7 +325,6 @@ public class NavListAdapter extends RecyclerView.Adapter<NavListAdapter.Holder>
|
||||
.apply(new RequestOptions()
|
||||
.placeholder(R.color.light_gray)
|
||||
.error(R.color.light_gray)
|
||||
.diskCacheStrategy(ApGlideSettings.AP_DISK_CACHE_STRATEGY)
|
||||
.transform(new FitCenter(),
|
||||
new RoundedCorners((int) (4 * context.getResources().getDisplayMetrics().density)))
|
||||
.dontAnimate())
|
||||
|
@ -32,7 +32,6 @@ import com.google.android.material.snackbar.Snackbar;
|
||||
import de.danoeh.antennapod.R;
|
||||
import de.danoeh.antennapod.activity.MainActivity;
|
||||
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.DateFormatter;
|
||||
import de.danoeh.antennapod.core.util.playback.PlaybackController;
|
||||
@ -268,7 +267,6 @@ public class CoverFragment extends Fragment {
|
||||
|
||||
private void displayCoverImage() {
|
||||
RequestOptions options = new RequestOptions()
|
||||
.diskCacheStrategy(ApGlideSettings.AP_DISK_CACHE_STRATEGY)
|
||||
.dontAnimate()
|
||||
.transform(new FitCenter(),
|
||||
new RoundedCorners((int) (16 * getResources().getDisplayMetrics().density)));
|
||||
|
@ -21,7 +21,6 @@ import de.danoeh.antennapod.event.playback.PlaybackPositionEvent;
|
||||
import de.danoeh.antennapod.event.playback.PlaybackServiceEvent;
|
||||
import de.danoeh.antennapod.model.playback.MediaType;
|
||||
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.model.playback.Playable;
|
||||
import de.danoeh.antennapod.core.util.playback.PlaybackController;
|
||||
@ -201,7 +200,6 @@ public class ExternalPlayerFragment extends Fragment {
|
||||
RequestOptions options = new RequestOptions()
|
||||
.placeholder(R.color.light_gray)
|
||||
.error(R.color.light_gray)
|
||||
.diskCacheStrategy(ApGlideSettings.AP_DISK_CACHE_STRATEGY)
|
||||
.fitCenter()
|
||||
.dontAnimate();
|
||||
|
||||
|
@ -36,8 +36,6 @@ import com.google.android.material.snackbar.Snackbar;
|
||||
import com.joanzapata.iconify.Iconify;
|
||||
import de.danoeh.antennapod.R;
|
||||
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.storage.DBReader;
|
||||
import de.danoeh.antennapod.core.storage.DBTasks;
|
||||
import de.danoeh.antennapod.core.util.IntentUtils;
|
||||
@ -45,6 +43,7 @@ import de.danoeh.antennapod.core.util.syndication.HtmlToPlainText;
|
||||
import de.danoeh.antennapod.menuhandler.FeedMenuHandler;
|
||||
import de.danoeh.antennapod.model.feed.Feed;
|
||||
import de.danoeh.antennapod.model.feed.FeedFunding;
|
||||
import de.danoeh.antennapod.ui.glide.FastBlurTransformation;
|
||||
import de.danoeh.antennapod.ui.statistics.StatisticsFragment;
|
||||
import de.danoeh.antennapod.ui.statistics.feed.FeedStatisticsFragment;
|
||||
import de.danoeh.antennapod.view.ToolbarIconTintManager;
|
||||
@ -203,7 +202,6 @@ public class FeedInfoFragment extends Fragment implements MaterialToolbar.OnMenu
|
||||
.apply(new RequestOptions()
|
||||
.placeholder(R.color.light_gray)
|
||||
.error(R.color.light_gray)
|
||||
.diskCacheStrategy(ApGlideSettings.AP_DISK_CACHE_STRATEGY)
|
||||
.fitCenter()
|
||||
.dontAnimate())
|
||||
.into(imgvCover);
|
||||
@ -212,7 +210,6 @@ public class FeedInfoFragment extends Fragment implements MaterialToolbar.OnMenu
|
||||
.apply(new RequestOptions()
|
||||
.placeholder(R.color.image_readability_tint)
|
||||
.error(R.color.image_readability_tint)
|
||||
.diskCacheStrategy(ApGlideSettings.AP_DISK_CACHE_STRATEGY)
|
||||
.transform(new FastBlurTransformation())
|
||||
.dontAnimate())
|
||||
.into(imgvBackground);
|
||||
|
@ -32,8 +32,6 @@ import de.danoeh.antennapod.adapter.EpisodeItemListAdapter;
|
||||
import de.danoeh.antennapod.core.event.DownloadEvent;
|
||||
import de.danoeh.antennapod.core.event.DownloaderUpdate;
|
||||
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.menuhandler.MenuItemUtils;
|
||||
import de.danoeh.antennapod.core.service.download.DownloadService;
|
||||
import de.danoeh.antennapod.core.storage.DBReader;
|
||||
@ -62,6 +60,7 @@ import de.danoeh.antennapod.model.download.DownloadStatus;
|
||||
import de.danoeh.antennapod.model.feed.Feed;
|
||||
import de.danoeh.antennapod.model.feed.FeedItem;
|
||||
import de.danoeh.antennapod.model.feed.FeedItemFilter;
|
||||
import de.danoeh.antennapod.ui.glide.FastBlurTransformation;
|
||||
import de.danoeh.antennapod.view.ToolbarIconTintManager;
|
||||
import de.danoeh.antennapod.view.viewholder.EpisodeItemViewHolder;
|
||||
import io.reactivex.Maybe;
|
||||
@ -505,7 +504,6 @@ public class FeedItemlistFragment extends Fragment implements AdapterView.OnItem
|
||||
.apply(new RequestOptions()
|
||||
.placeholder(R.color.image_readability_tint)
|
||||
.error(R.color.image_readability_tint)
|
||||
.diskCacheStrategy(ApGlideSettings.AP_DISK_CACHE_STRATEGY)
|
||||
.transform(new FastBlurTransformation())
|
||||
.dontAnimate())
|
||||
.into(viewBinding.imgvBackground);
|
||||
@ -515,7 +513,6 @@ public class FeedItemlistFragment extends Fragment implements AdapterView.OnItem
|
||||
.apply(new RequestOptions()
|
||||
.placeholder(R.color.light_gray)
|
||||
.error(R.color.light_gray)
|
||||
.diskCacheStrategy(ApGlideSettings.AP_DISK_CACHE_STRATEGY)
|
||||
.fitCenter()
|
||||
.dontAnimate())
|
||||
.into(viewBinding.header.imgvCover);
|
||||
|
@ -47,7 +47,6 @@ import de.danoeh.antennapod.event.UnreadItemsUpdateEvent;
|
||||
import de.danoeh.antennapod.model.feed.FeedItem;
|
||||
import de.danoeh.antennapod.model.feed.FeedMedia;
|
||||
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.UserPreferences;
|
||||
import de.danoeh.antennapod.core.service.download.Downloader;
|
||||
@ -294,7 +293,6 @@ public class ItemFragment extends Fragment {
|
||||
|
||||
RequestOptions options = new RequestOptions()
|
||||
.error(R.color.light_gray)
|
||||
.diskCacheStrategy(ApGlideSettings.AP_DISK_CACHE_STRATEGY)
|
||||
.transform(new FitCenter(),
|
||||
new RoundedCorners((int) (8 * getResources().getDisplayMetrics().density)))
|
||||
.dontAnimate();
|
||||
|
@ -42,7 +42,6 @@ dependencies {
|
||||
implementation 'androidx.documentfile:documentfile:1.0.1'
|
||||
implementation "androidx.fragment:fragment:$fragmentVersion"
|
||||
implementation "androidx.media:media:$mediaVersion"
|
||||
implementation "androidx.palette:palette:$paletteVersion"
|
||||
implementation "androidx.preference:preference:$preferenceVersion"
|
||||
implementation "androidx.work:work-runtime:$workManagerVersion"
|
||||
implementation "com.google.android.material:material:$googleMaterialVersion"
|
||||
@ -51,7 +50,6 @@ dependencies {
|
||||
implementation "commons-io:commons-io:$commonsioVersion"
|
||||
implementation "org.jsoup:jsoup:$jsoupVersion"
|
||||
implementation "com.github.bumptech.glide:glide:$glideVersion"
|
||||
annotationProcessor "com.github.bumptech.glide:compiler:$glideVersion"
|
||||
implementation "com.github.bumptech.glide:okhttp3-integration:$glideVersion@aar"
|
||||
implementation "com.squareup.okhttp3:okhttp:$okhttpVersion"
|
||||
implementation "com.squareup.okhttp3:okhttp-urlconnection:$okhttpVersion"
|
||||
|
@ -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;
|
||||
}
|
@ -19,7 +19,6 @@ import de.danoeh.antennapod.core.R;
|
||||
import de.danoeh.antennapod.model.feed.Feed;
|
||||
import de.danoeh.antennapod.model.feed.FeedCounter;
|
||||
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.storage.database.PodDBAdapter;
|
||||
|
||||
@ -119,9 +118,7 @@ public class NewEpisodesNotification {
|
||||
return Glide.with(context)
|
||||
.asBitmap()
|
||||
.load(feed.getImageUrl())
|
||||
.apply(new RequestOptions()
|
||||
.diskCacheStrategy(ApGlideSettings.AP_DISK_CACHE_STRATEGY)
|
||||
.centerCrop())
|
||||
.apply(new RequestOptions().centerCrop())
|
||||
.submit(iconSize, iconSize)
|
||||
.get();
|
||||
} catch (Throwable tr) {
|
||||
|
@ -20,7 +20,6 @@ import androidx.core.content.ContextCompat;
|
||||
import com.bumptech.glide.Glide;
|
||||
import com.bumptech.glide.request.RequestOptions;
|
||||
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.receiver.MediaButtonReceiver;
|
||||
import de.danoeh.antennapod.core.util.Converter;
|
||||
@ -72,9 +71,7 @@ public class PlaybackServiceNotificationBuilder {
|
||||
|
||||
public void loadIcon() {
|
||||
int iconSize = (int) (128 * context.getResources().getDisplayMetrics().density);
|
||||
final RequestOptions options = new RequestOptions()
|
||||
.diskCacheStrategy(ApGlideSettings.AP_DISK_CACHE_STRATEGY)
|
||||
.centerCrop();
|
||||
final RequestOptions options = new RequestOptions().centerCrop();
|
||||
try {
|
||||
icon = Glide.with(context)
|
||||
.asBitmap()
|
||||
|
@ -13,14 +13,12 @@ import android.view.View;
|
||||
import android.widget.RemoteViews;
|
||||
|
||||
import com.bumptech.glide.Glide;
|
||||
import com.bumptech.glide.request.RequestOptions;
|
||||
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import de.danoeh.antennapod.core.R;
|
||||
import de.danoeh.antennapod.core.preferences.UserPreferences;
|
||||
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.PlayerWidget;
|
||||
import de.danoeh.antennapod.core.util.Converter;
|
||||
@ -89,7 +87,6 @@ public abstract class WidgetUpdater {
|
||||
icon = Glide.with(context)
|
||||
.asBitmap()
|
||||
.load(widgetState.media.getImageLocation())
|
||||
.apply(RequestOptions.diskCacheStrategyOf(ApGlideSettings.AP_DISK_CACHE_STRATEGY))
|
||||
.submit(iconSize, iconSize)
|
||||
.get(500, TimeUnit.MILLISECONDS);
|
||||
views.setImageViewBitmap(R.id.imgvCover, icon);
|
||||
@ -98,7 +95,6 @@ public abstract class WidgetUpdater {
|
||||
icon = Glide.with(context)
|
||||
.asBitmap()
|
||||
.load(ImageResourceUtils.getFallbackImageLocation(widgetState.media))
|
||||
.apply(RequestOptions.diskCacheStrategyOf(ApGlideSettings.AP_DISK_CACHE_STRATEGY))
|
||||
.submit(iconSize, iconSize)
|
||||
.get(500, TimeUnit.MILLISECONDS);
|
||||
views.setImageViewBitmap(R.id.imgvCover, icon);
|
||||
|
@ -18,6 +18,7 @@ include ':storage:database'
|
||||
|
||||
include ':ui:app-start-intent'
|
||||
include ':ui:common'
|
||||
include ':ui:glide'
|
||||
include ':ui:i18n'
|
||||
include ':ui:png-icons'
|
||||
include ':ui:statistics'
|
||||
|
3
ui/glide/README.md
Normal file
3
ui/glide/README.md
Normal file
@ -0,0 +1,3 @@
|
||||
# :ui:glide
|
||||
|
||||
Configuration and ModelLoaders for the Glide image loading library.
|
27
ui/glide/build.gradle
Normal file
27
ui/glide/build.gradle
Normal file
@ -0,0 +1,27 @@
|
||||
plugins {
|
||||
id("com.android.library")
|
||||
}
|
||||
apply from: "../../common.gradle"
|
||||
apply from: "../../playFlavor.gradle"
|
||||
|
||||
android {
|
||||
lintOptions {
|
||||
disable "InvalidPeriodicWorkRequestInterval", "ObsoleteLintCustomCheck", "DefaultLocale", "UnusedAttribute",
|
||||
"ParcelClassLoader", "CheckResult", "TrustAllX509TrustManager",
|
||||
"StaticFieldLeak", "IconDensities", "IconDuplicates", "MissingPermission", "AppCompatResource",
|
||||
"GradleCompatible", "QueryPermissionsNeeded"
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation project(":model")
|
||||
implementation project(":core")
|
||||
|
||||
implementation "androidx.palette:palette:$paletteVersion"
|
||||
|
||||
implementation "com.github.bumptech.glide:glide:$glideVersion"
|
||||
implementation "com.github.bumptech.glide:okhttp3-integration:$glideVersion@aar"
|
||||
annotationProcessor "com.github.bumptech.glide:compiler:$glideVersion"
|
||||
implementation "com.squareup.okhttp3:okhttp:$okhttpVersion"
|
||||
implementation "commons-io:commons-io:$commonsioVersion"
|
||||
}
|
1
ui/glide/src/main/AndroidManifest.xml
Normal file
1
ui/glide/src/main/AndroidManifest.xml
Normal file
@ -0,0 +1 @@
|
||||
<manifest package="de.danoeh.antennapod.ui.glide" />
|
@ -1,4 +1,4 @@
|
||||
package de.danoeh.antennapod.core.glide;
|
||||
package de.danoeh.antennapod.ui.glide;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.content.Context;
|
||||
@ -11,6 +11,7 @@ import com.bumptech.glide.GlideBuilder;
|
||||
import com.bumptech.glide.Registry;
|
||||
import com.bumptech.glide.annotation.GlideModule;
|
||||
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.module.AppGlideModule;
|
||||
|
||||
@ -31,7 +32,9 @@ public class ApGlideModule extends AppGlideModule {
|
||||
|
||||
@Override
|
||||
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);
|
||||
@SuppressLint("UsableSpace")
|
||||
long spaceAvailable = context.getCacheDir().getUsableSpace();
|
@ -1,4 +1,4 @@
|
||||
package de.danoeh.antennapod.core.glide;
|
||||
package de.danoeh.antennapod.ui.glide;
|
||||
|
||||
import android.content.ContentResolver;
|
||||
import android.text.TextUtils;
|
@ -1,4 +1,4 @@
|
||||
package de.danoeh.antennapod.core.glide;
|
||||
package de.danoeh.antennapod.ui.glide;
|
||||
|
||||
import android.content.ContentResolver;
|
||||
import android.content.Context;
|
@ -1,4 +1,4 @@
|
||||
package de.danoeh.antennapod.core.glide;
|
||||
package de.danoeh.antennapod.ui.glide;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import com.bumptech.glide.Priority;
|
@ -1,4 +1,4 @@
|
||||
package de.danoeh.antennapod.core.glide;
|
||||
package de.danoeh.antennapod.ui.glide;
|
||||
|
||||
import android.graphics.Bitmap;
|
||||
import android.media.ThumbnailUtils;
|
@ -1,4 +1,4 @@
|
||||
package de.danoeh.antennapod.core.glide;
|
||||
package de.danoeh.antennapod.ui.glide;
|
||||
|
||||
import android.graphics.Bitmap;
|
||||
import android.graphics.Canvas;
|
@ -1,4 +1,4 @@
|
||||
package de.danoeh.antennapod.core.glide;
|
||||
package de.danoeh.antennapod.ui.glide;
|
||||
|
||||
import android.content.Context;
|
||||
import androidx.annotation.NonNull;
|
@ -1,4 +1,4 @@
|
||||
package de.danoeh.antennapod.core.glide;
|
||||
package de.danoeh.antennapod.ui.glide;
|
||||
|
||||
import android.net.Uri;
|
||||
import androidx.annotation.NonNull;
|
@ -2,7 +2,7 @@
|
||||
* Source: https://github.com/bumptech/glide/wiki/Custom-targets#palette-example
|
||||
*/
|
||||
|
||||
package de.danoeh.antennapod.core.glide;
|
||||
package de.danoeh.antennapod.ui.glide;
|
||||
|
||||
import android.graphics.Bitmap;
|
||||
|
@ -2,7 +2,7 @@
|
||||
* Source: https://github.com/bumptech/glide/wiki/Custom-targets#palette-example
|
||||
*/
|
||||
|
||||
package de.danoeh.antennapod.core.glide;
|
||||
package de.danoeh.antennapod.ui.glide;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
@ -2,7 +2,7 @@
|
||||
* Source: https://github.com/bumptech/glide/wiki/Custom-targets#palette-example
|
||||
*/
|
||||
|
||||
package de.danoeh.antennapod.core.glide;
|
||||
package de.danoeh.antennapod.ui.glide;
|
||||
|
||||
import android.graphics.Bitmap;
|
||||
|
@ -1,4 +1,4 @@
|
||||
package de.danoeh.antennapod.core.glide;
|
||||
package de.danoeh.antennapod.ui.glide;
|
||||
|
||||
import android.graphics.Bitmap;
|
||||
import android.graphics.BitmapFactory;
|
||||
@ -9,6 +9,7 @@ import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import com.bumptech.glide.Priority;
|
||||
import com.bumptech.glide.integration.okhttp3.OkHttpStreamFetcher;
|
||||
import com.bumptech.glide.load.data.DataFetcher;
|
||||
import com.bumptech.glide.load.model.GlideUrl;
|
||||
import okhttp3.Call;
|
||||
import org.apache.commons.io.FileUtils;
|
||||
@ -36,8 +37,8 @@ public class ResizingOkHttpStreamFetcher extends OkHttpStreamFetcher {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void loadData(@NonNull Priority priority, @NonNull DataCallback<? super InputStream> callback) {
|
||||
super.loadData(priority, new DataCallback<InputStream>() {
|
||||
public void loadData(@NonNull Priority priority, @NonNull DataFetcher.DataCallback<? super InputStream> callback) {
|
||||
super.loadData(priority, new DataFetcher.DataCallback<InputStream>() {
|
||||
@Override
|
||||
public void onDataReady(@Nullable InputStream data) {
|
||||
if (data == null) {
|
@ -28,7 +28,6 @@ dependencies {
|
||||
|
||||
implementation "org.greenrobot:eventbus:$eventbusVersion"
|
||||
implementation "com.github.bumptech.glide:glide:$glideVersion"
|
||||
annotationProcessor "com.github.bumptech.glide:compiler:$glideVersion"
|
||||
implementation "io.reactivex.rxjava2:rxandroid:$rxAndroidVersion"
|
||||
implementation "io.reactivex.rxjava2:rxjava:$rxJavaVersion"
|
||||
implementation "com.joanzapata.iconify:android-iconify-fontawesome:$iconifyVersion"
|
||||
|
@ -12,7 +12,6 @@ import android.widget.TextView;
|
||||
import com.bumptech.glide.Glide;
|
||||
import com.bumptech.glide.request.RequestOptions;
|
||||
|
||||
import de.danoeh.antennapod.core.glide.ApGlideSettings;
|
||||
import de.danoeh.antennapod.core.storage.StatisticsItem;
|
||||
|
||||
import java.util.List;
|
||||
@ -66,7 +65,6 @@ public abstract class StatisticsListAdapter extends RecyclerView.Adapter<Recycle
|
||||
.apply(new RequestOptions()
|
||||
.placeholder(R.color.light_gray)
|
||||
.error(R.color.light_gray)
|
||||
.diskCacheStrategy(ApGlideSettings.AP_DISK_CACHE_STRATEGY)
|
||||
.fitCenter()
|
||||
.dontAnimate())
|
||||
.into(holder.image);
|
||||
|
Loading…
x
Reference in New Issue
Block a user