package org.goodev.discourse.span;
import android.content.Context;
import android.os.Parcel;
import android.text.style.ClickableSpan;
import android.view.View;
import org.goodev.discourse.ActivityUtils;
import org.goodev.discourse.App;
import org.goodev.discourse.R;
import org.goodev.discourse.utils.L;
import org.goodev.discourse.utils.Utils;
import java.util.ArrayList;
public class DiscourseURLSpan extends ClickableSpan {
private final String mURL;
public DiscourseURLSpan(String url) {
mURL = url;
}
public DiscourseURLSpan(Parcel src) {
mURL = src.readString();
}
public String getURL() {
return mURL;
}
@Override
public void onClick(View widget) {
// TODO 处理 帖子内跳转事件
String url = getURL();
ArrayList<String> imgs = (ArrayList<String>) widget.getTag(R.id.poste_image_data);
if (imgs != null && imgs.contains(url)) {
Context a = widget.getContext();
final int index = imgs.indexOf(url);
String[] img = new String[imgs.size()];
img = imgs.toArray(img);
ActivityUtils.openPhotosActivity(a, index, img);
return;
}
L.i("%s ", url);
if (url.startsWith(Utils.SLASH) || url.startsWith(App.getSiteUrl())) {
handleInAppClicked(widget);
} else {
openUrl(widget);
}
}
private void handleInAppClicked(View widget) {
String url = getURL();
Context ctx = widget.getContext();
ActivityUtils.openDiscourseLinks(ctx, url);
}
public void openUrl(View widget) {
Context context = widget.getContext();
ActivityUtils.openUrl(context, getURL());
}
}