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/HomePage.dart'; import 'package:timetrack/pages/MainApp.dart'; @pragma("vm:entry-point") void serviceEntry() { // Run the floater app here. runApp(MaterialApp(debugShowCheckedModeBanner: false, home: OverlayWidget())); } Future main() async { WidgetsFlutterBinding.ensureInitialized(); SessionData.LoadSavedCacheState(); 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.IsSavedData) { // 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()); }