Merge branch 'master' of github.com:M66B/FairEmail

pull/213/head
M66B 12 months ago
commit fce46ac9cd

@ -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

@ -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

@ -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

@ -1480,7 +1480,7 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
// Line 3
int icon = (message.drafts > 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)) ||

@ -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<Long, List<EntityIdentity>> 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 +

@ -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<Long> 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);
}

@ -1601,7 +1601,9 @@ public class Helper {
isSamsung() ||
isOnePlus() ||
isHuawei() ||
isXiaomi());
isXiaomi() ||
isMeizu() ||
isAsus());
}
static boolean isAndroid12() {

@ -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();

@ -0,0 +1,22 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:autoMirrored="true"
android:tint="?attr/colorControlNormal"
android:viewportWidth="24"
android:viewportHeight="24">
<group
android:scaleX="0.8"
android:scaleY="0.8"
android:translateX="2.4"
android:translateY="2.4">
<path
android:fillAlpha="0.3"
android:fillColor="@android:color/white"
android:pathData="M4,8.25l7.51,1 -7.5,-3.22zM4.01,17.97l7.5,-3.22 -7.51,1z"
android:strokeAlpha="0.3" />
<path
android:fillColor="@android:color/white"
android:pathData="M2.01,3L2,10l15,2 -15,2 0.01,7L23,12 2.01,3zM4,8.25L4,6.03l7.51,3.22 -7.51,-1zM4.01,17.97v-2.22l7.51,-1 -7.51,3.22z" />
</group>
</vector>

@ -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

Loading…
Cancel
Save