MessageSequence.fromPage constructor

MessageSequence.fromPage(
  1. int page,
  2. int pageSize,
  3. int messagesExist, {
  4. bool isUidSequence = false,
})

Convenience method for getting the sequence for a range defined by the page starting with 1, the pageSize and the number of messages messagesExist.

Implementation

factory MessageSequence.fromPage(
  int page,
  int pageSize,
  int messagesExist, {
  bool isUidSequence = false,
}) {
  final rangeStart = messagesExist - page * pageSize + 1;

  if (page == 1) {
    // ensure that also get any new messages:
    return MessageSequence.fromRangeToLast(
      rangeStart < 1 ? 1 : rangeStart,
      isUidSequence: isUidSequence,
    );
  }
  final rangeEnd = rangeStart + pageSize - 1;

  return MessageSequence.fromRange(
    rangeStart < 1 ? 1 : rangeStart,
    rangeEnd,
    isUidSequence: isUidSequence,
  );
}