@@ -80,7 +80,7 @@ class ThreadController @Inject constructor(
80
80
*/
81
81
suspend fun initAndGetSearchFolderThreads (
82
82
remoteThreads : List <Thread >,
83
- folderRole : FolderRole ? ,
83
+ filterFolder : Folder ? ,
84
84
): List <Thread > = withContext(ioDispatcher) {
85
85
86
86
fun MutableRealm.keepOldMessagesAndAddToSearchFolder (remoteThread : Thread , searchFolder : Folder ) {
@@ -95,7 +95,7 @@ class ThreadController @Inject constructor(
95
95
remoteMessage.initLocalValues(
96
96
date = localMessage?.date ? : remoteMessage.date,
97
97
isFullyDownloaded = localMessage?.isFullyDownloaded() ? : false ,
98
- isTrashed = folderRole == FolderRole .TRASH ,
98
+ isTrashed = filterFolder?.role == FolderRole .TRASH ,
99
99
isFromSearch = localMessage == null ,
100
100
draftLocalUuid = localMessage?.draftLocalUuid,
101
101
latestCalendarEventResponse = null ,
@@ -113,7 +113,13 @@ class ThreadController @Inject constructor(
113
113
remoteThreads.map { remoteThread ->
114
114
ensureActive()
115
115
remoteThread.isFromSearch = true
116
- remoteThread.folderId = remoteThread.messages.first().folderId
116
+
117
+ val folderId = if (remoteThread.messages.count() == 1 ) {
118
+ remoteThread.messages.single().folderId
119
+ } else {
120
+ filterFolder!! .id
121
+ }
122
+ remoteThread.folderId = folderId
117
123
118
124
keepOldMessagesAndAddToSearchFolder(remoteThread, searchFolder)
119
125
0 commit comments