* 修正的原则就是最终返回的图片的比例一定是跟 {@link Resize} 一样的,但尺寸小于等于 {@link Resize} ,如果需要必须同 {@link Resize} 一致可以设置 {@link Mode#ASPECT_RATIO_SAME} */ -public class Resize implements Identifier { +public class Resize implements Key { private int width; private int height; @@ -123,7 +124,7 @@ public boolean equals(final Object obj) { @NonNull @Override - public String getKey() { + public String toString() { return String.format("Resize(%dx%d-%s-%s)", width, height, scaleType != null ? scaleType.name() : "null", mode.name()); } @@ -132,6 +133,12 @@ public Mode getMode() { return mode; } + @Nullable + @Override + public String getKey() { + return toString(); + } + public enum Mode { /** * 新图片的尺寸不会比 {@link Resize} 大,但宽高比一定会一样 diff --git a/sketch/src/main/java/me/xiaopan/sketch/request/ShapeSize.java b/sketch/src/main/java/me/xiaopan/sketch/request/ShapeSize.java index 328e55bcc1..bcc359849f 100644 --- a/sketch/src/main/java/me/xiaopan/sketch/request/ShapeSize.java +++ b/sketch/src/main/java/me/xiaopan/sketch/request/ShapeSize.java @@ -19,7 +19,6 @@ import android.support.annotation.NonNull; import android.widget.ImageView; -import me.xiaopan.sketch.Identifier; import me.xiaopan.sketch.drawable.SketchShapeBitmapDrawable; /** @@ -29,7 +28,7 @@ *
* 当使用 {@link ShapeSize} 时,就可以使用同一个 {@link android.graphics.Bitmap} 在绘制时显示出不同的尺寸,避免了产生多个差别很小的 {@link android.graphics.Bitmap},提高了内存缓存利用率 */ -public class ShapeSize implements Identifier { +public class ShapeSize { private int width; private int height; private ImageView.ScaleType scaleType; @@ -89,7 +88,7 @@ public boolean equals(final Object obj) { @NonNull @Override - public String getKey() { + public String toString() { return String.format("ShapeSize(%dx%d)", width, height); } diff --git a/sketch/src/main/java/me/xiaopan/sketch/uri/UriModelManager.java b/sketch/src/main/java/me/xiaopan/sketch/uri/UriModelManager.java index 86e88f10aa..b35657f850 100644 --- a/sketch/src/main/java/me/xiaopan/sketch/uri/UriModelManager.java +++ b/sketch/src/main/java/me/xiaopan/sketch/uri/UriModelManager.java @@ -23,8 +23,6 @@ import java.util.LinkedList; import java.util.List; -import me.xiaopan.sketch.Identifier; - /** * 负责管理和匹配 {@link UriModel},默认支持以下 uri 和 {@link UriModel} *
@@ -47,7 +45,7 @@ *
* 通过 {@link #match(String)} 方法可以为指定 uri 匹配对应的 {@link UriModel}
*/
-public class UriModelManager implements Identifier {
+public class UriModelManager {
private List