diff options
author | Sam Judd <judds@google.com> | 2014-06-18 19:11:48 -0700 |
---|---|---|
committer | Sam Judd <judds@google.com> | 2014-06-19 08:25:13 -0700 |
commit | acbeb5b5e7b63f70ccdfa212af0bed3ca62cee11 (patch) | |
tree | c4475e0acb3e9bdeb91c77257f88381df0450011 | |
parent | b46fae747f6bf04b849442f851a1c9da51434ec1 (diff) | |
download | glide-acbeb5b5e7b63f70ccdfa212af0bed3ca62cee11.tar.gz |
Don't replace thumbnails with placeholders.
3 files changed, 28 insertions, 2 deletions
diff --git a/library/src/main/java/com/bumptech/glide/request/ThumbnailRequestCoordinator.java b/library/src/main/java/com/bumptech/glide/request/ThumbnailRequestCoordinator.java index ef6c4e3c..41bad668 100644 --- a/library/src/main/java/com/bumptech/glide/request/ThumbnailRequestCoordinator.java +++ b/library/src/main/java/com/bumptech/glide/request/ThumbnailRequestCoordinator.java @@ -20,7 +20,7 @@ public class ThumbnailRequestCoordinator implements RequestCoordinator, Request @Override public boolean canSetPlaceholder(Request request) { - return request == full; + return request == full && !isAnyRequestComplete(); } @Override diff --git a/library/src/test/java/com/bumptech/glide/request/GenericRequestTest.java b/library/src/test/java/com/bumptech/glide/request/GenericRequestTest.java index 5df62668..b1cd5b13 100644 --- a/library/src/test/java/com/bumptech/glide/request/GenericRequestTest.java +++ b/library/src/test/java/com/bumptech/glide/request/GenericRequestTest.java @@ -572,7 +572,7 @@ public class GenericRequestTest { } @Test - public void testCallsEngingWithOverrideWidthAndHeightIfSet() { + public void testCallsEngineWithOverrideWidthAndHeightIfSet() { harness.overrideWidth = 1; harness.overrideHeight = 2; GenericRequest<Object, Object, Object, Object> request = harness.getRequest(); @@ -584,6 +584,16 @@ public class GenericRequestTest { any(Priority.class), anyBoolean(), any(ResourceCallback.class)); } + @Test + public void testDoesNotSetErrorDrawableIfRequestCoordinatorDoesntAllowIt() { + harness.errorDrawable = new ColorDrawable(Color.RED); + GenericRequest<Object, Object, Object, Object> request = harness.getRequest(); + when(harness.requestCoordinator.canSetPlaceholder(any(Request.class))).thenReturn(false); + request.onException(new IOException("Test")); + + verify(harness.target, never()).setPlaceholder(any(Drawable.class)); + } + private Context mockContextToReturn(int resourceId, Drawable drawable) { Resources resources = mock(Resources.class); Context context = mock(Context.class); diff --git a/library/src/test/java/com/bumptech/glide/request/ThumbnailRequestCoordinatorTest.java b/library/src/test/java/com/bumptech/glide/request/ThumbnailRequestCoordinatorTest.java index 9ddda008..c740ec6b 100644 --- a/library/src/test/java/com/bumptech/glide/request/ThumbnailRequestCoordinatorTest.java +++ b/library/src/test/java/com/bumptech/glide/request/ThumbnailRequestCoordinatorTest.java @@ -80,4 +80,20 @@ public class ThumbnailRequestCoordinatorTest { verify(thumb,never()).run(); } + + @Test + public void testDoesNotAllowThumbToSetPlaceholder() { + assertFalse(coordinator.canSetPlaceholder(thumb)); + } + + @Test + public void testAllowsFullToSetPlaceholder() { + assertTrue(coordinator.canSetPlaceholder(full)); + } + + @Test + public void testDoesNotAllowFullToSetPlaceholderIfThumbComplete() { + when(thumb.isComplete()).thenReturn(true); + assertFalse(coordinator.canSetPlaceholder(full)); + } } |