| package com.android.pump.widget; |
| |
| import android.content.Context; |
| import android.graphics.drawable.Drawable; |
| import android.util.AttributeSet; |
| |
| import androidx.annotation.AttrRes; |
| import androidx.annotation.DrawableRes; |
| import androidx.annotation.NonNull; |
| import androidx.annotation.Nullable; |
| import androidx.annotation.UiThread; |
| import androidx.appcompat.widget.AppCompatImageView; |
| import androidx.core.content.ContextCompat; |
| |
| import com.android.pump.R; |
| |
| @UiThread |
| public class PlaceholderImageView extends AppCompatImageView { |
| private static final @DrawableRes int PLACEHOLDER_DRAWABLE = R.drawable.ic_placeholder; |
| |
| public PlaceholderImageView(@NonNull Context context) { |
| super(context); |
| initialize(); |
| } |
| |
| public PlaceholderImageView(@NonNull Context context, @Nullable AttributeSet attrs) { |
| super(context, attrs); |
| initialize(); |
| } |
| |
| public PlaceholderImageView(@NonNull Context context, @Nullable AttributeSet attrs, |
| @AttrRes int defStyleAttr) { |
| super(context, attrs, defStyleAttr); |
| initialize(); |
| } |
| |
| @Override |
| public void setImageDrawable(@Nullable Drawable drawable) { |
| if (drawable == null) { |
| drawable = ContextCompat.getDrawable(getContext(), PLACEHOLDER_DRAWABLE); |
| } |
| super.setImageDrawable(drawable); |
| } |
| |
| private void initialize() { |
| if (getDrawable() == null) { |
| setImageDrawable(null); |
| } |
| } |
| } |