Files
Suwayomi-Server/AndroidCompat/src/main/java/android/text/Html.java
T
Mitchell Syer 3bef07eeab Update dependencies (#422)
* Update dependencies and lint files

* Revert lint
2022-10-22 03:33:07 +03:30

111 lines
2.5 KiB
Java

package android.text;
import android.graphics.drawable.Drawable;
import org.jetbrains.annotations.NotNull;
import org.jsoup.Jsoup;
import org.jsoup.safety.Safelist;
import org.xml.sax.XMLReader;
/**
* Project: TachiServer
* Author: nulldev
* Creation Date: 16/08/16
*
* Android compat class for processing HTML
*/
public class Html {
public static Spanned fromHtml(String source) {
return new FakeSpanned(Jsoup.clean(source, Safelist.none()));
}
public static Spanned fromHtml(String source, Html.ImageGetter imageGetter, Html.TagHandler tagHandler) {
throw new RuntimeException("Stub!");
}
public static String toHtml(Spanned text) {
return text.toString();
}
/** From: http://stackoverflow.com/a/25228492/5054192 **/
public static String escapeHtml(CharSequence s) {
StringBuilder out = new StringBuilder(Math.max(16, s.length()));
for (int i = 0; i < s.length(); i++) {
char c = s.charAt(i);
if (c > 127 || c == '"' || c == '<' || c == '>' || c == '&') {
out.append("&#");
out.append((int) c);
out.append(';');
} else {
out.append(c);
}
}
return out.toString();
}
public interface TagHandler {
void handleTag(boolean var1, String var2, Editable var3, XMLReader var4);
}
public interface ImageGetter {
Drawable getDrawable(String var1);
}
private static class FakeSpanned implements Spanned {
String string;
public FakeSpanned(String string) {
this.string = string;
}
@Override
public <T> T[] getSpans(int i, int i1, Class<T> aClass) {
return null;
}
@Override
public int getSpanStart(Object o) {
return 0;
}
@Override
public int getSpanEnd(Object o) {
return 0;
}
@Override
public int getSpanFlags(Object o) {
return 0;
}
@Override
public int nextSpanTransition(int i, int i1, Class aClass) {
return 0;
}
@Override
public int length() {
return 0;
}
@Override
public char charAt(int index) {
return 0;
}
@Override
public CharSequence subSequence(int start, int end) {
return null;
}
@NotNull
@Override
public String toString() {
return string;
}
}
}