package com.appboy.ui.widget;
import android.content.Context;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
import com.appboy.Constants;
import com.appboy.models.cards.ShortNewsCard;
import com.appboy.ui.R;
import com.appboy.ui.actions.IAction;
import com.facebook.drawee.view.SimpleDraweeView;
public class ShortNewsCardView extends BaseCardView<ShortNewsCard> {
private ImageView mImage;
private SimpleDraweeView mDrawee;
private final TextView mTitle;
private final TextView mDescription;
private final TextView mDomain;
private IAction mCardAction;
private final float mAspectRatio = 1f;
private static final String TAG = String.format("%s.%s", Constants.APPBOY, ShortNewsCardView.class.getName());
public ShortNewsCardView(Context context) {
this(context, null);
}
public ShortNewsCardView(final Context context, ShortNewsCard card) {
super(context);
mDescription = (TextView) findViewById(R.id.com_appboy_short_news_card_description);
mTitle = (TextView) findViewById(R.id.com_appboy_short_news_card_title);
mDomain = (TextView) findViewById(R.id.com_appboy_short_news_card_domain);
if (canUseFresco()) {
mDrawee = (SimpleDraweeView) getProperViewFromInflatedStub(R.id.com_appboy_short_news_card_drawee_stub);
} else {
mImage = (ImageView) getProperViewFromInflatedStub(R.id.com_appboy_short_news_card_imageview_stub);
mImage.setScaleType(ImageView.ScaleType.CENTER_CROP);
mImage.setAdjustViewBounds(true);
}
if (card != null) {
setCard(card);
}
safeSetBackground(getResources().getDrawable(R.drawable.com_appboy_card_background));
}
@Override
protected int getLayoutResource() {
return R.layout.com_appboy_short_news_card;
}
@Override
public void onSetCard(final ShortNewsCard card) {
mDescription.setText(card.getDescription());
setOptionalTextView(mTitle, card.getTitle());
setOptionalTextView(mDomain, card.getDomain());
mCardAction = getUriActionForCard(card);
setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
handleCardClick(mContext, card, mCardAction, TAG);
}
});
if (canUseFresco()) {
setSimpleDraweeToUrl(mDrawee, card.getImageUrl(), mAspectRatio, true);
} else {
setImageViewToUrl(mImage, card.getImageUrl(), mAspectRatio);
}
}
}