46 lines
1.3 KiB
Dart
46 lines
1.3 KiB
Dart
import 'package:didvan/services/media/media.dart';
|
|
import 'package:didvan/services/storage/storage.dart';
|
|
import 'package:flutter/foundation.dart';
|
|
import 'package:flutter/material.dart';
|
|
import 'package:path_provider/path_provider.dart';
|
|
|
|
class AppInitializer {
|
|
static Future<void> setupServices() async {
|
|
if (!kIsWeb) {
|
|
StorageService.appDocsDir =
|
|
(await getApplicationDocumentsDirectory()).path;
|
|
StorageService.appTempsDir = (await getTemporaryDirectory()).path;
|
|
MediaService.init();
|
|
}
|
|
}
|
|
|
|
static Future<ThemeMode> initilizeSettings() async {
|
|
final brightness = await StorageService.getValue(key: 'brightness');
|
|
if (brightness != null) {
|
|
return brightness == 'dark' ? ThemeMode.dark : ThemeMode.light;
|
|
} else {
|
|
await StorageService.setValue(
|
|
key: 'notificationTimeRangeStart',
|
|
value: '00:00',
|
|
);
|
|
await StorageService.setValue(
|
|
key: 'notificationTimeRangeEnd',
|
|
value: '23:59',
|
|
);
|
|
await StorageService.setValue(
|
|
key: 'fontFamily',
|
|
value: 'Dana-FA',
|
|
);
|
|
await StorageService.setValue(
|
|
key: 'fontSizeScale',
|
|
value: '1',
|
|
);
|
|
await StorageService.setValue(
|
|
key: 'brightness',
|
|
value: 'light',
|
|
);
|
|
return ThemeMode.light;
|
|
}
|
|
}
|
|
}
|