add method

Future add(
  1. String channelMonitorInfo
)

Implementation

Future add(String channelMonitorInfo) async {
  if (channelMonitorInfo.isEmpty) {
    return;
  }
  if (_savePath.isEmpty) {
    final directory = await getApplicationDocumentsDirectory();
    _savePath = directory.path;
  }
  if (logPrint) {
    print("$TAG $channelMonitorInfo");
  }
  String filePathStr =
      _savePath + "/" + CACHE_DIR_NAME + "/" + CACHE_FILE_NAME;
  File saveFile = File(filePathStr);
  if (!saveFile.existsSync()) {
    saveFile.parent.createSync();
    saveFile.createSync();
  }
  try {
    saveFile.writeAsStringSync(channelMonitorInfo + "\n",
        mode: FileMode.append);
    int fileSize = saveFile.statSync().size;
    if (fileSize >= maxSize) {
      String newPath = _savePath +
          "/" +
          CACHE_DIR_NAME +
          "/" +
          SHOULD_UPLOAD_KEY +
          "_" +
          DateTime.now().millisecondsSinceEpoch.toString();
      if (logPrint) {
        print("$TAG file size > limit size:$maxSize rename: $newPath");
      }
      saveFile.renameSync(newPath);
      _tryUpload();
    }
  } catch (e) {
    print(e);
  }
}