@Override public void getSize(SizeReadyCallback cb) { if (target != null) target.getSize(cb); }
@Override public void getSize(SizeReadyCallback cb) { target.getSize(cb); }
private <Resource> List<Integer> getTargetsSizes( RequestBuilder<Resource> requestBuilder, VerificationMode mode) { ArgumentCaptor<Integer> integerArgumentCaptor = ArgumentCaptor.forClass(Integer.class); ArgumentCaptor<Target<Resource>> targetArgumentCaptor = cast(ArgumentCaptor.forClass(Target.class)); SizeReadyCallback cb = mock(SizeReadyCallback.class); verify(requestBuilder, mode).into(targetArgumentCaptor.capture()); for (Target<Resource> target : targetArgumentCaptor.getAllValues()) { target.getSize(cb); } verify(cb, mode).onSizeReady(integerArgumentCaptor.capture(), integerArgumentCaptor.capture()); return integerArgumentCaptor.getAllValues(); }
@Test public void testDoesNotCallGetSizeIfOverrideWidthAndHeightAreSet() { SingleRequest<List> request = builder .setOverrideWidth(100) .setOverrideHeight(100) .build(); request.begin(); verify(builder.target, never()).getSize(any(SizeReadyCallback.class)); }
@Test public void testCallsGetSizeIfOverrideWidthIsLessThanZero() { SingleRequest<List> request = builder .setOverrideWidth(-1) .setOverrideHeight(100) .build(); request.begin(); verify(builder.target).getSize(any(SizeReadyCallback.class)); }
@Test public void testClone() { Target<Drawable> firstTarget = mock(Target.class); doAnswer(new CallSizeReady(100, 100)).when(firstTarget).getSize(isA(SizeReadyCallback.class)); Target<Drawable> secondTarget = mock(Target.class); doAnswer(new CallSizeReady(100, 100)).when(secondTarget).getSize(isA(SizeReadyCallback.class)); RequestBuilder<Drawable> firstRequest = requestManager .load(mockUri("content://first")); firstRequest.into(firstTarget); firstRequest.clone() .apply(placeholderOf(new ColorDrawable(Color.RED))) .into(secondTarget); verify(firstTarget).onResourceReady(isA(Drawable.class), isA(Transition.class)); verify(secondTarget).onResourceReady(notNull(Drawable.class), isA(Transition.class)); }
@Test public void testCallsGetSizeIfOverrideHeightIsLessThanZero() { SingleRequest<List> request = builder .setOverrideWidth(100) .setOverrideHeight(-1) .build(); request.begin(); verify(builder.target).getSize(any(SizeReadyCallback.class)); }
@Test public void testCallsSourceUnlimitedExecutorEngineIfOptionsIsSet() { doAnswer(new CallSizeReady(100, 100)).when(builder.target) .getSize(any(SizeReadyCallback.class)); SingleRequest<List> request = builder .setUseUnlimitedSourceGeneratorsPool(true) .build(); request.begin(); verify(builder.engine) .load( eq(builder.glideContext), eq(builder.model), eq(builder.signature), anyInt(), anyInt(), eq(Object.class), eq(List.class), any(Priority.class), any(DiskCacheStrategy.class), eq(builder.transformations), anyBoolean(), anyBoolean(), any(Options.class), anyBoolean(), eq(true), /*useAnimationPool=*/ anyBoolean(), anyBoolean(), any(ResourceCallback.class), anyExecutor()); }
@Test public void testCallsSourceExecutorEngineIfOptionsIsSet() { doAnswer(new CallSizeReady(100, 100)).when(builder.target) .getSize(any(SizeReadyCallback.class)); SingleRequest<List> request = builder .setUseUnlimitedSourceGeneratorsPool(false) .build(); request.begin(); verify(builder.engine) .load( eq(builder.glideContext), eq(builder.model), eq(builder.signature), anyInt(), anyInt(), eq(Object.class), eq(List.class), any(Priority.class), any(DiskCacheStrategy.class), eq(builder.transformations), anyBoolean(), anyBoolean(), any(Options.class), anyBoolean(), eq(false), /*useAnimationPool=*/ anyBoolean(), anyBoolean(), any(ResourceCallback.class), anyExecutor()); }
@Test public void testCanReRunClearedRequests() { doAnswer(new CallSizeReady(100, 100)).when(builder.target) .getSize(any(SizeReadyCallback.class));
imageView.setLayoutParams(new ViewGroup.LayoutParams(100, 100)); imageView.layout(0, 0, 100, 100); doAnswer(new CallSizeReady()).when(target).getSize(isA(SizeReadyCallback.class));
@Override public void getSize(SizeReadyCallback cb) { target.getSize(cb); }
onSizeReady(overrideWidth, overrideHeight); } else { target.getSize(this);
@Override public void getSize(SizeReadyCallback cb) { if (target != null) target.getSize(cb); }
@Override public void getSize(SizeReadyCallback cb) { target.getSize(cb); }
/** * {@inheritDoc} */ @Override public void begin() { startTime = LogTime.getLogTime(); if (model == null) { onException(null); return; } status = Status.WAITING_FOR_SIZE; if (Util.isValidDimensions(overrideWidth, overrideHeight)) { onSizeReady(overrideWidth, overrideHeight); } else { target.getSize(this); } if (!isComplete() && !isFailed() && canNotifyStatusChanged()) { target.onLoadStarted(getPlaceholderDrawable()); } if (Log.isLoggable(TAG, Log.VERBOSE)) { logV("finished run method in " + LogTime.getElapsedMillis(startTime)); } }
@Override public void onBindViewHolder(ClickableViewHolder holder, int position) { if (holder instanceof ItemViewHolder) { final ItemViewHolder itemViewHolder = (ItemViewHolder) holder; itemViewHolder.mTextView.setText(meiziList.get(position).getTitle()); Glide.with(getContext()) .load(meiziList.get(position).getThumb()) .centerCrop() .diskCacheStrategy(DiskCacheStrategy.ALL) .placeholder(R.drawable.placeholder_image) .into(itemViewHolder.ratioImageView) .getSize((width, height) -> { if (!itemViewHolder.item.isShown()) { itemViewHolder.item.setVisibility(View.VISIBLE); } }); } super.onBindViewHolder(holder, position); }
@Override public void onBindViewHolder(ClickableViewHolder holder, int position) { if (holder instanceof ItemViewHolder) { final ItemViewHolder itemViewHolder = (ItemViewHolder) holder; itemViewHolder.mTextView.setText(meiziList.get(position).getTitle()); Glide.with(getContext()) .load(meiziList.get(position).getUrl()) .centerCrop() .diskCacheStrategy(DiskCacheStrategy.ALL) .placeholder(R.drawable.placeholder_image) .into(itemViewHolder.ratioImageView) .getSize((width, height) -> { if (!itemViewHolder.item.isShown()) { itemViewHolder.item.setVisibility(View.VISIBLE); } }); itemViewHolder.ratioImageView.setTag(R.string.app_name, meiziList.get(position).getUrl()); ViewCompat.setTransitionName(itemViewHolder.ratioImageView, meiziList.get(position).getUrl()); } super.onBindViewHolder(holder, position); }
@Override public void onBindViewHolder(ClickableViewHolder holder, int position) { if (holder instanceof ItemViewHolder) { final ItemViewHolder itemViewHolder = (ItemViewHolder) holder; itemViewHolder.mTextView.setText(meizis.get(position).getDesc()); Glide.with(getContext()) .load(meizis.get(position).getUrl()) .centerCrop() .diskCacheStrategy(DiskCacheStrategy.ALL) .placeholder(R.drawable.placeholder_image) .into(itemViewHolder.ratioImageView) .getSize((width, height) -> { if (!itemViewHolder.item.isShown()) { itemViewHolder.item.setVisibility(View.VISIBLE); } }); itemViewHolder.ratioImageView.setTag(R.string.app_name, meizis.get(position).getUrl()); ViewCompat.setTransitionName(itemViewHolder.ratioImageView, meizis.get(position).getUrl()); } super.onBindViewHolder(holder, position); }
@Override public void onBindViewHolder(ClickableViewHolder holder, int position) { if (holder instanceof ItemViewHolder) { final ItemViewHolder itemViewHolder = (ItemViewHolder) holder; itemViewHolder.mTextView.setText(meiziList.get(position).getTitle()); Glide.with(getContext()) .load(meiziList.get(position).getImageurl()) .centerCrop() .diskCacheStrategy(DiskCacheStrategy.ALL) .placeholder(R.drawable.placeholder_image) .into(itemViewHolder.ratioImageView) .getSize((width, height) -> { if (!itemViewHolder.item.isShown()) { itemViewHolder.item.setVisibility(View.VISIBLE); } }); itemViewHolder.ratioImageView.setTag(R.string.app_name, meiziList.get(position).getImageurl()); ViewCompat.setTransitionName(itemViewHolder.ratioImageView, meiziList.get(position).getImageurl()); } super.onBindViewHolder(holder, position); }