update status

This commit is contained in:
Mohamed Nouffer
2023-09-08 21:19:12 +05:30
parent 720dd149a9
commit 6f3249631f
8 changed files with 135 additions and 36 deletions

View File

@ -6,6 +6,7 @@ import 'package:rogapp/pages/index/index_binding.dart';
import 'package:rogapp/pages/index/index_controller.dart';
import 'package:rogapp/routes/app_pages.dart';
import 'package:rogapp/utils/string_values.dart';
import 'package:shared_preferences/shared_preferences.dart';
// import 'package:is_lock_screen/is_lock_screen.dart';
void main() async {
@ -54,11 +55,27 @@ class _MyAppState extends State<MyApp> with WidgetsBindingObserver {
super.dispose();
}
void saveGameState() async {
DestinationController destinationController = Get.find<DestinationController>();
SharedPreferences pref = await SharedPreferences.getInstance();
pref.setBool("is_in_rog", destinationController.is_in_rog.value);
pref.setBool("rogaining_counted", destinationController.rogaining_counted.value);
}
void restoreGame() async{
SharedPreferences pref = await SharedPreferences.getInstance();
DestinationController destinationController = Get.find<DestinationController>();
destinationController.skip_gps = false;
destinationController.is_in_rog.value = pref.getBool("is_in_rog") ?? false;
destinationController.rogaining_counted.value = pref.getBool("rogaining_counted") ?? false;
}
void didChangeAppLifecycleState(AppLifecycleState state) {
DestinationController destinationController = Get.find<DestinationController>();
switch (state) {
case AppLifecycleState.resumed:
print("RESUMED");
DestinationController destinationController = Get.find<DestinationController>();
restoreGame();
if(destinationController.positionStream == null){
destinationController.startGPSTimer();
}
@ -68,12 +85,15 @@ class _MyAppState extends State<MyApp> with WidgetsBindingObserver {
break;
case AppLifecycleState.paused:
print("PAUSED");
saveGameState();
break;
case AppLifecycleState.detached:
print("DETACHED");
saveGameState();
break;
case AppLifecycleState.hidden:
print("DETACHED");
saveGameState();
break;
}
}