TF-3334 Synchonize cache all the time have new changes even in search or not
This commit is contained in:
committed by
Dat H. Pham
parent
2d976bed18
commit
c63e3d2973
@@ -557,6 +557,8 @@ class ThreadController extends BaseController with EmailActionController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Future<void> _refreshChangeSearchEmail() async {
|
Future<void> _refreshChangeSearchEmail() async {
|
||||||
|
await _refreshChangeListEmailCache();
|
||||||
|
|
||||||
log('ThreadController::_refreshChangeSearchEmail:');
|
log('ThreadController::_refreshChangeSearchEmail:');
|
||||||
canSearchMore = false;
|
canSearchMore = false;
|
||||||
searchController.updateFilterEmail(
|
searchController.updateFilterEmail(
|
||||||
@@ -596,9 +598,8 @@ class ThreadController extends BaseController with EmailActionController {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Future<void> _refreshChangeListEmail() async {
|
Future<Either<Failure, Success>> _refreshChangeListEmailCache() async {
|
||||||
log('ThreadController::_refreshChangeListEmail:');
|
return _refreshChangesEmailsInMailboxInteractor.execute(
|
||||||
final refreshViewState = await _refreshChangesEmailsInMailboxInteractor.execute(
|
|
||||||
_session!,
|
_session!,
|
||||||
_accountId!,
|
_accountId!,
|
||||||
mailboxDashBoardController.currentEmailState!,
|
mailboxDashBoardController.currentEmailState!,
|
||||||
@@ -614,6 +615,11 @@ class ThreadController extends BaseController with EmailActionController {
|
|||||||
mailboxId: selectedMailboxId,
|
mailboxId: selectedMailboxId,
|
||||||
),
|
),
|
||||||
).last;
|
).last;
|
||||||
|
}
|
||||||
|
|
||||||
|
Future<void> _refreshChangeListEmail() async {
|
||||||
|
log('ThreadController::_refreshChangeListEmail:');
|
||||||
|
final refreshViewState = await _refreshChangeListEmailCache();
|
||||||
|
|
||||||
final refreshState = refreshViewState
|
final refreshState = refreshViewState
|
||||||
.foldSuccessWithResult<RefreshChangesAllEmailSuccess>();
|
.foldSuccessWithResult<RefreshChangesAllEmailSuccess>();
|
||||||
|
|||||||
@@ -35,6 +35,7 @@ import 'package:tmail_ui_user/features/network_connection/presentation/network_c
|
|||||||
import 'package:tmail_ui_user/features/thread/domain/constants/thread_constants.dart';
|
import 'package:tmail_ui_user/features/thread/domain/constants/thread_constants.dart';
|
||||||
import 'package:tmail_ui_user/features/thread/domain/model/filter_message_option.dart';
|
import 'package:tmail_ui_user/features/thread/domain/model/filter_message_option.dart';
|
||||||
import 'package:tmail_ui_user/features/thread/domain/model/search_query.dart';
|
import 'package:tmail_ui_user/features/thread/domain/model/search_query.dart';
|
||||||
|
import 'package:tmail_ui_user/features/thread/domain/state/refresh_changes_all_email_state.dart';
|
||||||
import 'package:tmail_ui_user/features/thread/domain/state/search_email_state.dart';
|
import 'package:tmail_ui_user/features/thread/domain/state/search_email_state.dart';
|
||||||
import 'package:tmail_ui_user/features/thread/domain/usecases/get_email_by_id_interactor.dart';
|
import 'package:tmail_ui_user/features/thread/domain/usecases/get_email_by_id_interactor.dart';
|
||||||
import 'package:tmail_ui_user/features/thread/domain/usecases/get_emails_in_mailbox_interactor.dart';
|
import 'package:tmail_ui_user/features/thread/domain/usecases/get_emails_in_mailbox_interactor.dart';
|
||||||
@@ -302,6 +303,19 @@ void main() {
|
|||||||
properties: anyNamed('properties'),
|
properties: anyNamed('properties'),
|
||||||
needRefreshSearchState: anyNamed('needRefreshSearchState'),
|
needRefreshSearchState: anyNamed('needRefreshSearchState'),
|
||||||
)).thenAnswer((_) => Stream.value(Right(SearchEmailSuccess(emailList))));
|
)).thenAnswer((_) => Stream.value(Right(SearchEmailSuccess(emailList))));
|
||||||
|
|
||||||
|
when(mockRefreshChangesEmailsInMailboxInteractor.execute(
|
||||||
|
any,
|
||||||
|
any,
|
||||||
|
any,
|
||||||
|
sort: anyNamed('sort'),
|
||||||
|
propertiesCreated: anyNamed('propertiesCreated'),
|
||||||
|
propertiesUpdated: anyNamed('propertiesUpdated'),
|
||||||
|
emailFilter: anyNamed('emailFilter'),
|
||||||
|
)).thenAnswer((_) => Stream.value(Right(RefreshChangesAllEmailSuccess(
|
||||||
|
emailList: emailList,
|
||||||
|
currentEmailState: State('old-state'))))
|
||||||
|
);
|
||||||
|
|
||||||
// Act
|
// Act
|
||||||
threadController.onInit();
|
threadController.onInit();
|
||||||
|
|||||||
Reference in New Issue
Block a user