diff --git a/lib/consts.dart b/lib/consts.dart index 4e54f7a..544e4b5 100644 --- a/lib/consts.dart +++ b/lib/consts.dart @@ -9,7 +9,7 @@ class TTConsts { static get SESSION_SERVER => "https://api.zontreck.com/timetrack/$UPDATE_CHANNEL/timetrack.php"; - static const VERSION = "1.0.0-beta.6"; + static const VERSION = "1.0.0-beta.7"; static bool UPDATE_AVAILABLE = false; static UpdateChannel UPDATE_CHANNEL = UpdateChannel.beta; diff --git a/lib/data.dart b/lib/data.dart index 92b9c2e..b8a45f5 100644 --- a/lib/data.dart +++ b/lib/data.dart @@ -25,6 +25,9 @@ class SessionData { static String LastSessionID = ""; static String DisplayError = ""; + /// Is true if the try-catch is tripped or if not running on Android + static bool isWeb = false; + /// This flag is usually set when data is loaded from a saved state. Or when accessed using the Web version of the app. static bool IsReadOnly = false; diff --git a/lib/main.dart b/lib/main.dart index 9f427a5..9e336ca 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -1,3 +1,5 @@ +import 'dart:io'; + import 'package:flutter/material.dart'; import 'package:flutter_map_tile_caching/flutter_map_tile_caching.dart'; import 'package:timetrack/consts.dart'; @@ -7,7 +9,12 @@ import 'package:timetrack/pages/MainApp.dart'; Future main() async { WidgetsFlutterBinding.ensureInitialized(); - await TTConsts.checkUpdate(); + 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; @@ -19,9 +26,8 @@ Future main() async { } } - await FMTCObjectBoxBackend().initialise(); - - await FMTCStore('mapStore').manage.create(); + if (!SessionData.isWeb) await FMTCObjectBoxBackend().initialise(); + if (!SessionData.isWeb) await FMTCStore('mapStore').manage.create(); runApp(MainApp()); } diff --git a/lib/pages/MainApp.dart b/lib/pages/MainApp.dart index 087fd6f..692ebe5 100644 --- a/lib/pages/MainApp.dart +++ b/lib/pages/MainApp.dart @@ -1,6 +1,5 @@ -import 'dart:io'; - import 'package:flutter/material.dart'; +import 'package:timetrack/data.dart'; import 'package:timetrack/pages/HomePage.dart'; import 'package:timetrack/pages/MapPage.dart'; import 'package:timetrack/pages/UpdateSettings.dart'; @@ -27,7 +26,7 @@ class MainAppState extends State { return MaterialApp( title: "Time Tracker", routes: { - "/": (ctx) => Platform.isAndroid ? HomePage() : WebMain(), + "/": (ctx) => !SessionData.isWeb ? HomePage() : WebMain(), "/upd": (ctx) => UpdateSettingsPage(), "/map": (ctx) => MapPage(), "/work": (ctx) => WorkDataPage(), diff --git a/lib/pages/MapPage.dart b/lib/pages/MapPage.dart index a6be1c5..1c9b84e 100644 --- a/lib/pages/MapPage.dart +++ b/lib/pages/MapPage.dart @@ -21,9 +21,7 @@ class _MapPage extends State { List Markers = []; bool autorefresh = true; - final _tileProvider = FMTCTileProvider( - stores: const {'mapStore': BrowseStoreStrategy.readUpdateCreate}, - ); + late FMTCTileProvider _tileProvider; @override void initState() { @@ -40,6 +38,11 @@ class _MapPage extends State { @override void didChangeDependencies() { + if (!SessionData.isWeb) { + _tileProvider = FMTCTileProvider( + stores: const {'mapStore': BrowseStoreStrategy.readUpdateCreate}, + ); + } PointMap = []; Markers = []; @@ -141,7 +144,8 @@ class _MapPage extends State { TileLayer( urlTemplate: "https://tile.openstreetmap.org/{z}/{x}/{y}.png", userAgentPackageName: "dev.zontreck.timetrack", - tileProvider: _tileProvider, + + tileProvider: SessionData.isWeb ? null : _tileProvider, ), PolylineLayer( polylines: [ diff --git a/pubspec.yaml b/pubspec.yaml index 079681b..60032ab 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -16,7 +16,7 @@ publish_to: "none" # Remove this line if you wish to publish to pub.dev # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html # In Windows, build-name is used as the major, minor, and patch parts # of the product and file versions while build-number is used as the build suffix. -version: 1.0.0-beta.6 +version: 1.0.0-beta.7 environment: sdk: ^3.7.2