getAllThreads property

Future<List<SmsThread>> getAllThreads

Get all threads

Implementation

Future<List<SmsThread>> get getAllThreads async {
  List<SmsMessage> messages = await getAllSms;
  Map<int?, List<SmsMessage>> filtered = {};
  for (var msg in messages) {
    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 = SmsThread.fromMessages(filtered[k]);
    await thread.findContact();
    threads.add(thread);
  }
  return threads;
}