You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
SmartFit_Mobile/lib/modele/activity_saver.dart

44 lines
1.4 KiB

import 'dart:io';
import 'dart:typed_data';
import 'package:path/path.dart' as p;
import "package:path_provider/path_provider.dart";
import 'package:smartfit_app_mobile/main.dart';
class ActivitySaver {
String saveDirectory = "activities";
late final Directory applicationDocumentsDir;
ActivitySaver._create(this.applicationDocumentsDir);
Uint8List getActivity(String uuid) {
String filename = localDB.getActivityFilenameByUuid(uuid);
final file =
File(p.join(applicationDocumentsDir.path, saveDirectory, filename));
return file.readAsBytesSync();
}
Future<void> saveActivity(Uint8List activityFile, String filename) async {
stdout.write("Creating activity file...\n");
final file = await File(
p.join(applicationDocumentsDir.path, saveDirectory, filename))
.create(recursive: true); // To create dir if not exists
file.writeAsBytesSync(activityFile);
stdout.write("Activity file created\n");
}
void deleteActivity(String uuid) {
String filename = localDB.getActivityFilenameByUuid(uuid);
final file =
File(p.join(applicationDocumentsDir.path, saveDirectory, filename));
file.deleteSync();
}
static Future<ActivitySaver> create() async {
stdout.write("Activity Saver: Created\n");
final appDir = await getApplicationDocumentsDirectory();
return ActivitySaver._create(appDir);
}
}