Search in sources :

Example 1 with BadgedFourThreeImageView

use of io.plaidapp.ui.widget.BadgedFourThreeImageView in project plaid by nickbutcher.

the class DribbbleTarget method onResourceReady.

@Override
public void onResourceReady(GlideDrawable resource, GlideAnimation<? super GlideDrawable> animation) {
    super.onResourceReady(resource, animation);
    if (!autoplayGifs) {
        resource.stop();
    }
    BadgedFourThreeImageView badgedImageView = (BadgedFourThreeImageView) getView();
    if (resource instanceof GlideBitmapDrawable) {
        Palette.from(((GlideBitmapDrawable) resource).getBitmap()).clearFilters().generate(this);
    } else if (resource instanceof GifDrawable) {
        Bitmap image = ((GifDrawable) resource).getFirstFrame();
        Palette.from(image).clearFilters().generate(this);
        // look at the corner to determine the gif badge color
        int cornerSize = (int) (56 * getView().getContext().getResources().getDisplayMetrics().scaledDensity);
        Bitmap corner = Bitmap.createBitmap(image, image.getWidth() - cornerSize, image.getHeight() - cornerSize, cornerSize, cornerSize);
        boolean isDark = ColorUtils.isDark(corner);
        corner.recycle();
        badgedImageView.setBadgeColor(ContextCompat.getColor(getView().getContext(), isDark ? R.color.gif_badge_dark_image : R.color.gif_badge_light_image));
    }
}
Also used : BadgedFourThreeImageView(io.plaidapp.ui.widget.BadgedFourThreeImageView) Bitmap(android.graphics.Bitmap) GlideBitmapDrawable(com.bumptech.glide.load.resource.bitmap.GlideBitmapDrawable) GifDrawable(com.bumptech.glide.load.resource.gif.GifDrawable)

Aggregations

Bitmap (android.graphics.Bitmap)1 GlideBitmapDrawable (com.bumptech.glide.load.resource.bitmap.GlideBitmapDrawable)1 GifDrawable (com.bumptech.glide.load.resource.gif.GifDrawable)1 BadgedFourThreeImageView (io.plaidapp.ui.widget.BadgedFourThreeImageView)1