add method
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);
}
}