add getVisitsPaginated; disable onScrollChange

This commit is contained in:
Fabian Freund
2025-12-22 20:55:58 +01:00
parent b4a8432804
commit a90f18d9c8
7 changed files with 159 additions and 75 deletions
@@ -38,7 +38,7 @@ class GeckoEventService extends GeckoStateEvents {
final _thumbnailSubject = PublishSubject<ThumbnailEvent>();
final _findResultsSubject = PublishSubject<FindResultsEvent>();
final _longPressSubject = PublishSubject<LongPressEvent>();
final _scrollEventSubject = PublishSubject<ScrollEvent>();
// final _scrollEventSubject = PublishSubject<ScrollEvent>();
final _prefUpdateSubject = PublishSubject<GeckoPref>();
final _siteAssignementSubject = PublishSubject<ContainerSiteAssignment>();
@@ -60,7 +60,7 @@ class GeckoEventService extends GeckoStateEvents {
Stream<ThumbnailEvent> get thumbnailEvents => _thumbnailSubject.stream;
Stream<FindResultsEvent> get findResultsEvent => _findResultsSubject.stream;
Stream<LongPressEvent> get longPressEvent => _longPressSubject.stream;
Stream<ScrollEvent> get scrollEvent => _scrollEventSubject.stream;
// Stream<ScrollEvent> get scrollEvent => _scrollEventSubject.stream;
Stream<GeckoPref> get prefUpdateEvent => _prefUpdateSubject.stream;
Stream<ContainerSiteAssignment> get siteAssignementEvent =>
_siteAssignementSubject.stream;
@@ -174,13 +174,13 @@ class GeckoEventService extends GeckoStateEvents {
_tabAddedSubject.addWhenMoreRecent(timestamp, null, tabId);
}
@override
void onScrollChange(int timestamp, String tabId, int scrollY) {
_scrollEventSubject.addWhenMoreRecent(timestamp, tabId, (
tabId: tabId,
scrollY: scrollY,
));
}
// @override
// void onScrollChange(int timestamp, String tabId, int scrollY) {
// _scrollEventSubject.addWhenMoreRecent(timestamp, tabId, (
// tabId: tabId,
// scrollY: scrollY,
// ));
// }
@override
void onPreferenceChange(int timestamp, GeckoPref value) {
@@ -224,7 +224,7 @@ class GeckoEventService extends GeckoStateEvents {
await _thumbnailSubject.close();
await _findResultsSubject.close();
await _longPressSubject.close();
await _scrollEventSubject.close();
// await _scrollEventSubject.close();
await _tabAddedSubject.close();
await _prefUpdateSubject.close();
await _siteAssignementSubject.close();
@@ -25,6 +25,18 @@ class GeckoHistoryService {
);
}
Future<List<VisitInfo>> getVisitsPaginated(
int offset,
int count,
Set<VisitType> types,
) {
return _api.getVisitsPaginated(
offset,
count,
VisitType.values.toSet().difference(types).toList(),
);
}
Future<void> deleteVisit(VisitInfo info) {
switch (info.visitType) {
case VisitType.link:
@@ -5352,8 +5352,6 @@ abstract class GeckoStateEvents {
void onLongPress(int timestamp, String id, HitResult hitResult);
void onScrollChange(int timestamp, String tabId, int scrollY);
void onPreferenceChange(int timestamp, GeckoPref value);
void onContainerSiteAssignment(int timestamp, ContainerSiteAssignment details);
@@ -5770,37 +5768,6 @@ abstract class GeckoStateEvents {
});
}
}
{
final pigeonVar_channel = BasicMessageChannel<Object?>(
'dev.flutter.pigeon.flutter_mozilla_components.GeckoStateEvents.onScrollChange$messageChannelSuffix', pigeonChannelCodec,
binaryMessenger: binaryMessenger);
if (api == null) {
pigeonVar_channel.setMessageHandler(null);
} else {
pigeonVar_channel.setMessageHandler((Object? message) async {
assert(message != null,
'Argument for dev.flutter.pigeon.flutter_mozilla_components.GeckoStateEvents.onScrollChange was null.');
final List<Object?> args = (message as List<Object?>?)!;
final int? arg_timestamp = (args[0] as int?);
assert(arg_timestamp != null,
'Argument for dev.flutter.pigeon.flutter_mozilla_components.GeckoStateEvents.onScrollChange was null, expected non-null int.');
final String? arg_tabId = (args[1] as String?);
assert(arg_tabId != null,
'Argument for dev.flutter.pigeon.flutter_mozilla_components.GeckoStateEvents.onScrollChange was null, expected non-null String.');
final int? arg_scrollY = (args[2] as int?);
assert(arg_scrollY != null,
'Argument for dev.flutter.pigeon.flutter_mozilla_components.GeckoStateEvents.onScrollChange was null, expected non-null int.');
try {
api.onScrollChange(arg_timestamp!, arg_tabId!, arg_scrollY!);
return wrapResponse(empty: true);
} on PlatformException catch (e) {
return wrapResponse(error: e);
} catch (e) {
return wrapResponse(error: PlatformException(code: 'error', message: e.toString()));
}
});
}
}
{
final pigeonVar_channel = BasicMessageChannel<Object?>(
'dev.flutter.pigeon.flutter_mozilla_components.GeckoStateEvents.onPreferenceChange$messageChannelSuffix', pigeonChannelCodec,
@@ -6584,6 +6551,33 @@ class GeckoHistoryApi {
}
}
Future<List<VisitInfo>> getVisitsPaginated(int offset, int count, List<VisitType> excludeTypes) async {
final pigeonVar_channelName = 'dev.flutter.pigeon.flutter_mozilla_components.GeckoHistoryApi.getVisitsPaginated$pigeonVar_messageChannelSuffix';
final pigeonVar_channel = BasicMessageChannel<Object?>(
pigeonVar_channelName,
pigeonChannelCodec,
binaryMessenger: pigeonVar_binaryMessenger,
);
final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(<Object?>[offset, count, excludeTypes]);
final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;
if (pigeonVar_replyList == null) {
throw _createConnectionError(pigeonVar_channelName);
} else if (pigeonVar_replyList.length > 1) {
throw PlatformException(
code: pigeonVar_replyList[0]! as String,
message: pigeonVar_replyList[1] as String?,
details: pigeonVar_replyList[2],
);
} else if (pigeonVar_replyList[0] == null) {
throw PlatformException(
code: 'null-error',
message: 'Host platform returned null value for non-null return value.',
);
} else {
return (pigeonVar_replyList[0] as List<Object?>?)!.cast<VisitInfo>();
}
}
Future<void> deleteVisit(String url, int timestamp) async {
final pigeonVar_channelName = 'dev.flutter.pigeon.flutter_mozilla_components.GeckoHistoryApi.deleteVisit$pigeonVar_messageChannelSuffix';
final pigeonVar_channel = BasicMessageChannel<Object?>(