blob: 61fae76b1a588b08fd359361ce0744378699e8d2 [file] [log] [blame]
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);
}
}
}