summaryrefslogtreecommitdiff
path: root/lib/services/local_shift_provider_service.dart
diff options
context:
space:
mode:
Diffstat (limited to 'lib/services/local_shift_provider_service.dart')
-rw-r--r--lib/services/local_shift_provider_service.dart26
1 files changed, 17 insertions, 9 deletions
diff --git a/lib/services/local_shift_provider_service.dart b/lib/services/local_shift_provider_service.dart
index 4894820..a7dfa5b 100644
--- a/lib/services/local_shift_provider_service.dart
+++ b/lib/services/local_shift_provider_service.dart
@@ -20,6 +20,21 @@ class LocalShiftProviderService extends IProgramProviderService {
return directory.path;
}
+ Future<List<String>> getStoredFileList() async {
+ List<String> result = [];
+ Directory dir = await _localDir;
+ var list = dir.listSync();
+ for (var item in list) {
+ if (!item.path.endsWith('.json') || !item.path.contains('shifts')) {
+ continue;
+ }
+
+ result.add(item.path);
+ }
+
+ return result;
+ }
+
Future<File> _localFile(String postfix) async {
final path = await _localPath;
String fullPath = '$path/shifts_' + postfix + '.json';
@@ -100,16 +115,10 @@ class LocalShiftProviderService extends IProgramProviderService {
@override
Future<List<Shift>> getPastShifts() async {
- await Future.delayed(Duration(seconds: 1));
List<Shift> shifts = [];
- Directory dir = await _localDir;
- var list = dir.listSync();
+ var list = await getStoredFileList();
for (var item in list) {
- if (!item.path.endsWith('.json') || !item.path.contains('shifts')) {
- continue;
- }
-
- final file = File(item.path);
+ final file = File(item);
final contents = await file.readAsString();
final Iterable iterable = await jsonDecode(contents);
List<Shift> data =
@@ -124,7 +133,6 @@ class LocalShiftProviderService extends IProgramProviderService {
@override
Future<List<Shift>> getShiftsForWeek(DateTime firstDayOfWeek) async {
- await Future.delayed(Duration(seconds: 1));
var items = await readShiftsFromFile(
DateUtilities.DateUtils.firstDayOfWeek(firstDayOfWeek));
List<Shift> result = [];