From fe46d46ab65deb211043cd10f3cc7defdb8c3ec6 Mon Sep 17 00:00:00 2001 From: Akira Date: Mon, 2 Sep 2024 21:25:19 +0900 Subject: [PATCH] =?UTF-8?q?2024-09-02=20=E3=81=BB=E3=81=BCOK?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .metadata | 29 +- README.md | 34 +- .../com/dvox/gifunavi_git/MainActivity.kt | 5 + devtools_options.yaml | 3 + ios/GifuNavigation.mobileprovision | Bin 12160 -> 0 bytes ios/Podfile.lock | 6 + ios/Runner.xcodeproj/project.pbxproj | 184 ++--- .../Icon-App-1024x1024@1x.png | Bin 80807 -> 10932 bytes .../AppIcon.appiconset/Icon-App-20x20@1x.png | Bin 4194 -> 295 bytes .../AppIcon.appiconset/Icon-App-20x20@2x.png | Bin 5592 -> 406 bytes .../AppIcon.appiconset/Icon-App-20x20@3x.png | Bin 7030 -> 450 bytes .../AppIcon.appiconset/Icon-App-29x29@1x.png | Bin 4766 -> 282 bytes .../AppIcon.appiconset/Icon-App-29x29@2x.png | Bin 6972 -> 462 bytes .../AppIcon.appiconset/Icon-App-29x29@3x.png | Bin 8991 -> 704 bytes .../AppIcon.appiconset/Icon-App-40x40@1x.png | Bin 5592 -> 406 bytes .../AppIcon.appiconset/Icon-App-40x40@2x.png | Bin 8476 -> 586 bytes .../AppIcon.appiconset/Icon-App-40x40@3x.png | Bin 11330 -> 862 bytes .../AppIcon.appiconset/Icon-App-50x50@1x.png | Bin 6342 -> 0 bytes .../AppIcon.appiconset/Icon-App-50x50@2x.png | Bin 9970 -> 0 bytes .../AppIcon.appiconset/Icon-App-57x57@1x.png | Bin 6821 -> 0 bytes .../AppIcon.appiconset/Icon-App-57x57@2x.png | Bin 10911 -> 0 bytes .../AppIcon.appiconset/Icon-App-60x60@2x.png | Bin 11330 -> 862 bytes .../AppIcon.appiconset/Icon-App-60x60@3x.png | Bin 15777 -> 1674 bytes .../AppIcon.appiconset/Icon-App-72x72@1x.png | Bin 7941 -> 0 bytes .../AppIcon.appiconset/Icon-App-72x72@2x.png | Bin 13122 -> 0 bytes .../AppIcon.appiconset/Icon-App-76x76@1x.png | Bin 8261 -> 762 bytes .../AppIcon.appiconset/Icon-App-76x76@2x.png | Bin 13605 -> 1226 bytes .../Icon-App-83.5x83.5@2x.png | Bin 14859 -> 1418 bytes ios/Runner/Info.plist | 38 +- lib/main.dart | 721 ++++++++++++------ lib/pages/camera/camera_page.dart | 83 +- lib/pages/camera/custom_camera_view.dart | 134 +++- .../destination/destination_controller.dart | 176 +++-- lib/pages/entry/entry_binding.dart | 2 + lib/pages/entry/entry_controller.dart | 7 +- lib/pages/history/history_page.dart | 134 ++++ lib/pages/index/index_binding.dart | 14 +- lib/pages/index/index_controller.dart | 241 ++++-- lib/pages/index/index_page.dart | 34 +- lib/pages/login/login_page.dart | 48 +- lib/pages/login_popup/login_popup_page.dart | 4 +- lib/pages/permission/permission.dart | 193 ++++- lib/pages/team/member_binding.dart | 2 + lib/pages/team/team_binding.dart | 7 +- lib/pages/team/team_controller.dart | 20 +- lib/services/api_service.dart | 211 ++++- lib/services/external_service.dart | 16 +- lib/utils/database_helper.dart | 47 ++ lib/utils/location_controller.dart | 61 +- lib/utils/memory_monitor.dart | 89 +++ lib/widgets/bottom_sheet_new.dart | 24 +- lib/widgets/game_state_view.dart | 31 +- lib/widgets/helper_dialog.dart | 16 +- lib/widgets/map_widget.dart | 23 + lib/widgets/permission_handler_screen.dart | 11 +- macos/Flutter/GeneratedPluginRegistrant.swift | 2 + pubspec.lock | 30 +- pubspec.yaml | 3 + テスト端末.xlsx | Bin 0 -> 147338 bytes 59 files changed, 2006 insertions(+), 677 deletions(-) create mode 100644 android/app/src/main/kotlin/com/dvox/gifunavi_git/MainActivity.kt create mode 100644 devtools_options.yaml delete mode 100644 ios/GifuNavigation.mobileprovision delete mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@1x.png delete mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@2x.png delete mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@1x.png delete mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@2x.png delete mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@1x.png delete mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@2x.png create mode 100644 lib/utils/memory_monitor.dart create mode 100644 テスト端末.xlsx diff --git a/.metadata b/.metadata index a0a9eb4..391c336 100644 --- a/.metadata +++ b/.metadata @@ -1,11 +1,11 @@ # This file tracks properties of this Flutter project. # Used by Flutter tool to assess capabilities and perform upgrades etc. # -# This file should be version controlled. +# This file should be version controlled and should not be manually edited. version: - revision: 2ad6cd72c040113b47ee9055e722606a490ef0da - channel: stable + revision: "5874a72aa4c779a02553007c47dacbefba2374dc" + channel: "stable" project_type: app @@ -13,11 +13,26 @@ project_type: app migration: platforms: - platform: root - create_revision: 2ad6cd72c040113b47ee9055e722606a490ef0da - base_revision: 2ad6cd72c040113b47ee9055e722606a490ef0da + create_revision: 5874a72aa4c779a02553007c47dacbefba2374dc + base_revision: 5874a72aa4c779a02553007c47dacbefba2374dc + - platform: android + create_revision: 5874a72aa4c779a02553007c47dacbefba2374dc + base_revision: 5874a72aa4c779a02553007c47dacbefba2374dc - platform: ios - create_revision: 2ad6cd72c040113b47ee9055e722606a490ef0da - base_revision: 2ad6cd72c040113b47ee9055e722606a490ef0da + create_revision: 5874a72aa4c779a02553007c47dacbefba2374dc + base_revision: 5874a72aa4c779a02553007c47dacbefba2374dc + - platform: linux + create_revision: 5874a72aa4c779a02553007c47dacbefba2374dc + base_revision: 5874a72aa4c779a02553007c47dacbefba2374dc + - platform: macos + create_revision: 5874a72aa4c779a02553007c47dacbefba2374dc + base_revision: 5874a72aa4c779a02553007c47dacbefba2374dc + - platform: web + create_revision: 5874a72aa4c779a02553007c47dacbefba2374dc + base_revision: 5874a72aa4c779a02553007c47dacbefba2374dc + - platform: windows + create_revision: 5874a72aa4c779a02553007c47dacbefba2374dc + base_revision: 5874a72aa4c779a02553007c47dacbefba2374dc # User provided section diff --git a/README.md b/README.md index 6e97046..739c1bd 100644 --- a/README.md +++ b/README.md @@ -15,6 +15,29 @@ For help getting started with Flutter development, view the [online documentation](https://docs.flutter.dev/), which offers tutorials, samples, guidance on mobile development, and a full API reference. +## iOS のマニュアル更新内容 + +* Info.plist + CFBundleDisplayName + 岐阜ナビ + + CFBundleName + 岐阜ナビ + + NSCameraUsageDescription + 岐阜ナビはチェックポイントで撮影した写真を写真ライブラリに保存し、通過記録を保持し、競技結果として提出することができます。 + NSLocationAlwaysAndWhenInUseUsageDescription + 岐阜ナビはアプリが閉じられているときでも位置情報へのアクセスが必要です。これにより、走行履歴の記録ができ、レビュー時の参考にすることができます。 + NSLocationAlwaysUsageDescription + このアプリではバックグラウンドで位置情報にアクセスします。 + NSLocationWhenInUseUsageDescription + このアプリはチェックポイントへのチェックインや走行履歴を記録するために、位置情報にアクセスします。 + NSMicrophoneUsageDescription + このアプリではカメラは使用しますが、マイクの使用は当面行いません。 + NSPhotoLibraryUsageDescription + 撮影した写真はデバイスのアルバムに保存されます。これにより、不具合時の通過記録を安全に担保することができます。 + + # 更新履歴 0. flutter_compass は pub.dev cache で 34 に変更。キャッシュをクリアしたら修正が必要。 @@ -157,4 +180,13 @@ samples, guidance on mobile development, and a full API reference. テスト用位置情報: 大垣駅: 35.36701369466119, 136.61783662683948 大垣城: 35.36182698266251, 136.61558088722234 -関ケ原駅:35.36365422752628, 136.47061844402452 \ No newline at end of file +関ケ原駅:35.36365422752628, 136.47061844402452 +高山駅:36.14130783620718, 137.25050201764944 +ガソリンスタンド:36.13826570797936, 137.21513450124928 + +バグ: +履歴の写真:アクセスエラー +バックアップをイベントごとに保存・レストア + +ログインした際に、イベントが選択されていなければ、イベントを選択するように促す。 +事前チェックインした写真が履歴に表示されない。 diff --git a/android/app/src/main/kotlin/com/dvox/gifunavi_git/MainActivity.kt b/android/app/src/main/kotlin/com/dvox/gifunavi_git/MainActivity.kt new file mode 100644 index 0000000..29bb72e --- /dev/null +++ b/android/app/src/main/kotlin/com/dvox/gifunavi_git/MainActivity.kt @@ -0,0 +1,5 @@ +package com.dvox.gifunavi_git + +import io.flutter.embedding.android.FlutterActivity + +class MainActivity: FlutterActivity() diff --git a/devtools_options.yaml b/devtools_options.yaml new file mode 100644 index 0000000..fa0b357 --- /dev/null +++ b/devtools_options.yaml @@ -0,0 +1,3 @@ +description: This file stores settings for Dart & Flutter DevTools. +documentation: https://docs.flutter.dev/tools/devtools/extensions#configure-extension-enablement-states +extensions: diff --git a/ios/GifuNavigation.mobileprovision b/ios/GifuNavigation.mobileprovision deleted file mode 100644 index c523c3fcdd9e3cb65978d03dedf568a5b81ebd96..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12160 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 KzpS|fp8Q`Ws}XAe diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 2531a8c..af37d55 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -4,6 +4,8 @@ PODS: - connectivity_plus (0.0.1): - Flutter - FlutterMacOS + - device_info_plus (0.0.1): + - Flutter - Flutter (1.0.0) - flutter_compass (0.0.1): - Flutter @@ -43,6 +45,7 @@ PODS: DEPENDENCIES: - camera_avfoundation (from `.symlinks/plugins/camera_avfoundation/ios`) - connectivity_plus (from `.symlinks/plugins/connectivity_plus/darwin`) + - device_info_plus (from `.symlinks/plugins/device_info_plus/ios`) - Flutter (from `Flutter`) - flutter_compass (from `.symlinks/plugins/flutter_compass/ios`) - flutter_keyboard_visibility (from `.symlinks/plugins/flutter_keyboard_visibility/ios`) @@ -68,6 +71,8 @@ EXTERNAL SOURCES: :path: ".symlinks/plugins/camera_avfoundation/ios" connectivity_plus: :path: ".symlinks/plugins/connectivity_plus/darwin" + device_info_plus: + :path: ".symlinks/plugins/device_info_plus/ios" Flutter: :path: Flutter flutter_compass: @@ -102,6 +107,7 @@ EXTERNAL SOURCES: SPEC CHECKSUMS: camera_avfoundation: dd002b0330f4981e1bbcb46ae9b62829237459a4 connectivity_plus: ddd7f30999e1faaef5967c23d5b6d503d10434db + device_info_plus: 97af1d7e84681a90d0693e63169a5d50e0839a0d Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7 flutter_compass: cbbd285cea1584c7ac9c4e0c3e1f17cbea55e855 flutter_keyboard_visibility: 0339d06371254c3eb25eeb90ba8d17dca8f9c069 diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj index 986ec01..298f241 100644 --- a/ios/Runner.xcodeproj/project.pbxproj +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -8,14 +8,14 @@ /* Begin PBXBuildFile section */ 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; - 2EAA11F0595B6B1A6B6ADED8 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 53C8E795FF5969F8C7B6A237 /* Pods_RunnerTests.framework */; }; 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; }; 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; + 712BA8D3720206B23B820A9B /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C4E153E327A403FD75830D36 /* Pods_RunnerTests.framework */; }; 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; + 8B39E7104A3E3C6F3B501CB2 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6A39AA3BE6DA0B7B42041019 /* Pods_Runner.framework */; }; 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; - B6A4962F862B554C98AD7E0A /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F31FDD2E828C96A459E4AA85 /* Pods_Runner.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -46,14 +46,16 @@ 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; 331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 3592C2DA8DF570D2D07650A8 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; - 53C8E795FF5969F8C7B6A237 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 402073277F0CF7D1DE2A9F29 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; + 6850CF9EE994EB8682BD460F /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; + 6A39AA3BE6DA0B7B42041019 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 6FFD6A432600780CEB6D6374 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; - 84738EC4DA98A3780DDAB81F /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; - 89205C63F97F88BDB459168E /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; - 89EEC485D24E5B1BC0DD7B8E /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; + 86D6A3692EBE5943C3C75411 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -61,10 +63,8 @@ 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - AC42218FD0A0DB137D157E93 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; - D773E9161AA2211A3E2B94DD /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; - DA00EBAA91366A0B5BFDAE96 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; - F31FDD2E828C96A459E4AA85 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 9E76BC5648643A00E08CF70B /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; + C4E153E327A403FD75830D36 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -72,15 +72,15 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - B6A4962F862B554C98AD7E0A /* Pods_Runner.framework in Frameworks */, + 8B39E7104A3E3C6F3B501CB2 /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - CEDA9491D04A70CE2A58DF32 /* Frameworks */ = { + F68F88FFE2DC7D6754431798 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 2EAA11F0595B6B1A6B6ADED8 /* Pods_RunnerTests.framework in Frameworks */, + 712BA8D3720206B23B820A9B /* Pods_RunnerTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -95,11 +95,24 @@ path = RunnerTests; sourceTree = ""; }; - 3806CD679A8B2BB869428B93 /* Frameworks */ = { + 7F718872327E3605229882F1 /* Pods */ = { isa = PBXGroup; children = ( - F31FDD2E828C96A459E4AA85 /* Pods_Runner.framework */, - 53C8E795FF5969F8C7B6A237 /* Pods_RunnerTests.framework */, + 402073277F0CF7D1DE2A9F29 /* Pods-Runner.debug.xcconfig */, + 3592C2DA8DF570D2D07650A8 /* Pods-Runner.release.xcconfig */, + 6FFD6A432600780CEB6D6374 /* Pods-Runner.profile.xcconfig */, + 86D6A3692EBE5943C3C75411 /* Pods-RunnerTests.debug.xcconfig */, + 6850CF9EE994EB8682BD460F /* Pods-RunnerTests.release.xcconfig */, + 9E76BC5648643A00E08CF70B /* Pods-RunnerTests.profile.xcconfig */, + ); + path = Pods; + sourceTree = ""; + }; + 85F630F9575BB5DDC6F6B3B2 /* Frameworks */ = { + isa = PBXGroup; + children = ( + 6A39AA3BE6DA0B7B42041019 /* Pods_Runner.framework */, + C4E153E327A403FD75830D36 /* Pods_RunnerTests.framework */, ); name = Frameworks; sourceTree = ""; @@ -122,8 +135,8 @@ 97C146F01CF9000F007C117D /* Runner */, 97C146EF1CF9000F007C117D /* Products */, 331C8082294A63A400263BE5 /* RunnerTests */, - B9F40AE3939A8E59418B2C25 /* Pods */, - 3806CD679A8B2BB869428B93 /* Frameworks */, + 7F718872327E3605229882F1 /* Pods */, + 85F630F9575BB5DDC6F6B3B2 /* Frameworks */, ); sourceTree = ""; }; @@ -151,19 +164,6 @@ path = Runner; sourceTree = ""; }; - B9F40AE3939A8E59418B2C25 /* Pods */ = { - isa = PBXGroup; - children = ( - DA00EBAA91366A0B5BFDAE96 /* Pods-Runner.debug.xcconfig */, - D773E9161AA2211A3E2B94DD /* Pods-Runner.release.xcconfig */, - 84738EC4DA98A3780DDAB81F /* Pods-Runner.profile.xcconfig */, - AC42218FD0A0DB137D157E93 /* Pods-RunnerTests.debug.xcconfig */, - 89205C63F97F88BDB459168E /* Pods-RunnerTests.release.xcconfig */, - 89EEC485D24E5B1BC0DD7B8E /* Pods-RunnerTests.profile.xcconfig */, - ); - path = Pods; - sourceTree = ""; - }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -171,10 +171,10 @@ isa = PBXNativeTarget; buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildPhases = ( - CD76B1A18202CBE77CBE3DCF /* [CP] Check Pods Manifest.lock */, + 7F66DF627A66DF465C5F63D3 /* [CP] Check Pods Manifest.lock */, 331C807D294A63A400263BE5 /* Sources */, 331C807F294A63A400263BE5 /* Resources */, - CEDA9491D04A70CE2A58DF32 /* Frameworks */, + F68F88FFE2DC7D6754431798 /* Frameworks */, ); buildRules = ( ); @@ -190,15 +190,15 @@ isa = PBXNativeTarget; buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - 7EC19810B524B833F58A16B8 /* [CP] Check Pods Manifest.lock */, + 9BC3CC202AEB33DDD6358396 /* [CP] Check Pods Manifest.lock */, 9740EEB61CF901F6004384FC /* Run Script */, 97C146EA1CF9000F007C117D /* Sources */, 97C146EB1CF9000F007C117D /* Frameworks */, 97C146EC1CF9000F007C117D /* Resources */, 9705A1C41CF9048500538489 /* Embed Frameworks */, 3B06AD1E1E4923F5004D2608 /* Thin Binary */, - 3CF3DF1DB3C3E48099A705D1 /* [CP] Embed Pods Frameworks */, - 9D3C0722FFFB9D74548C2A72 /* [CP] Copy Pods Resources */, + B576B812EBF41188E37C7BA1 /* [CP] Embed Pods Frameworks */, + 8EF00F2B7B12B1557BEC9D5A /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -286,24 +286,61 @@ shellPath = /bin/sh; shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; }; - 3CF3DF1DB3C3E48099A705D1 /* [CP] Embed Pods Frameworks */ = { + 7F66DF627A66DF465C5F63D3 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - name = "[CP] Embed Pods Frameworks"; + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 7EC19810B524B833F58A16B8 /* [CP] Check Pods Manifest.lock */ = { + 8EF00F2B7B12B1557BEC9D5A /* [CP] Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Copy Pods Resources"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources.sh\"\n"; + showEnvVarsInLog = 0; + }; + 9740EEB61CF901F6004384FC /* Run Script */ = { + isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Run Script"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; + }; + 9BC3CC202AEB33DDD6358396 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -325,58 +362,21 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 9740EEB61CF901F6004384FC /* Run Script */ = { - isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "Run Script"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; - }; - 9D3C0722FFFB9D74548C2A72 /* [CP] Copy Pods Resources */ = { + B576B812EBF41188E37C7BA1 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-input-files.xcfilelist", + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - name = "[CP] Copy Pods Resources"; + name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-output-files.xcfilelist", + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources.sh\"\n"; - showEnvVarsInLog = 0; - }; - CD76B1A18202CBE77CBE3DCF /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; /* End PBXShellScriptBuildPhase section */ @@ -508,14 +508,14 @@ }; 331C8088294A63A400263BE5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = AC42218FD0A0DB137D157E93 /* Pods-RunnerTests.debug.xcconfig */; + baseConfigurationReference = 86D6A3692EBE5943C3C75411 /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; GENERATE_INFOPLIST_FILE = YES; MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = com.example.gifunavi.RunnerTests; + PRODUCT_BUNDLE_IDENTIFIER = com.dvox.gifunaviGit.RunnerTests; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; @@ -526,14 +526,14 @@ }; 331C8089294A63A400263BE5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 89205C63F97F88BDB459168E /* Pods-RunnerTests.release.xcconfig */; + baseConfigurationReference = 6850CF9EE994EB8682BD460F /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; GENERATE_INFOPLIST_FILE = YES; MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = com.example.gifunavi.RunnerTests; + PRODUCT_BUNDLE_IDENTIFIER = com.dvox.gifunaviGit.RunnerTests; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_VERSION = 5.0; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; @@ -542,14 +542,14 @@ }; 331C808A294A63A400263BE5 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 89EEC485D24E5B1BC0DD7B8E /* Pods-RunnerTests.profile.xcconfig */; + baseConfigurationReference = 9E76BC5648643A00E08CF70B /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; GENERATE_INFOPLIST_FILE = YES; MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = com.example.gifunavi.RunnerTests; + PRODUCT_BUNDLE_IDENTIFIER = com.dvox.gifunaviGit.RunnerTests; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_VERSION = 5.0; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; @@ -560,7 +560,7 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = AppIcon; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; CLANG_ANALYZER_NONNULL = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; @@ -617,7 +617,7 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = AppIcon; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; CLANG_ANALYZER_NONNULL = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png index e25381f899d7690b46fe9007da9eb61e61e455ae..dc9ada4725e9b0ddb1deab583e5b5102493aa332 100644 GIT binary patch literal 10932 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 v`RiQt@PAif>jSS~&== diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png index 36417199bf2b6407dbab1db378c16d4861330c11..7353c41ecf9ca08017312dc233d9830079b50717 100644 GIT binary patch delta 279 zcmV+y0qFkXAg2P58Gi!+006pI?LPnj0Blf9R7L;)|5U~J`u_j-{Qm)0oAmqtj@kOz z^8J|I`-|B6ht~R5kG+%I`zf~eztraM`u^bc{`dO)zUlmg)%x%C`E}6wSI77~z4s`y z^XT{f(eM4n?EUff`e@AgO~UxV*5*r_%Uhbj5N)LaQj!wdIe!-b004GLL_t&-)18pX z4udcZ1u-#g(~z+5JN*AY5?>Gw7hsN~k)CYt4dQDFxbs5*_&e@Hj)wtt(&JE<3Eq*D z;_gQLvqXoKv=I*gWqM9C(Tvu0>=?hTbOp9!6k6AF;>f6|S5%jGEE}TA9h)e`Yuiu8 d7)l?o1NFcJg%EAfM$P~L002ovPDHLkV1j%zn%)2a literal 4194 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 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png index 683703e32b7d8859e369545c6cee93277601934f..797d452e458972bab9d994556c8305db4c827017 100644 GIT binary patch delta 390 zcmV;10eSw|E0zP08Gi!+006rnNM8T|0E$pdR7L;)|5U~J0au$Tw)XJ){%+3s=lA~6 z@BMVp`S<<*VaoaP`~U3u{%g(ou*=|m)B4`@{`33)?ezIj#Q6OF|6IuUF}e2O>+>eB z?J{?+FLkYu+4_Uk`r_>LHF~flZm0oBf#vr8%vJ>#p~!KNvqGG3)|f1T_)ydeh8$vDceZ>oNbH^|*hJ*t?Yc*1`WB&W>VYVEzu) zq#7;;VjO)t*nbgf(!`OXJBr45rP>>AQr$6c7slJWvbpNW@KTwna6d?PP>hvXCcp=4 zF;=GR@R4E7{4VU^0p4F>v^#A|>07*qoM6N<$g80GLvj6}9 literal 5592 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 Ug*9-~1poj507*qoM6N<$f<}4cU;qFB diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png index cc4b3aca7eb88d4a31bebea352f5685bc120534a..4cd7b0099ca80c806f8fe495613e8d6c69460d76 100644 GIT binary patch delta 266 zcmV+l0rmc#C7J?|8Gi!+003c4mpuRg09{Z_R7L;)|5U~JDYo_jSDX9(|7FYh`2GLd z^Zv2r{H^2sT*&w!Y^SB+`<>qVZqE6)=lqo0`vF#&*75!I`TIh@_d&k*HoEtQyV-iD z%Xz2D9EQRbeYh5Nr~y=#0ZD;^+vz0$004MNL_t(2&&|%+4u6C&2tZM$Wf&dzefR%A z(^3-?6X>hnCz2Ba@RH&`m!pgy?n@#@AuLYB&}Q)FGY`?vcft0!vht0Z@M&ZeNCWXh75gzRTXR8EE3oN&6 Q00000NkvXXt^-0~f*tXNwEzGB literal 4766 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 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png index c1b47e28af9dc261f1e72e61abe3f5715776e83f..fe730945a01f64a61e2235dbe3f45b08f7729182 100644 GIT binary patch delta 447 zcmV;w0YLt|HqHZ(8Gi!+007oyx*7lg0G3cpR7L;)|5U~J0au$Tw)URh`@-w}Xw3Np zS)Ix4{k7)&ujKrh-TO(x_}20L&+q+}+xr1ilg8}*yXgGl_5RcF{f*iBEV%Z~-t4>5 ziGV;=={^- z?sLQGb)?A{hr$_!z8HbH7kH=vM0x-*R~t>;jsO4v^GQTOR7l6|(&r9>FcgO2dg?%> z;=sK?5%;?Pn^T7LL?Y$@5u?06NuIR*0?Yf$Hf5Afk+lM<^ch*jvO$sU*m9J?JI7eI zGFV6+q|w~e;JI~C4Vf^@d>Wvj=fl`^u9x9wd9R%3*Q+)t%S!MU_`id^@& zY{y7-r98lZX0?YrHlfmwb?#}^1b{8g&KzmkE(L>Z&p6kME1_Z%?`+u)^el0!1<0sd p?Eyu!OMLDifi)An*I;?S-wj=m4RYIt!kPd8002ovPDHLkV1jxT^kV=3 literal 6972 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 Zxpx7IC@PekH?;r&002ovPDHLkV1h`(Yjpqs literal 8991 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 literal 5592 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 KMNUMnLSTYYvNc-( literal 8476 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 KMNUMnLSTZBnwtdx diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png index a14e94b05381723525948973a2afe19662e95cd2..0ec303439225b78712f49115768196d8d76f6790 100644 GIT binary patch delta 850 zcmV-Y1FihRSl$MZ8Gi!+000iU#^3+|0OwFlR7L;)|5U~J09TtSw)Xt~|5(QO`~Ck( z!T0|D|3<*~RmJ%E{r+;#`2ba!klFf7!uJMSo%Q?vP{jByxcAZE>;OrUCbaZYjJo^$ z{nGILmD~Da$@upC{`C6(Ey4dPw)Pyc^>5DkHoEo!QcuK-Jwl-l}t(fQKv z{dds$V#@dygS`PvhX6is7Z+@*x-d;$ zb=6f@U3Jw}_s+W3%*+b9H_vS)-R#9?zrXogeLVI2We2RFTTAL}&3C8PS~<5D&v@UI z+`s*$wqQ=yd$laNUY-|ovcS9~n_90tFUdl#qq0tEUXle|k{Op|DHpSrbxEeZ5~$>o%>OSe z^=41qvh3LlC2xXzu+-2eQoqs1^L>7ylB$bCP);(%(xYZL1 cY5!B-0ft0f?Lgb>C;$Ke07*qoM6N<$g2=AQH2?qr literal 11330 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 Ef^~XV00000 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@1x.png deleted file mode 100644 index ee6c4d3a0857243f4b4ea5337d2bcf5942484e5c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6342 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 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@1x.png deleted file mode 100644 index ad1119d95d1d322479637c0bcb851b962cb1cd42..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6821 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 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@2x.png deleted file mode 100644 index c3a317bff4378e3580b98c3c81e6b8e5f8e0dae3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10911 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 literal 11330 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 Ef^~XV00000 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png index 1599df8c48697e2b160f0ec52452a757ee4d3899..e9f5fea27c705180eb716271f41b582e76dcbd90 100644 GIT binary patch delta 1668 zcmV-~27CFTdx{N^8Gi!+000UT_5c6?0S-`1R7L;)|5U~JDYo_jSDRJE`2GI>`u+b> z#Q0do`1}6<{Qdq#!1wR$2T#*AweE>Ub09v4>;QIg_I^_2LtK$20(D{zn_^HL*3Rj70 z%=tLH_b#{gK7W9-03t&#zyHMQ{FK}Jd(rva=I|w|=9#+Ihp*3ip1$;$>j3}&1vg1V zK~#9!?b~^C5-}JC@Pyrv-6dSEqJqT}#j9#dJ@GzT@B8}xU&J@bBI>f6w6en+CeI)3 z^kC*U?}X%OD8$Fd$H&LV$H&LV$H&LV#|K5~mLYf|Vt-;AMv#QX1a!Ta~6|O(zp+Uvg&Aa=+vBNz0Rs{AlWy-99x<(ohfpEcFpW=7o}_1 z>s&Ou*hMLxE-GxhC`Z*r>&|vj>R7LXbI`f|486`~uft__uGhI}_Fc5H63j7aDDIx{dZl^-u)&qKP!qC^RMF(PhHK^33eOuhHu{hoSl0 zKYv6olX!V%A;_nLc2Q<$rqPnk@(F#u5rszb!OdKo$uh%0J)j}CG3VDtWHIM%xMVXV zmTF#h81iB>r55Is`L$8KI@d+*%{=Nx+FXJ98L0PjFIu;rGnnfYn1R5Qnp<{Jq0M1v zX=X&F8g4GYHsMFm8dDG!y@wy0LzrDkP5n}RZ}&a^{lJ!qV}DSMg`_~iho-+ zYhFY`V=ZZN~BQ&RAHmG&4 z!(on%X00A@4(8Rri!ZBBU(}gmP=BAPwO^0~hnWE5<&o5gK6CEuqlcu2V{xeEaUGt9 zX7jznS5T?%9I4$fnuB2<)EHiTmPxeQU>*)T8~uk^)KEOM+F)+AI>Y`eP$PIFuu==9 zE-`OPbnDbc|0)^xP^m`+=GW8BO)yJ!f5Qc}G(Wj}SEB>1?)30sXn)??nxVBC z)wA(BsB`AW54N{|qmikJR*%x0c`{LGsSfa|NK61pYH(r-UQ4_JXd!Rsz)=kL{GMc5{h13 z8)fF5CzHEDM>+FqY)$pdM}M_8rrW{O4m<%Dt1&gzy8K(_+x-vIN$cs;K#LctaW&OA zAuk_42tYgpa$&Njilse`1^L+zfE<)2YpPh<)0mJ;*IFF|TA%1xX3fZ$kxPfoYE=Ci z)BrMgp=;8Y9L43*j@*RFlXvO-jQ`tkm#McyC%N^n#@P}`4hjO2}V z1RP0E%rxTfpJbnekUwBp-VB(r604xuJ$!t8e0+R-e0+R-e0+R-^7#e&>dm?Lo++vT O0000ULr literal 15777 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 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png index 39ec1962f8d008bfb5d1e47e8e4f629544e2ecca..84ac32ae7d989f82d5e46a60405adcc8279e8001 100644 GIT binary patch delta 749 zcmV7uc8Gi!+008hwp&0-G0NzkcR7L;)|5U~J{Qmz~#`r0=_5oL$`~Cib z)cN`S|M>g;Ps8|O$@u8^{Z_{KM!@$5TAfS6_e#O{MZfpz`2O`0$7~@NRr(1{THzH08y3x{{PYM{eL;T_A9^tcF_4Sxb`8l z_9V3RD6;a(-0A^Pjsi!1?)d#Ap4Tk3^CP0(07;VpJ7@tgQ}z4)*zx@&yZwC9`DV-b z0ZobH_5IB4{KxD3;p_6%|f=bdFhu+F!zMZ2UFj;GUKX7tI;hv3{q~!*pMj75WP_c}> z6)IWvg5_yyg<9Op()eD1hWC19M@?_9_MHec{Z8n3FMs~w_u?Av_yNBmRxVYrpi(M% zFMP21g+hmocQp3ay*Su=qM6He)*HaaTg$E^sym`(t%s3A)x!M+vfjXUBEpK6X9%iU zU!u9jj3(-$dM~sJ%Liy#?|+!6IY#MTau#O6vVj`yh_7%Ni!?!VS+MPTO(_fG+1<#p zqu;A#i+_(N%CmVnYvb>#nA{>Q%3E`Ds7<~jZMywn@h2t>G-LrYy7?Dj{aZqhQd6tzX%(Trn+ z)HNF}%-F{rr=m*0{=a;s#YDL00000NkvXXu0mjfv$mNi literal 8261 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 literal 13605 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 r(ds$=GiG=6ZFIrGZ6UBOjF{Qds= z{r_0T`1}6fwc-8!#-TGX}_?g)CZq4{k!uZ_g@DrQdoW0kI zu+W69&uN^)W`CK&06mMNcYMVF00dG=L_t(|+U?wHQxh>12H+Dm+1+fh+IF>G0SjJM zkQQre1x4|G*Z==(Ot&kCnUrL4I(rf(ucITwmuHf^hXiJTkdTm&kdTm&kdTm&kdP`e zsgWG0BcWCVkVZ&2dUwN`cgM8QJb`Z7Z~e<&Yj2(}>VI$fQI%^ugM`#6By?GeadWcu z0gy9!D`m!H>Bd!JW(@avE8`|5XX(0PN}!8K>`dkavs;rHL+wy96QGNT=S@#7%xtlm zIW!++@*2zm-Py#Zr`DzqsLm!b{iskFNULSqE9A>SqHem>o31A%XL>S_5?=;V_i_y+ z(xxXhnt#r-l1Y8_*h`r?8Tr|)(RAiO)4jQR`13X0mx07C&p@KBP_2s``KEhv^|*8c z$$_T(v6^1Ig=#R}sE{vjA?ErGDZGUsyoJuWdJMc7Nb1^KF)-u<7q zPy$=;)0>vuWuK2hQhswLf!9yg`88u&eBbR8uhod?Nw09AXH}-#qOLLxeT2%C;R)QQ$Za#qp~cM&YVmS4i-*Fpd!cC zBXc?(4wcg>sHmXGd^VdE<5QX{Kyz$;$sCPl(_*-P2Iw?p^C6J2ZC!+UppiK6&y3Kmbv&O!oYF34$0Z;QO!J zOY#!`qyGH<3Pd}Pt@q*A0V=3SVtWKRR8d8Z&@)3qLPA19LPA19LPEUCUoZo%k(yku QW&i*H07*qoM6N<$f?Dp)HUIzs literal 14859 zcmV+mI`qYfP)4Tx07!|IR|i;A$rhell8}(l0tiS6y(3ZsNC}|@kX{5EAqgau7!!huy(}uY zb`iyju8JtOm1Y64D~n?9iv<;BUDU;f%A1gYuKUXO&iBo|f6kowPq{O>_W+>zfh&>Z zp;`dsiwmR);lYeCY3U5oQ-A;+Km%5Q!R5&$thl&n0A=w0cX@XMT0^<&tl;|R{C^c4 zzCgwU02v2yCSS(OhqxI4d;?D+EdYS1&|6L^kSOpRh;^kfK!{f>aJCZfQs7J_K008N zl)#4gG5~5+E?1fjfW|$jXB6_XA&MI)ki%*}{Ppx!@_p`5+49!Qb+MRpKFUDc}jzi2mW7 z3kMIzn+Jzt{@?2dwcj)>sEJl-| zepq-Q^y~?>Y*pNfsxW@w{#yp$Jq?u|*_DivhmnKGc0aDvaM17^Vo}uk`}!zj%^a#X zduZlI|LpIo&xiM@A1$#(*dgpJb^<$(9mVPZ18c(Su~zJu0uSx3Cj+}{&|AVlJh_lZ z^bdbrl}|+_WvtwG}lrV`6M97E8yn zFex?*E5XXJN~{KJgwOdZ)`4|nA8{g1#~HXY+`$oeGS0&%7+ z_Ys?k?Zn5#UJ{99NOC0klVV9+QUR%$w2rig)I_>M>Lh(oQ&%%nb5jdbOIH)C%~LB= z+pTt7?TXqnwLY>I*_!N2jwSQS)5y!n+sTdOOXN;+A4QvDOYx^9QF17ADdm(J%4y0y z%3F1HbqjSL^>}rW`W*Fg_5JGS)E}yUr0P%|sBG#us+_u%x|7;Wy-j^fqtR?=L9}#Q z0c|O*iguFrfc8OyuHmA=(co*$)~L{^)wrVZN|UTrGOFEm* zqtB;rr=O;G>JoKrbve2@x}~~%b=!1%^mOz*^iuSu>Q(3+)9cX3^lkJx`g!`x^bhLa z(El{dWEg9hVA$eeHN&n9dv7q@Ajm*qP-3vp;JU#lLxy3fVXol{!#czJM!1oKQM}O< zqfJJqjk<^H4)+_*8(uQ};P5-fsIh}_g7I|YZN{y}y(Xq6;U*H3btWfGx=r;>gG_Tw zSDPL;?J}dA1(=DK8yR7 z6icRMmgQ>87Rw$hGpo^7Gpwqu?pTwpnbtz;{xMUERC+noqbK2Bn%N~fF7 zRA-iRp>wtKLl=FQXqR~|buO<)SdB;@v0}v85no+BUGrSGyWSnCGct1IypfF~-?%xr z@!TrhuDR3P!`x@P*So*=aP$y(Z1T9}N%tJ>xzMx4^NW|am(;7qtIONUJHvZ}_f4iQ zGmg20dCrI66YMkF=cvy|UoYPR--Et?`Z@dM`tA06KFW5KVAS?ekNqwDx&B-II|3L1 z839`YIs(lDxq+2|kAf_N_(3~@p0Vs%IjlXbSHZ5q(%{3v@7ccWne65eEF?UnB&01= zCp0;9edvQQi?Hml>ad=0&+zHt%@Kr%sE8F2H#sI89;b@a6X_i}GxAgvH7YS`ebl39 zhiGYZ<7jkr$@1iu6wQ=zDOD-&Q$tc$rgn@OF=pnNi)lt_qO|&SQhG}Ij`ZHK zp<~yK?HuPhu6W#y@wVfqjz2%aXhPnEV-qzeawi_jAY`Ow?9TYijpbHydowwi8!~%% zY~EVlOMVc4HNQ*XFIXvfmgS$dGV6J^fA*^EE@7asOxP`Ai`I)?=S1Xe&Uv33o4Yf& zKQA?JU%py?Mt*}>N1Q7@HOX|+)Jg3UM@g}yW3un$HIsX!QPLeUL^fVlU!V&=>RaV@ z@}J}n3j+!(3O`IqnQ~~V_EhoI)@csY7EgOt6jt=hbbLB*ddm#+8FObmoXMKGbrv!! zb5_f2%h?NNcg_i)vuiG8ZtmRQ=DE&WIq$Fesq-5bm@JsH;PFr4KUEiN6ibV5F7#Wt zc@e%yw5V;d`{H$rzn1VzE|j{KmX&^9!dr6T=aD~`|J=VcYiZjuuVtH-6PJsZ-&hg2 zV%JLTl|?HbuNu9ob~R&l$?Ct>Ok8um%%g1cTFP4a+K%$*^7?gF>z1$kyk5BedPQ)> zz75737H@dJk-zcErl3tVn@u*CZvM1IwB^>;@U69#HkD=Dh}#OcJ>8zN{p>HyU#fN( z?I_*xWv6&&$F783r>eZGs&*UiURI4(%d5NgjN5a0Z^+*I8t0m=`}Fsf?g#tj`(GT$ zIB?@&)WMcR%tJN5TK~G?F#T{zEmAwJwx>>5*HNEV-`)_}(9-DFc=(9Rk)21)k5(Mh zJGSgN<@kc*{Y^zpz0H#5?i1N39=A+vxqEWV$!n+LPqm$nI(_a;*qM`OS!bKh`JX#_ z-uHaN1?Gjii(VINTRmG3|K|DI;Wn?f+DqP->M#3TZfqabe*8+{l@nJ(uAaHZxpwh- z%=Pvg$v1A@9Cx$h7XQ}s+j+NN-zmJ)cX!S`!o8CFTKCHy7(b}|-TwD|9bO&B9)>(@ zeU$ji!WOXJt5ulM@%`}-waDR-fyAipN;RpV#?B>4c;-F;}NM3&|5rsSf+K85h0zyB@l z*+{DZ__Dmezpt{t|I0QQEbJYd#mXL3Aw<|SYzh66nV$*%jVSxm?{fU{4ipi1fFJMw z0tG0L$)wv!rT_pfSxH1eRCodGod+4-6*IiC?c{ELH1sS0^Kd$dpB*;wBNZ8rnJq;8EKLxHNWf1)iyaf=d}Ij zex7?g_v6^e06TW95Xbhu0XudKVHal`QJ0pY`f3I|V`JeUcWUq3=}_3k*#-)a9l_aW zpMLi+WF2p4t8-G zN%q#?nIXNT#d9SmkE1d*1@6&Z+Uc%379B#IRka%IiqA%$FmH4Z^t8w|v$t;Me7^AT zLAy9jM28UPR|gZY<6<^kHECBdyu_lGu(T` zpv&F=hRoT#_tnwp5aPU&SI&M_X|(wL+*RB)s+(D_S8?SsU?4oK6Kxh_Sueb@jQzgg zz+dc~wEyxIX1%YDMu!k*jau9E{kFJF{NJ!>I62D9cfHK3247QUXCYS%NbaWZDC>AMPM{`prz9wzk)HQUwHWu?5YC$9WJ|4GKu(vYth zJI+jZ)$!;M;&gOyXz}yTi&IyN>b&f}>C*vbsw3x-6aSEx5! zoLc@G@i}G4DXT$X;~?tOK2Cccx7jm?RZ>Qvs}eG%m<4X)&t|t7kzOaNiHy(IML8x)Z3i> z{7if!9UGeyr?#PG2xnVd2AoukgCc7gd`~H?L|(ZHL7py_yggoABcs~;7HkTe6Q@I` zPAz_}RyQCoCl~JF`kA4lDFv84FhbOM8?+jf<(`GoI|>TdYvG>Cq6EfB*26QPSIdKC z(!*3Tr4nv-aZ1AG#OWw=(0k4;tUKqiC(;To}lT}iTj@(msNr~jTX*w zeoI$ZQ_KpJP^*fO75@vWij$y=pJrX$fXM!fo33MwW8*h+l;rpP)3G^mc4Cz2>EeX4 z8nxiD_00VAa&8&=clPByuCBUe{4pzj1GE~|_4BAJQCpP{7x!THXGf*P5EXOJfn&!@ zdygI46DJYOI5}d(Nt|b_r;s?+wJkF~_3A3UV^o#d*Tw1XF7i&V;WKD3lp*Fz3UpL# zQkCuqXacoX$9ds@j%T-$m|%&+hsZ zVLmM_w??aB=Hqp6b#^uCx|YBu#Tn%%-V)R@4pDkh6=Oj>3?Ad`76_T63nM_4!DG;P zJ@Bpw3=)0)z;WXtcXMm;TwR?S_dNL?(yr#QKQDXdTO2)o87r3E3olPMuG4UGEcrM- z|LY4}E#|3`V&=}pRYj~gORGz<{rnE>yZjgPH%VvQy+-`|#(!bq@CBl;X-RBSoLzZ@ z#s$@T@`;lyhnsIVl;_78JjTIM(eyo)y^+V>pcbC@hEBgl@41y<|JEc-9ozOCNB8J3 zJoDf@!E+W@72|_lAK_^7QNd%qlwPcreCzk+IFN9VaT4qGUbj|kQk>qd&IoWWmq_>Qd4-(sR#~%@6cf_p35sJ!KZ7sa2`K? zbbsFS5s7(;So+H{lvMMV?dd41DZ}#{mgqfCAIL{0JdCM*r-(XFdtj5|Bw|CnP>_%( zd>}(&zOeJ;8Q2$@7uOqn-C5bv0_6{>t8&|TY!^zPJOQyeo8+wds(|OE|&5E;Mm=9Z2EQXBYYIg3a;0eZi1rK1% zi9?IIWpfmNhmmwpDw3}{(?Ov?`0TkYp35&R#kx&<^^Wys=9$YLzn$l7z^2o`;p07@ z@E#)u8phwa^>xIC_H6UH%#H1eGu%h?u?>xlNGqyD&tSvzE4i}=JOg@j4(*Q4p6u(* zaqY~X77ZLb0ZyJR^Znnh-^FP)pMGF2yuA!NdE|+kLYSf6q4>|d1Xloj`w)4C5Dk*N8p#b1ITb-c@Ey|95juM65*yQOjsr6vUGdVra5S(OFS|4cuWx>X4XC$; zc|+#nzH#@$!9WdywPLg4B*t`;AkHFTaVp${;O-ZL%AzYRo_F)nFIsl;_F>bQ^_BYP zrSMT}M`+K1GkV88_wao5?Wr$(qP(UYOBgS^vR3%M4dKis56) z|IW|IKYAH1fnMnU!hCqg3YWU|2=WviQldaSrT2ugAvCn>iPKkKoNR0~DjH>R=k;C- zn>kDGx&6mlP8UWE>4it`){lV_bf5p(`VO+oa(M5Rk3f$=ygBD}L1okkO3w{Pj$R;5De>0#(Kb3oLr0p*`*N7tJo> z05^_do!}Cu&!8bthPF(H78aKwIqka8$UFbwwFeD;P}ZN=fD>sadGC{tfe{0-bmkJP z4zP>CD#V$4;9`rP>#J*VYS|i${r*`v2vnVqj|mYaP9lkMiiE_e^y&){4c&sa0!`{l{5$o*6Q>FBE>B(AMe4{)kJTY(?m#K~VVc7kW&H4Z*jE zlLW7wCc-Hq{G-Mp<>aTJN_Y?dScAv8Mz!oF7dC4SWE@rUmlCd7_F)5K@WLb9MHV#A zT(SK<6jVrWywD@4J6^hF88a&IPlId?i;7cQtH#0mSE1y5D*N+=_kYEp*X}@LJ-4OM zRH~5t-Jj_FxW0qYoQXX{u;xgTq25|ekW(ZEDk>&XRusm=qxIsp=EnsG!@=44TC)UZ zNR60x8|QHeDVYck@WEH_KMf}*{bkI=&I`M6DDjY}`)kg`*a>)g>Qih=vZG;9ah_fN zQxDQbF!!xO)e6 znp-$D8XxT8?l`O?ON3Xi!!y9JGo-^UG7_OPW*Y2T?C)zh)<{{Pk9MyVbuUUM7d$w= zV-Mr4v6wi?D>s(LdM%1hCnNaAKD@_GB(I%uj7oV{W>WV#Q=$xyfM;xPqu#sfkB>za z4O2A{4db1CI~#Q!Tg77H^c&c=rdlO&seI{UZ za>`9BPGf|ru2&1zXFAE8@bJWkFsVk7R+C!-k7(f(ou9jc%^K0(L|jm~slCMczrCNa zOLbeLbW-B!DNkW+&l}s}uB;P_i<9P0gI>LZv4BoU`&nALPE}AYN}R+z#(M6)l%v;d zmdF#iw8PXKOgM<+Df)?s?t$H~bmof)^AYYm@=u~&CSDGXG7MO{5MHsJasKTMXi$q= zhQL+5WQb62S4@fxWvpkG-fQh4PO3QiX!k0;=co3Wg2yL42Dzhj$Eu^#t|fC(vq!7nqzqc=T*@v-)O zi44*1^_*TY;TXT}dBnZH5osF^@*bHVkSq45vGS#IB?RS1)dQ>)eD?X|Dq$b|z44~W21 z3tvQ!2yxvdD2p`ihvykb=>S`3OchBj&Rxr0l*|WN&shT^u>R!rYIN%ULEFW6Da~I4 zNevOsWSnL0!xzs?eF{UPhnoGG9R-t%Gd}GCD@-D@AOlN3dlK(H`U#>!#08WcWDe}o zjL?Y#5clpzWbHcL^jd?)xb@p)Jt-(pqSQgw)7;`DYx%`rU!r$tFT6VY6?nT!YdZT+ z$K>LytZC^{*VNVE_0=!pqbI+BhpYJF4=NNH`p!LwymchbEnknSi~=|aY&>8H${NjP ztS6;4brdk-q@~5?gqj#UcGII6-gOw{GP^e}6_bn8#aX|sEx#lepKn@;XYY7P^7#UW z#bCmQ7m@zkQRaK@EnUPg=Wpv-^LN-PztS?{q%l24TjV+&5tED4P`qy6nLjXL@MH{( zkv``lhpEeLH?--#+!bfUMqSou&~E&M>-}GCwZm2j%~%79bXze<}=26e){|x z$OM)?m)0*l7~ zCM7!&$ytf$7T&`YmzIp<-`11%Y_HcgaPFmP$2u^HINg-)=-+)X&Ly4_b^M-_JK9a0 z#Q2zCtUI29a+R75(%Z34Og87dXZizp;=}vV(4ZAOcK_Kwao;VELT1F)(58T_}mXf)ch+cUAvHu}8I|+v`9KhLxQ;dh6(4z4^2{S1(0e!o2_o}pG z$E?N1(V^Yg$D%3!f?A_SdTuH!(ww4fg!zY~R}_Df1Uvt1ELI6mg~#1H$FL7OcEr%` z%QWoRF@#;5cB~e=IPF+1c5&LVTI}MqW3`ADr?$Qp6@{0fs>p_>t{e^Zb?DSd1}CKt zyK$+zUk^Aq{Ij)QQ&YpHZe3kn+xu2J1cGX6Y-m9G*>8|}@h3*0hO5VAawWV&1|zV` zB=|>+5p49|(MU{8#OBSLS#fsl+7(l#Oo38q&wjN9L2;5W)6em5$3kc|H7LqBz&>0& z!qIKS6YvciCiuRN!s*ken+jf%lasN2{d(Mb>#gwgH17(}jts9jHMQlqdcklnNkgbA zG7-1yY4~*>&5BgvCcLGeEmK!lhwSW@?G_6Q3-Rr@-?A38N00WaUA1L+#aWhj4h`Bm zqfcIR^$>H8^XN7H4fuo(Hu^l)PJVtq8XEMgut>Bt)DIgr3^&|xgV~p+Xfzs>mX^ZH z%L`5%+Z@^&yyBF}+di?cS68xDwA+X$5!#b~n?PHI93eiAA3u(~ygb}|^UZK~H_!e- z=gytOzJ2>xfzpS71R59^h@hY#goK2!UmYE7%VFicTknv8aQBZzW#OeZU8J#5i^L=E zp}I5;-G)Eb;hZH05!**+WMp9V>eZMuX%c$&6xTaSENZnHd-v`|ef_nnFPi(31*ON8 zD_7X(Xw?A;G(0>U5fKpx4Gpz=vGU$sr%n#&%?!z>x7-hP4gc1CV#vO{k@fgv#w_Vj zJ4Cp-iQ9&ShWRa9wjd`b2jj+#6D4Xf6crUU3DXeNV2$R*^f-3x802y}x^(G+*w|P^ zM@O6NUQCJLM@QinhygdR#JTN{qpqf~%@@o|+73r&cXS>4NQV)qpPwK5&*hqTazUOw z%~PjMn`RPk-k7ymH2jlQr3Zbu`t<38zJ2>zRdm6iIB960VYsq50jly$xOjw_M4Uv{ z#r06Q1|q!oe3P87y&>m=hD@@EV#&(N!Z+W1!wR%pw{C5^zQ4aeE3m36ZY zl(ncaF)j5t%wa&tuTiH}*U>>t@Nc8?%| zNf9SObHz=YHnHCPm@#9F9$M*rx8Hs{wr$(Sir!dAFqbc1MnXaYYe|O>A8r;)T3cHy zDnX$q&W471T-fshYOBO;N@X;S4T#_O3i?g{FY9>OI=y=J!ohm+)2B~o)1Sr=5D>tIjig#| zLy$<%oH@f<)5()3qkDJbTTl`e6&37I&No6dZ-=fY&iXp>+o_lWDk8bKcNyb!t%8Hh zwgbmB493UD3$EKYgl?E0F=7NpjvOg@n9t44W#^x!5~mK8N`>Ek`;Gn3j2}PVDCq{Xgj4t#ukScifv zjj@ohj~qF|2JL6em;q-4`?zxv85xQ6^mL=IEd8*Di`Y^N_ z6><}PH}Y37j)cSSLFw5UUP1jVdR7Ze7-MV$GK*i2OX(~X)CM1No zxVSdogCS`8LZZ6mmRs0tlOZTMK%>Cm!TPlox;ZUn%(xsbPH|FZsK=;h;T=2xNyk<~ zQ(MY)n8{GMhcMR~#EMekCT?#_Ylh~GrVuAV|6H1fjvYIe{RfLlT+lHz^paIOaYEt- zxDufFC`AXRPMyj|E4ZNe>3{+HjWftOqUj6$tqc`s8w|qJFBsV6CisL6!_~MSm|^!f z#+p_e`D?U<>OH-J`@<`+A3PaBy13iEAe%!TGg&&CqnQF4`lzUbhDQ>Dn4y&Zebj$vQrA31*P=t_U+rTc=6(Y!aaz6*fGqFH{QrvJE{mWC6xZ#xN#$!_M|+xn8FVV{ZPt~L_;38xj1#| z6#LNe<(FTwb5r^oPz;lVNrDxFbroMwjNo|LCHwe{3N*&s@LQW3KukGVM%_F1rC0e<@FCyNPG z2Ngd@MMa4|-e$x}^Ovi|S5Z=3f&me>)6bYlgXqcw?9(l)Pl5~_6 zx-6}o8#g_bDZ zc;}sWvPH&J4Nq(CO$}d)(-7@0&g!~qY&!iLem%7bao*6z0}8Co`M zE@wy#l%FS&QXw?05uyi$bedPp(_E0O8s)etHcM9Z(4j+Yz~59*d{!#$_TSDgFJMHu z3ESg#umUwiY)C9#pZzN2GVZOitsSyp&7ts;C5L$(^dTXuNDsOP-8_>rO}hCfLBl+C zC?O|~>I44z>o3;JZYvaor>vQj<;WHnr%J8D_eXxf##6sSqva0!YF8oZh<-%|9IU{a0Uo#fp@2_GCdRA5K#dT5?R;9aBIb4w?tkvJbIXOq|*V zEq2E3!kWWtQCuZFTy*h|#=8qvz+GXU4jGoB`9GJO0!nLANgG)sO7*ojWI<`jHD=hA z3VkSbsZ=poM4Xp%F5`n;A0nk7Rn+m}KH+%hws+vEG|w7p`iJE1+>Vf`)68=I=IELo z&_9G4DG*dtJ7>-uw%p7VL#C}jR+{FsVmqFgRh;Aret+}_e0TVJ!R-chc)EDv?Rjs( z+ts*Lh+@dx_%jkd{?H=g)XlL54I0!U#Yn+<%G7-S{rBzS&6^S_4JD|jQ@e{Zt0W8W zY+Hd#IpUWrDC7#fG3Rvzdzr7kvobXWS3YG{jpv*WDIqnnDF96nY})d#Ze*UQj~62SovB zBoV^o;v}bs=9l#i{Eekr^XN?vV@UK6Q{PSt692af6_@|+m}enzih4M@#%v`OG&71)DX0ONDL+u=bA%nvG%a^DwjTC zeem$ahfH-FoHW#H5dZcYR%I=@pkO%lJfd#MSFc`e@7vLXhV6+HCkn1%q5wY4v#AJ$ z3$d|NlZbQu@eM`^Gu$T(ug!kN?Af2R@7JO-DY3=Y_uY5n@ZrPkQV(-2PHPQ`hcY>>W3y5qZ=Q1W zvtD+&<#}jJ>QRu6*=9 z8r!j4&6JRrOzjb=Q345+8g@}g#@Nsk4cTNBb(m`i5dN+t$nd1BsdD&(8C&`3|MP%QY=&qlEqnERe~*Nw@P{sIY2MXT#C+qmiZ@F zrKKW&-=A$hkGfuq&krP^Pnb6%{cO8*uf1p;tS1XDwv~=#ac(=e4Qj1g(tF4O8XRT0 z?FBQ||7encdyQHPjkW>r?YfAM77mBZ!TiHJ&CjfHPatDyy)i*pSeSX@oK(5KJ#M>{ zw_tdeVQqGRs!EcPeR(rNdQ4~cb?2kLrW!fhrCD}E)Tpn`+mZ?@u;FAX77i2Fo2V@m zmsa3~x4y!_KHV^3^Z@ke8g5l{Ua7P$ET*m_Vv!`yy_fc(uu}X^ZXsSFSTfys2S}|d zMf%xqk$q(oyZZ(;mK73b?jO5RUoE^JkC^6S)pggMitmo4U~r^Ax&@lnqiv19uNM~1 z9*@P3t-$h?KcaJ}KW>>k60@d`LQGfdo%@PKZ1XWfk~sIoi=W3`D;i$TIzm#ZDoI6V z{CX6m{DFpMQwVCIC`9&_&7!W+NyJhCo#iC74UJg7{X9PYzu|CoHm{dEam+y6HGdMm z-LM;1vkS3m^=9@F-8l%8#|_4en?|5-Y_v^SRBC&ugNAe|;VMbuq{V4E$m^zRqIJjg z_r0MdyszE*D#CokuT^H(vSb}Y=EV&t%{i&}x=gNwyD$G%BUR~XC_Q^x)b+%Ov%0Qj z{ynFx1|RRejOVBJ6?Kia@XFJRa49JRC(d4vC8u7^!>4PuvX3Z6sI#Vw#GGkknD4E( z`EK)Fn~1#2CD zKf6Wmn7KpdV8(#yqR!XAI9O?CRwMJmI(FM@K0F0BF`#s0&dzP3u1h$`h4(zF(Qp?` zuln;6dWU*3qlbC-P4e+_X9W5bX5aHFRJGg@5{gOuao`O57&$l=kN#^GZWwNU%Pt0L zFs9oRiPEoTZ%5l2!AN5{Bk^M z^Th8w=inqPtXd8C2d22X4qqNf#8Z>Rj}EQLP27fJW*S3n$b-92V>?H4(WhrLmM^&n zPrmY*;5m<+y2L)FO&o?5%kG7jr}X*0DWR@+H0Pv6ep1$}>u6I|Qc`|W)Auz0d~DLA zq9*C}>MESu`2?zp69tbY(&6AFT-abpoW!p9Y>e&}h@nx^w?(We z&%~93RL#|Z!nA$JIJX9o{qI6Z&smIh(f^mspE(w%&L`rBU-ybS|F%8HaqeO=K3@JP zh7O34e1E2ZQm9l-MNoy4n2lIl(P>e&-{+rgJ$9WarcS#9#c+zE?Ss`f7DpP z`DWqK!=lee$XtZWw(5AqN&I*BMSQh*G~5)@y!Vo9+J5DFF@&bJ3`xg6MD~^6&~wa- z@CeZVAinYZ-H1=fz`1yFTgYVR6=UALZ{YKHpTLxH=C1&2&7Xh%$>#b=6GMj%HR>E~ z66Zq`9>jy=ACMfc%U_ySTBF7{hm-K= z1ZgWq$#QZ&UzUzDTOUMt?*)h)cn@Tb*R8uV;~;(W;WL=N=p{}EiHmxz77x9!5^WcFZ_U_s|OLoSkdOO-2gvteEZR}xaF>wQKJ&K z4yR77!M)FXfZad+2Z8>^6%LDqD)y;zpVp=m35I#hV^8?CIAileKrvrsRhsF&pX+5Ri|Xu&YiA5^VczcRlyHRV@vX4^x| z@Bav6N#{2`AKN_wAH4P;?tkt>QP(1hO3LxpN9(Zi&4)$5M=G=yo%Y0RzIcu1n#NYr z6YU~SCxsVd6<%P!Z)m8;@t+r>wko&PQJt7$mcYeBIFMg`~g5g@N$j)tz4M;w|5_Q!D=rZ)-ChS#jl(FjKJTreg>mj}Gyv@`PJ-fmC5)3)n6{T0=3UWs*dwC1wyw^+%DI3|2qzJf zbVr$ZaZ+k?TU-`qiYQDLN;q(ldErMmy9OY<*F5%TvZAj)yO=EvT>aB7&i6PtT-%I* z4BD7sz2WLA>;#H|&PmN+_wL=>B6qHXDv^x!(3@iw;-m_pUgKVaYS4XfQu@MCF8+^L zm7FAe5C?KE;iUpjj?((ie}60)lX`_hA?JUeOeSviVQZ3)ue!E}=-;6xR-n(_g-(nJ zzh0+rLGNEQ4Uhl(RwSlop=USKRLavZPHnt(-Z&RD*KDiRB&yYpG4hAsGmG73!&AOv_mrO>#kd6Nmi3KNH7IfBTi$X zB^k!x>?bS`cZtDuV&my_Oz#`c4ylH4^X-QGl--igO;i?LLDAL2@Q)bN^c)HFp}S_X zx%DSr{uD`R+3fRvzNTwfK?~;g@88b~lD495y|JoJoHW-oHm=zkn-^zI7I#2f2!+3J zRgs5_^umt33KdRg6k!NYTGK1IZJT^iUcR|Fb@cDum5pao`qGiH`qL(u#)1*#eN%%j zE_A6$Q(8^-nkG9_JE8i!>O~52=94WG(RISt)wsq2G_>=H)7`fR6z-v@t;{y+{G~ak z*bp379-d0=X5T#8sPncJs@F8dTvLZli&I-y3w5dVc7ZNIA)=1+_b|?JIhtC?R?#b+ zxc|H~42Q+eVPlxaKzrM(Yf7MSGjC0)6ljh5h!G=9dQO`bXRVRDQMiPN6K8nzMFl9J9_ZnM>@w+b)Z?iIyyB#yj@}dA#OW>fL#xq0KO58Ry#N{Kzk{Z><&GO( zLH!|jww`tLG}n~61VaqAElwl1zf*P=AM@+%<7$*R&s;4=Lt`Txc=GM8-cjf~>0Mmd z^CIf&S~f(B9(+H7x=v=x1(S|`h@y-G?DNiULFh61Im!29PFj2JroyJhsV*xs>V0le z(V~xy_V-}tkW!(TXL5c8x(D%xRlI`wVd$-Ek#^>5cD1RtUIkCaG6qCXU|&}-7PQaA z<*2R7M_qLx8-{9LO4pIGX>n?6jO(!G7A1b|bk_jmhtCVyrGnxloRz+aVXR^IkxxOR zDut8MPp`sB;TFg~{z=%jIE~ns(aFybP9l5t5Zwcf4=AS=O56O3LPJJpk2)YWElxvd znYkV%@#GxyJ&$hu9Yb2<$9U|4%p<>2`W``rM!d()b!=LkG6UUrs~Z?`HZt=$M-FlJ zkiJ}@e`jBIL7P;XcMP#39h(-X+=F|__3hUm>I?eqo(Yc_ar-VdhgMh`BTjV(>8jjb z*t9qmf%*;twVCPr@B4B33GO8co;`a>zRuuCKPa7KY)eEgB7NPEQCx-g-;||eVbkJt z>!RO&#c#w&IQwyLy6Ws70GCkl{hM@9edffTA^80~cah2C6JxPEJ_kE4wp_Hw7vr=e zj7^KvB`}EH{a4*A7#})gmccddK7)oB-I;CHfCy}j%LG>@lQK#F8q*!8GKyL_K|!9< z8wuFCj!lb`@Etr9xx03--zy^`5jb`{s?*arkM$dFd|^VUw<~7!>x|9kxVHUkWNSa) zoHY3jA?zt4V}V{1Z-ZMMC%3# zT-Gyi>;#isD>lR%OQ-e2ik%l&Fa6Gu*4GoWqtGG5*&4m}hRl#2Jb8-A&OfqiAbxq! zpPg6QLhEZ=r9+C-QQ5K&63sQ0A<{!gyw{L*ob6bwm5wP+cXxK3kf!`vjb!+odF^~h zc8uZwH!Kq;sH&BZh+()hb1H*?fgyvKjom;yX%vtFhGpUe0oAk&2HAih1~wrfqHfL@ x1%nR^+r$Y19AblKcj71@9SrNlISPh0005rbQL;-^PWu1=002ovPDHLkV1f|BZn^*f diff --git a/ios/Runner/Info.plist b/ios/Runner/Info.plist index 5bf9375..5d91f6a 100644 --- a/ios/Runner/Info.plist +++ b/ios/Runner/Info.plist @@ -24,28 +24,24 @@ ???? CFBundleVersion $(FLUTTER_BUILD_NUMBER) - LSApplicationCategoryType - LSRequiresIPhoneOS - NSCameraUsageDescription - 岐阜ナビはチェックポイントで撮影した写真を写真ライブラリに保存し、通過記録を保持し、競技結果として提出することができます。 - NSLocationAlwaysAndWhenInUseUsageDescription - 岐阜ナビはアプリが閉じられているときでも位置情報へのアクセスが必要です。これにより、走行履歴の記録ができ、レビュー時の参考にすることができます。 - NSLocationAlwaysUsageDescription - このアプリではバックグラウンドで位置情報にアクセスします。 - NSLocationWhenInUseUsageDescription - このアプリはチェックポイントへのチェックインや走行履歴を記録するために、位置情報にアクセスします。 - NSMicrophoneUsageDescription - このアプリではカメラは使用しますが、マイクの使用は当面行いません。 - NSPhotoLibraryUsageDescription - 撮影した写真はデバイスのアルバムに保存されます。これにより、不具合時の通過記録を安全に担保することができます。 + NSCameraUsageDescription + 岐阜ナビはチェックポイントで撮影した写真を写真ライブラリに保存し、通過記録を保持し、競技結果として提出することができます。 + NSLocationAlwaysAndWhenInUseUsageDescription + 岐阜ナビはアプリが閉じられているときでも位置情報へのアクセスが必要です。これにより、走行履歴の記録ができ、レビュー時の参考にすることができます。 + NSLocationAlwaysUsageDescription + このアプリではバックグラウンドで位置情報にアクセスします。 + NSLocationWhenInUseUsageDescription + このアプリはチェックポイントへのチェックインや走行履歴を記録するために、位置情報にアクセスします。 + NSMicrophoneUsageDescription + このアプリではカメラは使用しますが、マイクの使用は当面行いません。 + NSPhotoLibraryAddUsageDescription + 撮影した写真はデバイスのアルバムに保存されます。これにより、不具合時の通過記録を安全に担保することができます。 + NSPhotoLibraryUsageDescription + 撮影した写真はデバイスのアルバムに保存されます。これにより、不具合時の通過記録を安全に担保することができます。 UIApplicationSupportsIndirectInputEvents - UIBackgroundModes - - location - UILaunchStoryboardName LaunchScreen UIMainStoryboardFile @@ -63,9 +59,7 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - - io.flutter.embedded_views_preview - + LSApplicationCategoryType + diff --git a/lib/main.dart b/lib/main.dart index f1a4da6..61d31df 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -38,8 +38,10 @@ import 'pages/permission/permission.dart'; import 'package:gifunavi/services/api_service.dart'; import 'package:gifunavi/provider/cached_tile_provider.dart'; -import 'package:gifunavi/pages/entry/entry_controller.dart'; -import 'package:gifunavi/pages/team/team_controller.dart'; +//import 'package:gifunavi/pages/entry/entry_controller.dart'; +//import 'package:gifunavi/pages/team/team_controller.dart'; + +import 'package:timezone/timezone.dart' as tz; Map deviceInfo = {}; @@ -56,14 +58,25 @@ void saveGameState() async { */ // 現在のユーザーのIDも一緒に保存するようにします。 -void saveGameState() async { +Future saveGameState() async { DestinationController destinationController = Get.find(); IndexController indexController = Get.find(); SharedPreferences pref = await SharedPreferences.getInstance(); - debugPrint("indexController.currentUser = ${indexController.currentUser}"); + debugPrint("ゲームステータス保存  = ${indexController.currentUser}"); if(indexController.currentUser.isNotEmpty) { pref.setInt("user_id", indexController.currentUser[0]["user"]["id"]); + + if(indexController.currentUser[0]["user"]["event_date"]!=null) { + final date = indexController.currentUser[0]["user"]["event_date"]; + pref.setString('eventDate', date.toIso8601String()); + debugPrint("Saved date is ${date} => ${date.toIso8601String()}"); + pref.setString('eventCode', indexController.currentUser[0]["user"]["event_code"]); + pref.setString('teamName', indexController.currentUser[0]["user"]["team_name"]); + pref.setString('group', indexController.currentUser[0]["user"]["group"]); + //final zekken = indexController.currentUser[0]["user"]["zekken_number"]; + pref.setInt('zekkenNumber', indexController.currentUser[0]["user"]["zekken_number"]); + } }else{ debugPrint("User is empty...."); } @@ -73,75 +86,118 @@ void saveGameState() async { pref.setBool("ready_for_goal", DestinationController.ready_for_goal); } -/* -void restoreGame() async { - SharedPreferences pref = await SharedPreferences.getInstance(); - DestinationController destinationController = - Get.find(); - destinationController.skipGps = false; - destinationController.isInRog.value = pref.getBool("is_in_rog") ?? false; - destinationController.rogainingCounted.value = - pref.getBool("rogaining_counted") ?? false; - DestinationController.ready_for_goal = - pref.getBool("ready_for_goal") ?? false; - //print( - // "--restored -- destinationController.isInRog.value ${pref.getBool("is_in_rog")} -- ${pref.getBool("rogaining_counted")}"); -} - */ -void restoreGame() async { + +// _indexController.currentUser[0]["user"]["event_date"] = entryDate; // 追加2024-8-9 +// _indexController.currentUser[0]["user"]["event_code"] = entry.event.eventName; +// _indexController.currentUser[0]["user"]["team_name"] = entry.team.teamName; +// _indexController.currentUser[0]["user"]["group"] = entry.team.category.categoryName; +// _indexController.currentUser[0]["user"]["zekken_number"] = entry.zekkenNumber; + +Future restoreGame() async { SharedPreferences pref = await SharedPreferences.getInstance(); + IndexController indexController = Get.find(); int? savedUserId = pref.getInt("user_id"); //int? currUserId = indexController.currentUser[0]['user']['id']; - //debugPrint("savedUserId=${savedUserId}, currentUser=${currUserId}"); + debugPrint("ゲームステータス再現  savedUserId=${savedUserId}"); if (indexController.currentUser.isNotEmpty && indexController.currentUser[0]["user"]["id"] == savedUserId) { - DestinationController destinationController = - Get.find(); + + final dateString = pref.getString('eventDate'); + if (dateString != null) { + final parsedDate = DateTime.parse(dateString); + final jstDate = tz.TZDateTime.from(parsedDate, tz.getLocation('Asia/Tokyo')); + debugPrint("restore date is ${dateString} => ${jstDate}"); + indexController.currentUser[0]["user"]["event_date"] = jstDate; + //indexController.currentUser[0]["user"]["event_date"] = DateTime.parse(dateString); + } + //debugPrint("restore date is ${dateString?} => ${DateTime.parse(dateString)}"); + + indexController.currentUser[0]["user"]["event_code"] = pref.getString('eventCode'); + indexController.currentUser[0]["user"]["team_name"] = pref.getString('teamName'); + indexController.currentUser[0]["user"]["group"] = pref.getString('group'); + indexController.currentUser[0]["user"]["zekken_number"] = pref.getInt('zekkenNumber'); + + debugPrint("user = ${indexController.currentUser[0]["user"]}"); + + DestinationController destinationController = Get.find(); destinationController.skipGps = false; destinationController.isInRog.value = pref.getBool("is_in_rog") ?? false; - destinationController.rogainingCounted.value = - pref.getBool("rogaining_counted") ?? false; - DestinationController.ready_for_goal = - pref.getBool("ready_for_goal") ?? false; - await Get.putAsync(() => ApiService().init()); + destinationController.rogainingCounted.value = pref.getBool("rogaining_counted") ?? false; + DestinationController.ready_for_goal = pref.getBool("ready_for_goal") ?? false; + //await Get.putAsync(() => ApiService().init()); + + if (indexController.currentUser[0]["user"]["event_code"] != null) { + indexController.setSelectedEventName(indexController.currentUser[0]["user"]["event_code"]); + } else { + indexController.setSelectedEventName('未参加'); + } + + }else{ + indexController.setSelectedEventName('未参加'); } } +/* +void restoreGame_new() async { + SharedPreferences pref = await SharedPreferences.getInstance(); + IndexController indexController = Get.find(); + + DestinationController destinationController = Get.find(); + destinationController.skipGps = false; + destinationController.isInRog.value = pref.getBool("is_in_rog") ?? false; + destinationController.rogainingCounted.value = pref.getBool("rogaining_counted") ?? false; + DestinationController.ready_for_goal = pref.getBool("ready_for_goal") ?? false; + + int? savedUserId = pref.getInt("user_id"); + if (indexController.currentUser.isNotEmpty && indexController.currentUser[0]["user"]["id"] == savedUserId) { + final dateString = pref.getString('eventDate'); + if (dateString != null) { + indexController.currentUser[0]["user"]["event_date"] = DateTime.parse(dateString); + } + indexController.currentUser[0]["user"]["event_code"] = pref.getString('eventCode'); + indexController.currentUser[0]["user"]["team_name"] = pref.getString('teamName'); + indexController.currentUser[0]["user"]["group"] = pref.getString('group'); + indexController.currentUser[0]["user"]["zekken_number"] = pref.getInt('zekkenNumber'); + + if (indexController.currentUser[0]["user"]["event_code"] != null) { + indexController.setSelectedEventName(indexController.currentUser[0]["user"]["event_code"]); + } else { + indexController.setSelectedEventName('未参加'); + _showEventSelectionWarning(); + Get.toNamed(AppPages.EVENT_ENTRY); + } + } else { + indexController.setSelectedEventName('未参加'); + _showEventSelectionWarning(); + Get.toNamed(AppPages.EVENT_ENTRY); + } + + await Get.putAsync(() => ApiService().init()); +} + + */ + +void _showEventSelectionWarning() { + Get.dialog( + AlertDialog( + title: Text('警告'), + content: Text('イベントを選択してください。'), + actions: [ + TextButton( + child: Text('OK'), + onPressed: () => Get.back(), + ), + ], + ), + ); +} + void main() async { WidgetsFlutterBinding.ensureInitialized(); - Get.put(LocationController()); - /* - Get.put(ApiService()); - Get.put(TeamController()); - Get.put(EntryController()); - Get.put(IndexController()); - */ - /* - await FlutterMapTileCaching.initialise(); - - final StoreDirectory instanceA = FMTC.instance('OpenStreetMap (A)'); - await instanceA.manage.createAsync(); - await instanceA.metadata.addAsync( - key: 'sourceURL', - value: 'https://cyberjapandata.gsi.go.jp/xyz/std/{z}/{x}/{y}.png', - ); - await instanceA.metadata.addAsync( - key: 'validDuration', - value: '14', - ); - await instanceA.metadata.addAsync( - key: 'behaviour', - value: 'cacheFirst', - ); -*/ -// 新しいキャッシュプロバイダーの初期化 - await CacheProvider.initialize(); - - // 使用不可 - //deviceInfo = await DeviceInfoService.getDeviceInfo(); + final IndexController _indexController; FlutterError.onError = (FlutterErrorDetails details) { FlutterError.presentError(details); @@ -150,67 +206,98 @@ void main() async { ErrorService.reportError(details.exception, details.stack ?? StackTrace.current, deviceInfo, LogManager().operationLogs); }; - //Get.put(LocationController()); - - //await PermissionController.checkAndRequestPermissions(); - //requestLocationPermission(); - - - - // startMemoryMonitoring(); // 2024-4-8 Akira: メモリ使用量のチェックを開始 See #2810 - Get.put(SettingsController()); // これを追加 - - - /* - runZonedGuarded(() { - runApp(const ProviderScope(child: MyApp())); - }, (error, stackTrace) { - ErrorService.reportError(error, stackTrace, deviceInfo); - }); - */ - - FlutterError.onError = (FlutterErrorDetails details) { - FlutterError.presentError(details); - debugPrint('Flutter error: ${details.exception}'); - debugPrint('Stack trace: ${details.stack}'); - }; - try { - tz.initializeTimeZones(); - - // ApiServiceを初期化 //await Get.putAsync(() => ApiService().init()); + await _initApiService(); + debugPrint("1: start ApiService"); + + // すべてのコントローラーとサービスを非同期で初期化 + Get.lazyPut(() => IndexController(apiService: Get.find())); + debugPrint("2: start IndexController"); + + + // その他のコントローラーを遅延初期化 + Get.lazyPut(() => SettingsController()); + debugPrint("2: start SettingsController"); + Get.lazyPut(() => DestinationController()); + debugPrint("3: start DestinationController"); + await initServices(); runApp(const ProviderScope(child: MyApp())); - //runApp(HomePage()); // MyApp()からHomePage()に変更 - //runApp(const MyApp()); }catch(e, stackTrace){ print('Error during initialization: $e'); print('Stack trace: $stackTrace'); + + // エラーが発生した場合、エラー画面を表示 + runApp(ErrorApp(error: e.toString())); } } Future initServices() async { print('Starting services ...'); try { - await Get.putAsync(() => ApiService().init()); - print('All services started...'); + + // 非同期処理を並列実行 + await Future.wait([ + _initTimeZone(), + _initCacheProvider(), + ]); + print('=== 5. Initialized TimeZone...'); + print('=== 6. CacheProvider started...'); + + Get.put(PermissionController()); + await _checkPermissions(); + debugPrint("7: start PermissionController"); + }catch(e){ - print('Error initializing ApiService: $e'); + print('Error initializing : $e'); } - - try { - Get.put(SettingsController()); - print('SettingsController initialized successfully'); - } catch (e) { - print('Error initializing SettingsController: $e'); - } - print('All services started...'); } +Future _initLocationController() async { + if (!Get.isRegistered()) { + Get.put(LocationController()); + } + print('=== 1. LocationController started...'); +} + +Future _initTimeZone() async { + tz.initializeTimeZones(); +} + +Future _initCacheProvider() async { + await CacheProvider.initialize(); +} + +Future _checkPermissions() async { + await PermissionController.checkAndRequestPermissions(); +} + +Future _initApiService() async { + await Get.putAsync(() => ApiService().init()); + //Get.lazyPut(() => ApiService()); +} + +class ErrorApp extends StatelessWidget { + final String error; + + const ErrorApp({super.key, required this.error}); + + @override + Widget build(BuildContext context) { + return MaterialApp( + home: Scaffold( + body: Center( + child: Text('アプリの起動中にエラーが発生しました: $error'), + ), + ), + ); + } + } + Future requestLocationPermission() async { try { final status = await Permission.locationAlways.request(); @@ -300,70 +387,80 @@ String team_name=""; String event_code=""; Future startBackgroundTracking() async { - if (Platform.isIOS && background==false) { - - final IndexController indexController = Get.find(); - if(indexController.currentUser.isNotEmpty) { - team_name = indexController.currentUser[0]["user"]['team_name']; - event_code = indexController.currentUser[0]["user"]["event_code"]; - } + try { + if (Platform.isIOS && background == false) { + final IndexController indexController = Get.find(); + if (indexController.currentUser.isNotEmpty && + indexController.currentUser[0]["user"]['team_name'] != null) { + team_name = indexController.currentUser[0]["user"]['team_name']; + event_code = indexController.currentUser[0]["user"]["event_code"]; + } background = true; - debugPrint("バックグラウンド処理を開始しました。"); - const LocationSettings locationSettings = LocationSettings( - accuracy: LocationAccuracy.high, - distanceFilter: 100, - ); + debugPrint("バックグラウンド処理を開始しました。"); + const LocationSettings locationSettings = LocationSettings( + accuracy: LocationAccuracy.high, + distanceFilter: 100, + ); - try { - positionStream = Geolocator.getPositionStream(locationSettings: locationSettings) - .listen((Position? position) async { - if (position != null) { - final lat = position.latitude; - final lng = position.longitude; - //final timestamp = DateTime.now(); - final accuracy = position.accuracy; + try { + positionStream = + Geolocator.getPositionStream(locationSettings: locationSettings) + .listen((Position? position) async { + if (position != null) { + final lat = position.latitude; + final lng = position.longitude; + //final timestamp = DateTime.now(); + final accuracy = position.accuracy; - // GPS信号強度がlowの場合はスキップ - if (accuracy > 100) { - debugPrint("GPS signal strength is low. Skipping data saving."); - return; - } + // GPS信号強度がlowの場合はスキップ + if (accuracy > 100) { + debugPrint( + "GPS signal strength is low. Skipping data saving."); + return; + } - Duration difference = lastGPSCollectedTime.difference(DateTime.now()) - .abs(); - // 最後にGPS信号を取得した時刻から10秒以上経過、かつ10m以上経過(普通に歩くスピード) - //debugPrint("時間差:${difference}"); - if (difference.inSeconds >= 10 ) { - debugPrint("バックグラウンドでのGPS取得時の処理(10secおき) count=${difference.inSeconds}, time=${DateTime.now()}"); + Duration difference = lastGPSCollectedTime.difference( + DateTime.now()) + .abs(); + // 最後にGPS信号を取得した時刻から10秒以上経過、かつ10m以上経過(普通に歩くスピード) + //debugPrint("時間差:${difference}"); + if (difference.inSeconds >= 10) { + debugPrint( + "バックグラウンドでのGPS取得時の処理(10secおき) count=${difference + .inSeconds}, time=${DateTime.now()}"); - // DBにGPSデータを保存 pages/destination/destination_controller.dart - await addGPStoDB(lat, lng); + // DBにGPSデータを保存 pages/destination/destination_controller.dart + await addGPStoDB(lat, lng); - lastGPSCollectedTime = DateTime.now(); - } - } - }, onError: (error) { - if (error is LocationServiceDisabledException) { - print('Location services are disabled'); - } else if (error is PermissionDeniedException) { - print('Location permissions are denied'); - } else { - print('Location Error: $error'); - } - }); - } catch (e) { - print('Error starting background tracking: $e'); - } - }else if (Platform.isAndroid && background == false) { - background = true; - debugPrint("バックグラウンド処理を開始しました。"); - - try { - // 位置情報の権限が許可されているかを確認 - await PermissionController.checkAndRequestPermissions(); - }catch(e){ - print('Error starting background tracking: $e'); + lastGPSCollectedTime = DateTime.now(); + } + } + }, onError: (error) { + if (error is LocationServiceDisabledException) { + print('Location services are disabled'); + } else if (error is PermissionDeniedException) { + print('Location permissions are denied'); + } else { + print('Location Error: $error'); + } + }); + } catch (e) { + print('Error starting background tracking: $e'); + } + } else if (Platform.isAndroid && background == false) { + background = true; + debugPrint("バックグラウンド処理を開始しました。"); + + try { + // 位置情報の権限が許可されているかを確認 + await PermissionController.checkAndRequestPermissions(); + } catch (e) { + print('Error starting background tracking: $e'); + } } + } catch (e) { + print('Error starting background tracking: $e'); + // 再試行するか、エラーを適切に処理 } } @@ -388,20 +485,24 @@ Future addGPStoDB(double la, double ln) async { } Future stopBackgroundTracking() async { - if (Platform.isIOS && background==true) { - background=false; - debugPrint("バックグラウンド処理:停止しました。"); - await positionStream?.cancel(); - positionStream = null; - }else if(Platform.isAndroid && background==true){ - background=false; - debugPrint("バックグラウンド処理:停止しました。"); - const platform = MethodChannel('location'); - try { - await platform.invokeMethod('stopLocationService'); - } on PlatformException catch (e) { - print("Failed to stop location service: '${e.message}'."); + try { + if (Platform.isIOS && background == true) { + background = false; + debugPrint("バックグラウンド処理:停止しました。"); + await positionStream?.cancel(); + positionStream = null; + } else if (Platform.isAndroid && background == true) { + background = false; + debugPrint("バックグラウンド処理:停止しました。"); + const platform = MethodChannel('location'); + try { + await platform.invokeMethod('stopLocationService'); + } on PlatformException catch (e) { + print("Failed to stop location service: '${e.message}'."); + } } + } catch(e){ + print('Error stopping background tracking: $e'); } } @@ -414,18 +515,22 @@ class MyApp extends StatefulWidget { class _MyAppState extends State with WidgetsBindingObserver { // This widget is the root of your application. + late final LocationController _locationController; + late final IndexController _indexController; + late final DestinationController _destinationController; + late final PermissionController _permissionController; + Timer? _memoryCheckTimer; @override void initState() { super.initState(); - if (!Get.isRegistered()) { - Get.put(LocationController()); - } + _initializeControllers(); + WidgetsBinding.instance.addObserver(this); + //_startMemoryMonitoring(); if (context.mounted) { - restoreGame(); + // _restoreGameAndInitialize(); } - WidgetsBinding.instance.addObserver(this); // ウィジェットが構築された後に権限をチェック WidgetsBinding.instance.addPostFrameCallback((_) { @@ -435,6 +540,105 @@ class _MyAppState extends State with WidgetsBindingObserver { debugPrint("Start MyAppState..."); } + Future _restoreGameAndInitialize() async { + await restoreGame(); + // ここに他の初期化処理を追加できます + } + + void _initializeControllers() { + /* + if (!Get.isRegistered()) { + _locationController = Get.put(LocationController(), permanent: true); + } + if (!Get.isRegistered()) { + _indexController = Get.put(IndexController(apiService: Get.find()), permanent: true); + } + if (!Get.isRegistered()) { + _destinationController = + Get.put(DestinationController(), permanent: true); + } + if (!Get.isRegistered()) { + _permissionController = Get.put(PermissionController()); + } + // 他の必要なコントローラーの初期化 + + */ + } + + void _startMemoryMonitoring() { + /* + _memoryCheckTimer = Timer.periodic(const Duration(seconds: 10), (timer) { + _checkMemoryUsage(); + }); + + */ + } + + void _checkMemoryUsage() async { + final memoryInfo = await _getMemoryInfo(); + //debugPrint('Current memory usage: ${memoryInfo['used']} MB'); + if (memoryInfo['used']! > 100) { // 100MB以上使用している場合 + _performMemoryCleanup(); + } + } + + Future> _getMemoryInfo() async { + // プラットフォーム固有のメモリ情報取得ロジックを実装 + // この例では仮の値を返しています + return {'total': 1024, 'used': 512}; + } + + void _performMemoryCleanup() { + /* + debugPrint('Performing memory cleanup'); + // キャッシュのクリア + + Get.deleteAll(force: false); // 永続的なコントローラーを除外してキャッシュをクリア + imageCache.clear(); + imageCache.clearLiveImages(); + + // 大きなオブジェクトの解放 + _clearLargeObjects(); + + // 未使用のリソースの解放 + _releaseUnusedResources(); + + // ガベージコレクションの促進 + _forceGarbageCollection(); + debugPrint('Performing memory cleanup'); + + */ + } + + void _clearLargeObjects() { + // 大きなリストやマップをクリア + // 例: myLargeList.clear(); + } + + void _releaseUnusedResources() { + // 使用していないストリームのクローズ + // 例: myStream?.close(); + } + + void _forceGarbageCollection() { + /* + Timer(const Duration(seconds: 1), () { + debugPrint('Forcing garbage collection'); + // ignore: dead_code + bool didRun = false; + assert(() { + didRun = true; + return true; + }()); + if (didRun) { + debugPrint('Garbage collection forced in debug mode'); + } + }); + + */ + } + + /* void showPermissionRequiredDialog() { showDialog( @@ -474,6 +678,7 @@ class _MyAppState extends State with WidgetsBindingObserver { @override void dispose() { WidgetsBinding.instance.removeObserver(this); + _memoryCheckTimer?.cancel(); super.dispose(); } @@ -487,110 +692,118 @@ class _MyAppState extends State with WidgetsBindingObserver { @override Future didChangeAppLifecycleState(AppLifecycleState state) async { try { - LocationController locationController = Get.find(); + if (!Get.isRegistered()) { + _indexController = Get.find(); + } + if (!Get.isRegistered()) { + _locationController = Get.find(); + } + if (!Get.isRegistered()) { + _destinationController = Get.find(); + } - DestinationController destinationController = Get.find< - DestinationController>(); - - //DestinationController destinationController = - // Get.find(); switch (state) { case AppLifecycleState.resumed: - // 追加 2024.8.13. - await stopBackgroundTracking(); - destinationController.restartGPS(); - // 追加 2024.8.13. - - // バックグラウンド処理を停止 - if (Platform.isIOS && destinationController.isRunningBackgroundGPS) { - // Foreground に戻った時の処理 - debugPrint( - " ==(Status Changed)==> RESUMED. フォアグラウンドに戻りました"); - locationController.resumePositionStream(); - //print("RESUMED"); - restoreGame(); - - stopBackgroundTracking(); - destinationController.isRunningBackgroundGPS = false; - destinationController.restartGPS(); - } else if (Platform.isAndroid) { - if (destinationController.isRunningBackgroundGPS) { - const platform = MethodChannel('location'); - platform.invokeMethod('stopLocationService'); - destinationController.isRunningBackgroundGPS = false; - destinationController.restartGPS(); - debugPrint("stopped android location service.."); - } - - debugPrint( - "==(Status Changed)==> RESUMED. android フォアグラウンドに戻りました"); - locationController.resumePositionStream(); - //print("RESUMED"); - restoreGame(); - } else { - debugPrint("==(Status Changed)==> RESUMED 不明状態"); - } + //await _onResumed(); + await _onResumed(); break; case AppLifecycleState.inactive: + // アプリが非アクティブになったときに発生します。 - - if (Platform.isIOS && !destinationController - .isRunningBackgroundGPS) { // iOSはバックグラウンドでもフロントの処理が生きている。 - // これは、別のアプリやシステムのオーバーレイ(着信通話やアラームなど)によって一時的に中断された状態です。 - debugPrint(" ==(Status Changed)==> INACTIVE. 非アクティブ処理。"); - //locationController.resumePositionStream(); - - // 追加: フロントエンドのGPS信号のlistenを停止 - locationController.stopPositionStream(); - - destinationController.isRunningBackgroundGPS = true; - startBackgroundTracking(); - } else if (Platform.isAndroid && - !destinationController.isRunningBackgroundGPS) { - debugPrint(" ==(Status Changed)==> INACTIVE. 非アクティブ処理。"); - } else { - debugPrint("==(Status Changed)==> INACTIVE 不明状態"); - } - saveGameState(); + await _onInactive(); break; + case AppLifecycleState.paused: // バックグラウンドに移行したときの処理 //locationController.resumePositionStream(); - debugPrint(" ==(Status Changed)==> PAUSED. バックグラウンド処理。"); - if (Platform.isIOS && !destinationController.isRunningBackgroundGPS) { - debugPrint( - "iOS already running background GPS processing when it's inactive"); - } else if (Platform.isAndroid && - !destinationController.isRunningBackgroundGPS) { - debugPrint( - " ==(Status Changed)==> PAUSED. Android バックグラウンド処理。"); - locationController.stopPositionStream(); - const platform = MethodChannel('location'); - platform.invokeMethod('startLocationService'); - //platform.invokeMethod('stopLocationService'); - destinationController.isRunningBackgroundGPS = true; - //startBackgroundTracking(); - } - saveGameState(); + await _onPaused(); break; + case AppLifecycleState.detached: // アプリが終了する直前に発生します。この状態では、アプリはメモリから解放される予定です。 //locationController.resumePositionStream(); - debugPrint(" ==(Status Changed)==> DETACHED アプリは終了します。"); - saveGameState(); + await _onDetached(); break; + case AppLifecycleState.hidden: // Web用の特殊な状態で、モバイルアプリでは発生しません。 //locationController.resumePositionStream(); - debugPrint(" ==(Status Changed)==> Hidden アプリが隠れた"); - saveGameState(); + await _onHidden(); break; } }catch(e){ - print('Error finding LocationController: $e'); + print('Error finding didChangeAppLifecycleState: $e'); + _initializeControllers(); } } + Future _onResumed() async { + debugPrint("==(Status Changed)==> RESUMED"); + try { + _initializeControllers(); + + await stopBackgroundTracking(); + _destinationController.restartGPS(); + + if (Platform.isIOS && _destinationController.isRunningBackgroundGPS) { + _locationController.resumePositionStream(); + await restoreGame(); + _destinationController.isRunningBackgroundGPS = false; + } else if (Platform.isAndroid) { + if (_destinationController.isRunningBackgroundGPS) { + const platform = MethodChannel('location'); + await platform.invokeMethod('stopLocationService'); + _destinationController.isRunningBackgroundGPS = false; + _destinationController.restartGPS(); + } + _locationController.resumePositionStream(); + await restoreGame(); + } + } catch(e) { + print('Error in _onResumed: $e'); + // 必要に応じて再試行またはエラー処理 + } + } + + Future _onInactive() async { + debugPrint("==(Status Changed)==> INACTIVE"); + if (Platform.isIOS && !_destinationController.isRunningBackgroundGPS) { + debugPrint(" ==(Status Changed)==> INACTIVE. 非アクティブ処理。"); + _locationController.stopPositionStream(); + _destinationController.isRunningBackgroundGPS = true; + await startBackgroundTracking(); + } else if (Platform.isAndroid && !_destinationController.isRunningBackgroundGPS) { + // Android特有の処理があれば追加 + debugPrint(" ==(Status Changed)==> INACTIVE. 非アクティブ処理。"); + }else{ + debugPrint("==(Status Changed)==> INACTIVE 不明状態"); + } + await saveGameState(); + } + + Future _onPaused() async { + debugPrint(" ==(Status Changed)==> PAUSED. バックグラウンド処理。"); + if (Platform.isAndroid && !_destinationController.isRunningBackgroundGPS) { + debugPrint(" ==(Status Changed)==> PAUSED. Android バックグラウンド処理。"); + _locationController.stopPositionStream(); + const platform = MethodChannel('location'); + await platform.invokeMethod('startLocationService'); + _destinationController.isRunningBackgroundGPS = true; + } + await saveGameState(); + } + + Future _onDetached() async { + debugPrint(" ==(Status Changed)==> DETACHED アプリは終了します。"); + await saveGameState(); + // アプリ終了時の追加処理 + } + + + Future _onHidden() async { + debugPrint(" ==(Status Changed)==> Hidden アプリが隠れた"); + await saveGameState(); + } @override Widget build(BuildContext context) { diff --git a/lib/pages/camera/camera_page.dart b/lib/pages/camera/camera_page.dart index 0046d21..9c79c2d 100644 --- a/lib/pages/camera/camera_page.dart +++ b/lib/pages/camera/camera_page.dart @@ -14,8 +14,11 @@ import 'package:gifunavi/services/external_service.dart'; import 'package:gifunavi/utils/const.dart'; import 'package:qr_code_scanner/qr_code_scanner.dart'; -import 'package:http/http.dart' as http; // この行を追加 +import 'package:http/http.dart' as http; +import '../../routes/app_pages.dart'; // この行を追加 +import 'package:timezone/data/latest.dart' as tz; +import 'package:timezone/timezone.dart' as tz; // 関数 getTagText は、特定の条件に基づいて文字列から特定の部分を抽出し、返却するためのものです。 // 関数は2つのパラメータを受け取り、条件分岐を通じて結果を返します。 @@ -220,10 +223,67 @@ class CameraPage extends StatelessWidget { Timer? timer; + bool isValidEventParticipation() { + final eventCode = indexController.currentUser[0]["user"]["event_code"]; + final teamName = indexController.currentUser[0]["user"]["team_name"]; + final dateString = indexController.currentUser[0]["user"]["event_date"]; + //final parsedDate = DateTime.parse(dateString); + + //final eventDate = tz.TZDateTime.from(parsedDate, tz.getLocation('Asia/Tokyo')); + + //final today = DateTime.now(); + + return eventCode != null && + teamName != null && + dateString != null ; + +// isSameDay(eventDate, today); + } + + bool isSameDay(DateTime date1, DateTime date2) { + return date1.year == date2.year && + date1.month == date2.month && + date1.day == date2.day; + } + + void showEventParticipationWarning(BuildContext context) { + showDialog( + context: context, + builder: (BuildContext context) { + return AlertDialog( + title: const Text("警告"), + content: const Text("今日のイベントにまず参加しないと事前チェックインはできません。サブメニューからイベント参加をタップして今日のイベントに参加してください。"), + actions: [ + TextButton( + child: const Text("キャンセル"), + onPressed: () { + Navigator.of(context).pop(); + }, + ), + TextButton( + child: const Text("参加する"), + onPressed: () { + Navigator.of(context).pop(); + Get.toNamed(AppPages.EVENT_ENTRY); + }, + ), + ], + ); + }, + ); + } + // 現在の状態に基づいて、適切なアクションボタンを返します。 // 要修正:エラーハンドリングが不十分です。例外が発生した場合の処理を追加することをお勧めします。 // Widget getAction(BuildContext context) { + if (!isValidEventParticipation()) { + return ElevatedButton( + onPressed: () => showEventParticipationWarning(context), + child: const Text("チェックイン"), + ); + } + if (manulaCheckin == true) { return Padding( padding: const EdgeInsets.symmetric(horizontal: 16.0), @@ -253,7 +313,9 @@ class CameraPage extends StatelessWidget { onPressed: () async { await destinationController.makeCheckin(destination, true, destinationController.photos[0].path); - destinationController.rogainingCounted.value = true; + if( destinationController.isInRog.value==true ) { + destinationController.rogainingCounted.value = true; // ロゲ開始後のみ許可 + } destinationController.skipGps = false; destinationController.isPhotoShoot.value = false; @@ -387,7 +449,9 @@ class CameraPage extends StatelessWidget { await destinationController.makeBuyPoint( destination, destinationController.photos[0].path); Get.back(); - destinationController.rogainingCounted.value = true; + if( destinationController.isInRog.value==true ) { + destinationController.rogainingCounted.value = true; // ロゲ開始後のみ許可 + } destinationController.skipGps = false; destinationController.isPhotoShoot.value = false; Get.snackbar("お買い物加点を行いました。", @@ -428,7 +492,9 @@ class CameraPage extends StatelessWidget { await destinationController.makeBuyPoint( destination, destinationController.photos[0].path); Get.back(); - destinationController.rogainingCounted.value = true; + if( destinationController.isInRog.value==true ) { + destinationController.rogainingCounted.value = true; //ロゲ開始後のみ許可 + } destinationController.skipGps = false; destinationController.isPhotoShoot.value = false; Get.snackbar("お買い物加点を行いました。", @@ -465,7 +531,9 @@ class CameraPage extends StatelessWidget { true, destinationController.photos[0].path); //Get.back(); - destinationController.rogainingCounted.value = true; + if( destinationController.isInRog.value==true ) { + destinationController.rogainingCounted.value = true; //ロゲ開始後のみ許可 + } destinationController.skipGps = false; destinationController.isPhotoShoot.value = false; @@ -496,6 +564,7 @@ class CameraPage extends StatelessWidget { @override Widget build(BuildContext context) { + //print("---- photos ${destination.photos} ----"); if (buyPointPhoto == true) { // buyPointPhotoがtrueの場合は、BuyPointCameraウィジェットを返します。 @@ -780,7 +849,9 @@ class BuyPointCamera extends StatelessWidget { onPressed: () async { await destinationController.cancelBuyPoint(destination); Navigator.of(Get.context!).pop(); - destinationController.rogainingCounted.value = true; + if( destinationController.isInRog.value==true ) { + destinationController.rogainingCounted.value = true; // ロゲ開始後のみ許可 + } destinationController.skipGps = false; destinationController.isPhotoShoot.value = false; }, diff --git a/lib/pages/camera/custom_camera_view.dart b/lib/pages/camera/custom_camera_view.dart index 7684b43..4d89d9e 100644 --- a/lib/pages/camera/custom_camera_view.dart +++ b/lib/pages/camera/custom_camera_view.dart @@ -1,6 +1,8 @@ import 'dart:io'; +import 'dart:typed_data'; import 'package:camera/camera.dart'; import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; import 'package:path/path.dart' as path; import 'package:path_provider/path_provider.dart'; import 'package:gifunavi/model/destination.dart'; @@ -8,8 +10,17 @@ import 'package:gifunavi/model/destination.dart'; class CustomCameraView extends StatefulWidget { final Function(String) onImageCaptured; final Destination? destination; + final Function(bool) onCameraStatusChanged; + + //const CustomCameraView({super.key, required this.onImageCaptured, required this.destination}); + + const CustomCameraView({ + Key? key, + required this.onImageCaptured, + required this.destination, + required this.onCameraStatusChanged, // 新しいコールバック + }) : super(key: key); - const CustomCameraView({super.key, required this.onImageCaptured, required this.destination}); @override _CustomCameraViewState createState() => _CustomCameraViewState(); @@ -17,6 +28,8 @@ class CustomCameraView extends StatefulWidget { class _CustomCameraViewState extends State { CameraController? _controller; + bool _isCameraAvailable = true; + late List _cameras; int _selectedCameraIndex = 0; double _currentScale = 1.0; @@ -31,10 +44,25 @@ class _CustomCameraViewState extends State { } Future _initializeCamera() async { - _cameras = await availableCameras(); - _controller = CameraController(_cameras[_selectedCameraIndex], ResolutionPreset.medium); - await _controller!.initialize(); - setState(() {}); + try { + _cameras = await availableCameras(); + if (_cameras.isNotEmpty) { + _controller = CameraController( + _cameras[_selectedCameraIndex], ResolutionPreset.medium); + await _controller!.initialize(); + setState(() { + _isCameraAvailable = true; + }); + } else { + throw Exception('Camera is not available'); + } + }catch(err){ + print("Error initializing camera: $err"); + setState(() { + _isCameraAvailable = false; + }); + } + widget.onCameraStatusChanged(_isCameraAvailable); } @override @@ -82,20 +110,46 @@ class _CustomCameraViewState extends State { } void _captureImage() async { - if (_controller!.value.isInitialized) { - final Directory appDirectory = await getApplicationDocumentsDirectory(); - final String imagePath = path.join(appDirectory.path, '${DateTime.now()}.jpg'); + if (_isCameraAvailable) { + if (_controller!.value.isInitialized) { + final Directory appDirectory = await getApplicationDocumentsDirectory(); + final String imagePath = path.join( + appDirectory.path, '${DateTime.now()}.jpg'); - final XFile imageFile = await _controller!.takePicture(); - await imageFile.saveTo(imagePath); + final XFile imageFile = await _controller!.takePicture(); + await imageFile.saveTo(imagePath); + widget.onImageCaptured(imagePath); + Navigator.pop(context); + } + }else{ + // ダミー画像を使用 + final String imagePath = await _saveDummyImage(); widget.onImageCaptured(imagePath); Navigator.pop(context); } } + Future _saveDummyImage() async { + final Directory appDirectory = await getApplicationDocumentsDirectory(); + final String imagePath = path.join(appDirectory.path, 'dummy_${DateTime.now()}.png'); + + // アセットからダミー画像を読み込む + ByteData data = await rootBundle.load('assets/images/dummy_camera_image.png'); + List bytes = data.buffer.asUint8List(); + + // ダミー画像をファイルとして保存 + await File(imagePath).writeAsBytes(bytes); + + return imagePath; + } + @override Widget build(BuildContext context) { + if (!_isCameraAvailable) { + return _buildDummyCameraView(); + } + if (_controller == null || !_controller!.value.isInitialized) { return Container(); } @@ -182,4 +236,64 @@ class _CustomCameraViewState extends State { ], ); } + + Widget _buildDummyCameraView() { + return Stack( + children: [ + Container( + color: Colors.black, + child: const Center( + child: Text( + 'カメラを利用できません', + style: TextStyle(color: Colors.white, fontSize: 18), + ), + ), + ), + Positioned( + bottom: 16.0, + left: 16.0, + right: 16.0, + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + IconButton( + onPressed: () {}, + icon: const Icon(Icons.flash_off, color: Colors.white), + iconSize: 32, + ), + GestureDetector( + onTap: _captureEmulatedImage, + child: Container( + height: 80, + width: 80, + decoration: BoxDecoration( + shape: BoxShape.circle, + color: Colors.white, + border: Border.all(color: Colors.red, width: 4), + ), + child: const Icon(Icons.camera_alt, color: Colors.red, size: 40), + ), + ), + IconButton( + onPressed: () {}, + icon: const Icon(Icons.flip_camera_ios, color: Colors.white), + iconSize: 32, + ), + ], + ), + ), + ], + ); + } + + void _captureEmulatedImage() async { + final Directory appDirectory = await getApplicationDocumentsDirectory(); + final String imagePath = path.join(appDirectory.path, '${DateTime.now()}.jpg'); + + // ダミーの画像ファイルを作成 + await File(imagePath).writeAsBytes(Uint8List(0)); + + widget.onImageCaptured(imagePath); + Navigator.pop(context); + } } \ No newline at end of file diff --git a/lib/pages/destination/destination_controller.dart b/lib/pages/destination/destination_controller.dart index 931657f..259e911 100644 --- a/lib/pages/destination/destination_controller.dart +++ b/lib/pages/destination/destination_controller.dart @@ -29,12 +29,18 @@ import 'dart:async'; import 'package:modal_bottom_sheet/modal_bottom_sheet.dart'; import 'package:gifunavi/widgets/debug_widget.dart'; +import 'package:path_provider/path_provider.dart'; import 'package:shared_preferences/shared_preferences.dart'; import 'package:image_gallery_saver/image_gallery_saver.dart'; import 'package:gifunavi/pages/permission/permission.dart' ; +// 新しいインポート +import 'package:path/path.dart' as path; +import 'package:path_provider/path_provider.dart'; + + // 目的地に関連する状態管理とロジックを担当するクラスです。 // class DestinationController extends GetxController { @@ -423,11 +429,11 @@ class DestinationController extends GetxController { // 写真撮影モードでない場合 if (ds.isEmpty) { - debugPrint("* 目的地がない場合 ==> 検知半径=-1の場合"); + //debugPrint("* 目的地がない場合 ==> ds=${ds}"); // print("----- in location popup cp - ${d.cp}----"); if ((d.cp == -1 || d.cp==0 ) && DateTime.now().difference(lastGoalAt).inHours >= 10) { - debugPrint("**1: 開始CPで、最後にゴールしてから24時間経過していれば、"); + debugPrint("**1: 目的地がない場合で、スタート地点。開始CPで、最後にゴールしてから24時間経過していれば、"); chekcs = 1; //start @@ -461,15 +467,15 @@ class DestinationController extends GetxController { // 以下の条件分岐を追加 } else if (ds.isNotEmpty && ds[0].checkedin == true) { // 目的地がDBに存在し、すでにチェックインしている場合は自動ポップアップを表示しない - debugPrint("チェックイン済み"); + debugPrint("目的地がない場合で、チェックイン済み"); return; - } else if (isInRog.value == true && - indexController.rogMode.value == 1 && - (locationAlreadyCheckedIn==false) && - d.cp != -1 && d.cp != 0 && d.cp != -2) { + } else if (isInRog.value == true && // 常にfalse だよ。。 + indexController.rogMode.value == 1 && // マップではなくリストページだよ。 + (locationAlreadyCheckedIn==false) && // まだチェックインしてないよ。 + d.cp != -1 && d.cp != 0 && d.cp != -2) { // スタートでもゴールでもないよ。 - debugPrint("**2: 標準CP まだチェックインしていない。"); + debugPrint("**2: 目的地がない場合で、標準CP まだチェックインしていない。"); // print("----- in location popup checkin cp - ${d.cp}----"); chekcs = 2; // 標準CP @@ -494,14 +500,20 @@ class DestinationController extends GetxController { }); } return; + }else{ + debugPrint("**Else: isInRog=${isInRog.value}, rogMode=${indexController.rogMode.value},locationAlreadyCheckedIn=${locationAlreadyCheckedIn},d.cp=${d.cp}"); } } // 以降、検知範囲にある場合。 - //debugPrint("検知範囲にある場合"); + debugPrint("検知範囲にある場合だよ..."); + + debugPrint("---- 検知範囲: ${d.checkin_radious} > 距離:${distance} ----"); + debugPrint("---- チェックイン済みか? $locationAlreadyCheckedIn ----"); + debugPrint("---- isInRog : ${isInRog.value}, checkingin = ${isCheckingIn.value}"); + debugPrint("---- buyPointImageAdded: ${buyPointImageAdded}, ds.isNotEmpty?: ${ds.isNotEmpty},buyPoint:${buyPoint},buyPointCanceled=${buyPointCanceled}"); + debugPrint(" "); - // print("---- location checkin radious ${d.checkin_radious} ----"); - // print("---- already checked in $locationAlreadyCheckedIn ----"); if ((checkinRadious >= distance || checkinRadious == -1) && locationAlreadyCheckedIn == false && isInRog.value == true && @@ -515,9 +527,9 @@ class DestinationController extends GetxController { //print( // "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ make checkin ${d.sub_loc_id}@@@@@@@@@@@"); makeCheckin(d, true, ""); // チェックインして - if (d.cp != -1 && d.cp != -2 && d.cp != 0 ) { - rogainingCounted.value = true; // ゴール用チェックイン済み - } + //if (d.cp != -1 && d.cp != -2 && d.cp != 0 ) { + // rogainingCounted.value = true; // ゴール用チェックイン済み + //} skipGps = false; } return; // 戻る @@ -552,7 +564,9 @@ class DestinationController extends GetxController { ))).whenComplete(() { shouldShowBottomSheet = true; skipGps = false; - rogainingCounted.value = true; + if( isInRog.value==true ) { + rogainingCounted.value = true; + } chekcs = 0; isInCheckin.value = false; isCheckingIn.value = false; @@ -729,13 +743,15 @@ class DestinationController extends GetxController { DatabaseHelper db = DatabaseHelper.instance; if (isgoal == false) { - await db.deleteAllDestinations(); - await db.deleteAllRogaining(); + // await db.deleteAllDestinations(); + // await db.deleteAllRogaining(); + await db.deleteAllDestinationsExceptTodayCheckins(); + await db.deleteAllRogainingExceptToday(); } int? latgoal = await db.latestGoal(); lastGoalAt = DateTime.fromMicrosecondsSinceEpoch(latgoal!); - //print("===== last goal : $last_goal_at ====="); + debugPrint("===== last goal : $lastGoalAt ====="); dbService.updateDatabase(); } @@ -743,7 +759,7 @@ class DestinationController extends GetxController { // void deleteAllDestinations() { DatabaseHelper db = DatabaseHelper.instance; - db.deleteAllDestinations().then((value) { + db.deleteAllDestinationsExceptTodayCheckins().then((value) { populateDestinations(); }); } @@ -760,6 +776,18 @@ class DestinationController extends GetxController { photos.add(File(imagePath)); }, destination: destination, + onCameraStatusChanged: (isAvailable) { + // カメラの状態が変更されたときの処理 + if (!isAvailable) { + // カメラが利用できない場合の処理 + Get.snackbar( + 'エラー', + 'カメラを初期化できませんでした。', + backgroundColor: Colors.red, + colorText: Colors.white, + ); + } + }, ), /* builder: (_) => CameraCamera( @@ -859,7 +887,9 @@ class DestinationController extends GetxController { dbDest: dss, ))).whenComplete(() { skipGps = false; - rogainingCounted.value = true; + if( isInRog.value == true ) { // ロゲ開始していれば、遠くまで来たことにする。 + rogainingCounted.value = true; + } chekcs = 0; isInCheckin.value = false; //Get.back(); @@ -984,6 +1014,7 @@ class DestinationController extends GetxController { // // 2024-4-8 Akira : See 2809 // checkForCheckinメソッドの再帰呼び出しをunawaitedで囲んで、非同期処理の結果を待たずに先に進むようにしました。また、再帰呼び出しの前に一定時間待機するようにしました。 + // 2024-8-24 ... 佐伯呼び出しが必要なのか? // Future checkForCheckin() async { //print("--- Start of checkForCheckin function ---"); @@ -1022,13 +1053,15 @@ class DestinationController extends GetxController { } catch (e) { print("An error occurred: $e"); // await checkForCheckin(); - } finally { - await Future.delayed(const Duration(seconds: 1)); // 一定時間待機してから再帰呼び出し + //} finally { + // await Future.delayed(const Duration(seconds: 1)); // 一定時間待機してから再帰呼び出し //print("--- End of checkForCheckin function, calling recursively ---"); - unawaited( checkForCheckin() ); + //unawaited( checkForCheckin() ); } } + + // GPSデータをサーバーにプッシュする関数です。 // Future pushGPStoServer() async { @@ -1089,55 +1122,46 @@ class DestinationController extends GetxController { } } - Future _saveImageToGallery(String imagePath) async { + Future _saveImageToGallery(String imagePath) async { final status = await PermissionController.checkStoragePermission(); if(!status){ await PermissionController.requestStoragePermission(); } - /* - final status = await Permission.storage.status; - if (!status.isGranted) { - final result = await Permission.storage.request(); - if (!result.isGranted) { - // ユーザーがストレージの権限を拒否した場合の処理 - showDialog( - context: Get.context!, - builder: (BuildContext context) { - return AlertDialog( - title: Text('ストレージの権限が必要です'), - content: Text( - '画像をギャラリーに保存するには、ストレージの権限が必要です。アプリの設定画面で権限を許可してください。'), - actions: [ - TextButton( - child: Text('キャンセル'), - onPressed: () { - Navigator.of(context).pop(); - }, - ), - TextButton( - child: Text('設定'), - onPressed: () { - Navigator.of(context).pop(); - openAppSettings(); // アプリの設定画面を開く - }, - ), - ], - ); - } - ); + try { + final appDir = await getApplicationDocumentsDirectory(); + //final fileName = path.basename(imagePath); + final fileName = 'checkin_${DateTime.now().millisecondsSinceEpoch}.jpg'; + final savedImage = await File(imagePath).copy('${appDir.path}/$fileName'); - return; + debugPrint("fileName=${fileName}, appDir=${appDir} => ${savedImage}"); + + // ギャラリーにも保存 + //await ImageGallerySaver.saveFile(savedImage.path); + await Future.delayed(const Duration(seconds: 3), () async { + final result = await ImageGallerySaver.saveFile(savedImage.path); + print("Save result: $result"); + }).timeout(const Duration(seconds: 5)); + + + debugPrint('Image saved to: ${savedImage.path}'); + return savedImage.path; + + /* + final result = await ImageGallerySaver.saveFile(imagePath); + debugPrint('Image saved to gallery: $result'); + if (result['isSuccess']) { + return result['filePath']; + } + */ + } catch (e) { + if (e is TimeoutException) { + print("Operation timed out"); + } else { + print('Failed to save image to gallery: $e'); } } - */ - - try { - final result = await ImageGallerySaver.saveFile(imagePath); - print('Image saved to gallery: $result'); - } catch (e) { - print('Failed to save image to gallery: $e'); - } + return null; } // 買い物ポイントを作成する関数です。 指定された目的地に対して買い物ポイントの処理を行います。 @@ -1145,13 +1169,10 @@ class DestinationController extends GetxController { // 買い物ポイントの作成に失敗した場合のエラーハンドリングを追加することを検討してください。 // Future makeBuyPoint(Destination destination, String imageurl) async { + String? savedImagePath = await _saveImageToGallery(imageurl); DatabaseHelper db = DatabaseHelper.instance; - await db.updateBuyPoint(destination, imageurl); + await db.updateBuyPoint(destination, savedImagePath ?? imageurl); populateDestinations(); - //await _saveImageFromPath(imageurl); - await _saveImageToGallery(imageurl); - - if (indexController.currentUser.isNotEmpty) { double cpNum = destination.cp!; @@ -1160,6 +1181,7 @@ class DestinationController extends GetxController { int userId = indexController.currentUser[0]["user"]["id"]; //print("--- Pressed -----"); + debugPrint("user=${indexController.currentUser[0]["user"]}"); String team = indexController.currentUser[0]["user"]['team_name']; //print("--- _team : ${_team}-----"); String eventCode = indexController.currentUser[0]["user"]["event_code"]; @@ -1172,7 +1194,7 @@ class DestinationController extends GetxController { //print("------ checkin event $eventCode ------"); ExternalService() .makeCheckpoint(userId, token, formattedDate, team, cpNum.round(), - eventCode, imageurl) + eventCode, savedImagePath ?? imageurl) .then((value) { //print("------Ext service check point $value ------"); }); @@ -1197,7 +1219,10 @@ class DestinationController extends GetxController { if (ddd.isEmpty) { destination.checkedin = true; - destination.checkin_image = imageurl; + if (imageurl.isNotEmpty) { + String? savedImagePath = await _saveImageToGallery(imageurl); + destination.checkin_image = savedImagePath ?? imageurl; + } await db.insertDestination(destination); // print("~~~~ inserted into db ~~~~"); } @@ -1212,7 +1237,8 @@ class DestinationController extends GetxController { //await _saveImageFromPath(imageurl!); } if (imageurl.isNotEmpty) { - await _saveImageToGallery(imageurl); + String? savedImagePath = await _saveImageToGallery(imageurl); + destination.checkin_image = savedImagePath ?? imageurl; } populateDestinations(); @@ -1299,11 +1325,11 @@ class DestinationController extends GetxController { void onInit() async { super.onInit(); - /* + WidgetsBinding.instance.addPostFrameCallback((_) async { await PermissionController.checkAndRequestPermissions(); }); - */ + startGPSCheckTimer(); @@ -1810,7 +1836,7 @@ class DestinationController extends GetxController { // void deleteDBDestinations() { DatabaseHelper db = DatabaseHelper.instance; - db.deleteAllDestinations().then((value) { + db.deleteAllDestinationsExceptTodayCheckins().then((value) { populateDestinations(); }); dbService.updateDatabase(); diff --git a/lib/pages/entry/entry_binding.dart b/lib/pages/entry/entry_binding.dart index b29ec11..2937251 100644 --- a/lib/pages/entry/entry_binding.dart +++ b/lib/pages/entry/entry_binding.dart @@ -2,6 +2,8 @@ import 'package:get/get.dart'; import 'package:gifunavi/pages/entry/entry_controller.dart'; import 'package:gifunavi/services/api_service.dart'; +import '../index/index_controller.dart'; + class EntryBinding extends Bindings { @override void dependencies() { diff --git a/lib/pages/entry/entry_controller.dart b/lib/pages/entry/entry_controller.dart index 4e71d86..ea30eca 100644 --- a/lib/pages/entry/entry_controller.dart +++ b/lib/pages/entry/entry_controller.dart @@ -191,18 +191,21 @@ class EntryController extends GetxController { final updatedCategory = await _apiService.getZekkenNumber(selectedCategory.value!.id); final zekkenNumber = updatedCategory.categoryNumber.toString(); + // selectedDate.value に 9時間を加えてJSTのオフセットを適用 + final jstDate = selectedDate.value!.add(const Duration(hours: 9)); + final newEntry = await _apiService.createEntry( selectedTeam.value!.id, selectedEvent.value!.id, selectedCategory.value!.id, - selectedDate.value!, + jstDate, // JSTオフセットが適用された日付を使用 zekkenNumber, ); entries.add(newEntry); Get.back(); } catch (e) { print('Error creating entry: $e'); - Get.snackbar('Error', 'Failed to create entry'); + Get.snackbar('Error', '$e'); } finally { isLoading.value = false; } diff --git a/lib/pages/history/history_page.dart b/lib/pages/history/history_page.dart index acc462c..a85e1ed 100644 --- a/lib/pages/history/history_page.dart +++ b/lib/pages/history/history_page.dart @@ -4,6 +4,8 @@ import 'package:flutter/material.dart'; import 'package:gifunavi/model/destination.dart'; import 'package:gifunavi/utils/database_helper.dart'; import 'package:get/get.dart'; +import 'package:path_provider/path_provider.dart'; +import 'package:path/path.dart' as path; class HistoryPage extends StatefulWidget { const HistoryPage({super.key}); @@ -15,6 +17,48 @@ class HistoryPage extends StatefulWidget { class _HistoryPageState extends State { DatabaseHelper db = DatabaseHelper.instance; + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: AppBar( + title: Text("pass_history".tr), + ), + body: FutureBuilder>( + future: db.getDestinations(), + builder: (context, snapshot) { + if (snapshot.connectionState == ConnectionState.waiting) { + return const Center(child: CircularProgressIndicator()); + } else if (snapshot.hasError) { + return Center(child: Text('Error: ${snapshot.error}')); + } else if (!snapshot.hasData || snapshot.data!.isEmpty) { + return Center(child: Text("no_checkin_yet".tr)); + } + + final dests = snapshot.data!; + return ListView.builder( + itemCount: dests.length, + itemBuilder: (context, index) { + return Padding( + padding: const EdgeInsets.all(8.0), + child: CustomWidget( + title: dests[index].name ?? 'No Name', + subtitle: "${dests[index].sub_loc_id ?? 'N/A'} : ${dests[index].name ?? 'N/A'}", + image1Path: dests[index].checkin_image, + image2Path: dests[index].buypoint_image, + ), + ); + }, + ); + }, + ), + ); + } +} + +/* +class _HistoryPageState_old extends State { + DatabaseHelper db = DatabaseHelper.instance; + @override Widget build(BuildContext context) { return Scaffold( @@ -86,8 +130,97 @@ class _HistoryPageState extends State { ); } } +*/ class CustomWidget extends StatelessWidget { + final String? image1Path; + final String? image2Path; + final String title; + final String subtitle; + + const CustomWidget({ + super.key, + this.image1Path, + this.image2Path, + required this.title, + required this.subtitle, + }); + + Widget _buildImage(String? path) { + if (path == null) return const SizedBox.shrink(); + + return FutureBuilder( + future: _getFullImagePath(path), + builder: (context, snapshot) { + if (snapshot.connectionState == ConnectionState.done && snapshot.hasData) { + return Image.file( + File(snapshot.data!), + width: 50, + height: 100, + fit: BoxFit.cover, + errorBuilder: (context, error, stackTrace) { + print('Error loading image: $error'); + return const Icon(Icons.error); + }, + ); + } else if (snapshot.hasError) { + print('Error loading image path: ${snapshot.error}'); + return const Icon(Icons.error); + } else { + return const CircularProgressIndicator(); + } + }, + ); + } + + Future _getFullImagePath(String imagePath) async { + final appDir = await getApplicationDocumentsDirectory(); + final fileName = path.basename(imagePath); + final fullPath = path.join(appDir.path, fileName); + debugPrint("Full image path: $fullPath"); + return fullPath; + } + + @override + Widget build(BuildContext context) { + return Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + SizedBox( + width: 104, + child: Row( + children: [ + _buildImage(image1Path), + if (image1Path != null && image2Path != null) const SizedBox(width: 2), + _buildImage(image2Path), + ], + ), + ), + const SizedBox(width: 10), + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + title, + style: const TextStyle(fontSize: 20, fontWeight: FontWeight.bold), + maxLines: null, + ), + Text( + subtitle, + style: const TextStyle(fontSize: 16), + maxLines: null, + ), + ], + ), + ), + ], + ); + } +} + +/* +class CustomWidget_old extends StatelessWidget { final Image? image1; final Image? image2; final String title; @@ -152,3 +285,4 @@ class CustomWidget extends StatelessWidget { ); } } +*/ \ No newline at end of file diff --git a/lib/pages/index/index_binding.dart b/lib/pages/index/index_binding.dart index 3d4d69c..1bf2878 100644 --- a/lib/pages/index/index_binding.dart +++ b/lib/pages/index/index_binding.dart @@ -3,12 +3,18 @@ import 'package:gifunavi/pages/destination/destination_controller.dart'; import 'package:gifunavi/pages/index/index_controller.dart'; import 'package:gifunavi/utils/location_controller.dart'; +import '../../services/api_service.dart'; + class IndexBinding extends Bindings { @override void dependencies() { - Get.lazyPut(() => IndexController()); - //Get.put(IndexController()); - Get.put(LocationController()); - Get.put(DestinationController()); + //Get.lazyPut(() => IndexController()); + ////Get.put(IndexController()); + //Get.put(LocationController()); + //Get.put(DestinationController()); + + Get.put(IndexController(apiService: Get.find()), permanent: true); + Get.put(LocationController(), permanent: true); + Get.put(DestinationController(), permanent: true); } } diff --git a/lib/pages/index/index_controller.dart b/lib/pages/index/index_controller.dart index aa43b9b..7b934ae 100644 --- a/lib/pages/index/index_controller.dart +++ b/lib/pages/index/index_controller.dart @@ -1,4 +1,5 @@ import 'dart:async'; +import 'dart:io'; import 'package:connectivity_plus/connectivity_plus.dart'; import 'package:flutter/material.dart'; @@ -31,6 +32,8 @@ import 'package:gifunavi/widgets/helper_dialog.dart'; import 'package:timezone/timezone.dart' as tz; import 'package:timezone/data/latest.dart' as tz; +import '../permission/permission.dart'; + class IndexController extends GetxController with WidgetsBindingObserver { List locations = [].obs; List currentFeature = [].obs; @@ -68,9 +71,14 @@ class IndexController extends GetxController with WidgetsBindingObserver { String? userToken; //late final ApiService _apiService; - final ApiService _apiService = Get.find(); + final ApiService _apiService; // = Get.find(); final DatabaseHelper _dbHelper = DatabaseHelper.instance; + IndexController({ + required ApiService apiService, + }) : _apiService = apiService; + + // mode = 0 is map mode, mode = 1 list mode var mode = 0.obs; @@ -235,6 +243,10 @@ class IndexController extends GetxController with WidgetsBindingObserver { initConnectivity(); _connectivitySubscription = _connectivity.onConnectivityChanged.listen(_updateConnectionStatus); + WidgetsBinding.instance.addPostFrameCallback((_) async { + await PermissionController.checkAndRequestPermissions(); + }); + WidgetsBinding.instance.addObserver(this); _startLocationService(); // アプリ起動時にLocationServiceを開始する @@ -263,10 +275,10 @@ class IndexController extends GetxController with WidgetsBindingObserver { connectionStatusName.value = "WiFi"; break; case ConnectivityResult.mobile: - connectionStatusName.value = "モバイルデータ"; + connectionStatusName.value = "mobile"; break; case ConnectivityResult.none: - connectionStatusName.value = "オフライン"; + connectionStatusName.value = "offline"; break; default: connectionStatusName.value = "不明"; @@ -352,22 +364,53 @@ class IndexController extends GetxController with WidgetsBindingObserver { } void _startLocationService() async { - const platform = MethodChannel('location'); - try { - logManager.addOperationLog("Called start location service."); - await platform.invokeMethod('startLocationService'); - } on PlatformException catch (e) { - print("Failed to start location service: '${e.message}'."); + if (Platform.isAndroid) { + const platform = MethodChannel('location'); + try { + logManager.addOperationLog("Called start location service."); + await platform.invokeMethod('startLocationService'); + } on PlatformException catch (e) { + print("Failed to start location service: '${e.message}'."); + } + }else if (Platform.isIOS) { + // iOSの位置情報サービス開始ロジック + // 例: geolocatorプラグインを使用する場合 + try { + bool serviceEnabled = await Geolocator.isLocationServiceEnabled(); + if (!serviceEnabled) { + // 位置情報サービスが無効の場合の処理 + return; + } + // 位置情報の権限確認と取得開始 + LocationPermission permission = await Geolocator.checkPermission(); + if (permission == LocationPermission.denied) { + permission = await Geolocator.requestPermission(); + if (permission == LocationPermission.denied) { + // 権限が拒否された場合の処理 + return; + } + } + // 位置情報の取得開始 + Geolocator.getPositionStream().listen((Position position) { + // 位置情報を使用した処理 + }); + } catch (e) { + print('Error starting iOS location service: $e'); + } } } void _stopLocationService() async { - const platform = MethodChannel('location'); - try { - logManager.addOperationLog("Called stop location service."); - await platform.invokeMethod('stopLocationService'); - } on PlatformException catch (e) { - print("Failed to stop location service: '${e.message}'."); + if (Platform.isAndroid) { + const platform = MethodChannel('location'); + try { + logManager.addOperationLog("Called stop location service."); + await platform.invokeMethod('stopLocationService'); + } on PlatformException catch (e) { + print("Failed to stop location service: '${e.message}'."); + } + }else{ + debugPrint("stopLocation for iOS"); } } @@ -433,51 +476,75 @@ class IndexController extends GetxController with WidgetsBindingObserver { // 要検討:エラーハンドリングが行われていますが、エラーメッセージをローカライズすることを検討してください。 // - void login(String email, String password, BuildContext context) async{ - - AuthService.login(email, password).then((value) async { - print("------- logged in user details ######## $value ###### --------"); - if (value.isNotEmpty) { - logManager.addOperationLog("User logged in : $value."); - - // Navigator.pop(context); - print("--------- user details login ----- $value"); - changeUser(value); - - // ログイン成功後、api_serviceを初期化 - await Get.putAsync(() => ApiService().init()); - - // ユーザー情報の完全性をチェック - if (await checkUserInfoComplete()) { - Get.offAllNamed(AppPages.INDEX); - } else { - Get.offAllNamed(AppPages.USER_DETAILS_EDIT); - } - + Future login(String email, String password) async { + try { + final value = await AuthService.login(email, password); + if (value.isNotEmpty && value['token'] != null) { + await changeUser(value); + await _initializeUserData(); + Get.offAllNamed(AppPages.INDEX); } else { - logManager.addOperationLog("User failed login : $email , $password."); - isLoading.value = false; - Get.snackbar( - "login_failed".tr, - "check_login_id_or_password".tr, + Get.snackbar('Login Failed', 'Invalid credentials'); + } + } catch (e) { + print('Login error: $e'); + Get.snackbar('Login Failed', 'An error occurred. Please try again.'); + } + } + + Future _initializeUserData() async { + try { + await fetchUserEventInfo(); + await fetchTeamData(); + // 他の必要なデータ取得処理 + } catch (e) { + print('Error initializing user data: $e'); + Get.snackbar('Error', 'Failed to load user data. Please try again.'); + } + } + + + Future login_old(String email, String password, BuildContext context) async{ + + try { + AuthService.login(email, password).then((value) async { + print("------- logged in user details ######## $value ###### --------"); + if (value.isNotEmpty && value['token']!=null) { + logManager.addOperationLog("User logged in : $value."); + + // Navigator.pop(context); + print("--------- user details login ----- $value"); + // ログイン成功後、api_serviceを初期化 + await Get.putAsync(() => ApiService().init()); + + // ユーザー情報の完全性をチェック + if (await checkUserInfoComplete()) { + Get.offAllNamed(AppPages.INDEX); + } else { + Get.offAllNamed(AppPages.USER_DETAILS_EDIT); + } + } else { + logManager.addOperationLog("User failed login : $email , $password."); + isLoading.value = false; + Get.snackbar( + "login_failed".tr, + "check_login_id_or_password".tr, backgroundColor: Colors.red, colorText: Colors.white, icon: const Icon(Icons.error, size: 40.0, color: Colors.blue), - snackPosition: SnackPosition.TOP, - duration: const Duration(seconds: 3), - //backgroundColor: Colors.yellow, - //icon:Image(image:AssetImage("assets/images/dora.png")) - ); - } - }); + snackPosition: SnackPosition.TOP, + duration: const Duration(seconds: 3), + //backgroundColor: Colors.yellow, + //icon:Image(image:AssetImage("assets/images/dora.png")) + ); + } + }); + } catch(e ){ + print('Login error: $e'); + Get.snackbar('Login Failed', 'An error occurred. Please try again.'); + } } - Future checkUserInfoComplete() async { - final user = await ApiService.to.getCurrentUser(); - return user.firstname.isNotEmpty && - user.lastname.isNotEmpty && - user.dateOfBirth != null; - } // 要検討:エラーハンドリングが行われていますが、エラーメッセージをローカライズすることを検討してください。 // @@ -532,12 +599,12 @@ class IndexController extends GetxController with WidgetsBindingObserver { } */ - void logout() async { + Future logout() async { logManager.addOperationLog("User logout : $currentUser ."); saveGameState(); locations.clear(); DatabaseHelper db = DatabaseHelper.instance; - db.deleteAllDestinations().then((value) { + db.deleteAllDestinationsExceptTodayCheckins().then((value) { DestinationController destinationController = Get.find(); destinationController.populateDestinations(); @@ -619,28 +686,48 @@ class IndexController extends GetxController with WidgetsBindingObserver { } */ - void changeUser(Map value, {bool replace = true}) async{ - currentUser.clear(); - currentUser.add(value); - if (replace) { - saveToDevice(currentUser[0]["token"]); + Future changeUser(Map value, {bool replace = true}) async{ + try { + if (value['user'] == null || value['token'] == null) { + throw Exception('Invalid user data'); + } + currentUser.clear(); + currentUser.add(value); + if (replace) { + saveToDevice(currentUser[0]["token"]); + } + isLoading.value = false; + + // ユーザーのイベント情報を取得 + await fetchUserEventInfo(); + + loadLocationsBound(currentUser[0]["user"]["event_code"]); + if (currentUser.isNotEmpty) { + rogMode.value = 0; + restoreGame(); + + // チームデータを取得 + await fetchTeamData(); + } else { + rogMode.value = 1; + } + Get.toNamed(AppPages.INDEX); + } catch( e ){ + print('Error in changeUser: $e'); + Get.snackbar('Error', 'Failed to update user information'); } - isLoading.value = false; + } - // ユーザーのイベント情報を取得 - await fetchUserEventInfo(); - - loadLocationsBound( currentUser[0]["user"]["event_code"]); - if (currentUser.isNotEmpty) { - rogMode.value = 0; - restoreGame(); - - // チームデータを取得 - await fetchTeamData(); - } else { - rogMode.value = 1; + Future checkUserInfoComplete() async { + try { + final user = await ApiService.to.getCurrentUser(); + return user.firstname.isNotEmpty && + user.lastname.isNotEmpty && + user.dateOfBirth != null; + } catch (e) { + print('Error checking user info: $e'); + return false; } - Get.toNamed(AppPages.INDEX); } Future fetchUserEventInfo() async { @@ -697,7 +784,7 @@ class IndexController extends GetxController with WidgetsBindingObserver { Future fetchTeamData() async { try { - Get.put(TeamController()); + Get.put(TeamController(apiService:Get.find())); // \"TeamController\" not found. You need to call \"Get.put(TeamController())\" or \"Get.lazyPut(()=>TeamController())\" final teamController = Get.find(); await teamController.fetchTeams(); @@ -945,7 +1032,7 @@ class IndexController extends GetxController with WidgetsBindingObserver { Future checkEntryData() async { // エントリーデータの有無をチェックするロジック - final teamController = TeamController(); + final teamController = TeamController(apiService:Get.find()); bool hasEntryData = teamController.checkIfUserHasEntryData(); if (!hasEntryData) { await showHelperDialog( diff --git a/lib/pages/index/index_page.dart b/lib/pages/index/index_page.dart index 883e45d..4813a16 100644 --- a/lib/pages/index/index_page.dart +++ b/lib/pages/index/index_page.dart @@ -38,10 +38,21 @@ class _IndexPageState extends State { super.initState(); WidgetsBinding.instance.addPostFrameCallback((_) { //checkLoginAndShowDialog(); + //checkEventAndNavigate(); }); } - void checkLoginAndShowDialog() { + void checkEventAndNavigate() async { + if (indexController.currentUser.isNotEmpty && + indexController.currentUser[0]["user"]["event_code"] == null) { + // イベントコードがない場合、EVENT_ENTRYページに遷移 + await Get.toNamed(AppPages.EVENT_ENTRY); + // EVENT_ENTRYページから戻ってきた後に警告を表示 + _showEventSelectionWarning(); + } + } + + void checkLoginAndShowDialog() async { if (indexController.currentUser.isEmpty) { showDialog( context: context, @@ -78,9 +89,30 @@ class _IndexPageState extends State { ); }, ); + }else{ + if(indexController.currentUser[0]["user"]["event_code"] == null) { + // イベントコードがない場合、EVENT_ENTRYページに遷移 + await Get.toNamed(AppPages.EVENT_ENTRY); + // EVENT_ENTRYページから戻ってきた後に警告を表示 + _showEventSelectionWarning(); + } } } + void _showEventSelectionWarning() { + Get.dialog( + AlertDialog( + title: Text('警告'), + content: Text('イベントを選択してください。'), + actions: [ + TextButton( + child: Text('OK'), + onPressed: () => Get.back(), + ), + ], + ), + ); + } // class IndexPage extends GetView { // IndexPage({Key? key}) : super(key: key); diff --git a/lib/pages/login/login_page.dart b/lib/pages/login/login_page.dart index c02aa6e..729ce3e 100644 --- a/lib/pages/login/login_page.dart +++ b/lib/pages/login/login_page.dart @@ -119,8 +119,7 @@ class _LoginPageState extends State { body: GestureDetector( onTap: () => FocusScope.of(context).unfocus(), child: indexController.currentUser.isEmpty - ? SizedBox( - width: double.infinity, + ? SingleChildScrollView( child: Column( mainAxisAlignment: MainAxisAlignment.start, children: [ @@ -216,8 +215,8 @@ class _LoginPageState extends State { true; indexController.login( emailController.text, - passwordController.text, - context); + passwordController.text + ); }, color: Colors.indigoAccent[400], shape: RoundedRectangleBorder( @@ -271,37 +270,34 @@ class _LoginPageState extends State { ), ], ), - Row( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Flexible( - child: Padding( - padding: const EdgeInsets.all(8.0), + + Padding( + padding: const EdgeInsets.all(8.0), + child: Row( + children: [ + Expanded( child: Text( "app_developed_by_gifu_dx".tr, - style: const TextStyle( - overflow: TextOverflow.ellipsis, - fontSize: 10.0), + style: const TextStyle(fontSize: 10.0), + textAlign: TextAlign.center, ), ), - ), - ], + ], + ), ), - const Row( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Flexible( - child: Padding( - padding: EdgeInsets.all(8.0), + Padding( + padding: const EdgeInsets.all(8.0), + child: Row( + children: [ + Expanded( child: Text( "※第8回と第9回は、岐阜県の令和5年度「清流の国ぎふ」SDGs推進ネットワーク連携促進補助金を受けています", - style: TextStyle( - fontSize: 10.0, - ), + style: const TextStyle(fontSize: 10.0), + textAlign: TextAlign.center, ), ), - ), - ], + ], + ), ), ], ), diff --git a/lib/pages/login_popup/login_popup_page.dart b/lib/pages/login_popup/login_popup_page.dart index 5bba4f1..6f132b1 100644 --- a/lib/pages/login_popup/login_popup_page.dart +++ b/lib/pages/login_popup/login_popup_page.dart @@ -120,8 +120,8 @@ class LoginPopupPage extends StatelessWidget { true; indexController.login( emailController.text, - passwordController.text, - context); + passwordController.text + ); }, color: Colors.indigoAccent[400], shape: RoundedRectangleBorder( diff --git a/lib/pages/permission/permission.dart b/lib/pages/permission/permission.dart index 637bc51..073b935 100644 --- a/lib/pages/permission/permission.dart +++ b/lib/pages/permission/permission.dart @@ -1,3 +1,5 @@ +import 'dart:io'; + import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:get/get.dart'; @@ -10,15 +12,6 @@ class PermissionController { static bool _isRequestingPermission = false; static Completer? _permissionCompleter; - static Future checkLocationPermissions() async { - final locationPermission = await Permission.location.status; - final whenInUsePermission = await Permission.locationWhenInUse.status; - final alwaysPermission = await Permission.locationAlways.status; - - return locationPermission == PermissionStatus.granted && - (whenInUsePermission == PermissionStatus.granted || alwaysPermission == PermissionStatus.granted); - } - static Future checkAndRequestPermissions() async { if (_isRequestingPermission) { return _permissionCompleter!.future; @@ -27,13 +20,119 @@ class PermissionController { _isRequestingPermission = true; _permissionCompleter = Completer(); - bool hasPermissions = await checkLocationPermissions(); + try { + bool hasPermissions = await _checkLocationPermissions(); + if (!hasPermissions) { + bool userAgreed = await showLocationDisclosure(); + if (userAgreed) { + if (Platform.isAndroid && !await _isAndroid13OrAbove()) { + hasPermissions = await _requestAndroidPreS(); + } else { + hasPermissions = await _requestAllLocationPermissions(); + } + } else { + print('User did not agree to location usage'); + hasPermissions = false; + SystemNavigator.pop(); + } + } + + _isRequestingPermission = false; + _permissionCompleter!.complete(hasPermissions); + } catch (e) { + print('Error in permission request: $e'); + _isRequestingPermission = false; + _permissionCompleter!.complete(false); + } + + return _permissionCompleter!.future; + } + + static Future _checkLocationPermissions() async { + final locationPermission = await Permission.location.status; + final whenInUsePermission = await Permission.locationWhenInUse.status; + final alwaysPermission = await Permission.locationAlways.status; + + return locationPermission == PermissionStatus.granted && + (whenInUsePermission == PermissionStatus.granted || alwaysPermission == PermissionStatus.granted); + + } + + static Future _requestAllLocationPermissions() async { + await Permission.location.request(); + await Permission.locationWhenInUse.request(); + final alwaysStatus = await Permission.locationAlways.request(); + + return alwaysStatus == PermissionStatus.granted; + } + + static Future _requestAndroidPreS() async { + await Permission.location.request(); + await Permission.locationWhenInUse.request(); + + // Android 13以前では、ユーザーに設定画面で権限を許可するように促す + await showDialog( + context: Get.context!, + builder: (context) => AlertDialog( + title: Text('バックグラウンド位置情報の許可'), + content: Text('アプリの設定画面で「常に許可」を選択してください。'), + actions: [ + TextButton( + child: Text('設定を開く'), + onPressed: () { + openAppSettings(); + Navigator.of(context).pop(); + }, + ), + ], + ), + ); + + // 設定画面から戻ってきた後、再度権限をチェック + return await Permission.locationAlways.isGranted; + } + + static Future _isAndroid13OrAbove() async { + if (Platform.isAndroid) { + final androidVersion = int.tryParse(Platform.operatingSystemVersion.split('.').first) ?? 0; + return androidVersion >= 13; + } + return false; + } + + + static Future checkLocationPermissions_old() async { + final locationPermission = await Permission.location.status; + if (locationPermission.isDenied) { + await showLocationDisclosure(); + final result = await Permission.location.request(); + if (result.isDenied) { + await openAppSettings(); + } + } + + final whenInUsePermission = await Permission.locationWhenInUse.status; + final alwaysPermission = await Permission.locationAlways.status; + + return locationPermission == PermissionStatus.granted && + (whenInUsePermission == PermissionStatus.granted || alwaysPermission == PermissionStatus.granted); + } + + static Future checkAndRequestPermissions_old() async { + if (_isRequestingPermission) { + return _permissionCompleter!.future; + } + + _isRequestingPermission = true; + _permissionCompleter = Completer(); + + bool hasPermissions = await _checkLocationPermissions(); if (!hasPermissions) { bool userAgreed = await showLocationDisclosure(); if (userAgreed) { try { await requestAllLocationPermissions(); - hasPermissions = await checkLocationPermissions(); + hasPermissions = await _checkLocationPermissions(); } catch (e) { print('Error requesting location permissions: $e'); hasPermissions = false; @@ -48,6 +147,8 @@ class PermissionController { _isRequestingPermission = false; _permissionCompleter!.complete(hasPermissions); + + debugPrint("Finish checkAndRequestPermissions..."); return _permissionCompleter!.future; } @@ -67,35 +168,51 @@ class PermissionController { } static Future showLocationDisclosure() async { - return await Get.dialog( - AlertDialog( - title: const Text('位置情報の使用について'), - content: const SingleChildScrollView( - child: ListBody( - children: [ - Text('このアプリでは、以下の目的で位置情報を使用します:'), - Text('• チェックポイントの自動チェックイン(アプリが閉じているときも含む)'), - Text('• 移動履歴の記録(バックグラウンドでも継続)'), - Text('• 現在地周辺の情報表示'), - Text('\nバックグラウンドでも位置情報を継続的に取得します。'), - Text('これにより、バッテリーの消費が増加する可能性があります。'), - Text('同意しない場合には、アプリは終了します。'), - ], + if (Get.context == null) { + print('Context is null, cannot show dialog'); + return false; + } + if (Get.isDialogOpen ?? false) { + print('A dialog is already open'); + return false; + } + + try { + final result = await Get.dialog( + AlertDialog( + title: const Text('位置情報の使用について'), + content: const SingleChildScrollView( + child: ListBody( + children: [ + Text('このアプリでは、以下の目的で位置情報を使用します:'), + Text( + '• チェックポイントの自動チェックイン(アプリが閉じているときも含む)'), + Text('• 移動履歴の記録(バックグラウンドでも継続)'), + Text('• 現在地周辺の情報表示'), + Text('\nバックグラウンドでも位置情報を継続的に取得します。'), + Text('これにより、バッテリーの消費が増加する可能性があります。'), + Text('同意しない場合には、アプリは終了します。'), + ], + ), ), + actions: [ + TextButton( + child: const Text('同意しない'), + onPressed: () => Get.back(result: false), + ), + TextButton( + child: const Text('同意する'), + onPressed: () => Get.back(result: true), + ), + ], ), - actions: [ - TextButton( - child: const Text('同意しない'), - onPressed: () => Get.back(result: false), - ), - TextButton( - child: const Text('同意する'), - onPressed: () => Get.back(result: true), - ), - ], - ), - barrierDismissible: false, - ) ?? false; + barrierDismissible: false, + ); + return result ?? false; + }catch(e){ + print('Dialog error: $e'); + return false; + } } static void showPermissionDeniedDialog(String title,String message) { diff --git a/lib/pages/team/member_binding.dart b/lib/pages/team/member_binding.dart index b06e7d2..5d671ba 100644 --- a/lib/pages/team/member_binding.dart +++ b/lib/pages/team/member_binding.dart @@ -2,6 +2,8 @@ import 'package:get/get.dart'; import 'package:gifunavi/pages/team/member_controller.dart'; import 'package:gifunavi/services/api_service.dart'; +import '../index/index_controller.dart'; + class MemberBinding extends Bindings { @override void dependencies() { diff --git a/lib/pages/team/team_binding.dart b/lib/pages/team/team_binding.dart index e41d819..a91a557 100644 --- a/lib/pages/team/team_binding.dart +++ b/lib/pages/team/team_binding.dart @@ -2,10 +2,15 @@ import 'package:get/get.dart'; import 'package:gifunavi/pages/team/team_controller.dart'; import 'package:gifunavi/services/api_service.dart'; +//import '../entry/entry_controller.dart'; +import '../index/index_controller.dart'; + class TeamBinding extends Bindings { @override void dependencies() { Get.lazyPut(() => ApiService()); - Get.lazyPut(() => TeamController()); + Get.lazyPut(() => TeamController( + apiService:Get.find()) + ); } } \ No newline at end of file diff --git a/lib/pages/team/team_controller.dart b/lib/pages/team/team_controller.dart index cae0cf8..9417baf 100644 --- a/lib/pages/team/team_controller.dart +++ b/lib/pages/team/team_controller.dart @@ -15,8 +15,14 @@ import 'package:gifunavi/model/event.dart'; class TeamController extends GetxController { - late final ApiService _apiService; - late final EntryController _entryController; + final ApiService _apiService; + //final EntryController _entryController; + + TeamController({ + required ApiService apiService, + //required EntryController entryController, + }) : _apiService = apiService; + //_entryController = entryController; final teams = [].obs; final categories = [].obs; @@ -35,12 +41,12 @@ class TeamController extends GetxController { void onInit() async { super.onInit(); try { - _apiService = Get.find(); + //_apiService = Get.find(); - if (!Get.isRegistered()) { - Get.put(EntryController()); - } - _entryController = Get.find(); + //if (!Get.isRegistered()) { + // Get.put(EntryController()); + //} + //_entryController = Get.find(); await loadInitialData(); } catch (e) { diff --git a/lib/services/api_service.dart b/lib/services/api_service.dart index 243943e..94be685 100644 --- a/lib/services/api_service.dart +++ b/lib/services/api_service.dart @@ -9,6 +9,7 @@ import 'package:gifunavi/model/team.dart'; import 'package:gifunavi/model/category.dart'; import 'package:gifunavi/model/user.dart'; import 'package:gifunavi/pages/index/index_controller.dart'; +import '../routes/app_pages.dart'; import '../utils/const.dart'; import 'package:intl/intl.dart'; @@ -22,11 +23,15 @@ class ApiService extends GetxService{ Future init() async { try { + //if (!Get.isRegistered()) { + // Get.put(IndexController(apiService: Get.find())); + //} + // ここで必要な初期化処理を行う serverUrl = ConstValues.currentServer(); baseUrl = '$serverUrl/api'; //await Future.delayed(Duration(seconds: 2)); // 仮の遅延(実際の初期化処理に置き換えてください) - print('ApiService initialized successfully'); + print('ApiService initialized successfully . baseUrl = $baseUrl'); return this; } catch(e) { print('Error in ApiService initialization: $e'); @@ -47,11 +52,13 @@ class ApiService extends GetxService{ 注意点として、API のレスポンス形式が変更された場合や、新しいフィールドが追加された場合は、このメソッドも更新する必要があります。そのため、API の変更とクライアントサイドのコードの同期を保つことが重要です。 */ - String getToken() + Future getToken2 () async { // IndexControllerの初期化を待つ + if (!Get.isRegistered()) { + Get.find(); + } final indexController = Get.find(); - if (indexController.currentUser.isNotEmpty) { token = indexController.currentUser[0]['token'] ?? ''; print("Get token = $token"); @@ -61,11 +68,61 @@ class ApiService extends GetxService{ return token; } + String getToken() + { + // IndexControllerの初期化を待つ + if (!Get.isRegistered()) { + Get.find(); + } + final indexController = Get.find(); + if (indexController.currentUser.isNotEmpty) { + token = indexController.currentUser[0]['token'] ?? ''; + print("Get token = $token"); + }else{ + token = ""; + } + return token; + } + + Future _handleRequest(Future Function() request) async { + try { + final response = await request(); + if (response.statusCode == 200) { + return json.decode(utf8.decode(response.bodyBytes)); + } else if (response.statusCode == 401) { + await _handleUnauthorized(); + throw Exception('Authentication failed. Please log in again.'); + } else { + throw Exception('Request failed with status: ${response.statusCode}'); + } + } catch (e) { + print('API request error: $e'); + rethrow; + } + } + + Future _handleUnauthorized() async { + // トークンをクリアし、ユーザーをログアウトさせる + final indexController = Get.find(); + await indexController.logout(); + Get.offAllNamed(AppPages.LOGIN); + } + Future> getTeams() async { + final token = await getToken2(); + return _handleRequest(() => http.get( + Uri.parse('$baseUrl/teams/'), + headers: {'Authorization': 'Token $token', "Content-Type": "application/json; charset=UTF-8"}, + )).then((data) => (data as List).map((json) => Team.fromJson(json)).toList()); + } + + + Future> getTeams_old() async { init(); - getToken(); + final token = await getToken2(); try { + final response = await http.get( Uri.parse('$baseUrl/teams/'), headers: {'Authorization': 'Token $token',"Content-Type": "application/json; charset=UTF-8"}, @@ -136,6 +193,14 @@ class ApiService extends GetxService{ } Future getZekkenNumber(int categoryId) async { + final token = await getToken2(); + return _handleRequest(() => http.post( + Uri.parse('$baseUrl/categories-viewset/$categoryId/get_zekken_number/'), + headers: {'Authorization': 'Token $token', "Content-Type": "application/json; charset=UTF-8"}, + )).then((data) => NewCategory.fromJson(data)); + } + + Future getZekkenNumber_old(int categoryId) async { try { final response = await http.post( Uri.parse('$baseUrl/categories-viewset/$categoryId/get_zekken_number/'), @@ -157,7 +222,7 @@ class ApiService extends GetxService{ Future getCurrentUser() async { init(); - getToken(); + final token = getToken(); try { final response = await http.get( @@ -174,6 +239,13 @@ class ApiService extends GetxService{ //_printDataComparison(jsonData, User); return User.fromJson(jsonData); + } else if (response.statusCode == 401) { + // トークンが無効な場合、ログアウトしてログインページにリダイレクト + await Get.find().logout(); + //indexController.logout(); + Get.offAllNamed(AppPages.LOGIN); + throw Exception('Authentication failed. Please log in again.'); + } else { throw Exception('Failed to get current user. Status code: ${response.statusCode}'); } @@ -244,6 +316,15 @@ class ApiService extends GetxService{ } Future createTeam(String teamName, int categoryId) async { + final token = await getToken2(); + return _handleRequest(() => http.post( + Uri.parse('$baseUrl/teams/'), + headers: {'Authorization': 'Token $token', "Content-Type": "application/json; charset=UTF-8"}, + body: json.encode({'team_name': teamName, 'category': categoryId}), + )).then((data) => Team.fromJson(data)); + } + + Future createTeam_old(String teamName, int categoryId) async { init(); getToken(); @@ -268,6 +349,15 @@ class ApiService extends GetxService{ } Future updateTeam(int teamId, String teamName, int categoryId) async { + final token = await getToken2(); + return _handleRequest(() => http.put( + Uri.parse('$baseUrl/teams/$teamId/'), + headers: {'Authorization': 'Token $token', "Content-Type": "application/json; charset=UTF-8"}, + body: json.encode({'team_name': teamName, 'category': categoryId}), + )).then((data) => Team.fromJson(data)); + } + + Future updateTeam_old(int teamId, String teamName, int categoryId) async { init(); getToken(); @@ -293,6 +383,14 @@ class ApiService extends GetxService{ } Future deleteTeam(int teamId) async { + final token = await getToken2(); + await _handleRequest(() => http.delete( + Uri.parse('$baseUrl/teams/$teamId/'), + headers: {'Authorization': 'Token $token', "Content-Type": "application/json; charset=UTF-8"}, + )); + } + + Future deleteTeamold_(int teamId) async { init(); getToken(); @@ -311,6 +409,14 @@ class ApiService extends GetxService{ } Future> getTeamMembers(int teamId) async { + final token = await getToken2(); + return _handleRequest(() => http.get( + Uri.parse('$baseUrl/teams/$teamId/members/'), + headers: {'Authorization': 'Token $token', "Content-Type": "application/json; charset=UTF-8"}, + )).then((data) => (data as List).map((json) => User.fromJson(json)).toList()); + } + + Future> getTeamMembers_old(int teamId) async { init(); getToken(); @@ -330,7 +436,23 @@ class ApiService extends GetxService{ } } - Future createTeamMember(int teamId, String? email, String? firstname, String? lastname, DateTime? dateOfBirth,bool? female) async { + Future createTeamMember(int teamId, String? email, String? firstname, String? lastname, DateTime? dateOfBirth, bool? female) async { + final token = await getToken2(); + String? formattedDateOfBirth = dateOfBirth != null ? DateFormat('yyyy-MM-dd').format(dateOfBirth) : null; + return _handleRequest(() => http.post( + Uri.parse('$baseUrl/teams/$teamId/members/'), + headers: {'Authorization': 'Token $token', "Content-Type": "application/json; charset=UTF-8"}, + body: json.encode({ + 'email': email, + 'firstname': firstname, + 'lastname': lastname, + 'date_of_birth': formattedDateOfBirth, + 'female': female, + }), + )).then((data) => User.fromJson(data)); + } + + Future createTeamMember_old(int teamId, String? email, String? firstname, String? lastname, DateTime? dateOfBirth,bool? female) async { init(); getToken(); @@ -370,7 +492,22 @@ class ApiService extends GetxService{ } } - Future updateTeamMember(int teamId,int? memberId, String firstname, String lastname, DateTime? dateOfBirth,bool? female) async { + Future updateTeamMember(int teamId, int? memberId, String firstname, String lastname, DateTime? dateOfBirth, bool? female) async { + final token = await getToken2(); + String? formattedDateOfBirth = dateOfBirth != null ? DateFormat('yyyy-MM-dd').format(dateOfBirth) : null; + return _handleRequest(() => http.put( + Uri.parse('$baseUrl/teams/$teamId/members/$memberId/'), + headers: {'Authorization': 'Token $token', "Content-Type": "application/json; charset=UTF-8"}, + body: json.encode({ + 'firstname': firstname, + 'lastname': lastname, + 'date_of_birth': formattedDateOfBirth, + 'female': female, + }), + )).then((data) => User.fromJson(data)); + } + + Future updateTeamMember_old(int teamId,int? memberId, String firstname, String lastname, DateTime? dateOfBirth,bool? female) async { init(); getToken(); @@ -401,7 +538,15 @@ class ApiService extends GetxService{ } } - Future deleteTeamMember(int teamId,int memberId) async { + Future deleteTeamMember(int teamId, int memberId) async { + final token = await getToken2(); + await _handleRequest(() => http.delete( + Uri.parse('$baseUrl/teams/$teamId/members/$memberId/'), + headers: {'Authorization': 'Token $token', "Content-Type": "application/json; charset=UTF-8"}, + )); + } + + Future deleteTeamMember_old(int teamId,int memberId) async { init(); getToken(); @@ -442,6 +587,14 @@ class ApiService extends GetxService{ } Future> getEntries() async { + final token = await getToken2(); + return _handleRequest(() => http.get( + Uri.parse('$baseUrl/entry/'), + headers: {'Authorization': 'Token $token', "Content-Type": "application/json; charset=UTF-8"}, + )).then((data) => (data as List).map((json) => Entry.fromJson(json)).toList()); + } + + Future> getEntries_old() async { init(); getToken(); @@ -500,7 +653,23 @@ class ApiService extends GetxService{ } } - Future createEntry(int teamId, int eventId, int categoryId, DateTime date,String zekkenNumber) async { + Future createEntry(int teamId, int eventId, int categoryId, DateTime date, String zekkenNumber) async { + final token = await getToken2(); + String formattedDate = DateFormat('yyyy-MM-dd').format(date); + return _handleRequest(() => http.post( + Uri.parse('$baseUrl/entry/'), + headers: {'Authorization': 'Token $token', "Content-Type": "application/json; charset=UTF-8"}, + body: json.encode({ + 'team': teamId, + 'event': eventId, + 'category': categoryId, + 'date': formattedDate, + 'zekken_number': zekkenNumber, + }), + )).then((data) => Entry.fromJson(data)); + } + + Future createEntry_old(int teamId, int eventId, int categoryId, DateTime date,String zekkenNumber) async { init(); getToken(); @@ -529,11 +698,28 @@ class ApiService extends GetxService{ } else { final decodedResponse = utf8.decode(response.bodyBytes); print("decodedResponse = $decodedResponse"); - throw Exception('Failed to create entry'); + final errorInfo = json.decode(decodedResponse); + throw Exception(errorInfo['error']); } } Future updateUserInfo(int userId, Entry entry) async { + final token = await getToken2(); + String formattedDate = DateFormat('yyyy-MM-dd').format(entry.date!); + await _handleRequest(() => http.put( + Uri.parse('$baseUrl/userinfo/$userId/'), + headers: {'Authorization': 'Token $token', "Content-Type": "application/json; charset=UTF-8"}, + body: json.encode({ + 'zekken_number': entry.zekkenNumber, + 'event_code': entry.event.eventName, + 'group': entry.team.category.categoryName, + 'team_name': entry.team.teamName, + 'date': formattedDate, + }), + )); + } + + Future updateUserInfo_old(int userId, Entry entry) async { init(); getToken(); @@ -598,7 +784,10 @@ class ApiService extends GetxService{ final decodedResponse = utf8.decode(response.bodyBytes); final blk = json.decode(decodedResponse); - throw Exception('Failed to update entry'); + Map error_dict = blk[0]['error']; + String ? error_message = error_dict['non_field_errors'][0].string; + + throw Exception(error_message); } } diff --git a/lib/services/external_service.dart b/lib/services/external_service.dart index 4235c8f..3b5b6ca 100644 --- a/lib/services/external_service.dart +++ b/lib/services/external_service.dart @@ -51,8 +51,8 @@ class ExternalService { //print("--- _team : ${_team}-----"); String eventCode = indexController.currentUser[0]["user"]["event_code"]; - if (indexController.connectionStatusName.value != "wifi" && - indexController.connectionStatusName.value != "mobile") { + if (indexController.connectionStatusName.value.toLowerCase() != "wifi" && + indexController.connectionStatusName.value.toLowerCase() != "mobile") { debugPrint("== No network =="); DatabaseHelper db = DatabaseHelper.instance; Rog rog = Rog( @@ -114,8 +114,8 @@ class ExternalService { //int teamId = indexController.teamController.teams[0]; - if (indexController.connectionStatusName.value != "wifi" && - indexController.connectionStatusName.value != "mobile") { + if (indexController.connectionStatusName.value.toLowerCase() != "wifi" && + indexController.connectionStatusName.value.toLowerCase() != "mobile") { debugPrint("== checkin without network =="); DatabaseHelper db = DatabaseHelper.instance; @@ -326,8 +326,8 @@ class ExternalService { //print("--- _team : ${_team}-----"); String eventCode = indexController.currentUser[0]["user"]["event_code"]; - if (indexController.connectionStatusName.value != "wifi" && - indexController.connectionStatusName.value != "mobile") { + if (indexController.connectionStatusName.value.toLowerCase() != "wifi" && + indexController.connectionStatusName.value.toLowerCase() != "mobile") { return Future.value(false); } else { String serverUrl = ConstValues.currentServer(); @@ -376,8 +376,8 @@ class ExternalService { List gpsDataList = []; - if (indexController.connectionStatusName.value != "wifi" && - indexController.connectionStatusName.value != "mobile") { + if (indexController.connectionStatusName.value.toLowerCase() != "wifi" && + indexController.connectionStatusName.value.toLowerCase() != "mobile") { return Future.value(false); } else { // Step 1: Fetch data from the local database diff --git a/lib/utils/database_helper.dart b/lib/utils/database_helper.dart index 08b22f2..05e53e2 100644 --- a/lib/utils/database_helper.dart +++ b/lib/utils/database_helper.dart @@ -13,6 +13,11 @@ class DatabaseHelper { static Database? _database; Future get database async => _database ??= await _initDatabase(); + // データベース初期化: + // + // シングルトンパターンを使用してDatabaseHelperのインスタンスを管理しています。 + // _initDatabase()メソッドでデータベースを初期化し、必要なテーブルを作成します。 + // Future _initDatabase() async { Directory documentDirectory = await getApplicationDocumentsDirectory(); String path = join(documentDirectory.path, 'rog.db'); @@ -30,7 +35,10 @@ class DatabaseHelper { onCreate: _onCreate); } + // DBを初期化する際に、必要なテーブルを作成します。 + // Future _onCreate(Database db, int version) async { + // destinationテーブル: 目的地の情報を保存(位置、名前、住所、連絡先情報など)。 await db.execute(''' CREATE TABLE destination( location_id INTEGER PRIMARY KEY, @@ -63,6 +71,7 @@ class DatabaseHelper { ) '''); + // rogainingテーブル: ロゲイニング(orienteering的なアクティビティ)の記録を保存。 await db.execute(''' CREATE TABLE rogaining( rog_id INTEGER PRIMARY KEY AUTOINCREMENT, @@ -76,6 +85,7 @@ class DatabaseHelper { ) '''); + // rogテーブル: ロゲイニングのチェックポイント情報を保存。 await db.execute(''' CREATE TABLE rog( id INTEGER PRIMARY KEY AUTOINCREMENT, @@ -138,6 +148,22 @@ class DatabaseHelper { await db.delete('rog'); } + Future deleteAllRogainingExceptToday() async { + Database db = await instance.database; + + // 今日の開始時刻をエポックミリ秒で取得 + final now = DateTime.now(); + final startOfDay = DateTime(now.year, now.month, now.day).millisecondsSinceEpoch; + + // 今日チェックインしたもの以外を削除 + await db.delete( + 'rog', + where: 'checkintime < ?', + whereArgs: [startOfDay] + ); + } + + Future isRogAlreadyAvailable(int id) async { Database db = await instance.database; var rog = await db.query('rog', where: "id = $id"); @@ -229,6 +255,27 @@ class DatabaseHelper { await db.delete('destination'); } + Future deleteAllDestinationsExceptTodayCheckins() async { + Database db = await instance.database; + + // 今日の開始時刻をエポックからのミリ秒で取得 + final now = DateTime.now(); + final startOfDay = DateTime(now.year, now.month, now.day).millisecondsSinceEpoch; + + // 今日チェックインされ、buy_pointを持つ目的地を除いて全て削除 + await db.rawDelete(''' + DELETE FROM destination + WHERE location_id NOT IN ( + SELECT d.location_id + FROM destination d + JOIN rog r ON d.location_id = r.cp_number + WHERE date(r.checkintime / 1000, 'unixepoch', 'localtime') = date('now', 'localtime') + AND d.buy_point > 0 + AND d.checkedin = 1 + ) + ''', [startOfDay]); + } + Future isAlreadyAvailable(int locationId) async { Database db = await instance.database; var dest = diff --git a/lib/utils/location_controller.dart b/lib/utils/location_controller.dart index dad666d..724b7a6 100644 --- a/lib/utils/location_controller.dart +++ b/lib/utils/location_controller.dart @@ -129,20 +129,25 @@ class LocationController extends GetxController { // 現在位置を調整するメソッドを追加 LatLng? adjustCurrentLocation(Position? position) { - if (position == null) { + if (position == null) { // positionがnullなら、lastValidLocationを使用する。 if( lastValidLocation!=null ) { + debugPrint("== 現在位置なし。最後の位置を使用 =="); //debugPrint("=== adjustCurrentLocation (Position:Null and using LastValidLocation ${lastValidLocation})==="); return LatLng(lastValidLocation!.latitude, lastValidLocation!.longitude); }else { - print("=== adjustCurrentLocation (Position:Null and No LastValidLocation ... )==="); + debugPrint("== 現在位置なし。最後の位置も無し =="); + //print("=== adjustCurrentLocation (Position:Null and No LastValidLocation ... )==="); return null; } //return lastValidLocation ?? LatLng(0, 0); } final signalStrength = getGpsSignalStrength(position); if (signalStrength == 'high' || signalStrength == 'medium') { + debugPrint("== 信号強度 ${signalStrength} ==> 最新位置を使用 =="); //debugPrint("=== adjustCurrentLocation (Position:Get and return Valid location:${position} ... )==="); lastValidLocation = LatLng(position.latitude, position.longitude); + }else{ + debugPrint("== 信号強度 ${signalStrength} ==> 最後の位置を使用 =="); } return lastValidLocation ?? LatLng(lastValidLocation!.latitude, lastValidLocation!.longitude); } @@ -169,10 +174,39 @@ class LocationController extends GetxController { void onInit() { super.onInit(); // Start listening to location updates when the controller is initialized - startPositionStream(); + _initLocationService(); } + Future _initLocationService() async { + try { + bool serviceEnabled; + LocationPermission permission; + + serviceEnabled = await Geolocator.isLocationServiceEnabled(); + if (!serviceEnabled) { + return Future.error('Location services are disabled.'); + } + + permission = await Geolocator.checkPermission(); + if (permission == LocationPermission.denied) { + permission = await Geolocator.requestPermission(); + if (permission == LocationPermission.denied) { + return Future.error('Location permissions are denied'); + } + } + + if (permission == LocationPermission.deniedForever) { + return Future.error( + 'Location permissions are permanently denied, we cannot request permissions.'); + } + + startPositionStream(); + } catch( e ){ + print('Error initializing location service: $e'); + } + } + // 位置情報のストリームを開始するメソッドです。 // 位置情報サービスが有効か確認し、無効な場合はダイアログを表示します。 // 位置情報の権限を確認し、必要な権限がない場合は権限をリクエストします。 @@ -185,7 +219,26 @@ class LocationController extends GetxController { // 2024-4-8 Akira : See 2809 // stopPositionStreamメソッドを追加して、既存のストリームをキャンセルするようにしました。また、ストリームが完了したらnullに設定し、エラー発生時にストリームをキャンセルするようにしました。 // - void startPositionStream() async { + void startPositionStream() { + positionStream = Geolocator.getPositionStream( + locationSettings: const LocationSettings( + accuracy: LocationAccuracy.high, + distanceFilter: 5, //10, 10mから5mに変更 + ), + ).listen((Position position) { + currentPosition.value = position; + //debugPrint("== startPositionStream: ${position} =="); + locationMarkerPositionStreamController.add( + LocationMarkerPosition( + latitude: position.latitude, + longitude: position.longitude, + accuracy: position.accuracy, + ), + ); + }); + } + + void startPositionStream_old() async { // Check for location service and permissions before starting the stream // 位置情報サービスの有効性をチェックし、無効な場合はエラーハンドリングを行います。 // diff --git a/lib/utils/memory_monitor.dart b/lib/utils/memory_monitor.dart new file mode 100644 index 0000000..61f645c --- /dev/null +++ b/lib/utils/memory_monitor.dart @@ -0,0 +1,89 @@ +import 'package:flutter/material.dart'; +import 'package:flutter/rendering.dart'; +import 'package:get/get.dart'; +import 'dart:async'; + +void _performMemoryCleanup() { + //debugPrint('Performing memory cleanup'); + + // キャッシュのクリア + Get.deleteAll(); // GetXを使用している場合、すべてのコントローラをクリア + imageCache.clear(); // 画像キャッシュをクリア + imageCache.clearLiveImages(); // 使用中の画像キャッシュをクリア + + // 大きなオブジェクトの解放 + _clearLargeObjects(); + + // 未使用のリソースの解放 + _releaseUnusedResources(); + + // ガベージコレクションの促進 + _forceGarbageCollection(); + + debugPrint('Memory cleanup completed'); +} + +void _clearLargeObjects() { + // 大きなリストやマップをクリア + // 例: myLargeList.clear(); + // 例: myLargeMap.clear(); +} + +void _releaseUnusedResources() { + // 使用していないストリームのクローズ + // 例: myStream?.close(); + + // 未使用のアニメーションコントローラーの破棄 + // 例: myAnimationController?.dispose(); + + // テキスト編集コントローラーの破棄 + // 例: myTextEditingController?.dispose(); +} + +void _forceGarbageCollection() { + // Dart VMにガベージコレクションを促す + Timer(const Duration(seconds: 1), () { + //debugPrint('Forcing garbage collection'); + // この呼び出しは必ずしもガベージコレクションを即座に実行するわけではありませんが、 + // Dart VMにガベージコレクションの実行を強く促します。 + // ignore: dead_code + bool didRun = false; + assert(() { + didRun = true; + return true; + }()); + if (didRun) { + //debugPrint('Garbage collection forced in debug mode'); + } + }); +} + +// メモリ使用量を監視し、必要に応じてクリーンアップを実行する関数 +void startMemoryMonitoring() { + const Duration checkInterval = Duration(minutes: 5); + Timer.periodic(checkInterval, (Timer timer) { + _checkMemoryUsage(); + }); +} + +void _checkMemoryUsage() async { + // ここでメモリ使用量をチェックするロジックを実装 + // 例えば、プラットフォーム固有の方法でメモリ使用量を取得する + + // 仮の閾値(実際のアプリケーションに応じて調整が必要) + const int memoryThreshold = 100 * 1024 * 1024; // 100 MB + + // 仮のメモリ使用量チェック(実際の実装に置き換える必要があります) + int currentMemoryUsage = await _getCurrentMemoryUsage(); + + if (currentMemoryUsage > memoryThreshold) { + debugPrint('High memory usage detected: $currentMemoryUsage bytes'); + _performMemoryCleanup(); + } +} + +Future _getCurrentMemoryUsage() async { + // プラットフォーム固有のメモリ使用量取得ロジックを実装 + // この例では仮の値を返しています + return 150 * 1024 * 1024; // 仮に150MBとする +} \ No newline at end of file diff --git a/lib/widgets/bottom_sheet_new.dart b/lib/widgets/bottom_sheet_new.dart index 40c552b..ac41767 100644 --- a/lib/widgets/bottom_sheet_new.dart +++ b/lib/widgets/bottom_sheet_new.dart @@ -175,7 +175,12 @@ class BottomSheetNew extends GetView { destinationController.currentLat, destinationController.currentLon), LatLng(cdest.lat!, cdest.lon!)); - // Check conditions to show confirmation dialog + // スタートボタン: + // 表示条件: + // 1. 目的地のCP番号が-1または0の場合 + // 2. ロゲイニングがまだ開始されていない場合(destinationController.isInRog.value == false) + // 3. 最後のゴールから10時間以上経過している場合 + // if (destinationController.isInRog.value == false && (destinationController.distanceToStart() <= 100 || destinationController.isGpsSignalWeak() ) && //追加 Akira 2024-4-5 (destination.cp == -1 || destination.cp == 0 ) && @@ -294,7 +299,15 @@ class BottomSheetNew extends GetView { //print("counted ${destinationController.rogainingCounted.value}"); + // ゴールボタン: + // 表示条件: + // 1. 目的地のCP番号が0、-2、または-1の場合 + // 2. ロゲイニングが開始されている場合(destinationController.rogainingCounted.value == true) + // 3. スタート地点から500m以内にいる場合、または GPS信号が弱い場合 + // 4. ゴール準備完了フラグが立っている場合(DestinationController.ready_for_goal == true) + // }else if (destinationController.rogainingCounted.value == true && + destinationController.isInRog.value == true && // destinationController.distanceToStart() <= 500 && ... GPS信号が弱い時でもOKとする。 (destinationController.distanceToStart() <= 500 || destinationController.isGpsSignalWeak() ) && (destination.cp == 0 || destination.cp == -2 || destination.cp == -1) && @@ -334,7 +347,7 @@ class BottomSheetNew extends GetView { } : null, child: Text( - "finish_rogaining".tr, + "finish_rogaining".tr, // ロゲゴール style: const TextStyle(color: Colors.white), )); @@ -353,6 +366,9 @@ class BottomSheetNew extends GetView { destinationController.isCheckingIn.value = true; // ここを追加 Get.back(); Get.back(); + if(destinationController.isInRog.value==false && destination.cp == -1){ + destinationController.rogainingCounted.value = false; + } await Future.delayed(const Duration(milliseconds: 500)); await destinationController.callforCheckin(destination); destinationController.isCheckingIn.value = false; @@ -371,8 +387,8 @@ class BottomSheetNew extends GetView { }, child: Text( destination.cp == -1 && - destinationController.isInRog.value == false && - destinationController.rogainingCounted.value == false + destinationController.isInRog.value == false //&& + //destinationController.rogainingCounted.value == false ? "ロゲ開始" : destinationController.isInRog.value == true && destination.cp == -1 diff --git a/lib/widgets/game_state_view.dart b/lib/widgets/game_state_view.dart index cee38a7..26432b4 100644 --- a/lib/widgets/game_state_view.dart +++ b/lib/widgets/game_state_view.dart @@ -151,26 +151,23 @@ class _GameStateWidgetState extends State { padding: const EdgeInsets.all(4.0), child: StreamBuilder>( stream: dbService.destinationUpdatesStream, + initialData: const [], // 初期値を設定 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 { + if (snapshot.hasError) { + print('Error: ${snapshot.error}'); return LocationVisitedWidget( count: 0, minimized: !isExpanded, ); } + // データがある場合はそのデータを使用し、ない場合は空のリストを使用 + final destinations = snapshot.data ?? []; + + return LocationVisitedWidget( + count: destinations.length, + minimized: !isExpanded, + ); + }, ), @@ -183,12 +180,12 @@ class _GameStateWidgetState extends State { padding: const EdgeInsets.all(4.0), child: Obx(() => ConnectionStatusIndicator( connectionStatus: (indexController - .connectionStatusName.value == + .connectionStatusName.value.toLowerCase() == "wifi" || indexController - .connectionStatusName.value == + .connectionStatusName.value.toLowerCase() == "mobile") - ? indexController.connectionStatusName.value == + ? indexController.connectionStatusName.value.toLowerCase() == "wifi" ? ConnectionStatus.wifi : ConnectionStatus.mobile diff --git a/lib/widgets/helper_dialog.dart b/lib/widgets/helper_dialog.dart index d0ad208..d873603 100644 --- a/lib/widgets/helper_dialog.dart +++ b/lib/widgets/helper_dialog.dart @@ -26,7 +26,8 @@ class _HelperDialogState extends State { Text('ヘルプ'), ], ), - content: Column( + content: SingleChildScrollView( + child: Column( mainAxisSize: MainAxisSize.min, crossAxisAlignment: CrossAxisAlignment.start, children: [ @@ -42,11 +43,17 @@ class _HelperDialogState extends State { }); }, ), - const Text('この画面を二度と表示しない'), + const Flexible( + child: Text( + 'この画面を二度と表示しない', + overflow: TextOverflow.ellipsis, + ), + ), ], ), ], ), + ), actions: [ TextButton( child: const Text('OK'), @@ -68,6 +75,9 @@ Future showHelperDialog(String message, String screenKey) async { final prefs = await SharedPreferences.getInstance(); final showHelper = prefs.getBool('helper_$screenKey') ?? true; if (showHelper) { - Get.dialog(HelperDialog(message: message, screenKey: screenKey)); + Get.dialog( + HelperDialog(message: message, screenKey: screenKey), + barrierDismissible: false, + ); } } \ No newline at end of file diff --git a/lib/widgets/map_widget.dart b/lib/widgets/map_widget.dart index d807237..b0ede84 100644 --- a/lib/widgets/map_widget.dart +++ b/lib/widgets/map_widget.dart @@ -52,6 +52,12 @@ class _MapWidgetState extends State with WidgetsBindingObserver { @override void initState() { super.initState(); + + // 追加 + WidgetsBinding.instance.addPostFrameCallback((_) { + PermissionController.checkAndRequestPermissions(); + }); + debugPrint('MapWidget: initState called'); SettingsBinding().dependencies(); // これを追加 _startIdleTimer(); @@ -84,6 +90,23 @@ class _MapWidgetState extends State with WidgetsBindingObserver { mapResetController.resetIdleTimer = _resetIdleTimer; Get.put(mapResetController); + // Add this debug subscription + subscription = locationController.locationMarkerPositionStreamController.stream.listen( + (LocationMarkerPosition? position) { + if (position != null) { + //debugPrint('Location update received: lat=${position.latitude}, lon=${position.longitude}'); + } else { + debugPrint('Received null location update'); + } + }, + onError: (error) { + debugPrint('Error in location stream: $error'); + }, + onDone: () { + debugPrint('Location stream closed'); + }, + ); + // indexController.mapController = MapController(initCompleter: mapControllerCompleter); } diff --git a/lib/widgets/permission_handler_screen.dart b/lib/widgets/permission_handler_screen.dart index 3a0b52e..337a898 100644 --- a/lib/widgets/permission_handler_screen.dart +++ b/lib/widgets/permission_handler_screen.dart @@ -1,5 +1,6 @@ import 'package:flutter/material.dart'; import 'package:gifunavi/pages/permission/permission.dart'; +import 'package:get/get.dart'; class PermissionHandlerScreen extends StatefulWidget { const PermissionHandlerScreen({super.key}); @@ -24,8 +25,14 @@ class _PermissionHandlerScreenState extends State { appBar: AppBar( title: const Text('権限の確認'), ), - body: const Center( - child: Text('権限の確認中...'), + body: Center( + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + const Text('権限の確認中...'), + const SizedBox(height: 20), + ], + ), ), ); } diff --git a/macos/Flutter/GeneratedPluginRegistrant.swift b/macos/Flutter/GeneratedPluginRegistrant.swift index a347b3d..bbe28e6 100644 --- a/macos/Flutter/GeneratedPluginRegistrant.swift +++ b/macos/Flutter/GeneratedPluginRegistrant.swift @@ -6,6 +6,7 @@ import FlutterMacOS import Foundation import connectivity_plus +import device_info_plus import file_selector_macos import geolocator_apple import package_info_plus @@ -17,6 +18,7 @@ import webview_flutter_wkwebview func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { ConnectivityPlusPlugin.register(with: registry.registrar(forPlugin: "ConnectivityPlusPlugin")) + DeviceInfoPlusMacosPlugin.register(with: registry.registrar(forPlugin: "DeviceInfoPlusMacosPlugin")) FileSelectorPlugin.register(with: registry.registrar(forPlugin: "FileSelectorPlugin")) GeolocatorPlugin.register(with: registry.registrar(forPlugin: "GeolocatorPlugin")) FPPPackageInfoPlusPlugin.register(with: registry.registrar(forPlugin: "FPPPackageInfoPlusPlugin")) diff --git a/pubspec.lock b/pubspec.lock index 9dd9c98..93dbaab 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -185,6 +185,22 @@ packages: url: "https://pub.dev" source: hosted version: "0.7.10" + device_info_plus: + dependency: "direct main" + description: + name: device_info_plus + sha256: a7fd703482b391a87d60b6061d04dfdeab07826b96f9abd8f5ed98068acc0074 + url: "https://pub.dev" + source: hosted + version: "10.1.2" + device_info_plus_platform_interface: + dependency: transitive + description: + name: device_info_plus_platform_interface + sha256: "282d3cf731045a2feb66abfe61bbc40870ae50a3ed10a4d3d217556c35c8c2ba" + url: "https://pub.dev" + source: hosted + version: "7.0.1" fake_async: dependency: transitive description: @@ -802,7 +818,7 @@ packages: source: hosted version: "3.0.1" path: - dependency: transitive + dependency: "direct main" description: name: path sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af" @@ -1314,10 +1330,10 @@ packages: dependency: transitive description: name: vm_service - sha256: f652077d0bdf60abe4c1f6377448e8655008eef28f128bc023f7b5e8dfeb48fc + sha256: "5c5f338a667b4c644744b661f309fb8080bb94b18a7e91ef1dbd343bed00ed6d" url: "https://pub.dev" source: hosted - version: "14.2.4" + version: "14.2.5" web: dependency: transitive description: @@ -1366,6 +1382,14 @@ packages: url: "https://pub.dev" source: hosted version: "5.5.4" + win32_registry: + dependency: transitive + description: + name: win32_registry + sha256: "723b7f851e5724c55409bb3d5a32b203b3afe8587eaf5dafb93a5fed8ecda0d6" + url: "https://pub.dev" + source: hosted + version: "1.1.4" wkt_parser: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 701a89c..888b7bf 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -44,6 +44,9 @@ dependencies: # rules and activating additional ones. flutter_lints: ^4.0.0 + path: ^1.8.0 + device_info_plus: #^8.0.0 + win32: ^5.5.3 sqflite: ^2.0.1 get: ^4.6.6 diff --git a/テスト端末.xlsx b/テスト端末.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..469853c30e5ef3d461b94e8bb7da3f16645fdd3c GIT binary patch literal 147338 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 z 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 literal 0 HcmV?d00001