diff --git a/ios/TeamMailShareExtension/ShareViewController.swift b/ios/TeamMailShareExtension/ShareViewController.swift index a2ae24021..a8de5498c 100644 --- a/ios/TeamMailShareExtension/ShareViewController.swift +++ b/ios/TeamMailShareExtension/ShareViewController.swift @@ -5,7 +5,7 @@ import Photos class ShareViewController: SLComposeServiceViewController { var hostAppBundleIdentifier = "" - var appGroupId = "" + let appGroupId = "group.com.linagora.teammail" let sharedKey = "ShareKey" var sharedMedia: [SharedMediaFile] = [] var sharedText: [String] = [] @@ -27,9 +27,6 @@ class ShareViewController: SLComposeServiceViewController { // For example: com.test.ShareExtension -> com.test let lastIndexOfPoint = shareExtensionAppBundleIdentifier.lastIndex(of: "."); hostAppBundleIdentifier = String(shareExtensionAppBundleIdentifier[.. - appGroupId = (Bundle.main.object(forInfoDictionaryKey: "AppGroupId") as? String) ?? "group.\(hostAppBundleIdentifier)"; } diff --git a/lib/features/composer/presentation/composer_bindings.dart b/lib/features/composer/presentation/composer_bindings.dart index 413e1fa43..89aa524c1 100644 --- a/lib/features/composer/presentation/composer_bindings.dart +++ b/lib/features/composer/presentation/composer_bindings.dart @@ -54,6 +54,7 @@ import 'package:tmail_ui_user/features/upload/data/network/file_uploader.dart'; import 'package:tmail_ui_user/features/upload/domain/usecases/local_file_picker_interactor.dart'; import 'package:tmail_ui_user/features/upload/presentation/controller/upload_controller.dart'; import 'package:tmail_ui_user/main/bindings/network/binding_tag.dart'; +import 'package:worker_manager/worker_manager.dart'; class ComposerBindings extends BaseBindings { @@ -64,7 +65,7 @@ class ComposerBindings extends BaseBindings { } void _bindingsUtils() { - Get.lazyPut(() => FileUploader(Get.find(tag: BindingTag.isoLateTag))); + Get.lazyPut(() => FileUploader(Get.find(tag: BindingTag.isoLateTag), Get.find())); } @override diff --git a/lib/features/mailbox/data/network/mailbox_isolate_worker.dart b/lib/features/mailbox/data/network/mailbox_isolate_worker.dart index 889ed2867..d0f46ae50 100644 --- a/lib/features/mailbox/data/network/mailbox_isolate_worker.dart +++ b/lib/features/mailbox/data/network/mailbox_isolate_worker.dart @@ -29,8 +29,9 @@ class MailboxIsolateWorker { final ThreadAPI _threadApi; final EmailAPI _emailApi; + final Executor _isolateExecutor; - MailboxIsolateWorker(this._threadApi, this._emailApi); + MailboxIsolateWorker(this._threadApi, this._emailApi, this._isolateExecutor); Future> markAsMailboxRead( AccountId accountId, @@ -45,7 +46,7 @@ class MailboxIsolateWorker { totalEmailUnread, onProgressController); } else { - final result = await Executor().execute( + final result = await _isolateExecutor.execute( arg1: MailboxMarkAsReadArguments( _threadApi, _emailApi, diff --git a/lib/features/thread/data/network/thread_isolate_worker.dart b/lib/features/thread/data/network/thread_isolate_worker.dart index 4a131fbe6..445641df5 100644 --- a/lib/features/thread/data/network/thread_isolate_worker.dart +++ b/lib/features/thread/data/network/thread_isolate_worker.dart @@ -19,8 +19,9 @@ import 'package:worker_manager/worker_manager.dart'; class ThreadIsolateWorker { final ThreadAPI _threadAPI; final EmailAPI _emailAPI; + final Executor _isolateExecutor; - ThreadIsolateWorker(this._threadAPI, this._emailAPI); + ThreadIsolateWorker(this._threadAPI, this._emailAPI, this._isolateExecutor); Future> emptyTrashFolder( AccountId accountId, @@ -30,7 +31,7 @@ class ThreadIsolateWorker { if (BuildUtils.isWeb) { return _emptyTrashFolderOnWeb(accountId, mailboxId, updateDestroyedEmailCache); } else { - final result = await Executor().execute( + final result = await _isolateExecutor.execute( arg1: EmptyTrashFolderArguments(_threadAPI, _emailAPI, accountId, mailboxId), fun1: _emptyTrashFolderAction, notification: (value) { diff --git a/lib/features/upload/data/network/file_uploader.dart b/lib/features/upload/data/network/file_uploader.dart index bc1265ca4..149f6cff1 100644 --- a/lib/features/upload/data/network/file_uploader.dart +++ b/lib/features/upload/data/network/file_uploader.dart @@ -17,8 +17,9 @@ import 'package:worker_manager/worker_manager.dart' as worker; class FileUploader { final DioClient _dioClient; + final worker.Executor _isolateExecutor; - FileUploader(this._dioClient); + FileUploader(this._dioClient, this._isolateExecutor); Future uploadAttachment( UploadTaskId uploadId, @@ -35,7 +36,7 @@ class FileUploader { uploadUri, cancelToken: cancelToken); } else { - final attachmentUploaded = await worker.Executor().execute( + final attachmentUploaded = await _isolateExecutor.execute( arg1: UploadFileArguments( _dioClient, uploadId, diff --git a/lib/main/bindings/network/network_bindings.dart b/lib/main/bindings/network/network_bindings.dart index 1b0484373..d4ee484f4 100644 --- a/lib/main/bindings/network/network_bindings.dart +++ b/lib/main/bindings/network/network_bindings.dart @@ -23,6 +23,7 @@ import 'package:tmail_ui_user/features/session/data/network/session_api.dart'; import 'package:tmail_ui_user/features/thread/data/network/thread_api.dart'; import 'package:tmail_ui_user/features/thread/data/network/thread_isolate_worker.dart'; import 'package:tmail_ui_user/main/bindings/network/binding_tag.dart'; +import 'package:worker_manager/worker_manager.dart'; class NetworkBindings extends Bindings { @@ -99,11 +100,16 @@ class NetworkBindings extends Bindings { } void _bindingIsolateWorker() { + Get.put(Executor()); Get.put(ThreadIsolateWorker( - Get.find(), - Get.find())); + Get.find(), + Get.find(), + Get.find(), + )); Get.put(MailboxIsolateWorker( - Get.find(), - Get.find())); + Get.find(), + Get.find(), + Get.find(), + )); } } \ No newline at end of file diff --git a/pubspec.yaml b/pubspec.yaml index a7f17bb2e..9c36dc885 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -176,7 +176,7 @@ dependencies: percent_indicator: 4.2.2 # Isolate - worker_manager: 4.4.6 + worker_manager: 4.4.0 async: 2.8.2