does not work

This commit is contained in:
otsmr 2025-03-27 18:53:57 +01:00
parent e665c062d9
commit 935cf43254

View file

@ -32,14 +32,6 @@ class ChatListView extends StatefulWidget {
} }
class _ChatListViewState extends State<ChatListView> { class _ChatListViewState extends State<ChatListView> {
late Stream<List<Contact>> contactListStream;
@override
void initState() {
super.initState();
contactListStream = twonlyDatabase.contactsDao.watchContactsForChatList();
}
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
@ -94,7 +86,7 @@ class _ChatListViewState extends State<ChatListView> {
], ],
), ),
body: StreamBuilder( body: StreamBuilder(
stream: contactListStream, stream: twonlyDatabase.contactsDao.watchContactsForChatList(),
builder: (context, snapshot) { builder: (context, snapshot) {
if (!snapshot.hasData || snapshot.data == null) { if (!snapshot.hasData || snapshot.data == null) {
return Container(); return Container();
@ -165,18 +157,12 @@ class _UserListItem extends State<UserListItem> {
int lastMessageInSeconds = 0; int lastMessageInSeconds = 0;
MessageSendState state = MessageSendState.send; MessageSendState state = MessageSendState.send;
Message? currentMessage; Message? currentMessage;
late Stream<List<Message>> lastMessageStream;
late Stream<List<Message>> notOpenedMessageStream;
Timer? updateTime; Timer? updateTime;
@override @override
void initState() { void initState() {
super.initState(); super.initState();
lastMessageStream =
twonlyDatabase.messagesDao.watchLastMessage(widget.user.userId);
notOpenedMessageStream =
twonlyDatabase.messagesDao.watchMessageNotOpened(widget.user.userId);
lastUpdateTime(); lastUpdateTime();
} }
@ -210,7 +196,8 @@ class _UserListItem extends State<UserListItem> {
child: ListTile( child: ListTile(
title: Text(getContactDisplayName(widget.user)), title: Text(getContactDisplayName(widget.user)),
subtitle: StreamBuilder( subtitle: StreamBuilder(
stream: lastMessageStream, stream:
twonlyDatabase.messagesDao.watchLastMessage(widget.user.userId),
builder: (context, lastMessageSnapshot) { builder: (context, lastMessageSnapshot) {
if (!lastMessageSnapshot.hasData) { if (!lastMessageSnapshot.hasData) {
return Container(); return Container();
@ -220,7 +207,8 @@ class _UserListItem extends State<UserListItem> {
} }
final lastMessage = lastMessageSnapshot.data!.first; final lastMessage = lastMessageSnapshot.data!.first;
return StreamBuilder( return StreamBuilder(
stream: notOpenedMessageStream, stream: twonlyDatabase.messagesDao
.watchMessageNotOpened(widget.user.userId),
builder: (context, notOpenedMessagesSnapshot) { builder: (context, notOpenedMessagesSnapshot) {
if (!lastMessageSnapshot.hasData) { if (!lastMessageSnapshot.hasData) {
return Container(); return Container();