mirror of
https://github.com/M66B/FairEmail.git
synced 2025-02-24 15:11:03 +00:00
Format DMARC XML
This commit is contained in:
parent
889ab22848
commit
5576acfa9f
2 changed files with 28 additions and 1 deletions
|
@ -389,7 +389,7 @@ public class ActivityDmarc extends ActivityBase {
|
|||
ssb.append("\n");
|
||||
|
||||
int start = ssb.length();
|
||||
ssb.append(data);
|
||||
ssb.append(TextHelper.formatXml(data, 2));
|
||||
ssb.setSpan(new TypefaceSpan("monospace"), start, ssb.length(), 0);
|
||||
ssb.setSpan(new RelativeSizeSpan(HtmlHelper.FONT_SMALL), start, ssb.length(), 0);
|
||||
|
||||
|
|
|
@ -34,6 +34,8 @@ import android.view.textclassifier.TextClassifier;
|
|||
import androidx.annotation.RequiresApi;
|
||||
import androidx.preference.PreferenceManager;
|
||||
|
||||
import java.io.StringReader;
|
||||
import java.io.StringWriter;
|
||||
import java.time.ZoneId;
|
||||
import java.time.ZonedDateTime;
|
||||
import java.util.ArrayList;
|
||||
|
@ -50,6 +52,13 @@ import java.util.concurrent.Future;
|
|||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.concurrent.TimeoutException;
|
||||
|
||||
import javax.xml.transform.OutputKeys;
|
||||
import javax.xml.transform.Source;
|
||||
import javax.xml.transform.Transformer;
|
||||
import javax.xml.transform.TransformerFactory;
|
||||
import javax.xml.transform.stream.StreamResult;
|
||||
import javax.xml.transform.stream.StreamSource;
|
||||
|
||||
public class TextHelper {
|
||||
private static final int MAX_DETECT_SAMPLE_SIZE = 8192;
|
||||
private static final float MIN_DETECT_PROBABILITY = 0.80f;
|
||||
|
@ -207,6 +216,24 @@ public class TextHelper {
|
|||
}
|
||||
}
|
||||
|
||||
public static String formatXml(String xml, int indent) {
|
||||
try {
|
||||
Source source = new StreamSource(new StringReader(xml));
|
||||
StringWriter writer = new StringWriter();
|
||||
StreamResult result = new StreamResult(writer);
|
||||
TransformerFactory factory = TransformerFactory.newInstance();
|
||||
Transformer transformer = factory.newTransformer();
|
||||
transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
|
||||
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
|
||||
transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", Integer.toString(indent));
|
||||
transformer.transform(source, result);
|
||||
return result.getWriter().toString();
|
||||
} catch (Throwable ex) {
|
||||
Log.e(ex);
|
||||
return xml;
|
||||
}
|
||||
}
|
||||
|
||||
private static class DetectResult {
|
||||
String language;
|
||||
float probability;
|
||||
|
|
Loading…
Reference in a new issue