/** * Sets the stable key for this request to be used instead of the URI or resource ID when * caching. Two requests with the same value are considered to be for the same resource. */ @NonNull public RequestCreator stableKey(@NonNull String stableKey) { data.stableKey(stableKey); return this; }
@Test public void decodesVideoThumbnailWithVideoMimeType() { final Bitmap bitmap = makeBitmap(); Request request = new Request.Builder(MEDIA_STORE_CONTENT_1_URL, 0, ARGB_8888) .stableKey(MEDIA_STORE_CONTENT_KEY_1).resize(100, 100).build(); Action action = mockAction(request); MediaStoreRequestHandler requestHandler = create("video/"); requestHandler.load(null, action.request, new RequestHandler.Callback() { @Override public void onSuccess(Result result) { assertBitmapsEqual(result.getBitmap(), bitmap); } @Override public void onError(@NonNull Throwable t) { fail(t.getMessage()); } }); }
@Test public void decodesImageThumbnailWithImageMimeType() { final Bitmap bitmap = makeBitmap(20, 20); Request request = new Request.Builder(MEDIA_STORE_CONTENT_1_URL, 0, ARGB_8888) .stableKey(MEDIA_STORE_CONTENT_KEY_1).resize(100, 100).build(); Action action = mockAction(request); MediaStoreRequestHandler requestHandler = create("image/png"); requestHandler.load(null, action.request, new RequestHandler.Callback() { @Override public void onSuccess(Result result) { assertBitmapsEqual(result.getBitmap(), bitmap); } @Override public void onError(@NonNull Throwable t) { fail(t.getMessage()); } }); }
static Action mockAction(String key, Uri uri, Object target, int resourceId, Priority priority, String tag) { Request.Builder builder = new Request.Builder(uri, resourceId, DEFAULT_CONFIG).stableKey(key); if (priority != null) { builder.priority(priority); } Request request = builder.build(); return mockAction(request, target, tag); }