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

Method onBody

app/src/main/java/eu/faircode/email/Core.java:2178–2230  ·  view source on GitHub ↗
(Context context, JSONArray jargs, EntityFolder folder, EntityMessage message, IMAPFolder ifolder)

Source from the content-addressed store, hash-verified

2176 }
2177
2178 private static void onBody(Context context, JSONArray jargs, EntityFolder folder, EntityMessage message, IMAPFolder ifolder) throws MessagingException, IOException {
2179 SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
2180 boolean download_plain = prefs.getBoolean("download_plain", false);
2181
2182 boolean plain_text = jargs.optBoolean(0, download_plain);
2183 String charset = (jargs.isNull(1) ? null : jargs.optString(1, null));
2184
2185 if (message.uid == null)
2186 throw new IllegalArgumentException("uid missing");
2187
2188 // Download message body
2189 DB db = DB.getInstance(context);
2190
2191 if (message.content && message.isPlainOnly() == plain_text && charset == null)
2192 return;
2193
2194 // Get message
2195 Message imessage = ifolder.getMessageByUID(message.uid);
2196 if (imessage == null) {
2197 File file = message.getFile(context);
2198 Helper.writeText(file, "");
2199 db.message().setMessageContent(message.id,
2200 true,
2201 null,
2202 null,
2203 null,
2204 context.getString(R.string.title_not_existing));
2205 return;
2206 //throw new MessageRemovedException();
2207 }
2208
2209 MessageHelper helper = new MessageHelper((MimeMessage) imessage, context);
2210 MessageHelper.MessageParts parts = helper.getMessageParts();
2211 String body = parts.getHtml(context, plain_text, charset);
2212 File file = message.getFile(context);
2213 Helper.writeText(file, body);
2214 String text = HtmlHelper.getFullText(context, body);
2215 message.preview = HtmlHelper.getPreview(text);
2216 message.language = HtmlHelper.getLanguage(context, message.subject, text);
2217 Integer plain_only = parts.isPlainOnly();
2218 if (plain_text)
2219 plain_only = 1 | (plain_only == null ? 0 : plain_only & 0x80);
2220 db.message().setMessageContent(message.id,
2221 true,
2222 message.language,
2223 plain_only,
2224 message.preview,
2225 parts.getWarnings(message.warning));
2226 MessageClassifier.classify(message, folder, true, context);
2227
2228 if (body != null)
2229 EntityLog.log(context, "Operation body size=" + body.length());
2230 }
2231
2232 private static void onAttachment(Context context, JSONArray jargs, EntityFolder folder, EntityMessage message, EntityOperation op, IMAPFolder ifolder) throws JSONException, MessagingException, IOException {
2233 // Download attachment

Callers 1

processOperationsMethod · 0.95

Calls 15

getInstanceMethod · 0.95
writeTextMethod · 0.95
messageMethod · 0.95
getMessagePartsMethod · 0.95
getFullTextMethod · 0.95
getPreviewMethod · 0.95
getLanguageMethod · 0.95
classifyMethod · 0.95
logMethod · 0.95
findMessagesMethod · 0.95
getBooleanMethod · 0.80
isNullMethod · 0.80

Tested by

no test coverage detected