// Path: app/src/main/java/io/rapidpro/surveyor/ui/CachedLinearLayout.java
// public class CachedLinearLayout extends LinearLayout {
// 
//     private ViewCache m_cache;
// 
//     public CachedLinearLayout(Context context) {
//         super(context);
//         init();
//     }
// 
//     public CachedLinearLayout(Context context, AttributeSet attrs) {
//         super(context, attrs);
//         init();
//     }
// 
//     public CachedLinearLayout(Context context, AttributeSet attrs, int defStyleAttr) {
//         super(context, attrs, defStyleAttr);
//         init();
//     }
// 
//     protected void init() {
//         m_cache = new ViewCache(getContext(), this);
//     }
// 
//     public TextView getTextView(int id) {
//         return m_cache.getTextView(id);
//     }
// 
//     public ImageView getImageView(int id) {
//         return m_cache.getImageView(id);
//     }
// 
//     public View getView(int id) {
//         return m_cache.getView(id);
//     }
// 
//     public void hide(int id) {
//         m_cache.hide(id);
//     }
// 
//     public void show(int id) {
//         m_cache.show(id);
//     }
// }
// 
// Path: app/src/main/java/io/rapidpro/surveyor/ui/IconTextView.java
// public class IconTextView extends TextView {
//     public IconTextView(Context context, AttributeSet attrs) {
//         super(context, attrs);
//         setTypeface(Typefaces.get(getContext(), "material.ttf"));
//     }
// 
//     public void setIconColor(int color) {
//         setTextColor(getResources().getColor(color));
//     }
// }


import android.content.Context;
import android.util.AttributeSet;
import android.view.View;
import android.widget.TextView;
import io.rapidpro.surveyor.R;
import io.rapidpro.surveyor.ui.CachedLinearLayout;
import io.rapidpro.surveyor.ui.IconTextView;
package io.rapidpro.surveyor.widget;




public class IconLinkView extends CachedLinearLayout {

    public IconLinkView(Context context) {
        super(context);
        init();
    }

    public IconLinkView(Context context, AttributeSet attrs) {
        super(context, attrs);
        init();
    }

    public IconLinkView(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
        init();
    }

    protected void init() {
        super.init();
    }

    public void initialize(String message, int type, String url) {

        View bubble = getView(R.id.chat_bubble);
        bubble.setTag(R.string.tag_url, url);
        bubble.setTag(R.string.tag_media_type, type);

        TextView tv = getTextView(R.id.text_message);
        tv.setText(message);

// Path: app/src/main/java/io/rapidpro/surveyor/ui/CachedLinearLayout.java
// public class CachedLinearLayout extends LinearLayout {
// 
//     private ViewCache m_cache;
// 
//     public CachedLinearLayout(Context context) {
//         super(context);
//         init();
//     }
// 
//     public CachedLinearLayout(Context context, AttributeSet attrs) {
//         super(context, attrs);
//         init();
//     }
// 
//     public CachedLinearLayout(Context context, AttributeSet attrs, int defStyleAttr) {
//         super(context, attrs, defStyleAttr);
//         init();
//     }
// 
//     protected void init() {
//         m_cache = new ViewCache(getContext(), this);
//     }
// 
//     public TextView getTextView(int id) {
//         return m_cache.getTextView(id);
//     }
// 
//     public ImageView getImageView(int id) {
//         return m_cache.getImageView(id);
//     }
// 
//     public View getView(int id) {
//         return m_cache.getView(id);
//     }
// 
//     public void hide(int id) {
//         m_cache.hide(id);
//     }
// 
//     public void show(int id) {
//         m_cache.show(id);
//     }
// }
// 
// Path: app/src/main/java/io/rapidpro/surveyor/ui/IconTextView.java
// public class IconTextView extends TextView {
//     public IconTextView(Context context, AttributeSet attrs) {
//         super(context, attrs);
//         setTypeface(Typefaces.get(getContext(), "material.ttf"));
//     }
// 
//     public void setIconColor(int color) {
//         setTextColor(getResources().getColor(color));
//     }
// }


// Path: app/src/main/java/io/rapidpro/surveyor/widget/IconLinkView.java
import android.content.Context;
import android.util.AttributeSet;
import android.view.View;
import android.widget.TextView;
import io.rapidpro.surveyor.R;
import io.rapidpro.surveyor.ui.CachedLinearLayout;
import io.rapidpro.surveyor.ui.IconTextView;

package io.rapidpro.surveyor.widget;




public class IconLinkView extends CachedLinearLayout {

    public IconLinkView(Context context) {
        super(context);
        init();
    }

    public IconLinkView(Context context, AttributeSet attrs) {
        super(context, attrs);
        init();
    }

    public IconLinkView(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
        init();
    }

    protected void init() {
        super.init();
    }

    public void initialize(String message, int type, String url) {

        View bubble = getView(R.id.chat_bubble);
        bubble.setTag(R.string.tag_url, url);
        bubble.setTag(R.string.tag_media_type, type);

        TextView tv = getTextView(R.id.text_message);
        tv.setText(message);

        IconTextView iconView = (IconTextView) getTextView(R.id.media_icon);