diff --git a/arms-imageloader-glide/src/main/java/com/jess/arms/http/imageloader/glide/CacheStrategy.java b/arms-imageloader-glide/src/main/java/com/jess/arms/http/imageloader/glide/CacheStrategy.java new file mode 100644 index 0000000000000000000000000000000000000000..c35ca7d03578fb7b4a3852345c101f7be476c7b4 --- /dev/null +++ b/arms-imageloader-glide/src/main/java/com/jess/arms/http/imageloader/glide/CacheStrategy.java @@ -0,0 +1,36 @@ +package com.jess.arms.http.imageloader.glide; + +import android.support.annotation.IntDef; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + + +/** + * Incremental change is better than ambitious failure. + * + * @author : MysticCoder + * @date : 2019/4/29 + * @desc :0对应DiskCacheStrategy.all,1对应DiskCacheStrategy.NONE,2对应DiskCacheStrategy.SOURCE,3对应DiskCacheStrategy.RESULT + * see {@link com.bumptech.glide.load.engine.DiskCacheStrategy} + */ + +public interface CacheStrategy { + + + + int ALL = 0; + + int NONE = 1; + + int RESOURCE = 2; + + int DATA = 3; + + int AUTOMATIC = 4; + + @IntDef({ALL,NONE,RESOURCE,DATA,AUTOMATIC}) + @Retention(RetentionPolicy.SOURCE) + @interface Strategy{} + +} \ No newline at end of file diff --git a/arms-imageloader-glide/src/main/java/com/jess/arms/http/imageloader/glide/GlideImageLoaderStrategy.java b/arms-imageloader-glide/src/main/java/com/jess/arms/http/imageloader/glide/GlideImageLoaderStrategy.java index 3f4980a295bee9bca201717ac8af5f7714c2a51b..3782987edfb2b6007e1bb35af8387d77a4192261 100644 --- a/arms-imageloader-glide/src/main/java/com/jess/arms/http/imageloader/glide/GlideImageLoaderStrategy.java +++ b/arms-imageloader-glide/src/main/java/com/jess/arms/http/imageloader/glide/GlideImageLoaderStrategy.java @@ -63,19 +63,19 @@ public class GlideImageLoaderStrategy implements BaseImageLoaderStrategy glideRequest = requests.load(config.getUrl()); switch (config.getCacheStrategy()) {//缓存策略 - case 0: + case CacheStrategy.ALL: glideRequest.diskCacheStrategy(DiskCacheStrategy.ALL); break; - case 1: + case CacheStrategy.NONE: glideRequest.diskCacheStrategy(DiskCacheStrategy.NONE); break; - case 2: + case CacheStrategy.RESOURCE: glideRequest.diskCacheStrategy(DiskCacheStrategy.RESOURCE); break; - case 3: + case CacheStrategy.DATA: glideRequest.diskCacheStrategy(DiskCacheStrategy.DATA); break; - case 4: + case CacheStrategy.AUTOMATIC: glideRequest.diskCacheStrategy(DiskCacheStrategy.AUTOMATIC); break; default: diff --git a/arms-imageloader-glide/src/main/java/com/jess/arms/http/imageloader/glide/ImageConfigImpl.java b/arms-imageloader-glide/src/main/java/com/jess/arms/http/imageloader/glide/ImageConfigImpl.java index 30bbbe3c1db5be39cb7a07a79f366dfea96b19e6..d2b4af5d8b0324aa569adcc1e79c93715de2590d 100644 --- a/arms-imageloader-glide/src/main/java/com/jess/arms/http/imageloader/glide/ImageConfigImpl.java +++ b/arms-imageloader-glide/src/main/java/com/jess/arms/http/imageloader/glide/ImageConfigImpl.java @@ -34,7 +34,7 @@ import com.jess.arms.http.imageloader.ImageLoader; * ================================================ */ public class ImageConfigImpl extends ImageConfig { - private int cacheStrategy;//0对应DiskCacheStrategy.all,1对应DiskCacheStrategy.NONE,2对应DiskCacheStrategy.SOURCE,3对应DiskCacheStrategy.RESULT + private @CacheStrategy.Strategy int cacheStrategy;//0对应DiskCacheStrategy.all,1对应DiskCacheStrategy.NONE,2对应DiskCacheStrategy.SOURCE,3对应DiskCacheStrategy.RESULT private int fallback; //请求 url 为空,则使用此图片作为占位符 private int imageRadius;//图片每个圆角的大小 private int blurValue;//高斯模糊值, 值越大模糊效果越大 @@ -68,7 +68,7 @@ public class ImageConfigImpl extends ImageConfig { this.isClearDiskCache = builder.isClearDiskCache; } - public int getCacheStrategy() { + public @CacheStrategy.Strategy int getCacheStrategy() { return cacheStrategy; } @@ -130,7 +130,7 @@ public class ImageConfigImpl extends ImageConfig { private int placeholder; private int errorPic; private int fallback; //请求 url 为空,则使用此图片作为占位符 - private int cacheStrategy;//0对应DiskCacheStrategy.all,1对应DiskCacheStrategy.NONE,2对应DiskCacheStrategy.SOURCE,3对应DiskCacheStrategy.RESULT + private @CacheStrategy.Strategy int cacheStrategy;//0对应DiskCacheStrategy.all,1对应DiskCacheStrategy.NONE,2对应DiskCacheStrategy.SOURCE,3对应DiskCacheStrategy.RESULT private int imageRadius;//图片每个圆角的大小 private int blurValue;//高斯模糊值, 值越大模糊效果越大 /** @@ -173,7 +173,7 @@ public class ImageConfigImpl extends ImageConfig { return this; } - public Builder cacheStrategy(int cacheStrategy) { + public Builder cacheStrategy(@CacheStrategy.Strategy int cacheStrategy) { this.cacheStrategy = cacheStrategy; return this; }