@@ -3,27 +3,31 @@ import 'package:flutter/foundation.dart';*/
33import 'package:flutter/material.dart' ;
44import 'package:flutter_localizations/flutter_localizations.dart' ;
55import 'package:get/get.dart' ;
6+ import 'package:hive_flutter/hive_flutter.dart' ;
67import 'package:intl/intl.dart' ;
7- import 'package:path_provider/path_provider.dart' ;
8- import 'package:ummobile/services/storage/user_settings.dart' ;
8+ import 'package:ummobile/modules/app_bar/modules/notifications/controllers/notifications_controller.dart' ;
9+ import 'package:ummobile/services/storage/app_settings/models/app_settings.dart' ;
10+ import 'package:ummobile/services/storage/app_settings/settings_box.dart' ;
11+ import 'package:ummobile/services/storage/storage_registry.dart' ;
912import 'package:ummobile/services/translations/get_translations.dart' ;
1013import 'package:ummobile/services/translations/translations_initialize.dart' ;
1114import 'package:syncfusion_localizations/syncfusion_localizations.dart' ;
1215
13- import 'modules/drawer/modules/settings/models/user_settings.dart' ;
1416import 'modules/login/views/page_login.dart' ;
15- import 'services/onesignal/handle_events.dart' ;
1617import 'services/onesignal/operations.dart' ;
1718import 'statics/settings/colors.dart' ;
1819
19- UserSettings ? _userSettings ;
20+ AppSettings ? _appSettings ;
2021
2122void main () async {
2223 WidgetsFlutterBinding .ensureInitialized ();
24+ await Hive .initFlutter ();
2325 await FlutterTranslations .initialize ();
24- _userSettings = UserSettings .fromJson (
25- UserSettingsStorage (await getApplicationDocumentsDirectory ())
26- .contentCopy);
26+ RegisterHiveAdapters ();
27+
28+ final appSettingsBox = AppSettingsBox ();
29+ await appSettingsBox.initializeBox ();
30+ _appSettings = appSettingsBox.appSettings;
2731 runApp (
2832 /*DevicePreview(
2933 enabled: !kReleaseMode,
@@ -39,37 +43,21 @@ class MyApp extends StatefulWidget {
3943 _MyAppState createState () => _MyAppState ();
4044}
4145
42- class _MyAppState extends State <MyApp > with WidgetsBindingObserver {
46+ class _MyAppState extends State <MyApp > {
4347 @override
4448 void initState () {
4549 super .initState ();
4650 initializeOneSignal ();
47- handleOneSignalEvents ();
48-
49- WidgetsBinding .instance! .addObserver (this );
50- }
51-
52- @override
53- void didChangeAppLifecycleState (AppLifecycleState state) {
54- switch (state) {
55- case AppLifecycleState .resumed:
56- break ;
57- case AppLifecycleState .inactive:
58- // app is inactive
59- break ;
60- case AppLifecycleState .paused:
61- // user is about quit our app temporally
62- break ;
63- case AppLifecycleState .detached:
64- // some code here...
65- break ;
66- }
67- }
68-
69- @override
70- void dispose () {
71- WidgetsBinding .instance! .removeObserver (this );
72- super .dispose ();
51+ handleOneSignalEvents (
52+ onReceive: (notification) {
53+ bool notificationsControllerExist =
54+ Get .isRegistered <NotificationsController >();
55+
56+ if (notificationsControllerExist) {
57+ Get .find <NotificationsController >().add (notification.notificationId);
58+ }
59+ },
60+ );
7361 }
7462
7563 @override
@@ -82,13 +70,13 @@ class _MyAppState extends State<MyApp> with WidgetsBindingObserver {
8270 /// Theme section
8371 theme: AppColorThemes .brightTeme,
8472 darkTheme: AppColorThemes .darkTheme,
85- themeMode: _userSettings ! .themeMode,
73+ themeMode: _appSettings ? .themeMode ?? ThemeMode .system ,
8674
8775 /// Internationalization section
8876 translations: Messages (),
8977 supportedLocales: [Locale ('en' ), Locale ('es' , 'MX' )],
9078 fallbackLocale: Locale ('es' , 'MX' ),
91- locale: _userSettings ! .language ??
79+ locale: _appSettings ? .language ??
9280 Get .deviceLocale, //DevicePreview.locale(context),
9381 localizationsDelegates: [
9482 GlobalMaterialLocalizations .delegate,
0 commit comments