TF-695: implement isolate for empty trash
This commit is contained in:
@@ -71,6 +71,8 @@ import 'package:tmail_ui_user/features/thread/presentation/model/search_status.d
|
||||
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
|
||||
import 'package:tmail_ui_user/main/routes/app_routes.dart';
|
||||
import 'package:tmail_ui_user/main/routes/route_navigation.dart';
|
||||
import 'package:tmail_ui_user/main/utils/binding_tag.dart';
|
||||
import 'package:worker_manager/worker_manager.dart';
|
||||
|
||||
class ThreadController extends BaseController {
|
||||
|
||||
@@ -78,6 +80,7 @@ class ThreadController extends BaseController {
|
||||
final _imagePaths = Get.find<ImagePaths>();
|
||||
final _responsiveUtils = Get.find<ResponsiveUtils>();
|
||||
final _appToast = Get.find<AppToast>();
|
||||
final Executor _isolateExecutor = Get.find<Executor>(tag: BindingTag.threadExecutor);
|
||||
|
||||
final GetEmailsInMailboxInteractor _getEmailsInMailboxInteractor;
|
||||
final MarkAsMultipleEmailReadInteractor _markAsMultipleEmailReadInteractor;
|
||||
@@ -105,7 +108,6 @@ class ThreadController extends BaseController {
|
||||
final ScrollController listEmailController = ScrollController();
|
||||
late Worker mailboxWorker, searchWorker, dashboardActionWorker, viewStateWorker, advancedSearchFilterWorker;
|
||||
|
||||
|
||||
Set<Comparator>? get _sortOrder => <Comparator>{}
|
||||
..add(EmailComparator(EmailComparatorProperty.receivedAt)
|
||||
..setIsAscending(false));
|
||||
@@ -141,6 +143,7 @@ class ThreadController extends BaseController {
|
||||
@override
|
||||
void onInit() {
|
||||
_initWorker();
|
||||
_initializeIsolateExecutor();
|
||||
super.onInit();
|
||||
}
|
||||
|
||||
@@ -153,6 +156,7 @@ class ThreadController extends BaseController {
|
||||
@override
|
||||
void onClose() {
|
||||
listEmailController.dispose();
|
||||
_isolateExecutor.dispose();
|
||||
_clearWorker();
|
||||
super.onClose();
|
||||
}
|
||||
@@ -315,6 +319,10 @@ class ThreadController extends BaseController {
|
||||
});
|
||||
}
|
||||
|
||||
void _initializeIsolateExecutor() async {
|
||||
await _isolateExecutor.warmUp(log: BuildUtils.isDebugMode);
|
||||
}
|
||||
|
||||
void _clearWorker() {
|
||||
mailboxWorker.call();
|
||||
dashboardActionWorker.call();
|
||||
|
||||
Reference in New Issue
Block a user