File tree 3 files changed +11
-6
lines changed
app/src/main/java/com/infomaniak/mail
3 files changed +11
-6
lines changed Original file line number Diff line number Diff line change @@ -27,6 +27,7 @@ import com.infomaniak.mail.data.models.thread.Thread
27
27
import com.infomaniak.mail.data.models.thread.Thread.ThreadFilter
28
28
import com.infomaniak.mail.utils.AccountUtils
29
29
import com.infomaniak.mail.utils.LocalStorageUtils.deleteDraftUploadDir
30
+ import com.infomaniak.mail.utils.extensions.getStartAndEndOfPlusEmail
30
31
import io.realm.kotlin.MutableRealm
31
32
import io.realm.kotlin.Realm
32
33
import io.realm.kotlin.TypedRealm
@@ -63,9 +64,7 @@ class MessageController @Inject constructor(private val mailboxContentRealm: Rea
63
64
val isNotFromRealMe = " SUBQUERY(${Message ::from.name} , \$ recipient, " +
64
65
" \$ recipient.${Recipient ::email.name} != '${AccountUtils .currentMailboxEmail} ').@count > 0"
65
66
66
- val splittedEmail = AccountUtils .currentMailboxEmail?.split(" @" )
67
- val start = splittedEmail?.first() + " +"
68
- val end = " @" + splittedEmail?.last()
67
+ val (start, end) = AccountUtils .currentMailboxEmail.getStartAndEndOfPlusEmail()
69
68
val isNotFromPlusMe = " SUBQUERY(${Message ::from.name} , \$ recipient," +
70
69
" \$ recipient.${Recipient ::email.name} BEGINSWITH '${start} '" +
71
70
" AND \$ recipient.${Recipient ::email.name} ENDSWITH '${end} '" +
Original file line number Diff line number Diff line change @@ -22,6 +22,7 @@ import android.os.Parcelable
22
22
import com.infomaniak.lib.core.utils.firstOrEmpty
23
23
import com.infomaniak.mail.R
24
24
import com.infomaniak.mail.utils.AccountUtils
25
+ import com.infomaniak.mail.utils.extensions.getStartAndEndOfPlusEmail
25
26
import io.sentry.Sentry
26
27
27
28
interface Correspondent : Parcelable {
@@ -36,9 +37,7 @@ interface Correspondent : Parcelable {
36
37
37
38
val isRealMe = userEmail == correspondentEmail
38
39
39
- val splittedEmail = userEmail?.split(" @" )
40
- val start = splittedEmail?.first() + " +"
41
- val end = " @" + splittedEmail?.last()
40
+ val (start, end) = userEmail.getStartAndEndOfPlusEmail()
42
41
val isPlusMe = correspondentEmail.startsWith(start) && correspondentEmail.endsWith(end)
43
42
44
43
return isRealMe || isPlusMe
Original file line number Diff line number Diff line change @@ -143,6 +143,13 @@ fun String.removeLineBreaksFromHtml(): Document = jsoupParseWithLog(replace("\r"
143
143
144
144
fun String.htmlToText (): String = removeLineBreaksFromHtml().wholeText()
145
145
146
+ fun String?.getStartAndEndOfPlusEmail (): Pair <String , String > {
147
+ val splittedEmail = this ?.split(" @" )
148
+ val fromStartToPlus = splittedEmail?.first() + " +"
149
+ val fromArobaseToEnd = " @" + splittedEmail?.last()
150
+ return fromStartToPlus to fromArobaseToEnd
151
+ }
152
+
146
153
// region Date
147
154
fun RealmInstant.toDate (): Date = Date (epochSeconds * 1_000L + nanosecondsOfSecond / 1_000L )
148
155
You can’t perform that action at this time.
0 commit comments