MCPcopy Create free account
hub / github.com/M66B/FairEmail / parseStyles

Method parseStyles

app/src/main/java/eu/faircode/email/HtmlHelper.java:1818–1856  ·  view source on GitHub ↗
(Elements styles)

Source from the content-addressed store, hash-verified

1816 }
1817
1818 static List<CSSStyleSheet> parseStyles(Elements styles) {
1819 List<CSSStyleSheet> sheets = new ArrayList<>();
1820 for (Element style : styles) {
1821 if (BuildConfig.DEBUG)
1822 Log.i("Style=" + style.data());
1823 try {
1824 InputSource source = new InputSource(new StringReader(style.data()));
1825 String media = style.attr("media");
1826 if (!TextUtils.isEmpty(media))
1827 source.setMedia(media);
1828
1829 CSSOMParser parser = new CSSOMParser(new SACParserCSS3());
1830 parser.setErrorHandler(new ErrorHandler() {
1831 @Override
1832 public void warning(CSSParseException ex) throws CSSException {
1833 Log.i("CSS warning=" + ex.getMessage());
1834 }
1835
1836 @Override
1837 public void error(CSSParseException ex) throws CSSException {
1838 Log.i("CSS error=" + ex.getMessage());
1839 }
1840
1841 @Override
1842 public void fatalError(CSSParseException ex) throws CSSException {
1843 Log.w(ex);
1844 }
1845 });
1846
1847 long start = new Date().getTime();
1848 sheets.add(parser.parseStyleSheet(source, null, null));
1849 long elapsed = new Date().getTime() - start;
1850 Log.i("Style parse=" + elapsed + " ms");
1851 } catch (Throwable ex) {
1852 Log.w(ex);
1853 }
1854 }
1855 return sheets;
1856 }
1857
1858 static String processStyles(Context context, String tag, String clazz, String style, List<CSSStyleSheet> sheets) {
1859 for (CSSStyleSheet sheet : sheets)

Callers 4

sanitizeMethod · 0.95
hasColorSchemeMethod · 0.95
onExecuteMethod · 0.95
onExecuteMethod · 0.95

Calls 5

iMethod · 0.95
wMethod · 0.95
dataMethod · 0.45
isEmptyMethod · 0.45
addMethod · 0.45

Tested by

no test coverage detected