getAllThreads property

Future<List<SmsThread>> get getAllThreads

Get all threads

Implementation

Future<List<SmsThread>> get getAllThreads async {
  List<SmsMessage> messages = await this.getAllSms;
  Map<int, List<SmsMessage>> filtered = {};
  messages.forEach((msg) {
    if (!filtered.containsKey(msg.threadId)) {
      filtered[msg.threadId!] = [];
    }
    filtered[msg.threadId]?.add(msg);
  });
  List<SmsThread> threads = <SmsThread>[];
  for (var k in filtered.keys) {
    final thread = new SmsThread.fromMessages(filtered[k]!);
    await thread.findContact();
    threads.add(thread);
  }
  return threads;
}