package com.appboy.sample; import android.content.Context; import android.graphics.Bitmap; import android.graphics.drawable.LayerDrawable; import android.util.AttributeSet; import android.view.View; import android.widget.ImageView; import android.widget.RelativeLayout; import android.widget.TextView; import com.appboy.ui.inappmessage.IInAppMessageView; import com.appboy.ui.inappmessage.views.InAppMessageViewUtils; import com.appboy.ui.support.ViewUtils; public class CustomInAppMessageView extends RelativeLayout implements IInAppMessageView { public CustomInAppMessageView(Context context, AttributeSet attrs) { super(context, attrs); } public void setMessageBackgroundColor(int color) { LayerDrawable layerDrawable = (LayerDrawable) findViewById(R.id.inappmessage).getBackground(); InAppMessageViewUtils.setDrawableColor(layerDrawable.findDrawableByLayerId(R.id.inappmessage_background), color, getContext().getResources().getColor(R.color.custom_inappmessage_green)); } public void setMessageTextColor(int color) { InAppMessageViewUtils.setTextViewColor(getMessageTextView(), color); } public void setMessage(String text) { getMessageTextView().setText(text); } public void setMessageImage(Bitmap bitmap) { InAppMessageViewUtils.setImage(bitmap, getMessageImageView()); } public void setMessageIcon(String icon, int iconColor, int iconBackgroundColor) { InAppMessageViewUtils.setIcon(getContext(), icon, iconColor, iconBackgroundColor, getMessageIconView()); } public void resetMessageMargins() { if (getMessageImageView().getDrawable() == null) { ViewUtils.removeViewFromParent(getMessageImageView()); } if (getMessageIconView().getText().length() == 0) { ViewUtils.removeViewFromParent(getMessageIconView()); } } public View getMessageClickableView() { return this; } public TextView getMessageTextView() { return (TextView) findViewById(R.id.inappmessage_message); } public ImageView getMessageImageView() { return (ImageView) findViewById(R.id.inappmessage_image); } public TextView getMessageIconView() { return (TextView) findViewById(R.id.inappmessage_icon); } }