From 48e8a1a5cb7ac0839049e95eb1067dc53cef2ee8 Mon Sep 17 00:00:00 2001 From: "J. A. Messias" Date: Tue, 17 Sep 2024 14:42:48 -0300 Subject: [PATCH] WIP --- lib/app_state.dart | 26 ++++++++++++++++++++++++++ lib/main.dart | 2 ++ 2 files changed, 28 insertions(+) diff --git a/lib/app_state.dart b/lib/app_state.dart index 49aef2fb..27078ab5 100644 --- a/lib/app_state.dart +++ b/lib/app_state.dart @@ -4,6 +4,7 @@ import 'package:csv/csv.dart'; import 'package:flutter/material.dart'; import 'package:flutter_secure_storage/flutter_secure_storage.dart'; import 'package:local_auth/local_auth.dart'; +import 'package:shared_preferences/shared_preferences.dart'; import 'package:synchronized/synchronized.dart'; class AppState extends ChangeNotifier { @@ -71,6 +72,7 @@ class AppState extends ChangeNotifier { Future initializePersistedState() async { secureStorage = const FlutterSecureStorage(); + await _safeInitAsync(() async { _cliUUID = await secureStorage.getString('ff_cliUUID') ?? _cliUUID; }); @@ -177,6 +179,7 @@ class AppState extends ChangeNotifier { await secureStorage.getBool('ff_request_os_notification') ?? _isRequestOSNotification; }); + await loadFirstRun(); } void update(VoidCallback callback) { @@ -186,6 +189,29 @@ class AppState extends ChangeNotifier { late FlutterSecureStorage secureStorage; + bool _firstRun = true; + bool get firstRun => _firstRun; + + Future loadFirstRun() async { + final prefs = await SharedPreferences.getInstance(); + _firstRun = prefs.getBool('first_run') ?? true; + notifyListeners(); + } + + Future setFirstRun(bool value) async { + final prefs = await SharedPreferences.getInstance(); + _firstRun = value; + await prefs.setBool('first_run', value); + notifyListeners(); + } + + Future deleteFirstRun() async { + final prefs = await SharedPreferences.getInstance(); + _firstRun = true; + await prefs.remove('first_run'); + notifyListeners(); + } + int _petAmountRegister = 0; int get petAmountRegister => _petAmountRegister; set petAmountRegister(int value) { diff --git a/lib/main.dart b/lib/main.dart index 73e07a1c..94242383 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -28,6 +28,8 @@ Future initializeApp() async { final appState = AppState(); await appState.initializePersistedState(); + if (AppState().firstRun == true) AppState().setFirstRun(false); + await Firebase.initializeApp(); await NotificationService.initialize();