Merge pull request #48 from FRE-Informatica/fix/fd-889

poc fix fd-889
This commit is contained in:
Ivan Antunes 2024-10-22 08:57:23 -03:00 committed by GitHub
commit 62be77fdd0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 43 additions and 33 deletions

View File

@ -14,6 +14,7 @@ import 'package:flutter_localizations/flutter_localizations.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/internationalization.dart';
import 'package:hub/flutter_flow/nav/nav.dart';
import 'package:hub/pages/forgot_password_page/forgot_password_screen.dart';
@ -115,7 +116,7 @@ class App extends StatefulWidget {
context.findAncestorStateOfType<_AppState>()!;
}
class _AppState extends State<App> {
class _AppState extends State<App> with WidgetsBindingObserver {
Locale? _locale = FFLocalizations.getStoredLocale();
ThemeMode _themeMode = FlutterFlowTheme.themeMode;
late AppStateNotifier _appStateNotifier;
@ -262,9 +263,9 @@ class _AppState extends State<App> {
});
}
@override
void initState() {
@override void initState() {
super.initState();
WidgetsBinding.instance.addObserver(this);
log('DeviceUtil: ${DeviceUtil.getDeviceOSVersion()}');
@ -278,14 +279,21 @@ class _AppState extends State<App> {
WidgetsBinding.instance.addPersistentFrameCallback((_) => initDeepLinks());
}
@override
void dispose() {
@override void dispose() {
WidgetsBinding.instance.removeObserver(this);
_linkSubscription?.cancel();
super.dispose();
}
@override
Widget build(BuildContext context) {
@override void didChangeAppLifecycleState(AppLifecycleState state) async {
if (state == AppLifecycleState.resumed) {
await StorageUtil().ensureInitialization();
}
}
@override Widget build(BuildContext context) {
return MaterialApp.router(
key: navigatorKey,
title: 'FRE ACCESS HUB',

View File

@ -30,14 +30,13 @@ class _HomePageWidgetState extends State<HomePageWidget> {
_localProfileComponentWidget = LocalProfileComponentWidget();
}
@override
void dispose() {
@override void dispose() {
super.dispose();
_model.dispose();
}
@override
void initState() {
@override void initState() {
super.initState();
_model = createModel(context, () => HomePageModel());
@ -49,8 +48,9 @@ class _HomePageWidgetState extends State<HomePageWidget> {
_model.textFieldFocusNode ??= FocusNode();
}
@override
Widget build(BuildContext context) {
@override Widget build(BuildContext context) {
StorageUtil().context = context;
return Scaffold(
key: scaffoldKey,
@ -109,6 +109,10 @@ class _HomePageWidgetState extends State<HomePageWidget> {
);
}
Container buildPage(BuildContext context) {
return Container(
decoration: BoxDecoration(

View File

@ -22,10 +22,8 @@ class ReceptionPageWidget extends StatefulWidget {
State<ReceptionPageWidget> createState() => _ReceptionPageWidgetState();
}
class _ReceptionPageWidgetState extends State<ReceptionPageWidget>
with WidgetsBindingObserver {
@override
void initState() {
class _ReceptionPageWidgetState extends State<ReceptionPageWidget> with WidgetsBindingObserver {
@override void initState() {
super.initState();
WidgetsBinding.instance.addObserver(this);
() async {
@ -37,19 +35,13 @@ class _ReceptionPageWidgetState extends State<ReceptionPageWidget>
LocalizationService.checkLocals(context);
}
@override
void dispose() {
WidgetsBinding.instance
.removeObserver(this); // Remove a classe como observador
@override void dispose() {
WidgetsBinding.instance.removeObserver(this);
super.dispose();
}
@override
void didChangeAppLifecycleState(AppLifecycleState state) {
@override void didChangeAppLifecycleState(AppLifecycleState state) {
log('() => state: $state');
if (state == AppLifecycleState.resumed) {
setState(() {

View File

@ -58,7 +58,7 @@ class SecureStorageHelper extends ChangeNotifier implements Storage {
return value == 'true';
}
log('SecureStorageHelper -> getBool $value for key: $key');
return value;
return value == 'true' || value == true;
}
Future<BuildContext?> getObject(String key) async {

View File

@ -1,4 +1,5 @@
import 'dart:developer';
import 'dart:ffi';
import 'package:flutter/material.dart';
import 'package:hub/shared/helpers/secure_storage_helper.dart';
@ -37,6 +38,7 @@ class StorageUtil {
late final SQLiteStorageHelper _sqliteStorage;
late final SecureStorageHelper _secureStorage;
late final SharedPreferencesStorageHelper _sharedPreferences;
bool _initialized = true;
static Future<void> set(StorageData data) async {
try {
@ -119,13 +121,15 @@ class StorageUtil {
Future<void> ensureInitialization() async {
try {
_sqliteStorage = SQLiteStorageHelper();
_secureStorage = SecureStorageHelper();
_sharedPreferences = SharedPreferencesStorageHelper();
log('StorageUtil: Starting initialization');
await initSharedPreferences();
await initSecureStorage();
await initSQLiteStorage();
_initialized = false;
} catch (e, s) {
log('Error initializing storage: $e');
LogUtil.requestAPIFailed('$UniqueKey', '$UniqueKey', 'StorageUtil', e, s);
@ -134,6 +138,7 @@ class StorageUtil {
Future<void> initSharedPreferences() async {
try {
if(_initialized) _sharedPreferences = SharedPreferencesStorageHelper();
_sharedPreferences.prefs ??= await SharedPreferences.getInstance();
final bool milestone =
_sharedPreferences.prefs?.getBool('fre_isFirstRun') ?? true;
@ -156,6 +161,7 @@ class StorageUtil {
Future<void> initSecureStorage() async {
log('SecureStorageHelper: Starting initialization');
try {
if(_initialized) _secureStorage = SecureStorageHelper();
_email = await _secureStorage.getString('fre_email');
_passwd = await _secureStorage.getString('fre_passwd');
_deviceType = await _secureStorage.getString('fre_deviceType');
@ -178,6 +184,7 @@ class StorageUtil {
Future<void> initSQLiteStorage() async {
log('SQLiteStorageHelper: Starting initialization');
try {
if(_initialized) _sqliteStorage = SQLiteStorageHelper();
await _sqliteStorage.database;
_devUUID = await _sqliteStorage.get('fre_devUUID') ?? '';
_userUUID = await _sqliteStorage.get('fre_userUUID') ?? '';
@ -187,8 +194,7 @@ class StorageUtil {
_cliUUID = await _sqliteStorage.get('fre_cliUUID') ?? '';
_ownerUUID = await _sqliteStorage.get('fre_ownerUUID') ?? '';
_cliName = await _sqliteStorage.get('fre_cliName') ?? '';
_petAmountRegister =
await _sqliteStorage.get('fre_petAmountRegister') ?? '';
_petAmountRegister = await _sqliteStorage.get('fre_petAmountRegister') ?? '';
_whatsapp = await _sqliteStorage.getBoolean('fre_whatsapp');
_provisional = await _sqliteStorage.getBoolean('fre_provisional');
_pets = await _sqliteStorage.getBoolean('fre_pets');