import 'dart:async'; import 'dart:io'; import 'package:flutter/services.dart'; import 'package:get/get_utils/src/platform/platform.dart'; import 'package:injectable/injectable.dart'; import 'package:location/base/base_controller.dart'; import 'package:location/dialog/agreement_dialog.dart'; import 'package:location/module/main/main_page.dart'; import '../../utils/privacy_compliance.dart'; @injectable class SplashController extends BaseController { final splashDelayedTime = 2; @override void onReady() { final isAgreePrivacy = PrivacyCompliance.isAgreePrivacyPolicy(); if (isAgreePrivacy) { isAgreePrivacyNextStep(); } else { AgreementDialog.show(cancelClick: () { exitApp(); }, sureClick: () { PrivacyCompliance.setPrivacyPolicy(true); isAgreePrivacyNextStep(); }); } } void isAgreePrivacyNextStep() { _goMain(Duration(seconds: splashDelayedTime)); } void _goMain(Duration delayTime, {Map? arguments}) { Timer(delayTime, () { MainPage.start(arguments: arguments); }); } void exitApp() { if (GetPlatform.isAndroid) { SystemNavigator.pop(); } else { exit(0); } } }