Currently I have a function to observe a friend from the method observeFriendPosts
. How can I observe multiple users at the same time and have amity posts retrieved in timestamp order and when fetching next page it fetches posts based on the timestamp?
void observeFriendPosts(String friendId,
{ScrollController? externalScrollController}) {
try {
AppLogger.logInfo(
"Observing friend posts for friendId: $friendId...");
scrollController = externalScrollController ?? ScrollController();
//initialize post live collection
postLiveCollection = AmitySocialClient.newPostRepository()
.getPosts()
.targetUser(friendId)
.getLiveCollection(pageSize: 20);
//listen to data changes from live collection
postLiveCollection.getStreamController().stream.listen((event) {
AppLogger.logInfo("PostService: observeCommunityPosts: $event");
// update latest results here
// setState(() {
amityPosts.clear();
amityPosts.addAll(event);
update();
// });
});
//load first page when initiating widget
postLiveCollection.loadNext();
//add pagination listener when srolling to top/bottom
scrollController!.addListener(paginationListener);
} catch (exception) {
AppLogger.logError(
"Error PostService: observeCommunityPosts: $exception");
}
}