package cl.monsoon.s1next.binding;
import android.annotation.SuppressLint;
import android.content.res.ColorStateList;
import android.databinding.BindingAdapter;
import android.graphics.drawable.Drawable;
import android.graphics.drawable.RippleDrawable;
import android.net.Uri;
import android.os.Build;
import android.support.annotation.ColorInt;
import android.support.v4.content.ContextCompat;
import android.widget.ImageView;
import com.bumptech.glide.DrawableRequestBuilder;
import cl.monsoon.s1next.R;
public final class ImageViewBindingAdapter {
private ImageViewBindingAdapter() {}
@BindingAdapter("imageDrawable")
public static void setImageDrawable(ImageView imageView, Drawable drawable) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
@SuppressLint("PrivateResource") @ColorInt int rippleColor = ContextCompat.getColor(
imageView.getContext(), R.color.ripple_material_dark);
// add ripple effect if API >= 21
RippleDrawable rippleDrawable = new RippleDrawable(ColorStateList.valueOf(rippleColor),
drawable, null);
imageView.setImageDrawable(rippleDrawable);
} else {
imageView.setImageDrawable(drawable);
}
}
@BindingAdapter({"emoticonDrawableRequestBuilder", "emoticonImagePath"})
public static void loadEmoticon(ImageView imageView,
DrawableRequestBuilder<Uri> emoticonDrawableRequestBuilder,
String emoticonImagePath) {
emoticonDrawableRequestBuilder.load(Uri.parse(emoticonImagePath)).into(imageView);
}
}