import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:rkm/models/args_load_init_model.dart'; import 'package:rkm/models/city_load_model.dart'; import 'package:rkm/screens/login/sync_login_screen.dart'; import 'package:rkm/service/api/url_api_const.dart'; import 'package:rkm/utils/const_variable.dart'; import '../service/db/db_sqlite_load.dart'; import '../service/shared_preferences/shared_preferences_service.dart'; import 'login/login_saved_screen.dart'; class SplashScreen extends StatefulWidget { const SplashScreen({Key? key}) : super(key: key); @override State createState() => _SplashScreenState(); } class _SplashScreenState extends State { CityLoadModel? model; @override void initState() { super.initState(); DbSqliteLoad().intialDB(); final PrefService _prefService = PrefService(); _prefService.readCacheModel('user', 'password', 'city', 'mode').then((list){ for(int i=0;ConstVariable().itensCity.length > i;i++){ if(ConstVariable().itensCity[i].nameCityFront == list[2]!){ model = ConstVariable().itensCity[i]; } } timer(list); }); } timer(List list)async{ await DbSqliteLoad().intialDB().then((db)async{ List dataControl = await db.query('MUNICIPIOS'); List dataCitizen = await db.query('CIDADAOS'); if(dataControl.length != 0){ var query = "SELECT * FROM CONTROLE_INTERNO"; dataControl = await db.rawQuery(query); // print(dataCitizen); if(dataCitizen.length != 0){ String? url; if(list[3]=='desenvolvimento'){ url = UrlApiConst.ApiUrlDesenvolvimento; }else if(list[3]=='online'){ url = UrlApiConst.ApiUrlOnline; }else if(list[3]=='homologacao'){ url = UrlApiConst.ApiUrlHomologacao; } ArgsLoadInitModel args = ArgsLoadInitModel(mode: list[3], model: model!, user: list[0], password: list[1], urlAPI: url!); Navigator.push( context, MaterialPageRoute(builder: (context) => LoginSavedScreen(listControl: dataControl,args: args,)), ); }else{ String? url; if(list[3]=='desenvolvimento'){ url = UrlApiConst.ApiUrlDesenvolvimento; }else if(list[3]=='online'){ url = UrlApiConst.ApiUrlOnline; }else if(list[3]=='homologacao'){ url = UrlApiConst.ApiUrlHomologacao; } if(url!=null && model!=null){ ArgsLoadInitModel args = ArgsLoadInitModel(mode: list[3], model: model!, user: list[0], password: list[1], urlAPI: url!); Navigator.push( context, MaterialPageRoute(builder: (context) => SyncLoginScreen(args: args)), ); } } }else{ Navigator.pushReplacementNamed(context, '/login_load'); } }); } @override Widget build(BuildContext context) { double width = MediaQuery.of(context).size.width; return Scaffold( body: Container( decoration: ConstVariable().backgroundGradient, child: Center( child: Column( mainAxisSize: MainAxisSize.min, children: [ Image.asset('assets/images/logo.PNG',width: width*0.5,), CircularProgressIndicator() ], ), ), ), ); } }