package com.yuyh.sprintnba.utils;
import android.graphics.Color;
import android.net.Uri;
import android.os.Parcel;
import android.text.ParcelableSpan;
import android.text.TextPaint;
import android.text.TextUtils;
import android.text.style.ClickableSpan;
import android.view.View;
import com.yuyh.sprintnba.app.Constant;
public class URLSpan extends ClickableSpan implements ParcelableSpan {
private final String mURL;
private String mColor = Constant.SPAN_LINK_COLOR;
public URLSpan(String url) {
this.mURL = url;
}
public URLSpan(Parcel src) {
this.mURL = src.readString();
}
public URLSpan(String url, String color) {
this.mURL = url;
if (!TextUtils.isEmpty(color)) {
this.mColor = color;
}
}
@Override
public int getSpanTypeId() {
return 11;
}
public int describeContents() {
return 0;
}
public void writeToParcel(Parcel dest, int flags) {
dest.writeString(mURL);
}
public String getURL() {
return mURL;
}
public void onClick(View widget) {
if (!TextUtils.isEmpty(getURL())) {
Uri uri = Uri.parse(getURL());
if (uri.getScheme().startsWith(TimeLineUtility.LinkPatterns.WEB_COMPARE_HTTP) || uri.getScheme().startsWith(TimeLineUtility.LinkPatterns.WEB_COMPARE_HTTPS)) {
// TODO: 跳转链接页面
} else if (uri.getScheme().startsWith(TimeLineUtility.LinkPatterns.TOPIC_COMPARE_SCHEME)) {
String topic = getURL();
topic = topic.substring(TimeLineUtility.LinkPatterns.TOPIC_SCHEME.length(), topic.length());
// TODO: 跳转#字话题页面
} else if (uri.getScheme().startsWith(TimeLineUtility.LinkPatterns.MENTION_COMPARE_SCHEME)) {
// TODO: 跳转@人页面
}
}
}
@Override
public void updateDrawState(TextPaint tp) {
tp.setColor(Color.parseColor(mColor));
}
}