diff --git a/CHANGELOG.md b/CHANGELOG.md index 6c82698361..8307e7077b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,12 @@ For support you can use [the contact form](https://contact.faircode.eu/?product= ### [Ubirajara](https://en.wikipedia.org/wiki/Ubirajara_jubatus) +### Next version + +* Small improvements and minor bug fixes +* Updated libraries +* Updated [translations](https://crowdin.com/project/open-source-email) + ### 1.2097 - 2023-09-02 * Added LanguageTool option to check every sentence diff --git a/app/build.gradle b/app/build.gradle index 5ce4f29ce6..6741172759 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -489,7 +489,7 @@ dependencies { def badge_version = "1.1.22" def bugsnag_version = "5.28.2" def biweekly_version = "0.6.6" - def vcard_version = "0.11.3" + def vcard_version = "0.12.1" def relinker_version = "1.4.5" def markwon_version = "4.6.2" def bouncycastle_version = "1.76" @@ -504,7 +504,7 @@ dependencies { def svg_version = "1.4" def compress_version = "1.22" def ipaddress_version = "5.3.4" - def canary_version = "2.11" + def canary_version = "2.12" def ws_version = "2.14" // https://developer.android.com/jetpack/androidx/releases/startup diff --git a/app/src/main/assets/CHANGELOG.md b/app/src/main/assets/CHANGELOG.md index 6c82698361..8307e7077b 100644 --- a/app/src/main/assets/CHANGELOG.md +++ b/app/src/main/assets/CHANGELOG.md @@ -6,6 +6,12 @@ For support you can use [the contact form](https://contact.faircode.eu/?product= ### [Ubirajara](https://en.wikipedia.org/wiki/Ubirajara_jubatus) +### Next version + +* Small improvements and minor bug fixes +* Updated libraries +* Updated [translations](https://crowdin.com/project/open-source-email) + ### 1.2097 - 2023-09-02 * Added LanguageTool option to check every sentence diff --git a/app/src/main/java/eu/faircode/email/AdapterMessage.java b/app/src/main/java/eu/faircode/email/AdapterMessage.java index 723a82b5e6..4b9f05e5dd 100644 --- a/app/src/main/java/eu/faircode/email/AdapterMessage.java +++ b/app/src/main/java/eu/faircode/email/AdapterMessage.java @@ -1480,7 +1480,7 @@ public class AdapterMessage extends RecyclerView.Adapter 0 ? R.drawable.twotone_edit_24 - : EntityFolder.getIcon(outgoing ? EntityFolder.SENT : message.folderType)); + : (outgoing ? R.drawable.twotone_send_24_80 : EntityFolder.getIcon(message.folderType))); ivType.setVisibility(message.drafts > 0 || (viewType == ViewType.UNIFIED && type == null && (!inbox || outgoing)) || (viewType == ViewType.FOLDER && outgoing && !EntityFolder.SENT.equals(message.folderType)) || diff --git a/app/src/main/java/eu/faircode/email/Core.java b/app/src/main/java/eu/faircode/email/Core.java index e9ebfaa463..5e10c1a5a8 100644 --- a/app/src/main/java/eu/faircode/email/Core.java +++ b/app/src/main/java/eu/faircode/email/Core.java @@ -160,6 +160,7 @@ class Core { private static final long EXISTS_RETRY_DELAY = 20 * 1000L; // milliseconds private static final int FIND_RETRY_COUNT = 3; // times private static final long FIND_RETRY_DELAY = 5 * 1000L; // milliseconds + private static final long POP3_KEEP_DELETED = 3 * 24 * 3600 * 1000L; // milliseconds private static final Map> accountIdentities = new HashMap<>(); @@ -3645,7 +3646,8 @@ class Core { if (account.max_messages != null && !account.leave_on_device) { int hidden = db.message().setMessagesUiHide(folder.id, Math.abs(account.max_messages)); - int deleted = db.message().deleteMessagesKeep(folder.id, Math.abs(account.max_messages) + 100); + int deleted = db.message().deleteMessagesKeep(folder.id, + Math.abs(account.max_messages) + 100, new Date().getTime() - POP3_KEEP_DELETED); EntityLog.log(context, account.name + " POP" + " cleanup max=" + account.max_messages + " hidden=" + hidden + diff --git a/app/src/main/java/eu/faircode/email/DaoMessage.java b/app/src/main/java/eu/faircode/email/DaoMessage.java index 252948661c..fd76b09f9a 100644 --- a/app/src/main/java/eu/faircode/email/DaoMessage.java +++ b/app/src/main/java/eu/faircode/email/DaoMessage.java @@ -1008,7 +1008,7 @@ public interface DaoMessage { " AND (ui_seen OR :unseen)" + " AND NOT ui_flagged" + " AND stored < :sync_time" + // moved, browsed - " AND (ui_snoozed IS NULL OR ui_snoozed =" + Long.MAX_VALUE+")") + " AND (ui_snoozed IS NULL OR ui_snoozed =" + Long.MAX_VALUE + ")") List getMessagesBefore(long folder, long sync_time, long keep_time, boolean unseen); @Query("DELETE FROM message" + @@ -1028,7 +1028,8 @@ public interface DaoMessage { " AND id NOT IN (" + " SELECT id FROM message" + " WHERE folder = :folder" + + " AND stored < :before" + " ORDER BY received DESC" + " LIMIT :keep)") - int deleteMessagesKeep(long folder, int keep); + int deleteMessagesKeep(long folder, int keep, long before); } \ No newline at end of file diff --git a/app/src/main/java/eu/faircode/email/Helper.java b/app/src/main/java/eu/faircode/email/Helper.java index 02cffdd7c3..2f4dbca3d4 100644 --- a/app/src/main/java/eu/faircode/email/Helper.java +++ b/app/src/main/java/eu/faircode/email/Helper.java @@ -1601,7 +1601,9 @@ public class Helper { isSamsung() || isOnePlus() || isHuawei() || - isXiaomi()); + isXiaomi() || + isMeizu() || + isAsus()); } static boolean isAndroid12() { diff --git a/app/src/main/java/eu/faircode/email/MessageHelper.java b/app/src/main/java/eu/faircode/email/MessageHelper.java index ba472f9bf8..4e265c0465 100644 --- a/app/src/main/java/eu/faircode/email/MessageHelper.java +++ b/app/src/main/java/eu/faircode/email/MessageHelper.java @@ -1267,8 +1267,10 @@ public class MessageHelper { attachment.id = db.attachment().insertAttachment(attachment); File file = attachment.getFile(context); - try (VCardWriter writer = new VCardWriter(file, VCardVersion.V3_0)) { - writer.write(vcard); + try (OutputStream os = new FileOutputStream(file)) { + try (VCardWriter writer = new VCardWriter(os, VCardVersion.V3_0)) { + writer.write(vcard); + } } attachment.size = file.length(); diff --git a/app/src/main/res/drawable/twotone_send_24_80.xml b/app/src/main/res/drawable/twotone_send_24_80.xml new file mode 100644 index 0000000000..49f382cc99 --- /dev/null +++ b/app/src/main/res/drawable/twotone_send_24_80.xml @@ -0,0 +1,22 @@ + + + + + + diff --git a/metadata/en-US/changelogs/2097.txt b/metadata/en-US/changelogs/2097.txt index e01cbe4dd8..1995afc7a5 100644 --- a/metadata/en-US/changelogs/2097.txt +++ b/metadata/en-US/changelogs/2097.txt @@ -6,6 +6,12 @@ For support you can use the contact form. Ubirajara +Next version + +* Small improvements and minor bug fixes +* Updated libraries +* Updated translations + 1.2097 - 2023-09-02 * Added LanguageTool option to check every sentence