TF-524 Clean up recent search cache

This commit is contained in:
dab246
2022-05-24 13:24:00 +07:00
committed by Dat H. Pham
parent 11c9a8713a
commit 81eca6c59a
20 changed files with 203 additions and 53 deletions
@@ -1,6 +1,7 @@
import 'package:equatable/equatable.dart';
import 'package:hive/hive.dart';
import 'package:jmap_dart_client/jmap/core/extensions/date_time_extension.dart';
import 'package:tmail_ui_user/features/caching/utils/caching_constants.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/domain/model/recent_search.dart';
@@ -35,4 +36,13 @@ extension RecentSearchCacheExtension on RecentSearchCache {
bool match(String pattern) {
return value.toLowerCase().contains(pattern.toLowerCase());
}
}
extension ListRecentSearchCacheExtension on List<RecentSearchCache> {
void sortByCreationDate() {
sort((recentSearch1, recentSearch2) {
return recentSearch1.creationDate.compareToSort(recentSearch1.creationDate, false);
});
}
}
@@ -0,0 +1,44 @@
// GENERATED CODE - DO NOT MODIFY BY HAND
part of 'recent_search_cache.dart';
// **************************************************************************
// TypeAdapterGenerator
// **************************************************************************
class RecentSearchCacheAdapter extends TypeAdapter<RecentSearchCache> {
@override
final int typeId = 7;
@override
RecentSearchCache read(BinaryReader reader) {
final numOfFields = reader.readByte();
final fields = <int, dynamic>{
for (int i = 0; i < numOfFields; i++) reader.readByte(): reader.read(),
};
return RecentSearchCache(
fields[0] as String,
fields[1] as DateTime,
);
}
@override
void write(BinaryWriter writer, RecentSearchCache obj) {
writer
..writeByte(2)
..writeByte(0)
..write(obj.value)
..writeByte(1)
..write(obj.creationDate);
}
@override
int get hashCode => typeId.hashCode;
@override
bool operator ==(Object other) =>
identical(this, other) ||
other is RecentSearchCacheAdapter &&
runtimeType == other.runtimeType &&
typeId == other.typeId;
}