Auto link broken threads

pull/178/head
M66B 4 years ago
parent 0e936f1534
commit 8af8641089

@ -587,6 +587,9 @@ public interface DaoMessage {
@Query("UPDATE message SET revisions = :revisions WHERE id = :id")
int setMessageRevisions(long id, Integer revisions);
@Query("UPDATE message SET thread = :thread WHERE id = :id")
int setMessageThread(long id, String thread);
@Query("UPDATE message" +
" SET content = 0, fts = 0, language = NULL, plain_only = NULL, preview = NULL" +
" WHERE id = :id")

@ -873,12 +873,19 @@ public class MessageHelper {
if (!TextUtils.isEmpty(inreplyto) && !refs.contains(inreplyto))
refs.add(inreplyto);
String thread = null;
DB db = DB.getInstance(context);
for (String ref : refs) {
List<EntityMessage> messages = db.message().getMessagesByMsgId(account, ref);
if (messages.size() > 0)
return messages.get(0).thread;
for (EntityMessage message : messages) {
if (thread == null)
thread = message.thread;
if (thread != null && !thread.equals(message.thread))
db.message().setMessageThread(message.id, thread);
}
}
if (thread != null)
return thread;
if (refs.size() > 0)
return refs.get(0);

Loading…
Cancel
Save