@Test public void testLocalVideoMiniThumbnailSuccess() throws Exception { when(mImageRequest.getPreferredWidth()).thenReturn(100); when(mImageRequest.getPreferredHeight()).thenReturn(100); when(android.media.ThumbnailUtils.createVideoThumbnail( mFile.getPath(), MediaStore.Images.Thumbnails.MINI_KIND)) .thenReturn(mBitmap); doAnswer( new Answer() { @Override public Object answer(InvocationOnMock invocation) throws Throwable { mCloseableReference = ((CloseableReference) invocation.getArguments()[0]).clone(); return null; } }) .when(mConsumer) .onNewResult(any(CloseableReference.class), eq(true)); mLocalVideoThumbnailProducer.produceResults(mConsumer, mProducerContext); mExecutor.runUntilIdle(); assertEquals(1, mCloseableReference.getUnderlyingReferenceTestOnly().getRefCountTestOnly()); assertEquals( mBitmap, mCloseableReference.getUnderlyingReferenceTestOnly().get().getUnderlyingBitmap()); verify(mProducerListener).onProducerStart(mRequestId, PRODUCER_NAME); verify(mProducerListener).onProducerFinishWithSuccess(mRequestId, PRODUCER_NAME, null); }
private boolean isResultGoodEnough(EncodedImage encodedimage, ImageRequest imagerequest) { while (encodedimage == null || encodedimage.getWidth() < imagerequest.getPreferredWidth() || encodedimage.getHeight() < imagerequest.getPreferredHeight()) { return false; } return true; }