-
Notifications
You must be signed in to change notification settings - Fork 179
Expand file tree
/
Copy pathapp_settings.dart
More file actions
48 lines (41 loc) · 1.64 KB
/
app_settings.dart
File metadata and controls
48 lines (41 loc) · 1.64 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
import 'dart:io';
import 'package:get/get.dart';
import 'package:home_widget/home_widget.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'package:taskwarrior/app/utils/language/supported_language.dart';
part 'save_tour_status.dart';
part 'selected_theme.dart';
part 'selected_language.dart';
part 'selected_time_format.dart';
class AppSettings {
static bool isDarkMode = true;
static SupportedLanguage selectedLanguage = SupportedLanguage.english;
static final RxBool use24HourFormatRx = false.obs;
static Future init() async {
if (Platform.isIOS){
await HomeWidget.setAppGroupId("group.taskwarrior");
}
await SelectedTheme.init();
await SelectedLanguage.init();
await SaveTourStatus.init();
await SelectedTimeFormat.init();
isDarkMode = SelectedTheme.getMode() ?? true;
SupportedLanguage? userPreferredLanguage =
SelectedLanguage.getSelectedLanguage();
if (userPreferredLanguage != null) {
selectedLanguage = userPreferredLanguage;
} else {
// If no explicit preference, use the system language (if supported)
selectedLanguage = SupportedLanguageExtension.getSystemLanguage();
// Save the system language as the user's preference
await SelectedLanguage.saveSelectedLanguage(selectedLanguage);
}
use24HourFormatRx.value = SelectedTimeFormat.getTimeFormat() ?? false;
}
static Future saveSettings(
bool isDarkMode, SupportedLanguage language, bool use24hour) async {
await SelectedTheme.saveMode(isDarkMode);
await SelectedLanguage.saveSelectedLanguage(language);
await SelectedTimeFormat.saveTimeFormat(use24hour);
}
}