@NonNull @Override public BitmapDrawable get() { return new BitmapDrawable(resources, bitmapResource.get()); }
@Override protected Drawable getDrawable(Bitmap resource) { return new BitmapDrawable(view.getResources(), resource); } }
/** * Sets the default artwork to display if {@code useArtwork} is {@code true} and no artwork is * present in the media. * * @param defaultArtwork the default artwork to display. * @deprecated use (@link {@link #setDefaultArtwork(Drawable)} instead. */ @Deprecated public void setDefaultArtwork(@Nullable Bitmap defaultArtwork) { setDefaultArtwork( defaultArtwork == null ? null : new BitmapDrawable(getResources(), defaultArtwork)); }
BitmapDrawableResource create() { return new BitmapDrawableResource( new BitmapDrawable(RuntimeEnvironment.application.getResources(), bitmap), bitmapPool); } }
private boolean setArtworkFromMetadata(Metadata metadata) { for (int i = 0; i < metadata.length(); i++) { Metadata.Entry metadataEntry = metadata.get(i); if (metadataEntry instanceof ApicFrame) { byte[] bitmapData = ((ApicFrame) metadataEntry).pictureData; Bitmap bitmap = BitmapFactory.decodeByteArray(bitmapData, 0, bitmapData.length); return setDrawableArtwork(new BitmapDrawable(getResources(), bitmap)); } } return false; }
@Implementation protected static Drawable createFromStream(InputStream is, String srcName) { if (corruptStreamSources.contains(srcName)) { return null; } BitmapDrawable drawable = new BitmapDrawable(ReflectionHelpers.callConstructor(Bitmap.class)); ShadowBitmapDrawable shadowBitmapDrawable = Shadow.extract(drawable); shadowBitmapDrawable.createdFromInputStream = is; shadowBitmapDrawable.drawableCreateFromStreamSource = srcName; shadowBitmapDrawable.validate(); // start off not invalidated return drawable; }
public static Drawable createFromResourceId(int resourceId) { Bitmap bitmap = ReflectionHelpers.callConstructor(Bitmap.class); ShadowBitmap shadowBitmap = Shadow.extract(bitmap); shadowBitmap.createdFromResId = resourceId; BitmapDrawable drawable = new BitmapDrawable(bitmap); ShadowBitmapDrawable shadowBitmapDrawable = Shadow.extract(drawable); shadowBitmapDrawable.validate(); // start off not invalidated shadowBitmapDrawable.createdFromResId = resourceId; return drawable; }
@Test public void loadBitmapDrawable_asBytes_providesBytesOfBitmap() { Bitmap bitmap = BitmapFactory.decodeResource(context.getResources(), ResourceIds.raw.canonical); byte[] data = concurrency.get( Glide.with(context) .as(byte[].class) .load(new BitmapDrawable(context.getResources(), bitmap)) .submit()); assertThat(data).isNotNull(); assertThat(BitmapFactory.decodeByteArray(data, 0, data.length)).isNotNull(); }
@Test public void shouldRecordBackgroundDrawable() { Drawable drawable = new BitmapDrawable(BitmapFactory.decodeFile("some/fake/file")); view.setBackgroundDrawable(drawable); assertThat(view.getBackground()).isSameAs(drawable); assertThat(ShadowView.visualize(view)).isEqualTo("background:\nBitmap for file:some/fake/file"); }
@Test public void transform_withBitmapDrawable_andUnitBitmapTransformation_doesNotRecycle() { when( bitmapTransformation .transform( any(Context.class), anyBitmapResource(), anyInt(), anyInt())) .thenAnswer(new ReturnGivenResource()); Bitmap bitmap = Bitmap.createBitmap(100, 200, Bitmap.Config.ARGB_8888); BitmapDrawable drawable = new BitmapDrawable(context.getResources(), bitmap); @SuppressWarnings("unchecked") Resource<Drawable> input = (Resource<Drawable>) (Resource<?>) new BitmapDrawableResource(drawable, bitmapPool); transformation.transform(context, input, /*outWidth=*/ 100, /*outHeight=*/ 200); assertThat(bitmap.isRecycled()).isFalse(); }
@Test public void transform_withBitmapDrawable_andFunctionalBitmapTransformation_doesNotRecycle() { when(bitmapTransformation.transform( any(Context.class), anyBitmapResource(), anyInt(), anyInt())) .thenAnswer(new Answer<Resource<Bitmap>>() { @Override public Resource<Bitmap> answer(InvocationOnMock invocationOnMock) throws Throwable { return BitmapResource.obtain( Bitmap.createBitmap(200, 200, Bitmap.Config.ARGB_8888), bitmapPool); } }); Bitmap bitmap = Bitmap.createBitmap(100, 200, Bitmap.Config.ARGB_8888); BitmapDrawable drawable = new BitmapDrawable(context.getResources(), bitmap); @SuppressWarnings("unchecked") Resource<Drawable> input = (Resource<Drawable>) (Resource<?>) new BitmapDrawableResource(drawable, bitmapPool); transformation.transform(context, input, /*outWidth=*/ 100, /*outHeight=*/ 200); assertThat(bitmap.isRecycled()).isFalse(); }
@Before public void setUp() { MockitoAnnotations.initMocks(this); bitmapToTransform = Bitmap.createBitmap(100, 100, Bitmap.Config.ARGB_8888); BitmapDrawable drawableToTransform = new BitmapDrawable(bitmapToTransform); context = RuntimeEnvironment.application; Glide.init(context, new GlideBuilder().setBitmapPool(bitmapPool)); when(drawableResourceToTransform.get()).thenReturn(drawableToTransform); transformation = new BitmapDrawableTransformation(wrapped); }
@Test public void constructor_shouldAcceptNullBitmap() throws Exception { assertThat( new BitmapDrawable( ApplicationProvider.getApplicationContext().getResources(), (Bitmap) null)) .isNotNull(); } }
@Test public void testReturnsTargetForBitmapDrawables() { BitmapDrawable drawable = new BitmapDrawable(RuntimeEnvironment.application.getResources(), Bitmap.createBitmap(100, 100, Bitmap.Config.ARGB_4444)); Target<BitmapDrawable> target = factory.buildTarget(view, BitmapDrawable.class); target.onResourceReady(drawable, null); assertThat(target).isInstanceOf(DrawableImageViewTarget.class); }
@Test @Config(minSdk = LOLLIPOP_MR1) public void setUnbadgedApplicationIcon() throws Exception { String packageName = ApplicationProvider.getApplicationContext().getPackageName(); Drawable d = new BitmapDrawable(); shadowPackageManager.setUnbadgedApplicationIcon(packageName, d); assertThat( packageManager .getApplicationInfo(packageName, PackageManager.GET_SHARED_LIBRARY_FILES) .loadUnbadgedIcon(packageManager)) .isSameAs(d); }
@Test public void constructor_shouldSetTheIntrinsicWidthAndHeightToTheWidthAndHeightOfTheBitmap() throws Exception { Bitmap bitmap = Bitmap.createBitmap(5, 10, Bitmap.Config.ARGB_8888); BitmapDrawable drawable = new BitmapDrawable(ApplicationProvider.getApplicationContext().getResources(), bitmap); assertThat(drawable.getIntrinsicWidth()).isEqualTo(5); assertThat(drawable.getIntrinsicHeight()).isEqualTo(10); }
@Test public void queryActivityIcons_Match() throws Exception { Intent i = new Intent(); i.setComponent(new ComponentName(TEST_PACKAGE_NAME, "")); Drawable d = new BitmapDrawable(); shadowPackageManager.addActivityIcon(i, d); assertThat(packageManager.getActivityIcon(i)).isSameAs(d); assertThat(packageManager.getActivityIcon(i.getComponent())).isSameAs(d); }
@Test public void load_withBitmapDrawable_andFunctionalTransformation_doesNotRecycleBitmap() throws ExecutionException, InterruptedException { Bitmap bitmap = Bitmap.createBitmap(100, 200, Config.ARGB_8888); BitmapDrawable drawable = new BitmapDrawable(context.getResources(), bitmap); Drawable result = GlideApp.with(context) .load(drawable) .fitCenter() .override(bitmap.getWidth() / 2, bitmap.getHeight() / 2) .submit() .get(); BitmapSubject.assertThat(result).isNotRecycled(); }
@Test public void load_withBitmapDrawable_andDoNothingTransformation_doesNotRecycleBitmap() throws ExecutionException, InterruptedException { Bitmap bitmap = Bitmap.createBitmap(100, 200, Config.ARGB_8888); BitmapDrawable drawable = new BitmapDrawable(context.getResources(), bitmap); Drawable result = GlideApp.with(context) .load(drawable) .fitCenter() .override(bitmap.getWidth(), bitmap.getHeight()) .submit() .get(); BitmapSubject.assertThat(result).isNotRecycled(); }
@Test public void transform_withLoadedBitmapDrawable_doesNotRecycleBitmap() { Glide.init( context, glideBuilder .setMemoryCache(new MemoryCacheAdapter()) .setBitmapPool(new BitmapPoolAdapter())); Bitmap bitmap = BitmapFactory.decodeResource(context.getResources(), ResourceIds.raw.canonical); BitmapDrawable drawable = new BitmapDrawable(context.getResources(), bitmap); concurrency.wait( GlideApp.with(context) .load(drawable) .centerCrop() .submit(100, 100)); assertThat(bitmap.isRecycled()).isFalse(); }