@@ -284,39 +284,6 @@ class ThreadController @Inject constructor(
284
284
onUpdate(getThread(threadUid, realm))
285
285
}
286
286
287
- private fun fetchSwissTransferContainer (uuid : String ): SwissTransferContainer ? {
288
- return runCatching {
289
- val apiResponse = ApiRepository .getSwissTransferContainer(uuid)
290
-
291
- if (apiResponse.isSuccess()) return @runCatching apiResponse.data
292
-
293
- SentryLog .i(TAG , " Could not fetch SwissTransfer container" )
294
- return @runCatching null
295
- }.getOrNull()
296
- }
297
-
298
- private fun getApiCallsResults (
299
- messages : List <Message >,
300
- okHttpClient : OkHttpClient ? ,
301
- failedMessagesUids : MutableList <String >
302
- ): List <ApiCallsResults > {
303
- return messages.mapNotNull { localMessage ->
304
- return @mapNotNull runCatching {
305
- val apiResponse = ApiRepository .getMessage(localMessage.resource, okHttpClient)
306
- val swissTransferUuid = apiResponse.data?.swissTransferUuid
307
- var swissTransferContainer: SwissTransferContainer ? = null
308
- if (apiResponse.isSuccess() && swissTransferUuid != null ) {
309
- swissTransferContainer = fetchSwissTransferContainer(swissTransferUuid)
310
- }
311
- return @runCatching ApiCallsResults (localMessage, apiResponse, swissTransferContainer)
312
- }.getOrElse {
313
- // This `getOrElse` is here only to catch `OutOfMemoryError` when trying to deserialize very big Body.
314
- failedMessagesUids.add(localMessage.uid)
315
- return @getOrElse null
316
- }
317
- }
318
- }
319
-
320
287
/* *
321
288
* Asynchronously fetches heavy data for a list of messages within a given mailbox and realm.
322
289
*
@@ -389,6 +356,38 @@ class ThreadController @Inject constructor(
389
356
return deletedMessagesUids to failedMessagesUids
390
357
}
391
358
359
+ private fun getApiCallsResults (
360
+ messages : List <Message >,
361
+ okHttpClient : OkHttpClient ? ,
362
+ failedMessagesUids : MutableList <String >,
363
+ ): List <ApiCallsResults > {
364
+ return messages.mapNotNull { localMessage ->
365
+ return @mapNotNull runCatching {
366
+ val apiResponse = ApiRepository .getMessage(localMessage.resource, okHttpClient)
367
+ val swissTransferUuid = apiResponse.data?.swissTransferUuid
368
+ var swissTransferContainer: SwissTransferContainer ? = null
369
+ if (apiResponse.isSuccess() && swissTransferUuid != null ) {
370
+ swissTransferContainer = fetchSwissTransferContainer(swissTransferUuid)
371
+ }
372
+ return @runCatching ApiCallsResults (localMessage, apiResponse, swissTransferContainer)
373
+ }.getOrElse {
374
+ // This `getOrElse` is here only to catch `OutOfMemoryError` when trying to deserialize very big Body.
375
+ failedMessagesUids.add(localMessage.uid)
376
+ return @getOrElse null
377
+ }
378
+ }
379
+ }
380
+
381
+ private fun fetchSwissTransferContainer (uuid : String ): SwissTransferContainer ? = runCatching {
382
+ val apiResponse = ApiRepository .getSwissTransferContainer(uuid)
383
+ return @runCatching if (apiResponse.isSuccess()) {
384
+ apiResponse.data
385
+ } else {
386
+ SentryLog .i(TAG , " Could not fetch SwissTransfer container" )
387
+ null
388
+ }
389
+ }.getOrNull()
390
+
392
391
// If we've already got this Message's Draft beforehand, we need to save
393
392
// its `draftLocalUuid`, otherwise we'll lose the link between them.
394
393
private fun Message.getDraftLocalUuid (realm : TypedRealm ): String? {
0 commit comments