Limit cursor size in crude but fast way

pull/214/head
M66B 2 years ago
parent 6cfd709cd2
commit 1a69df4472

@ -8617,12 +8617,17 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
keyPosition.put(message.id, i);
positionKey.put(i, message.id);
addExtra(message.from, message.extra);
if (threading)
if (threading) {
if (message.senders == null || message.senders.length == 0)
message.senders = message.from;
if (message.recipients == null || message.recipients.length == 0)
message.recipients = message.to;
addExtra(message.senders, message.extra);
else {
} else {
message.senders = message.from;
message.recipients = message.to;
}
message.resolveLabelColors(context);
message.resolveKeywordColors(context);
}

@ -51,8 +51,8 @@ public interface DaoMessage {
", account.notify AS accountNotify, account.summary AS accountSummary, account.leave_deleted AS accountLeaveDeleted, account.auto_seen AS accountAutoSeen" +
", folder.name AS folderName, folder.color AS folderColor, folder.display AS folderDisplay, folder.type AS folderType, NULL AS folderInheritedType, folder.unified AS folderUnified, folder.read_only AS folderReadOnly" +
", IFNULL(identity.display, identity.name) AS identityName, identity.email AS identityEmail, identity.color AS identityColor, identity.synchronize AS identitySynchronize" +
", '[' || (SELECT group_concat(`from`, ',') FROM (SELECT DISTINCT `from` FROM message m0 WHERE m0.thread = message.thread ORDER BY m0.received DESC LIMIT 3)) || ']' AS senders" +
", '[' || (SELECT group_concat(`to`, ',') FROM (SELECT DISTINCT `to` FROM message m0 WHERE m0.thread = message.thread ORDER BY m0.received DESC LIMIT 3)) || ']' AS recipients" +
", '[' || substr(group_concat(message.`from`, ','), 0, 2048) || ']' AS senders" +
", '[' || substr(group_concat(message.`to`, ','), 0, 2048) || ']' AS recipients" +
", COUNT(message.id) AS count" +
", SUM(1 - message.ui_seen) AS unseen" +
", SUM(1 - message.ui_flagged) AS unflagged" +
@ -129,8 +129,8 @@ public interface DaoMessage {
", account.notify AS accountNotify, account.summary AS accountSummary, account.leave_deleted AS accountLeaveDeleted, account.auto_seen AS accountAutoSeen" +
", folder.name AS folderName, folder.color AS folderColor, folder.display AS folderDisplay, folder.type AS folderType, f.inherited_type AS folderInheritedType, folder.unified AS folderUnified, folder.read_only AS folderReadOnly" +
", IFNULL(identity.display, identity.name) AS identityName, identity.email AS identityEmail, identity.color AS identityColor, identity.synchronize AS identitySynchronize" +
", '[' || (SELECT group_concat(`from`, ',') FROM (SELECT DISTINCT `from` FROM message m0 WHERE m0.thread = message.thread ORDER BY m0.received DESC LIMIT 3)) || ']' AS senders" +
", '[' || (SELECT group_concat(`to`, ',') FROM (SELECT DISTINCT `to` FROM message m0 WHERE m0.thread = message.thread ORDER BY m0.received DESC LIMIT 3)) || ']' AS recipients" +
", '[' || substr(group_concat(message.`from`, ','), 0, 2048) || ']' AS senders" +
", '[' || substr(group_concat(message.`to`, ','), 0, 2048) || ']' AS recipients" +
", COUNT(message.id) AS count" +
", SUM(1 - message.ui_seen) AS unseen" +
", SUM(1 - message.ui_flagged) AS unflagged" +

Loading…
Cancel
Save