package ru.ltst.u2020mvp.ui.image; import android.content.Context; import android.util.AttributeSet; import android.widget.ImageView; import com.squareup.picasso.Picasso; import javax.inject.Inject; import butterknife.ButterKnife; import butterknife.Bind; import ru.ltst.u2020mvp.R; import ru.ltst.u2020mvp.base.mvp.BaseView; import ru.ltst.u2020mvp.data.api.model.response.Image; import ru.ltst.u2020mvp.base.ComponentFinder; import ru.ltst.u2020mvp.ui.misc.BetterViewAnimator; public class ImgurImageView extends BetterViewAnimator implements BaseView { @Inject Picasso picasso; public ImgurImageView(Context context, AttributeSet attrs) { super(context, attrs); ImgurImageComponent component = ComponentFinder.findActivityComponent(context); component.inject(this); } @Bind(R.id.imgur_image_content) ImageView imageView; @Override protected void onFinishInflate() { super.onFinishInflate(); ButterKnife.bind(this); } public void bindTo(Image image) { picasso.load(image.link).into(imageView); } @Override public void showLoading() { setDisplayedChildId(R.id.imgur_image_progress); } @Override public void showContent() { setDisplayedChildId(R.id.imgur_image_content); } @Override public void showEmpty() { setDisplayedChildId(R.id.imgur_image_empty_view); } @Override public void showError(Throwable throwable) { setDisplayedChildId(R.id.imgur_image_error_view); } public interface Injector { void inject(ImgurImageView view); } }