onQueryMoreActivities method

void onQueryMoreActivities(
  1. List<ActivityData> activities,
  2. List<AggregatedActivityData> aggregatedActivities,
  3. PaginationData pagination
)

Handles the result of a query for more activities.

Implementation

void onQueryMoreActivities(
  List<ActivityData> activities,
  List<AggregatedActivityData> aggregatedActivities,
  PaginationData pagination,
) {
  // Merge the new activities with the existing ones
  final updatedActivities = state.activities.merge(
    activities,
    key: (it) => it.id,
  );

  final updatedAggregatedActivities = state.aggregatedActivities.merge(
    aggregatedActivities,
    key: (it) => it.group,
  );

  state = state
      .copyWith(
        activities: updatedActivities,
        aggregatedActivities: updatedAggregatedActivities,
        activitiesPagination: pagination,
      )
      // Re-derive isRead/isSeen for the newly-merged page against the current
      // notification status, in case a local mark happened before this page loaded.
      .reconcileReadSeen();
}