package com.lemenzo.messenger.data;

import com.lemenzo.messenger.model.MessageItem;
import java.util.Collections;
import java.util.List;

/**
 * A bounded page of a conversation plus a stable continuation cursor.
 * The cursor is (date, per-protocol id) so messages sharing an identical timestamp
 * cannot be skipped or make paging stop early.
 */
public final class MessagePage {
    public final List<MessageItem> items;
    public final boolean hasOlder;
    public final long nextBeforeDate;
    public final long nextSmsId;
    public final long nextMmsId;

    public MessagePage(List<MessageItem> items, boolean hasOlder,
            long nextBeforeDate, long nextSmsId, long nextMmsId) {
        this.items = items == null ? Collections.emptyList() : items;
        this.hasOlder = hasOlder;
        this.nextBeforeDate = nextBeforeDate;
        this.nextSmsId = nextSmsId;
        this.nextMmsId = nextMmsId;
    }
}
