From 580be6d71385d912fb98a96df8023d405bc90d80 Mon Sep 17 00:00:00 2001 From: "J. A. Messias" Date: Fri, 13 Sep 2024 14:31:37 -0300 Subject: [PATCH 1/3] fix not in ios --- ios/Runner/AppDelegate.swift | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/ios/Runner/AppDelegate.swift b/ios/Runner/AppDelegate.swift index e15ab6cf..5dbf2dbf 100644 --- a/ios/Runner/AppDelegate.swift +++ b/ios/Runner/AppDelegate.swift @@ -1,6 +1,6 @@ import UIKit - import Flutter +import flutter_secure_storage @main @objc class AppDelegate: FlutterAppDelegate { @@ -9,6 +9,11 @@ import Flutter didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? ) -> Bool { GeneratedPluginRegistrant.register(with: self) + + // Configurar o Keychain para remover dados quando o app for desinstalado + let secureStorage = FlutterSecureStoragePlugin() + secureStorage.setAccessibility(.whenPasscodeSetThisDeviceOnly) + return super.application(application, didFinishLaunchingWithOptions: launchOptions) } -} +} \ No newline at end of file From 48e8a1a5cb7ac0839049e95eb1067dc53cef2ee8 Mon Sep 17 00:00:00 2001 From: "J. A. Messias" Date: Tue, 17 Sep 2024 14:42:48 -0300 Subject: [PATCH 2/3] 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(); From 26e56d07d325b6ccb8d0da9668099406b8cb1699 Mon Sep 17 00:00:00 2001 From: "J. A. Messias" Date: Tue, 17 Sep 2024 15:09:01 -0300 Subject: [PATCH 3/3] WIP --- lib/app_state.dart | 4 ++++ lib/main.dart | 4 +++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/app_state.dart b/lib/app_state.dart index 27078ab5..64237884 100644 --- a/lib/app_state.dart +++ b/lib/app_state.dart @@ -612,7 +612,11 @@ class AppState extends ChangeNotifier { AppState().deleteRemoteId(); AppState().deleteSerialNumber(); secureStorage.deleteAll(); + AppState().isLogged = false; + AppState().setFirstRun(false); + + AppState().update(() {}); } } diff --git a/lib/main.dart b/lib/main.dart index 94242383..ee055ff2 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -28,7 +28,9 @@ Future initializeApp() async { final appState = AppState(); await appState.initializePersistedState(); - if (AppState().firstRun == true) AppState().setFirstRun(false); + if (AppState().firstRun == true) { + AppState().deleteAll(); + } await Firebase.initializeApp(); await NotificationService.initialize();