diff --git a/ios/Flutter/AppFrameworkInfo.plist b/ios/Flutter/AppFrameworkInfo.plist index 9625e10..7c56964 100644 --- a/ios/Flutter/AppFrameworkInfo.plist +++ b/ios/Flutter/AppFrameworkInfo.plist @@ -21,6 +21,6 @@ CFBundleVersion 1.0 MinimumOSVersion - 11.0 + 12.0 diff --git a/ios/Podfile b/ios/Podfile index c0c99e2..6681052 100644 --- a/ios/Podfile +++ b/ios/Podfile @@ -1,5 +1,5 @@ # Uncomment this line to define a global platform for your project -# platform :ios, '11.0' +# platform :ios, '12.0' # CocoaPods analytics sends network stats synchronously affecting flutter build latency. ENV['COCOAPODS_DISABLE_STATS'] = 'true' diff --git a/ios/Podfile.lock b/ios/Podfile.lock index c729f5c..ffa70b0 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -25,6 +25,8 @@ PODS: - FlutterMacOS - permission_handler_apple (9.1.1): - Flutter + - pointer_interceptor_ios (0.0.1): + - Flutter - ReachabilitySwift (5.0.0) - shared_preferences_foundation (0.0.1): - Flutter @@ -47,6 +49,7 @@ DEPENDENCIES: - isar_flutter_libs (from `.symlinks/plugins/isar_flutter_libs/ios`) - path_provider_foundation (from `.symlinks/plugins/path_provider_foundation/darwin`) - permission_handler_apple (from `.symlinks/plugins/permission_handler_apple/ios`) + - pointer_interceptor_ios (from `.symlinks/plugins/pointer_interceptor_ios/ios`) - shared_preferences_foundation (from `.symlinks/plugins/shared_preferences_foundation/darwin`) - sqflite (from `.symlinks/plugins/sqflite/ios`) - url_launcher_ios (from `.symlinks/plugins/url_launcher_ios/ios`) @@ -79,6 +82,8 @@ EXTERNAL SOURCES: :path: ".symlinks/plugins/path_provider_foundation/darwin" permission_handler_apple: :path: ".symlinks/plugins/permission_handler_apple/ios" + pointer_interceptor_ios: + :path: ".symlinks/plugins/pointer_interceptor_ios/ios" shared_preferences_foundation: :path: ".symlinks/plugins/shared_preferences_foundation/darwin" sqflite: @@ -87,23 +92,24 @@ EXTERNAL SOURCES: :path: ".symlinks/plugins/url_launcher_ios/ios" SPEC CHECKSUMS: - camera_avfoundation: 3125e8cd1a4387f6f31c6c63abb8a55892a9eeeb + camera_avfoundation: 759172d1a77ae7be0de08fc104cfb79738b8a59e connectivity_plus: bf0076dd84a130856aa636df1c71ccaff908fa1d - Flutter: f04841e97a9d0b0a8025694d0796dd46242b2854 + Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7 flutter_compass: cbbd285cea1584c7ac9c4e0c3e1f17cbea55e855 flutter_keyboard_visibility: 0339d06371254c3eb25eeb90ba8d17dca8f9c069 FMDB: 2ce00b547f966261cd18927a3ddb07cb6f3db82a - geolocator_apple: cc556e6844d508c95df1e87e3ea6fa4e58c50401 + geolocator_apple: 9157311f654584b9bb72686c55fc02a97b73f461 image_gallery_saver: cb43cc43141711190510e92c460eb1655cd343cb - image_picker_ios: 4a8aadfbb6dc30ad5141a2ce3832af9214a705b5 + image_picker_ios: 99dfe1854b4fa34d0364e74a78448a0151025425 isar_flutter_libs: b69f437aeab9c521821c3f376198c4371fa21073 - path_provider_foundation: 29f094ae23ebbca9d3d0cec13889cd9060c0e943 + path_provider_foundation: 3784922295ac71e43754bd15e0653ccfd36a147c permission_handler_apple: e76247795d700c14ea09e3a2d8855d41ee80a2e6 + pointer_interceptor_ios: 9280618c0b2eeb80081a343924aa8ad756c21375 ReachabilitySwift: 985039c6f7b23a1da463388634119492ff86c825 - shared_preferences_foundation: 5b919d13b803cadd15ed2dc053125c68730e5126 - sqflite: 31f7eba61e3074736dff8807a9b41581e4f7f15a - url_launcher_ios: bf5ce03e0e2088bad9cc378ea97fa0ed5b49673b + shared_preferences_foundation: b4c3b4cddf1c21f02770737f147a3f5da9d39695 + sqflite: 50a33e1d72bd59ee092a519a35d107502757ebed + url_launcher_ios: bbd758c6e7f9fd7b5b1d4cde34d2b95fcce5e812 -PODFILE CHECKSUM: a1c2f8dde3796ecc1697a15e7c75eb5205d8a740 +PODFILE CHECKSUM: fd4b34215e7c57e79d347e509d4d64bfebe797fc COCOAPODS: 1.12.1 diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj index 1ee1e7c..604a8c4 100644 --- a/ios/Runner.xcodeproj/project.pbxproj +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -342,7 +342,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = NO; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; @@ -425,7 +425,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; @@ -474,7 +474,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = NO; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; diff --git a/lib/pages/destination/destination_controller.dart b/lib/pages/destination/destination_controller.dart index 691cbaf..31b190e 100644 --- a/lib/pages/destination/destination_controller.dart +++ b/lib/pages/destination/destination_controller.dart @@ -14,6 +14,7 @@ import 'package:rogapp/model/gps_data.dart'; import 'package:rogapp/pages/camera/camera_page.dart'; import 'package:rogapp/pages/index/index_controller.dart'; import 'package:rogapp/routes/app_pages.dart'; +import 'package:rogapp/services/DatabaseService.dart'; import 'package:rogapp/services/destination_service.dart'; import 'package:rogapp/services/external_service.dart'; import 'package:rogapp/services/location_service.dart'; @@ -77,6 +78,7 @@ class DestinationController extends GetxController { final IndexController indexController = Get.find(); final LocationController locationController = Get.put(LocationController()); + final DatabaseService dbService = DatabaseService(); int _start = 0; int chekcs = 0; @@ -433,6 +435,7 @@ class DestinationController extends GetxController { lastGoalAt = DateTime.fromMicrosecondsSinceEpoch(latgoal); //print("===== last goal : $last_goal_at ====="); } + dbService.updateDatabase(); } void deleteAllDestinations() { @@ -564,6 +567,7 @@ class DestinationController extends GetxController { Future checkForCheckin() async { //print("--- Start of checkForCheckin function ---"); + dbService.updateDatabase(); await Future.delayed(const Duration(milliseconds: 3000)); game_started = true; @@ -718,15 +722,16 @@ class DestinationController extends GetxController { // print("------Ext service check point $value ------"); }); } + dbService.updateDatabase(); } Future removeCheckin(int cp) { + dbService.updateDatabase(); return ExternalService().removeCheckin(cp); } Future startGame() async { //print("------ starting game ------"); - if (game_started == false) { await checkForCheckin(); } @@ -776,6 +781,9 @@ class DestinationController extends GetxController { } double distanceToStart() { + if (indexController.locations.isEmpty) { + return 1000000000; + } //print("=== gfs len == ${indexController.locations[0].collection.length}"); double distanceToDest = double.infinity; if (indexController.locations[0].features.isEmpty) { @@ -959,6 +967,7 @@ class DestinationController extends GetxController { db.deleteDestination(d.location_id!).then((value) { populateDestinations(); }); + dbService.updateDatabase(); } void deleteDBDestinations() { @@ -966,6 +975,7 @@ class DestinationController extends GetxController { db.deleteAllDestinations().then((value) { populateDestinations(); }); + dbService.updateDatabase(); } // ---------- database ------------------/// @@ -988,6 +998,7 @@ class DestinationController extends GetxController { }); } }); + dbService.updateDatabase(); } void toggleSelection(Destination dest) async { diff --git a/lib/pages/index/index_page.dart b/lib/pages/index/index_page.dart index 2cc1205..1fc7327 100644 --- a/lib/pages/index/index_page.dart +++ b/lib/pages/index/index_page.dart @@ -1,11 +1,14 @@ import 'package:flutter/material.dart'; import 'package:get/get.dart'; +import 'package:rogapp/model/destination.dart'; import 'package:rogapp/model/gps_data.dart'; import 'package:rogapp/pages/destination/destination_controller.dart'; import 'package:rogapp/pages/drawer/drawer_page.dart'; import 'package:rogapp/pages/index/index_controller.dart'; import 'package:rogapp/routes/app_pages.dart'; +import 'package:rogapp/services/DatabaseService.dart'; import 'package:rogapp/utils/database_gps.dart'; +import 'package:rogapp/utils/database_helper.dart'; import 'package:rogapp/widgets/list_widget.dart'; import 'package:rogapp/widgets/map_widget.dart'; @@ -25,6 +28,13 @@ class IndexPage extends GetView { appBar: AppBar( title: Text("add_location".tr), actions: [ + IconButton( + onPressed: () { + DatabaseService ds = DatabaseService(); + ds.updateDatabase(); + }, + icon: const Icon(Icons.ten_k_sharp)), + IconButton( onPressed: () async { // GpsDatabaseHelper db = GpsDatabaseHelper.instance; diff --git a/lib/services/DatabaseService.dart b/lib/services/DatabaseService.dart new file mode 100644 index 0000000..db44d97 --- /dev/null +++ b/lib/services/DatabaseService.dart @@ -0,0 +1,55 @@ +import 'dart:async'; + +import 'package:rogapp/model/destination.dart'; +import 'package:rogapp/utils/database_helper.dart'; + +class DatabaseService { + // Private constructor + DatabaseService._privateConstructor(); + + // Static instance + static final DatabaseService _instance = + DatabaseService._privateConstructor(); + + // Factory constructor to return the instance + factory DatabaseService() { + return _instance; + } + + // StreamController for updates + final StreamController> _dbUpdateController = + StreamController>.broadcast(); + + // Getter for the stream + Stream> get destinationUpdatesStream => + _dbUpdateController.stream; + + // Method to fetch destinations + Future> fetchDestinations() async { + // Your database fetch logic here + List destinations = await _fetchFromDb(); + _dbUpdateController.add(destinations); + return destinations; + } + + // Method to update the database and emit an update through the stream + Future updateDatabase() async { + // Your update logic here + + // After updating, fetch the updated list and add it to the stream + fetchDestinations(); + } + + // Method to fetch data from the database (placeholder) + Future> _fetchFromDb() async { + // Simulate fetching data with a delay + DatabaseHelper db = DatabaseHelper.instance; + List destinations = await db.getDestinations(); + return destinations; // Replace with your actual fetch operation + } + + // Dispose method to close the stream controller + void dispose() { + _dbUpdateController.close(); + } +} diff --git a/lib/widgets/GameState/CheckinState.dart b/lib/widgets/GameState/CheckinState.dart new file mode 100644 index 0000000..55c0b25 --- /dev/null +++ b/lib/widgets/GameState/CheckinState.dart @@ -0,0 +1,57 @@ +import 'package:flutter/material.dart'; +import 'package:rogapp/widgets/GameState/Colors.dart'; + +class LocationVisitedWidget extends StatelessWidget { + final int count; + final bool minimized; + + const LocationVisitedWidget( + {Key? key, required this.count, this.minimized = false}) + : super(key: key); + + @override + Widget build(BuildContext context) { + if (minimized) { + return Container( + height: 40, + width: 40, + decoration: BoxDecoration( + color: JapaneseColors.mizu, + shape: BoxShape.circle, + ), + child: Center( + child: Text( + '$count', + style: TextStyle( + color: Colors.white, + fontWeight: FontWeight.bold, + fontSize: 14, + ), + ), + ), + ); + } else { + return Container( + padding: EdgeInsets.symmetric(vertical: 8, horizontal: 8), + decoration: BoxDecoration( + color: JapaneseColors.matcha, + borderRadius: BorderRadius.circular(10), + ), + child: Row( + mainAxisSize: MainAxisSize.min, + children: [ + Icon(Icons.check_circle_outline, color: Colors.white, size: 24), + SizedBox(width: 8), + Text( + '$count チェックイン', // "X Check-ins" in Japanese + style: TextStyle( + color: Colors.white, + fontWeight: FontWeight.bold, + fontSize: 16), + ), + ], + ), + ); + } + } +} diff --git a/lib/widgets/GameState/Colors.dart b/lib/widgets/GameState/Colors.dart new file mode 100644 index 0000000..ceb6f0a --- /dev/null +++ b/lib/widgets/GameState/Colors.dart @@ -0,0 +1,12 @@ +import 'package:flutter/material.dart'; + +class JapaneseColors { + static const Color mizu = Color(0xFFA4DDED); // Mizu (light blue) + static const Color matcha = Color(0xFFC5E1A5); + static const Color ume = Color(0xFFE1A8A8); // Ume (plum) + static const Color take = Color(0xFF7B8D42); // Take (bamboo) + static const Color sora = Color(0xFFA1CAF1); + static const Color indigo = Color(0xFF264653); // Aizome + static const Color sakuraPink = Color(0xFFFAD2E1); // Sakura-iro + /// Matcha (green tea) +} diff --git a/lib/widgets/GameState/ConnectionStatus.dart b/lib/widgets/GameState/ConnectionStatus.dart new file mode 100644 index 0000000..ad56fe0 --- /dev/null +++ b/lib/widgets/GameState/ConnectionStatus.dart @@ -0,0 +1,72 @@ +import 'package:flutter/material.dart'; +import 'package:rogapp/widgets/GameState/Colors.dart'; + +enum ConnectionStatus { none, mobile, wifi } + +class ConnectionStatusIndicator extends StatelessWidget { + final ConnectionStatus connectionStatus; + final bool minimized; + + const ConnectionStatusIndicator({ + Key? key, + required this.connectionStatus, + this.minimized = false, + }) : super(key: key); + + @override + Widget build(BuildContext context) { + Color backgroundColor; + IconData iconData; + String text; + + switch (connectionStatus) { + case ConnectionStatus.none: + backgroundColor = JapaneseColors.ume; + iconData = Icons.signal_cellular_off; + text = 'No Connection'; + break; + case ConnectionStatus.mobile: + backgroundColor = JapaneseColors.take; + iconData = Icons.signal_cellular_alt; + text = 'Mobile Data'; + break; + case ConnectionStatus.wifi: + backgroundColor = JapaneseColors.sora; + iconData = Icons.wifi; + text = 'Wi-Fi'; + break; + default: + backgroundColor = Colors.grey; // Fallback color + iconData = Icons.device_unknown; + text = 'Unknown'; + } + + return Container( + height: minimized ? 40 : null, + width: minimized ? 40 : null, + padding: + minimized ? null : EdgeInsets.symmetric(vertical: 8, horizontal: 16), + decoration: BoxDecoration( + color: backgroundColor, + shape: minimized ? BoxShape.circle : BoxShape.rectangle, + borderRadius: minimized ? null : BorderRadius.circular(10), + ), + child: minimized + ? Center( + child: Icon(iconData, color: Colors.white, size: 24), + ) + : Row( + mainAxisSize: MainAxisSize.min, + children: [ + Icon(iconData, color: Colors.white), + SizedBox(width: 8), + Text( + text, + style: TextStyle( + color: Colors.white, fontWeight: FontWeight.bold), + ), + ], + ), + ); + } +} diff --git a/lib/widgets/GameState/DashboardWidget.dart b/lib/widgets/GameState/DashboardWidget.dart new file mode 100644 index 0000000..faf2b18 --- /dev/null +++ b/lib/widgets/GameState/DashboardWidget.dart @@ -0,0 +1,51 @@ +import 'package:flutter/material.dart'; +import 'package:rogapp/widgets/GameState/CheckinState.dart'; +import 'package:rogapp/widgets/GameState/game_on_off.dart'; + +class DashboardWidget extends StatelessWidget { + final bool gameStarted; + final int locationsVisited; + final bool isMinimized; + + const DashboardWidget({ + Key? key, + required this.gameStarted, + required this.locationsVisited, + this.isMinimized = false, + }) : super(key: key); + + @override + Widget build(BuildContext context) { + List widgets = [ + GameStatusIndicator(gameStarted: gameStarted, minimized: isMinimized), + SizedBox( + height: isMinimized ? 0 : 8, width: isMinimized ? 8 : 0), // Spacing + LocationVisitedWidget(count: locationsVisited, minimized: isMinimized), + ]; + + return Container( + padding: EdgeInsets.all(isMinimized ? 8 : 16), + decoration: BoxDecoration( + color: Colors.white, + boxShadow: [ + BoxShadow( + color: Colors.grey.withOpacity(0.5), + spreadRadius: 5, + blurRadius: 7, + offset: Offset(0, 3), + ), + ], + borderRadius: BorderRadius.circular(10), + ), + child: isMinimized + ? Row( + mainAxisSize: MainAxisSize.min, + children: widgets, + ) + : Column( + mainAxisSize: MainAxisSize.min, + children: widgets, + ), + ); + } +} diff --git a/lib/widgets/GameState/game_on_off.dart b/lib/widgets/GameState/game_on_off.dart new file mode 100644 index 0000000..26f4a23 --- /dev/null +++ b/lib/widgets/GameState/game_on_off.dart @@ -0,0 +1,55 @@ +import 'package:flutter/material.dart'; +import 'package:rogapp/widgets/GameState/Colors.dart'; + +class GameStatusIndicator extends StatelessWidget { + final bool gameStarted; + final bool minimized; + + const GameStatusIndicator( + {Key? key, required this.gameStarted, this.minimized = true}) + : super(key: key); + + @override + Widget build(BuildContext context) { + // Icons to show based on the game status + IconData iconData = + gameStarted ? Icons.stop_circle : Icons.play_circle_filled; + // Text to show based on the game status + String text = gameStarted ? 'ゲーム開始' : 'ゲーム未開始'; + + // Layout for minimized view + if (minimized) { + return Container( + height: 40, // Square size + width: 40, // Square size + decoration: BoxDecoration( + color: + gameStarted ? JapaneseColors.indigo : JapaneseColors.sakuraPink, + shape: BoxShape + .circle, // Making it circle when minimized for a more distinct look + ), + child: Icon(iconData, color: Colors.white), + ); + } + + // Layout for expanded view + return Container( + padding: EdgeInsets.all(12), + decoration: BoxDecoration( + color: gameStarted ? JapaneseColors.indigo : JapaneseColors.sakuraPink, + borderRadius: BorderRadius.circular(10), + ), + child: Row( + mainAxisSize: MainAxisSize.min, + children: [ + Icon(iconData, color: Colors.white), + SizedBox(width: 8), + Text( + text, + style: TextStyle(color: Colors.white, fontWeight: FontWeight.bold), + ), + ], + ), + ); + } +} diff --git a/lib/widgets/game_state_view.dart b/lib/widgets/game_state_view.dart new file mode 100644 index 0000000..0ae31df --- /dev/null +++ b/lib/widgets/game_state_view.dart @@ -0,0 +1,200 @@ +import 'dart:ffi'; +import 'dart:math'; + +import 'package:flutter/material.dart'; +import 'package:get/get.dart'; +import 'package:rogapp/model/destination.dart'; +import 'package:rogapp/pages/destination/destination_controller.dart'; +import 'package:rogapp/pages/index/index_controller.dart'; +import 'package:rogapp/services/DatabaseService.dart'; +import 'package:rogapp/utils/database_helper.dart'; +import 'package:rogapp/widgets/GameState/CheckinState.dart'; +import 'package:rogapp/widgets/GameState/ConnectionStatus.dart'; +import 'package:rogapp/widgets/GameState/DashboardWidget.dart'; +import 'package:rogapp/widgets/GameState/game_on_off.dart'; + +class GameStateManager { + static final GameStateManager _instance = GameStateManager._internal(); + + factory GameStateManager() { + return _instance; + } + + GameStateManager._internal(); + + List _logs = []; + List _listeners = []; + + List get logs => _logs; + + void addLog(String log) { + _logs.add(log); + _notifyListeners(); // Notify all listeners + } + + void clearLogs() { + _logs.clear(); + _notifyListeners(); // Notify all listeners + } + + void addListener(VoidCallback listener) { + _listeners.add(listener); + } + + void removeListener(VoidCallback listener) { + _listeners.remove(listener); + } + + void _notifyListeners() { + for (var listener in _listeners) { + listener(); + } + } +} + +class GameStateWidget extends StatefulWidget { + const GameStateWidget({super.key}); + + @override + State createState() => _GameStateWidgetState(); +} + +class _GameStateWidgetState extends State { + final GameStateManager gameStateManager = GameStateManager(); + + final IndexController indexController = Get.find(); + final DestinationController destinationController = + Get.find(); + + @override + void initState() { + super.initState(); + gameStateManager.addListener(_updateLogs); + } + + @override + void dispose() { + gameStateManager.removeListener(_updateLogs); + super.dispose(); + } + + void _updateLogs() { + Future.delayed(Duration.zero, () { + if (mounted) { + setState(() {}); + } + }); + } + + void toggleExpanded() { + setState(() { + isExpanded = !isExpanded; + }); + } + + void clearLogs() { + gameStateManager.clearLogs(); + } + + bool isExpanded = false; + + @override + Widget build(BuildContext context) { + final DatabaseService dbService = DatabaseService(); + return Container( + width: MediaQuery.of(context).size.width, + decoration: BoxDecoration(color: Colors.black12), + child: GestureDetector( + onTap: toggleExpanded, + child: AnimatedContainer( + duration: const Duration(milliseconds: 200), + color: isExpanded ? Colors.black54 : Colors.black12, + height: isExpanded ? 160.0 : 48.0, // Adjust sizes as needed + child: Column( + children: [ + // Top bar with clear button + if (isExpanded) + Container( + padding: EdgeInsets.symmetric(horizontal: 10.0), + color: Colors.blueGrey, // Adjust color as needed + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + Text('ゲームステータス', style: TextStyle(color: Colors.white)), + IconButton( + icon: Icon(Icons.clear, color: Colors.white), + onPressed: toggleExpanded, + ), + ], + ), + ), + + // Log messages + Expanded( + child: SingleChildScrollView( + child: Wrap( + alignment: WrapAlignment.spaceEvenly, + children: [ + Obx(() => Padding( + padding: const EdgeInsets.all(4.0), + child: GameStatusIndicator( + gameStarted: destinationController.isInRog.value, + minimized: !isExpanded, + ), + )), + Padding( + padding: const EdgeInsets.all(4.0), + child: StreamBuilder>( + stream: dbService.destinationUpdatesStream, + builder: (context, snapshot) { + if (snapshot.connectionState == + ConnectionState.waiting) { + return const CircularProgressIndicator(); + } else if (snapshot.hasError) { + return LocationVisitedWidget( + count: 0, + minimized: !isExpanded, + ); + } else if (snapshot.hasData) { + return LocationVisitedWidget( + count: snapshot.data!.length, + minimized: !isExpanded, + ); + } else { + return LocationVisitedWidget( + count: 0, + minimized: !isExpanded, + ); + } + }, + ), + + // child: LocationVisitedWidget( + // count: + // minimized: !isExpanded, + // ), + ), + Padding( + padding: const EdgeInsets.all(4.0), + child: ConnectionStatusIndicator( + connectionStatus: ConnectionStatus.wifi, + minimized: !isExpanded), + ) // Expanded view + ], + ), + // child: Obx( + // () => DashboardWidget( + // gameStarted: destinationController.isInRog.value, + // locationsVisited: 3, + // isMinimized: false, + // ), + ), + ), + ], + ), + ), + ), + ); + } +} diff --git a/lib/widgets/map_widget.dart b/lib/widgets/map_widget.dart index 5aa3490..1b09ac0 100644 --- a/lib/widgets/map_widget.dart +++ b/lib/widgets/map_widget.dart @@ -14,7 +14,7 @@ import 'package:rogapp/utils/database_helper.dart'; import 'package:rogapp/utils/text_util.dart'; import 'package:rogapp/widgets/base_layer_widget.dart'; import 'package:rogapp/widgets/bottom_sheet_new.dart'; -import 'package:rogapp/widgets/debug_widget.dart'; +import 'package:rogapp/widgets/game_state_view.dart'; class MapWidget extends StatelessWidget { final IndexController indexController = Get.find(); @@ -249,6 +249,7 @@ class MapWidget extends StatelessWidget { : const Center(child: CircularProgressIndicator()), ], )), + const Positioned(top: 0, left: 0, child: GameStateWidget()), // const Positioned( // bottom: 10, // left: 0, diff --git a/pubspec.lock b/pubspec.lock index d414d33..bc80bd5 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -13,10 +13,10 @@ packages: dependency: transitive description: name: archive - sha256: "7b875fd4a20b165a3084bd2d210439b22ebc653f21cea4842729c0c30c82596b" + sha256: "22600aa1e926be775fa5fe7e6894e7fb3df9efda8891c73f70fb3262399a432d" url: "https://pub.dev" source: hosted - version: "3.4.9" + version: "3.4.10" args: dependency: transitive description: @@ -45,26 +45,26 @@ packages: dependency: transitive description: name: camera - sha256: "1f9010f0689774380fbcd7d6b7820a5157e8e97685fa66d619e1d1f58b3fdf93" + sha256: "9499cbc2e51d8eb0beadc158b288380037618ce4e30c9acbc4fae1ac3ecb5797" url: "https://pub.dev" source: hosted - version: "0.10.5+5" + version: "0.10.5+9" camera_android: dependency: transitive description: name: camera_android - sha256: b63304d553dde613ca68fb40aaa76bbbcdbd051683bdbf2019671ec8d9645ce7 + sha256: "351429510121d179b9aac5a2e8cb525c3cd6c39f4d709c5f72dfb21726e52371" url: "https://pub.dev" source: hosted - version: "0.10.8+14" + version: "0.10.8+16" camera_avfoundation: dependency: transitive description: name: camera_avfoundation - sha256: "3b6d9f550cfd658c71f34a99509528501e5e5d4fa79f11e3a4d6ef380d8e0254" + sha256: "7d0763dfcbf060f56aa254a68c103210280bee9e97bbe4fdef23e257a4f70ab9" url: "https://pub.dev" source: hosted - version: "0.9.13+7" + version: "0.9.14" camera_camera: dependency: "direct main" description: @@ -77,18 +77,18 @@ packages: dependency: transitive description: name: camera_platform_interface - sha256: "86fd4fc597c6e455265ddb5884feb352d0171ad14b9cdf3aba30da59b25738c4" + sha256: e971ebca970f7cfee396f76ef02070b5e441b4aa04942da9c108d725f57bbd32 url: "https://pub.dev" source: hosted - version: "2.6.0" + version: "2.7.2" camera_web: dependency: transitive description: name: camera_web - sha256: d4c2c571c7af04f8b10702ca16bb9ed2a26e64534171e8f75c9349b2c004d8f1 + sha256: f18ccfb33b2a7c49a52ad5aa3f07330b7422faaecbdfd9b9fe8e51182f6ad67d url: "https://pub.dev" source: hosted - version: "0.3.2+3" + version: "0.3.2+4" characters: dependency: transitive description: @@ -117,10 +117,10 @@ packages: dependency: transitive description: name: cli_util - sha256: b8db3080e59b2503ca9e7922c3df2072cf13992354d5e944074ffa836fba43b7 + sha256: c05b7406fdabc7a49a3929d4af76bcaccbbffcbcdcf185b082e1ae07da323d19 url: "https://pub.dev" source: hosted - version: "0.4.0" + version: "0.4.1" clock: dependency: transitive description: @@ -165,10 +165,10 @@ packages: dependency: transitive description: name: cross_file - sha256: "2f9d2cbccb76127ba28528cb3ae2c2326a122446a83de5a056aaa3880d3882c5" + sha256: fedaadfa3a6996f75211d835aaeb8fede285dae94262485698afd832371b9a5e url: "https://pub.dev" source: hosted - version: "0.3.3+7" + version: "0.3.3+8" crypto: dependency: transitive description: @@ -245,10 +245,10 @@ packages: dependency: transitive description: name: file_selector_platform_interface - sha256: "0aa47a725c346825a2bd396343ce63ac00bda6eff2fbc43eabe99737dede8262" + sha256: a3994c26f10378a039faa11de174d7b78eb8f79e4dd0af2a451410c1a5c3f66b url: "https://pub.dev" source: hosted - version: "2.6.1" + version: "2.6.2" file_selector_windows: dependency: transitive description: @@ -257,6 +257,14 @@ packages: url: "https://pub.dev" source: hosted version: "0.9.3+1" + fixnum: + dependency: transitive + description: + name: fixnum + sha256: "25517a4deb0c03aa0f32fd12db525856438902d9c16536311e76cdc57b31d7d1" + url: "https://pub.dev" + source: hosted + version: "1.1.0" flutter: dependency: "direct main" description: flutter @@ -290,10 +298,10 @@ packages: dependency: transitive description: name: flutter_keyboard_visibility - sha256: "4983655c26ab5b959252ee204c2fffa4afeb4413cd030455194ec0caa3b8e7cb" + sha256: "98664be7be0e3ffca00de50f7f6a287ab62c763fc8c762e0a21584584a3ff4f8" url: "https://pub.dev" source: hosted - version: "5.4.1" + version: "6.0.0" flutter_keyboard_visibility_linux: dependency: transitive description: @@ -354,26 +362,26 @@ packages: dependency: "direct main" description: name: flutter_map - sha256: "2b925948b675ef74ca524179fb133dbe0a21741889ccf56ad08fc8dcc38ba94b" + sha256: cda8d72135b697f519287258b5294a57ce2f2a5ebf234f0e406aad4dc14c9399 url: "https://pub.dev" source: hosted - version: "6.0.1" + version: "6.1.0" flutter_map_location_marker: dependency: "direct main" description: name: flutter_map_location_marker - sha256: acf9cef24d0bced1fe17e89e5126e75af6b146a1dbd7f784647eef5de40de3d2 + sha256: a13473c1c2924c023d97fbe93780833cf1656712a6dd72ceb514da569d9feb84 url: "https://pub.dev" source: hosted - version: "8.0.2" + version: "8.0.4" flutter_map_marker_cluster: dependency: "direct main" description: name: flutter_map_marker_cluster - sha256: a7e80bc81d222b224b2081d31ef67dee28ffff9545ab8a82f97faaf85766cfaa + sha256: "27360384a0ef5e1a72c3815baa0c3ca5f4e614b969dc0b58f7823346520eeeaf" url: "https://pub.dev" source: hosted - version: "1.3.3" + version: "1.3.4" flutter_map_marker_popup: dependency: transitive description: @@ -423,10 +431,10 @@ packages: dependency: "direct main" description: name: flutter_typeahead - sha256: "1f6b248bb4f3ebb4cf1ee0354aa23c77be457fb2d26d6847ecc33a917f65e58e" + sha256: ef2dd5a505d2d95a5b4c571c81ad2d6e7955f583dddec49064fec57acffd7a96 url: "https://pub.dev" source: hosted - version: "5.0.1" + version: "5.0.2" flutter_web_plugins: dependency: transitive description: flutter @@ -460,18 +468,18 @@ packages: dependency: transitive description: name: geolocator_android - sha256: "741579fa6c9e412984d2bdb2fbaa54e3c3f7587c60aeacfe6e058358a11f40f8" + sha256: "30ff8fa384ab6d35965aecc15dfc980e5ebc5f823352c1adfc87dc3d000e8e24" url: "https://pub.dev" source: hosted - version: "4.4.0" + version: "4.5.0" geolocator_apple: dependency: transitive description: name: geolocator_apple - sha256: ab90ae811c42ec2f6021e01eca71df00dee6ff1e69d2c2dafd4daeb0b793f73d + sha256: "79babf44b692ec5e789d322dc736ef71586056e8e6828f747c9e005456b248bf" url: "https://pub.dev" source: hosted - version: "2.3.2" + version: "2.3.5" geolocator_platform_interface: dependency: transitive description: @@ -540,10 +548,10 @@ packages: dependency: "direct main" description: name: http - sha256: d4872660c46d929f6b8a9ef4e7a7eff7e49bbf0c4ec3f385ee32df5119175139 + sha256: a2bbf9d017fcced29139daa8ed2bba4ece450ab222871df93ca9eec6f80c34ba url: "https://pub.dev" source: hosted - version: "1.1.2" + version: "1.2.0" http_parser: dependency: transitive description: @@ -556,10 +564,10 @@ packages: dependency: transitive description: name: image - sha256: "028f61960d56f26414eb616b48b04eb37d700cbe477b7fb09bf1d7ce57fd9271" + sha256: "004a2e90ce080f8627b5a04aecb4cdfac87d2c3f3b520aa291260be5a32c033d" url: "https://pub.dev" source: hosted - version: "4.1.3" + version: "4.1.4" image_gallery_saver: dependency: "direct main" description: @@ -572,34 +580,34 @@ packages: dependency: "direct main" description: name: image_picker - sha256: "7d7f2768df2a8b0a3cefa5ef4f84636121987d403130e70b17ef7e2cf650ba84" + sha256: "26222b01a0c9a2c8fe02fc90b8208bd3325da5ed1f4a2acabf75939031ac0bdd" url: "https://pub.dev" source: hosted - version: "1.0.4" + version: "1.0.7" image_picker_android: dependency: transitive description: name: image_picker_android - sha256: d6a6e78821086b0b737009b09363018309bbc6de3fd88cc5c26bc2bb44a4957f + sha256: "39f2bfe497e495450c81abcd44b62f56c2a36a37a175da7d137b4454977b51b1" url: "https://pub.dev" source: hosted - version: "0.8.8+2" + version: "0.8.9+3" image_picker_for_web: dependency: transitive description: name: image_picker_for_web - sha256: "50bc9ae6a77eea3a8b11af5eb6c661eeb858fdd2f734c2a4fd17086922347ef7" + sha256: e2423c53a68b579a7c37a1eda967b8ae536c3d98518e5db95ca1fe5719a730a3 url: "https://pub.dev" source: hosted - version: "3.0.1" + version: "3.0.2" image_picker_ios: dependency: transitive description: name: image_picker_ios - sha256: "76ec722aeea419d03aa915c2c96bf5b47214b053899088c9abb4086ceecf97a7" + sha256: fadafce49e8569257a0cad56d24438a6fa1f0cbd7ee0af9b631f7492818a4ca3 url: "https://pub.dev" source: hosted - version: "0.8.8+4" + version: "0.8.9+1" image_picker_linux: dependency: transitive description: @@ -620,10 +628,10 @@ packages: dependency: transitive description: name: image_picker_platform_interface - sha256: ed9b00e63977c93b0d2d2b343685bed9c324534ba5abafbb3dfbd6a780b1b514 + sha256: fa4e815e6fcada50e35718727d83ba1c92f1edf95c0b4436554cec301b56233b url: "https://pub.dev" source: hosted - version: "2.9.1" + version: "2.9.3" image_picker_windows: dependency: transitive description: @@ -756,10 +764,10 @@ packages: dependency: transitive description: name: mime - sha256: e4ff8e8564c03f255408decd16e7899da1733852a9110a58fe6d1b817684a63e + sha256: "2e123074287cc9fd6c09de8336dae606d1ddb88d9ac47358826db698c176a1f2" url: "https://pub.dev" source: hosted - version: "1.0.4" + version: "1.0.5" modal_bottom_sheet: dependency: "direct main" description: @@ -796,26 +804,26 @@ packages: dependency: "direct main" description: name: path_provider - sha256: a1aa8aaa2542a6bc57e381f132af822420216c80d4781f7aa085ca3229208aaa + sha256: b27217933eeeba8ff24845c34003b003b2b22151de3c908d0e679e8fe1aa078b url: "https://pub.dev" source: hosted - version: "2.1.1" + version: "2.1.2" path_provider_android: dependency: transitive description: name: path_provider_android - sha256: e595b98692943b4881b219f0a9e3945118d3c16bd7e2813f98ec6e532d905f72 + sha256: "477184d672607c0a3bf68fbbf601805f92ef79c82b64b4d6eb318cbca4c48668" url: "https://pub.dev" source: hosted - version: "2.2.1" + version: "2.2.2" path_provider_foundation: dependency: transitive description: name: path_provider_foundation - sha256: "19314d595120f82aca0ba62787d58dde2cc6b5df7d2f0daf72489e38d1b57f2d" + sha256: "5a7999be66e000916500be4f15a3633ebceb8302719b47b9cc49ce924125350f" url: "https://pub.dev" source: hosted - version: "2.3.1" + version: "2.3.2" path_provider_linux: dependency: transitive description: @@ -828,10 +836,10 @@ packages: dependency: transitive description: name: path_provider_platform_interface - sha256: "94b1e0dd80970c1ce43d5d4e050a9918fce4f4a775e6142424c30a29a363265c" + sha256: "88f5779f72ba699763fa3a3b06aa4bf6de76c8e5de842cf6f29e2e06476c2334" url: "https://pub.dev" source: hosted - version: "2.1.1" + version: "2.1.2" path_provider_windows: dependency: transitive description: @@ -852,90 +860,114 @@ packages: dependency: "direct main" description: name: permission_handler - sha256: "860c6b871c94c78e202dc69546d4d8fd84bd59faeb36f8fb9888668a53ff4f78" + sha256: "45ff3fbcb99040fde55c528d5e3e6ca29171298a85436274d49c6201002087d6" url: "https://pub.dev" source: hosted - version: "11.1.0" + version: "11.2.0" permission_handler_android: dependency: transitive description: name: permission_handler_android - sha256: "2f1bec180ee2f5665c22faada971a8f024761f632e93ddc23310487df52dcfa6" + sha256: "758284a0976772f9c744d6384fc5dc4834aa61e3f7aa40492927f244767374eb" url: "https://pub.dev" source: hosted - version: "12.0.1" + version: "12.0.3" permission_handler_apple: dependency: transitive description: name: permission_handler_apple - sha256: "1a816084338ada8d574b1cb48390e6e8b19305d5120fe3a37c98825bacc78306" + sha256: c6bf440f80acd2a873d3d91a699e4cc770f86e7e6b576dda98759e8b92b39830 url: "https://pub.dev" source: hosted - version: "9.2.0" + version: "9.3.0" permission_handler_html: dependency: transitive description: name: permission_handler_html - sha256: d96ff56a757b7f04fa825c469d296c5aebc55f743e87bd639fef91a466a24da8 + sha256: "54bf176b90f6eddd4ece307e2c06cf977fb3973719c35a93b85cc7093eb6070d" url: "https://pub.dev" source: hosted - version: "0.1.0+1" + version: "0.1.1" permission_handler_platform_interface: dependency: transitive description: name: permission_handler_platform_interface - sha256: d87349312f7eaf6ce0adaf668daf700ac5b06af84338bd8b8574dfbd93ffe1a1 + sha256: "5c43148f2bfb6d14c5a8162c0a712afe891f2d847f35fcff29c406b37da43c3c" url: "https://pub.dev" source: hosted - version: "4.0.2" + version: "4.1.0" permission_handler_windows: dependency: transitive description: name: permission_handler_windows - sha256: "1e8640c1e39121128da6b816d236e714d2cf17fac5a105dd6acdd3403a628004" + sha256: "1a790728016f79a41216d88672dbc5df30e686e811ad4e698bfc51f76ad91f1e" url: "https://pub.dev" source: hosted - version: "0.2.0" + version: "0.2.1" petitparser: dependency: transitive description: name: petitparser - sha256: eeb2d1428ee7f4170e2bd498827296a18d4e7fc462b71727d111c0ac7707cfa6 + sha256: c15605cd28af66339f8eb6fbe0e541bfe2d1b72d5825efc6598f3e0a31b9ad27 url: "https://pub.dev" source: hosted - version: "6.0.1" + version: "6.0.2" platform: dependency: transitive description: name: platform - sha256: "0a279f0707af40c890e80b1e9df8bb761694c074ba7e1d4ab1bc4b728e200b59" + sha256: "12220bb4b65720483f8fa9450b4332347737cf8213dd2840d8b2c823e47243ec" url: "https://pub.dev" source: hosted - version: "3.1.3" + version: "3.1.4" plugin_platform_interface: dependency: transitive description: name: plugin_platform_interface - sha256: f4f88d4a900933e7267e2b353594774fc0d07fb072b47eedcd5b54e1ea3269f8 + sha256: "4820fbfdb9478b1ebae27888254d445073732dae3d6ea81f0b7e06d5dedc3f02" url: "https://pub.dev" source: hosted - version: "2.1.7" + version: "2.1.8" pointer_interceptor: dependency: transitive description: name: pointer_interceptor - sha256: adf7a637f97c077041d36801b43be08559fd4322d2127b3f20bb7be1b9eebc22 + sha256: bd18321519718678d5fa98ad3a3359cbc7a31f018554eab80b73d08a7f0c165a url: "https://pub.dev" source: hosted - version: "0.9.3+7" + version: "0.10.1" + pointer_interceptor_ios: + dependency: transitive + description: + name: pointer_interceptor_ios + sha256: "2e73c39452830adc4695757130676a39412a3b7f3c34e3f752791b5384770877" + url: "https://pub.dev" + source: hosted + version: "0.10.0+2" + pointer_interceptor_platform_interface: + dependency: transitive + description: + name: pointer_interceptor_platform_interface + sha256: "0597b0560e14354baeb23f8375cd612e8bd4841bf8306ecb71fcd0bb78552506" + url: "https://pub.dev" + source: hosted + version: "0.10.0+1" + pointer_interceptor_web: + dependency: transitive + description: + name: pointer_interceptor_web + sha256: "9386e064097fd16419e935c23f08f35b58e6aaec155dd39bd6a003b88f9c14b4" + url: "https://pub.dev" + source: hosted + version: "0.10.1+2" pointycastle: dependency: transitive description: name: pointycastle - sha256: "7c1e5f0d23c9016c5bbd8b1473d0d3fb3fc851b876046039509e18e0c7485f2c" + sha256: "43ac87de6e10afabc85c445745a7b799e04de84cebaa4fd7bf55a5e1e9604d29" url: "https://pub.dev" source: hosted - version: "3.7.3" + version: "3.7.4" polylabel: dependency: transitive description: @@ -976,14 +1008,6 @@ packages: url: "https://pub.dev" source: hosted version: "3.1.0+2" - quiver: - dependency: transitive - description: - name: quiver - sha256: b1c1ac5ce6688d77f65f3375a9abb9319b3cb32486bdc7a1e0fdf004d7ba4e47 - url: "https://pub.dev" - source: hosted - version: "3.2.1" rename: dependency: "direct main" description: @@ -1020,10 +1044,10 @@ packages: dependency: transitive description: name: shared_preferences_foundation - sha256: "7bf53a9f2d007329ee6f3df7268fd498f8373602f943c975598bbb34649b62a7" + sha256: "7708d83064f38060c7b39db12aefe449cb8cdc031d6062280087bc4cdb988f5c" url: "https://pub.dev" source: hosted - version: "2.3.4" + version: "2.3.5" shared_preferences_linux: dependency: transitive description: @@ -1036,10 +1060,10 @@ packages: dependency: transitive description: name: shared_preferences_platform_interface - sha256: d4ec5fc9ebb2f2e056c617112aa75dcf92fc2e4faaf2ae999caa297473f75d8a + sha256: "22e2ecac9419b4246d7c22bfbbda589e3acf5c0351137d87dd2939d984d37c3b" url: "https://pub.dev" source: hosted - version: "2.3.1" + version: "2.3.2" shared_preferences_web: dependency: transitive description: @@ -1081,18 +1105,18 @@ packages: dependency: "direct main" description: name: sqflite - sha256: "591f1602816e9c31377d5f008c2d9ef7b8aca8941c3f89cc5fd9d84da0c38a9a" + sha256: c2c32eb0c74021d987336522acc3b6bf0082fbd0c540c36a9cf4ddb8ba891ddc url: "https://pub.dev" source: hosted - version: "2.3.0" + version: "2.3.1" sqflite_common: dependency: transitive description: name: sqflite_common - sha256: bb4738f15b23352822f4c42a531677e5c6f522e079461fd240ead29d8d8a54a6 + sha256: "28d8c66baee4968519fb8bd6cdbedad982d6e53359091f0b74544a9f32ec72d5" url: "https://pub.dev" source: hosted - version: "2.5.0+2" + version: "2.5.3" stack_trace: dependency: transitive description: @@ -1137,10 +1161,10 @@ packages: dependency: transitive description: name: synchronized - sha256: "5fcbd27688af6082f5abd611af56ee575342c30e87541d0245f7ff99faa02c60" + sha256: "539ef412b170d65ecdafd780f924e5be3f60032a1128df156adad6c5b373d558" url: "https://pub.dev" source: hosted - version: "3.1.0" + version: "3.1.0+1" term_glyph: dependency: transitive description: @@ -1201,34 +1225,34 @@ packages: dependency: "direct main" description: name: url_launcher - sha256: b1c9e98774adf8820c96fbc7ae3601231d324a7d5ebd8babe27b6dfac91357ba + sha256: c512655380d241a337521703af62d2c122bf7b77a46ff7dd750092aa9433499c url: "https://pub.dev" source: hosted - version: "6.2.1" + version: "6.2.4" url_launcher_android: dependency: transitive description: name: url_launcher_android - sha256: "31222ffb0063171b526d3e569079cf1f8b294075ba323443fdc690842bfd4def" + sha256: "507dc655b1d9cb5ebc756032eb785f114e415f91557b73bf60b7e201dfedeb2f" url: "https://pub.dev" source: hosted - version: "6.2.0" + version: "6.2.2" url_launcher_ios: dependency: transitive description: name: url_launcher_ios - sha256: bba3373219b7abb6b5e0d071b0fe66dfbe005d07517a68e38d4fc3638f35c6d3 + sha256: "75bb6fe3f60070407704282a2d295630cab232991eb52542b18347a8a941df03" url: "https://pub.dev" source: hosted - version: "6.2.1" + version: "6.2.4" url_launcher_linux: dependency: transitive description: name: url_launcher_linux - sha256: "9f2d390e096fdbe1e6e6256f97851e51afc2d9c423d3432f1d6a02a8a9a8b9fd" + sha256: ab360eb661f8879369acac07b6bb3ff09d9471155357da8443fd5d3cf7363811 url: "https://pub.dev" source: hosted - version: "3.1.0" + version: "3.1.1" url_launcher_macos: dependency: transitive description: @@ -1241,34 +1265,34 @@ packages: dependency: transitive description: name: url_launcher_platform_interface - sha256: "980e8d9af422f477be6948bdfb68df8433be71f5743a188968b0c1b887807e50" + sha256: a932c3a8082e118f80a475ce692fde89dc20fddb24c57360b96bc56f7035de1f url: "https://pub.dev" source: hosted - version: "2.2.0" + version: "2.3.1" url_launcher_web: dependency: transitive description: name: url_launcher_web - sha256: "138bd45b3a456dcfafc46d1a146787424f8d2edfbf2809c9324361e58f851cf7" + sha256: fff0932192afeedf63cdd50ecbb1bc825d31aed259f02bb8dba0f3b729a5e88b url: "https://pub.dev" source: hosted - version: "2.2.1" + version: "2.2.3" url_launcher_windows: dependency: transitive description: name: url_launcher_windows - sha256: "7754a1ad30ee896b265f8d14078b0513a4dba28d358eabb9d5f339886f4a1adc" + sha256: ecf9725510600aa2bb6d7ddabe16357691b6d2805f66216a97d1b881e21beff7 url: "https://pub.dev" source: hosted - version: "3.1.0" + version: "3.1.1" uuid: dependency: transitive description: name: uuid - sha256: df5a4d8f22ee4ccd77f8839ac7cb274ebc11ef9adcce8b92be14b797fe889921 + sha256: cd210a09f7c18cbe5a02511718e0334de6559871052c90a90c0cca46a4aa81c8 url: "https://pub.dev" source: hosted - version: "4.2.1" + version: "4.3.3" vector_math: dependency: "direct main" description: @@ -1297,10 +1321,10 @@ packages: dependency: transitive description: name: win32 - sha256: "7c99c0e1e2fa190b48d25c81ca5e42036d5cac81430ef249027d97b0935c553f" + sha256: "464f5674532865248444b4c3daca12bd9bf2d7c47f759ce2617986e7229494a8" url: "https://pub.dev" source: hosted - version: "5.1.0" + version: "5.2.0" wkt_parser: dependency: transitive description: @@ -1313,18 +1337,18 @@ packages: dependency: transitive description: name: xdg_directories - sha256: "589ada45ba9e39405c198fe34eb0f607cddb2108527e658136120892beac46d2" + sha256: faea9dee56b520b55a566385b84f2e8de55e7496104adada9962e0bd11bcff1d url: "https://pub.dev" source: hosted - version: "1.0.3" + version: "1.0.4" xml: dependency: transitive description: name: xml - sha256: af5e77e9b83f2f4adc5d3f0a4ece1c7f45a2467b695c2540381bac793e34e556 + sha256: b015a8ad1c488f66851d762d3090a21c600e479dc75e68328c52774040cf9226 url: "https://pub.dev" source: hosted - version: "6.4.2" + version: "6.5.0" yaml: dependency: transitive description: @@ -1334,5 +1358,5 @@ packages: source: hosted version: "3.1.2" sdks: - dart: ">=3.2.0 <4.0.0" - flutter: ">=3.16.0" + dart: ">=3.2.3 <4.0.0" + flutter: ">=3.16.6" diff --git a/pubspec.yaml b/pubspec.yaml index f2ada7e..905bf60 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -15,7 +15,7 @@ publish_to: "none" # Remove this line if you wish to publish to pub.dev # In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion. # Read more about iOS versioning at # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html -version: 1.0.30+30 +version: 1.0.31+31 environment: sdk: ">=3.1.0 <4.0.0"