getMeasurement method

  1. @override
Future<Measurement> getMeasurement()
override

Subclasses should implement this method to collect a Measurement.

Can return null if no data is available. Can return an Error measurement if an error occurs.

Implementation

@override
Future<Measurement> getMeasurement() async {
  List<SmsMessage> allSms = [];
  allSms
    ..addAll(await Telephony.instance.getInboxSms(
      columns: ALL_SMS_COLUMNS,
    ))
    ..addAll(await Telephony.instance.getSentSms(
      columns: ALL_SMS_COLUMNS,
    ));
  return Measurement.fromData(TextMessageLog(
      allSms.map((sms) => TextMessage.fromSmsMessage(sms)).toList()));
}