package com.fastaccess.provider.timeline.handler; import android.text.SpannableStringBuilder; import android.text.style.ImageSpan; import android.widget.TextView; import com.fastaccess.helper.InputHelper; import net.nightwhistler.htmlspanner.TagNodeHandler; import org.htmlcleaner.TagNode; import lombok.AllArgsConstructor; import static android.text.Spanned.SPAN_EXCLUSIVE_EXCLUSIVE; /** * Created by Kosh on 22 Apr 2017, 1:09 PM */ @AllArgsConstructor public class DrawableHandler extends TagNodeHandler { private TextView textView; @SuppressWarnings("ConstantConditions") private boolean isNull() { return textView == null; } @Override public void handleTagNode(TagNode node, SpannableStringBuilder builder, int start, int end) { String src = node.getAttributeByName("src"); if (InputHelper.isEmpty(src)) { src = node.getAttributeByName("fallback-src"); } if (InputHelper.isEmpty(src)) return; builder.append(""); if (isNull()) return; DrawableGetter imageGetter = new DrawableGetter(textView); builder.setSpan(new ImageSpan(imageGetter.getDrawable(src)), start, builder.length(), SPAN_EXCLUSIVE_EXCLUSIVE); } }