queryRecentCalls method

  1. @override
Future<void> queryRecentCalls(
  1. TUICallRecentCallsFilter filter,
  2. TUIValueCallback callback
)
override

Implementation

@override
Future<void> queryRecentCalls(TUICallRecentCallsFilter filter, TUIValueCallback callback) async {
  try {
    var result = await methodChannel.invokeMethod("queryRecentCalls", {'filter': filter.toJson()});
    List<TUICallRecords> callRecords = [];
    final recordList = List<dynamic>.from(result);
    for (var recordMap in recordList) {
      TUICallRecords record = TUICallRecords();
      record.callId = recordMap['callId'];
      record.inviter = recordMap['inviter'];
      record.inviteList = List<String>.from(recordMap['inviteList']);
      record.scene = TUICallScene.values[recordMap['scene']];
      record.mediaType = TUICallMediaType.values[recordMap['mediaType']];
      record.groupId = recordMap['groupId'];
      record.role = TUICallRole.values[recordMap['role']];
      record.result = TUICallResultType.values[recordMap['result']];
      record.beginTime = recordMap['beginTime'];
      record.totalTime = recordMap['totalTime'];
      callRecords.add(record);
    }
    callback.onSuccess!(result);
  } on PlatformException catch (error) {
    callback.onError!(int.fromEnvironment(error.code), error.message!);
  } on Exception catch (error) {
    callback.onError!(-1, error.toString());
  }
}