// Path: library/src/main/java/com/dreamliner/rvhelper/empty/EmptyLayout.java
// public abstract class EmptyLayout extends LinearLayout implements EmptyUIHandler {
// 
//     public EmptyLayout(Context context, AttributeSet attrs, int defStyleAttr) {
//         super(context, attrs, defStyleAttr);
//     }
// 
// }
// 
// Path: library/src/main/java/com/dreamliner/rvhelper/view/CustomizedClickableSpan.java
// public class CustomizedClickableSpan extends ClickableSpan {
// 
//     private int mColorId;
//     private Context mContext;
//     private WeakReference<OnClickListener> mOnClickListener;
// 
//     public CustomizedClickableSpan(@ColorRes int colorId, Context context, OnClickListener onClickListener) {
//         mColorId = colorId;
//         mContext = context;
//         mOnClickListener = new WeakReference<>(onClickListener);
//     }
// 
//     @Override
//     public void updateDrawState(TextPaint ds) {
//         ds.setColor(mContext.getResources().getColor(mColorId));
//     }
// 
//     @Override
//     public void onClick(View widget) {
//         OnClickListener onClickListener = mOnClickListener.get();
//         if (null != onClickListener) {
//             onClickListener.onClick(widget);
//         }
//     }
// }
// 
// Path: library/src/main/java/com/dreamliner/rvhelper/util/StatusConstant.java
// public static final int DEFAULT_NULL = Integer.MAX_VALUE - 2;
// 
// Path: library/src/main/java/com/dreamliner/rvhelper/util/StatusConstant.java
// public static final int NET_ERROR = Integer.MAX_VALUE;
// 
// Path: library/src/main/java/com/dreamliner/rvhelper/util/StatusConstant.java
// public static final int NO_RESULT = Integer.MAX_VALUE - 1;


import android.content.Context;
import android.text.SpannableString;
import android.text.Spanned;
import android.text.TextUtils;
import android.text.method.LinkMovementMethod;
import android.util.AttributeSet;
import android.widget.ImageView;
import android.widget.TextView;
import com.dreamliner.lib.rvhelper.sample.R;
import com.dreamliner.rvhelper.empty.EmptyLayout;
import com.dreamliner.rvhelper.view.CustomizedClickableSpan;
import static com.dreamliner.rvhelper.util.StatusConstant.DEFAULT_NULL;
import static com.dreamliner.rvhelper.util.StatusConstant.NET_ERROR;
import static com.dreamliner.rvhelper.util.StatusConstant.NO_RESULT;
    public DlEmptyLayout(Context context) {
        this(context, null);
    }

    public DlEmptyLayout(Context context, AttributeSet attrs) {
        this(context, attrs, 0);
    }

    public DlEmptyLayout(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
    }

    @Override
    protected void onFinishInflate() {
        super.onFinishInflate();
        mEmptyIv = (ImageView) findViewById(R.id.empty_status_iv);
        mEmtptTipTv = (TextView) findViewById(R.id.empty_status_tv);
    }

    @Override
    public void setEmptyType(int type) {
        switch (type) {
            case NET_ERROR:
                mEmptyIv.setImageResource(R.drawable.ic_list_status_net_error);
                setEmptyTv(mEmtptTipTv, "亲,网络有点差哦", "自定义重新加载");
                break;
            case NO_RESULT:
                mEmptyIv.setImageResource(R.drawable.ic_list_status_no_result);
                setEmptyTv(mEmtptTipTv, "亲，暂无数据", "自定义重新加载");
                break;
// Path: library/src/main/java/com/dreamliner/rvhelper/empty/EmptyLayout.java
// public abstract class EmptyLayout extends LinearLayout implements EmptyUIHandler {
// 
//     public EmptyLayout(Context context, AttributeSet attrs, int defStyleAttr) {
//         super(context, attrs, defStyleAttr);
//     }
// 
// }
// 
// Path: library/src/main/java/com/dreamliner/rvhelper/view/CustomizedClickableSpan.java
// public class CustomizedClickableSpan extends ClickableSpan {
// 
//     private int mColorId;
//     private Context mContext;
//     private WeakReference<OnClickListener> mOnClickListener;
// 
//     public CustomizedClickableSpan(@ColorRes int colorId, Context context, OnClickListener onClickListener) {
//         mColorId = colorId;
//         mContext = context;
//         mOnClickListener = new WeakReference<>(onClickListener);
//     }
// 
//     @Override
//     public void updateDrawState(TextPaint ds) {
//         ds.setColor(mContext.getResources().getColor(mColorId));
//     }
// 
//     @Override
//     public void onClick(View widget) {
//         OnClickListener onClickListener = mOnClickListener.get();
//         if (null != onClickListener) {
//             onClickListener.onClick(widget);
//         }
//     }
// }
// 
// Path: library/src/main/java/com/dreamliner/rvhelper/util/StatusConstant.java
// public static final int DEFAULT_NULL = Integer.MAX_VALUE - 2;
// 
// Path: library/src/main/java/com/dreamliner/rvhelper/util/StatusConstant.java
// public static final int NET_ERROR = Integer.MAX_VALUE;
// 
// Path: library/src/main/java/com/dreamliner/rvhelper/util/StatusConstant.java
// public static final int NO_RESULT = Integer.MAX_VALUE - 1;


// Path: demo/src/main/java/com/dreamliner/lib/rvhelper/sample/view/DlEmptyLayout.java
import android.content.Context;
import android.text.SpannableString;
import android.text.Spanned;
import android.text.TextUtils;
import android.text.method.LinkMovementMethod;
import android.util.AttributeSet;
import android.widget.ImageView;
import android.widget.TextView;
import com.dreamliner.lib.rvhelper.sample.R;
import com.dreamliner.rvhelper.empty.EmptyLayout;
import com.dreamliner.rvhelper.view.CustomizedClickableSpan;
import static com.dreamliner.rvhelper.util.StatusConstant.DEFAULT_NULL;
import static com.dreamliner.rvhelper.util.StatusConstant.NET_ERROR;
import static com.dreamliner.rvhelper.util.StatusConstant.NO_RESULT;

    public DlEmptyLayout(Context context) {
        this(context, null);
    }

    public DlEmptyLayout(Context context, AttributeSet attrs) {
        this(context, attrs, 0);
    }

    public DlEmptyLayout(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
    }

    @Override
    protected void onFinishInflate() {
        super.onFinishInflate();
        mEmptyIv = (ImageView) findViewById(R.id.empty_status_iv);
        mEmtptTipTv = (TextView) findViewById(R.id.empty_status_tv);
    }

    @Override
    public void setEmptyType(int type) {
        switch (type) {
            case NET_ERROR:
                mEmptyIv.setImageResource(R.drawable.ic_list_status_net_error);
                setEmptyTv(mEmtptTipTv, "亲,网络有点差哦", "自定义重新加载");
                break;
            case NO_RESULT:
                mEmptyIv.setImageResource(R.drawable.ic_list_status_no_result);
                setEmptyTv(mEmtptTipTv, "亲，暂无数据", "自定义重新加载");
                break;
            case DEFAULT_NULL: