Skip to content

Commit d682371

Browse files
committed
Get folder name from id
1 parent dfba526 commit d682371

File tree

5 files changed

+11
-11
lines changed

5 files changed

+11
-11
lines changed

app/src/main/java/com/infomaniak/mail/data/cache/RealmDatabase.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,7 @@ object RealmDatabase {
162162
//region Configurations versions
163163
const val USER_INFO_SCHEMA_VERSION = 1L
164164
const val MAILBOX_INFO_SCHEMA_VERSION = 4L
165-
const val MAILBOX_CONTENT_SCHEMA_VERSION = 9L
165+
const val MAILBOX_CONTENT_SCHEMA_VERSION = 10L
166166
//endregion
167167

168168
//region Configurations names

app/src/main/java/com/infomaniak/mail/data/cache/mailboxContent/ThreadController.kt

+4
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,10 @@
1717
*/
1818
package com.infomaniak.mail.data.cache.mailboxContent
1919

20+
import android.util.Log
2021
import com.infomaniak.mail.data.api.ApiRepository
2122
import com.infomaniak.mail.data.cache.RealmDatabase
23+
import com.infomaniak.mail.data.cache.mailboxContent.FolderController.Companion.getFolder
2224
import com.infomaniak.mail.data.models.Folder
2325
import com.infomaniak.mail.data.models.Folder.FolderRole
2426
import com.infomaniak.mail.data.models.message.Message
@@ -112,6 +114,7 @@ class ThreadController @Inject constructor(
112114
val searchFolder = FolderController.getOrCreateSearchFolder(realm = this)
113115
remoteThreads.map { remoteThread ->
114116
ensureActive()
117+
getFolder(remoteThread.messages.first().folderId, this@writeBlocking)?.let { remoteThread.folderName = it.name }
115118
remoteThread.isFromSearch = true
116119
remoteThread.folderId = remoteThread.messages.first().folderId
117120

@@ -131,6 +134,7 @@ class ThreadController @Inject constructor(
131134
fun saveThreads(searchMessages: List<Message>) {
132135
mailboxContentRealm().writeBlocking {
133136
FolderController.getOrCreateSearchFolder(realm = this).apply {
137+
val folderName = getFolder(this.id, this@writeBlocking)
134138
messages = searchMessages.toRealmList()
135139
threads = searchMessages.convertToSearchThreads().toRealmList()
136140
}

app/src/main/java/com/infomaniak/mail/data/models/thread/Thread.kt

+2
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,8 @@ class Thread : RealmObject {
8484
@Transient
8585
var folderId: String = ""
8686
@Transient
87+
var folderName: String = ""
88+
@Transient
8789
var duplicates: RealmList<Message> = realmListOf()
8890
@Transient
8991
var messagesIds: RealmSet<String> = realmSetOf()

app/src/main/java/com/infomaniak/mail/ui/main/thread/SubjectFormatter.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ object SubjectFormatter {
7171
return spannedSubject!!
7272
}
7373

74-
fun getFolderName(thread: Thread) = if (thread.messages.size > 1) "" else thread.messages.first().folder.name
74+
fun getFolderName(thread: Thread) = if (thread.messages.size > 1) "" else thread.folderName
7575

7676
private fun createSpannedSubjectWithExternal(
7777
context: Context,

app/src/main/res/layout/cardview_thread_item.xml

+3-9
Original file line numberDiff line numberDiff line change
@@ -241,9 +241,7 @@
241241
android:textSize="12sp"
242242
android:visibility="gone"
243243
android:layout_marginEnd="@dimen/marginStandardSmall"
244-
app:layout_goneMarginEnd="0dp"
245244
app:layout_constrainedWidth="true"
246-
app:layout_constraintEnd_toEndOf="parent"
247245
app:layout_constraintBottom_toBottomOf="@id/mailSubject"
248246
app:layout_constraintEnd_toStartOf="@id/iconAttachment"
249247
app:layout_constraintWidth_max="100dp"
@@ -255,7 +253,6 @@
255253
android:layout_width="@dimen/mediumIconSize"
256254
android:layout_height="@dimen/mediumIconSize"
257255
android:layout_marginEnd="@dimen/marginStandardSmall"
258-
app:layout_goneMarginEnd="0dp"
259256
android:contentDescription="@string/contentDescriptionIconAttachments"
260257
android:src="@drawable/ic_attachment"
261258
android:visibility="gone"
@@ -264,29 +261,26 @@
264261
app:layout_constraintTop_toTopOf="@id/iconFavorite"
265262
app:tint="@color/iconColorPrimaryText"
266263
app:layout_constraintHorizontal_chainStyle="packed"
267-
tools:visibility="visible" />
264+
tools:visibility="gone" />
268265

269266
<ImageView
270267
android:id="@+id/iconCalendar"
271268
android:layout_width="@dimen/mediumIconSize"
272269
android:layout_height="@dimen/mediumIconSize"
273270
android:layout_marginEnd="@dimen/marginStandardSmall"
274-
app:layout_goneMarginEnd="0dp"
275271
android:contentDescription="@string/contentDescriptionIconCalendar"
276272
android:src="@drawable/ic_calendar"
277273
android:visibility="gone"
278274
app:layout_constraintBottom_toBottomOf="@id/iconFavorite"
279275
app:layout_constraintEnd_toStartOf="@id/iconFavorite"
280276
app:layout_constraintTop_toTopOf="@id/iconFavorite"
281277
app:tint="@color/iconColorPrimaryText"
282-
tools:visibility="visible" />
278+
tools:visibility="gone" />
283279

284280
<ImageView
285281
android:id="@+id/iconFavorite"
286282
android:layout_width="@dimen/mediumIconSize"
287283
android:layout_height="@dimen/mediumIconSize"
288-
android:layout_marginEnd="@dimen/marginStandardSmall"
289-
app:layout_goneMarginEnd="0dp"
290284
android:contentDescription="@string/contentDescriptionIconFavorite"
291285
android:src="@drawable/ic_star_filled"
292286
android:visibility="gone"
@@ -304,7 +298,7 @@
304298
android:ellipsize="end"
305299
android:lines="1"
306300
app:layout_constrainedWidth="true"
307-
app:layout_constraintEnd_toStartOf="@id/folder_name_view"
301+
app:layout_constraintEnd_toEndOf="parent"
308302
app:layout_constraintStart_toStartOf="parent"
309303
app:layout_constraintTop_toBottomOf="@id/mailSubject"
310304
tools:text="@tools:sample/lorem/random" />

0 commit comments

Comments
 (0)