getRecordLineFile method
Implementation
Future<List<RecordTimeLineFile>> getRecordLineFile(String date,
{bool cache = true, int timeout = 5}) async {
var timeLine = int.tryParse(statusResult?.support_time_line ?? "0") ?? 0;
if (timeLine < 1) {
_lineFileCache[date] = [];
return [];
}
if (cache == true) {
if (_lineFileCache.containsKey(date)) return _lineFileCache[date] ?? [];
}
List<RecordTimeLineFile> files = [];
List<int> data = [];
bool ret = await getRecordData(date, data, timeout, 0);
if (ret) {
var offset = 0;
while (offset < data.length) {
var lineData = RecordTimeLineData(Uint8List.fromList(data), offset);
RecordTimeLineFile? item;
try {
item = RecordTimeLineFile.fromData(lineData);
} catch (ex) {
item = null;
}
if (item != null) {
files.add(item);
} else {
if (lineData.offset == 0) break;
}
offset += lineData.offset ?? 0;
}
_lineFileCache[date] = files;
}
return files;
}