import 'dart:async'; import 'dart:io'; import 'package:flutter/material.dart'; import 'package:flutter_map_tile_caching/flutter_map_tile_caching.dart'; import 'package:timetrack/consts.dart'; import 'package:timetrack/data.dart'; import 'package:timetrack/pages/MainApp.dart'; @pragma("vm:entry-point") void serviceEntry() { // This is where both the Background service and the Floating app window would enter the app. Timer.periodic(Duration(seconds: 5), (timer) async { // Run the location fetch, add to list, etc, etc. }); // Run the floater app here. } Future main() async { WidgetsFlutterBinding.ensureInitialized(); SessionData.isWeb = true; try { SessionData.isWeb = !Platform.isAndroid; } catch (E) {} if (!SessionData.isWeb) await TTConsts.checkUpdate(); var sess = Uri.base.queryParameters["code"] ?? ""; SessionData.LastSessionID = sess; if (SessionData.LastSessionID.isNotEmpty) { await SessionData.DownloadData(); if (SessionData.LastSessionID.isEmpty) { // Invalid session token SessionData.DisplayError = "The URL and or session token is invalid"; } } if (!SessionData.isWeb) await FMTCObjectBoxBackend().initialise(); if (!SessionData.isWeb) await FMTCStore('mapStore').manage.create(); runApp(MainApp()); }