TimeTracker/lib/main.dart

43 lines
1.2 KiB
Dart

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<void> 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());
}