| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- 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:keyboard/module/new_user/new_user_page.dart';
- import '../../base/base_controller.dart';
- import '../../data/consts/constants.dart';
- import '../../dialog/agreement_again_dialog.dart';
- import '../../dialog/agreement_dialog.dart';
- import '../../utils/privacy_compliance.dart';
- import '../main/main_page.dart';
- @injectable
- class SplashController extends BaseController {
- final splashDelayedTime = 2;
- @override
- void onReady() {
- final isAgreePrivacy = PrivacyCompliance.isAgreePrivacyPolicy();
- if (isAgreePrivacy) {
- isAgreePrivacyNextStep();
- } else {
- AgreementDialog.show(cancelClick: () {
- AgreementAgainDialog.show(
- cancelClick: () {
- exitApp();
- },
- sureClick: () {
- _agreePrivacy();
- isAgreePrivacyNextStep();
- });
- }, sureClick: () {
- _agreePrivacy();
- isAgreePrivacyNextStep();
- });
- }
- }
- void isAgreePrivacyNextStep() {
- _goMain(Duration(seconds: splashDelayedTime));
- }
- void _goMain(Duration delayTime, {Map<String, dynamic>? arguments}) {
- Timer(delayTime, () {
- if (isFirstIntro()) {
- NewUserPage.start();
- }else{
- MainPage.start(arguments: arguments);
- }
- });
- }
- void exitApp() {
- if (GetPlatform.isAndroid) {
- SystemNavigator.pop();
- } else {
- exit(0);
- }
- }
- void _agreePrivacy() async {
- PrivacyCompliance.setPrivacyPolicy(true);
- }
- }
|