loadMessages function

Future<String?> loadMessages()

Implementation

Future<String?> loadMessages() async{
  try{
    User? user = FirebaseAuth.instance.currentUser;
    if (user == null)
      return "not register";

    var querySnapshot = await FirebaseFirestore.instance.collection("messages").where('user', isEqualTo: user.uid).get();
    messages = [];
    int _unread = 0;
    for (var result in querySnapshot.docs) {
      // dprint("loadMessages");
      // dprint(result.data().toString());
      // dprint(result.data()["time"].toDate().toString());
      var t = MessageData.fromJson(result.id, result.data());
      // var t = MessageData(result.id, result.data()["title"], result.data()["body"], result.data()["time"].toDate().toLocal());
      messages.add(t);
      if (!t.read)
        _unread++;
    }

    messages.sort((a, b) => a.compareTo(b));
    if (currentScreen() == "notify")
      userNotificationsSetToRead();

    addStat("notify", querySnapshot.docs.length);

    setNumberOfUnreadMessages(_unread);

  }catch(ex){
    return "loadMessages " + ex.toString();
  }
  return null;
}