getCachedMetaData method

Future<Map<String, dynamic>> getCachedMetaData(
  1. String classId
)

Implementation

Future<Map<String, dynamic>> getCachedMetaData(String classId) async {
  classId = _trimClassId(classId);
  final cacheDir = await _ensureCacheDir();
  final safeId = _safeId(classId);
  final metaFile = File(p.join(cacheDir.path, '$safeId-success.json'));
  if (!await metaFile.exists()) return {};
  var data =
      jsonDecode(await metaFile.readAsString()) as Map<String, dynamic>;
  var resolved = await _resolveSuccessDataPaths(data);
  if (resolved == null) {
    await _repairSuccessJsonFromClassDir(safeId, metaFile);
    data = jsonDecode(await metaFile.readAsString()) as Map<String, dynamic>;
    resolved = await _resolveSuccessDataPaths(data);
  }
  if (resolved == null && await _classCoreVideosExist(safeId)) {
    return await _playbackDataWithLocalMedia(safeId, data);
  }
  return resolved ?? {};
}