40 lines
1.0 KiB
Dart
40 lines
1.0 KiB
Dart
import 'package:journaler/meilisearch.dart';
|
|
|
|
Future<double> getVolume() async {
|
|
try {
|
|
final volumeStr = await getSetting('notificationVolume');
|
|
return double.tryParse(volumeStr ?? '0.7') ?? 0.7;
|
|
} catch (e) {
|
|
return 0.7;
|
|
}
|
|
}
|
|
|
|
Future<void> setVolume(double volume) async {
|
|
await setSetting('notificationVolume', volume.toString());
|
|
}
|
|
|
|
Future<Duration> getPopupInterval() async {
|
|
try {
|
|
final intervalStr = await getSetting('popupIntervalMinutes');
|
|
return Duration(minutes: int.tryParse(intervalStr ?? '10') ?? 10);
|
|
} catch (e) {
|
|
return Duration(minutes: 10);
|
|
}
|
|
}
|
|
|
|
Future<void> setPopupInterval(Duration interval) async {
|
|
await setSetting('popupIntervalMinutes', interval.inMinutes.toString());
|
|
}
|
|
|
|
Future<String> getNotificationSound() async {
|
|
try {
|
|
return await getSetting('notificationSound') ?? 'MeetTheSniper.mp3';
|
|
} catch (e) {
|
|
return 'MeetTheSniper.mp3';
|
|
}
|
|
}
|
|
|
|
Future<void> setNotificationSound(String sound) async {
|
|
await setSetting('notificationSound', sound);
|
|
}
|