From 9891165ca995e6c3cbcf0cb7151107759ce8a694 Mon Sep 17 00:00:00 2001 From: "J. A. Messias" Date: Fri, 22 Nov 2024 13:30:16 -0300 Subject: [PATCH] WIP --- lib/initialization.dart | 62 +++++++++++++++++++ lib/main.dart | 53 ++-------------- .../helpers/license/license_helper.dart | 1 + .../services/license/license_service.dart | 2 +- 4 files changed, 68 insertions(+), 50 deletions(-) create mode 100644 lib/initialization.dart diff --git a/lib/initialization.dart b/lib/initialization.dart new file mode 100644 index 00000000..f5f4b023 --- /dev/null +++ b/lib/initialization.dart @@ -0,0 +1,62 @@ +import 'dart:developer'; + +import 'package:app_tracking_transparency/app_tracking_transparency.dart'; +import 'package:firebase_core/firebase_core.dart'; +import 'package:firebase_crashlytics/firebase_crashlytics.dart'; +import 'package:flutter/foundation.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; +import 'package:flutter_web_plugins/url_strategy.dart'; +import 'package:hub/backend/notifications/notification_service.dart'; +import 'package:hub/flutter_flow/flutter_flow_theme.dart'; +import 'package:hub/flutter_flow/flutter_flow_util.dart'; +import 'package:hub/flutter_flow/nav/nav.dart'; +import 'package:hub/shared/helpers/storage/storage_helper.dart'; +import 'package:hub/shared/services/localization/localization_service.dart'; + +Future initializeApp() async { + WidgetsFlutterBinding.ensureInitialized(); + await _initializeTracking(); + await StorageHelper().init(); + + await _initializeFirebase(); + await _initializeNotificationService(); + _initializeUrlStrategy(); + _initializeSystemSettings(); + await _initializeFlutterFlow(); +} + +Future _initializeTracking() async { + await AppTrackingTransparency.requestTrackingAuthorization(); +} + +Future _initializeFirebase() async { + await Firebase.initializeApp(); +} + +Future _initializeNotificationService() async { + await NotificationService.initialize(); +} + +void _initializeUrlStrategy() { + setUrlStrategy(PathUrlStrategy()); +} + +void _initializeSystemSettings() { + SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]); + if (kDebugMode) { + log("Aplicativo em Debug Mode, crashlytics desabilitado!"); + } else { + final crashlyticsInstance = FirebaseCrashlytics.instance; + if (crashlyticsInstance.isCrashlyticsCollectionEnabled) { + FlutterError.onError = crashlyticsInstance.recordFlutterError; + } + } +} + +Future _initializeFlutterFlow() async { + await FlutterFlowTheme.initialize(); + await FFLocalizations.initialize(); + GoRouter.optionURLReflectsImperativeAPIs = true; + usePathUrlStrategy(); +} diff --git a/lib/main.dart b/lib/main.dart index 0bcabe17..16354664 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -22,64 +22,19 @@ import 'package:hub/shared/helpers/storage/storage_helper.dart'; import 'package:hub/shared/services/deeplink/deep_link_service.dart'; import 'package:hub/shared/services/localization/localization_service.dart'; import 'package:responsive_framework/responsive_framework.dart'; +import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'backend/notifications/firebase_messaging_service.dart'; +import 'initialization.dart'; final GlobalKey navigatorKey = GlobalKey(); void main() async { await initializeApp(); - runApp(const App()); + runApp(const ProviderScope(child: App())); FirebaseMessaging.onBackgroundMessage(_backgroundHandlerMessage); } -Future initializeApp() async { - WidgetsFlutterBinding.ensureInitialized(); - await _initializeTracking(); - await StorageHelper().init(); - - await _initializeFirebase(); - await _initializeNotificationService(); - _initializeUrlStrategy(); - _initializeSystemSettings(); - await _initializeFlutterFlow(); -} - -Future _initializeTracking() async { - await AppTrackingTransparency.requestTrackingAuthorization(); -} - -Future _initializeFirebase() async { - await Firebase.initializeApp(); -} - -Future _initializeNotificationService() async { - await NotificationService.initialize(); -} - -void _initializeUrlStrategy() { - setUrlStrategy(PathUrlStrategy()); -} - -void _initializeSystemSettings() { - SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]); - if (kDebugMode) { - log("Aplicativo em Debug Mode, crashlytics desabilitado!"); - } else { - final crashlyticsInstance = FirebaseCrashlytics.instance; - if (crashlyticsInstance.isCrashlyticsCollectionEnabled) { - FlutterError.onError = crashlyticsInstance.recordFlutterError; - } - } -} - -Future _initializeFlutterFlow() async { - await FlutterFlowTheme.initialize(); - await FFLocalizations.initialize(); - GoRouter.optionURLReflectsImperativeAPIs = true; - usePathUrlStrategy(); -} - Future _foregroundHandlerMessage(RemoteMessage message) async { if (message.data['click_action'] == 'enroll_cond') { await StorageHelper().s(SecureStorageKey.haveLocal.value, true); @@ -246,7 +201,7 @@ class _AppState extends State with WidgetsBindingObserver { void didChangeAppLifecycleState(AppLifecycleState state) async { if (state == AppLifecycleState.detached) { await LocalizationService.processLocals(context); - FirebaseMessagingService().updateDeviceToken(); + await FirebaseMessagingService().updateDeviceToken(); } } diff --git a/lib/shared/helpers/license/license_helper.dart b/lib/shared/helpers/license/license_helper.dart index a0e6164a..827954b7 100644 --- a/lib/shared/helpers/license/license_helper.dart +++ b/lib/shared/helpers/license/license_helper.dart @@ -306,6 +306,7 @@ class LicenseHelper { static Future insertLicenseFoo( final List key, final String display) async { for (var element in key) { + log('insertLicenseFoo($element, $display)'); DatabaseStorage.database.insert( tableLicense, { diff --git a/lib/shared/services/license/license_service.dart b/lib/shared/services/license/license_service.dart index 9c5e8710..b9d6693a 100644 --- a/lib/shared/services/license/license_service.dart +++ b/lib/shared/services/license/license_service.dart @@ -85,7 +85,7 @@ class LicenseService { log('Salvando módulo: ${body.toString()}'); // if (body is Map) await StorageHelper().s(body['key'], ''); if (body is Map) - await StorageHelper().s(body['key'], body); + await LicenseHelper().s(body['key'], body); // StorageHelper.getInstance(Storage.SQLiteStorage).set(key, value); }