clearCachedMetaData method

Future<bool> clearCachedMetaData(
  1. String classId
)

Implementation

Future<bool> clearCachedMetaData(String classId) async {
  classId = _trimClassId(classId);
  _pausedClassIds.remove(classId);
  _pauseRequestedForClassId.remove(classId);
  _cachedProgressCurrentBytes.remove(classId);
  _cachedProgressTotalBytes.remove(classId);
  final cacheDir = await _ensureCacheDir();
  final safeId = _safeId(classId);
  final cachingPath = p.join(cacheDir.path, '$safeId.json');
  final cachedSuccessPath = p.join(cacheDir.path, '$safeId-success.json');
  final cachedFailedPath = p.join(cacheDir.path, '$safeId-failed.json');
  final onlineMetaCachePath = p.join(
    cacheDir.path,
    '$safeId-online-meta-cache.json',
  );
  final classCacheDir = Directory(p.join(cacheDir.path, safeId));
  try {
    if (await File(cachingPath).exists()) await File(cachingPath).delete();
    if (await File(cachedSuccessPath).exists()) {
      await File(cachedSuccessPath).delete();
    }
    if (await File(cachedFailedPath).exists()) {
      await File(cachedFailedPath).delete();
    }
    if (await File(onlineMetaCachePath).exists()) {
      await File(onlineMetaCachePath).delete();
    }
    if (await classCacheDir.exists()) {
      await classCacheDir.delete(recursive: true);
    }
  } catch (_) {}
  return true;
}