From b00f4a1ed09dd340627220f0ae6f00beeb55f5c1 Mon Sep 17 00:00:00 2001 From: Levi Date: Mon, 4 Sep 2023 11:28:07 +0800 Subject: [PATCH] feat: ios support (#194) --- .github/workflows/build.yml | 44 ++++++-- README.md | 10 +- README_ja-JP.md | 10 +- README_zh-CN.md | 10 +- .../main/kotlin/com/gopeed/MainActivity.kt | 8 +- ui/flutter/ios/Flutter/AppFrameworkInfo.plist | 2 +- ui/flutter/ios/Podfile | 2 +- ui/flutter/ios/Podfile.lock | 52 ++++++++++ .../ios/Runner.xcodeproj/project.pbxproj | 97 ++++++++++++++++-- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../contents.xcworkspacedata | 3 + ui/flutter/ios/Runner/AppDelegate.swift | 39 +++++-- .../Icon-App-1024x1024@1x.png | Bin 10932 -> 22730 bytes .../AppIcon.appiconset/Icon-App-20x20@1x.png | Bin 564 -> 714 bytes .../AppIcon.appiconset/Icon-App-20x20@2x.png | Bin 1283 -> 1523 bytes .../AppIcon.appiconset/Icon-App-20x20@3x.png | Bin 1588 -> 2435 bytes .../AppIcon.appiconset/Icon-App-29x29@1x.png | Bin 1025 -> 1113 bytes .../AppIcon.appiconset/Icon-App-29x29@2x.png | Bin 1716 -> 2348 bytes .../AppIcon.appiconset/Icon-App-29x29@3x.png | Bin 1920 -> 3575 bytes .../AppIcon.appiconset/Icon-App-40x40@1x.png | Bin 1283 -> 1523 bytes .../AppIcon.appiconset/Icon-App-40x40@2x.png | Bin 1895 -> 3257 bytes .../AppIcon.appiconset/Icon-App-40x40@3x.png | Bin 2665 -> 4866 bytes .../AppIcon.appiconset/Icon-App-50x50@1x.png | Bin 0 -> 1985 bytes .../AppIcon.appiconset/Icon-App-50x50@2x.png | Bin 0 -> 4091 bytes .../AppIcon.appiconset/Icon-App-57x57@1x.png | Bin 0 -> 2291 bytes .../AppIcon.appiconset/Icon-App-57x57@2x.png | Bin 0 -> 4609 bytes .../AppIcon.appiconset/Icon-App-60x60@2x.png | Bin 2665 -> 4866 bytes .../AppIcon.appiconset/Icon-App-60x60@3x.png | Bin 3831 -> 7329 bytes .../AppIcon.appiconset/Icon-App-72x72@1x.png | Bin 0 -> 2972 bytes .../AppIcon.appiconset/Icon-App-72x72@2x.png | Bin 0 -> 5811 bytes .../AppIcon.appiconset/Icon-App-76x76@1x.png | Bin 1888 -> 3068 bytes .../AppIcon.appiconset/Icon-App-76x76@2x.png | Bin 3294 -> 6202 bytes .../Icon-App-83.5x83.5@2x.png | Bin 3612 -> 6719 bytes ui/flutter/ios/Runner/Info.plist | 11 +- .../app/controllers/app_controller.dart | 2 +- .../modules/setting/views/setting_view.dart | 12 +-- .../lib/app/views/directory_selector.dart | 4 +- ui/flutter/lib/util/util.dart | 12 +-- .../AppIcon.appiconset/app_icon_128.png | Bin 8362 -> 8399 bytes .../AppIcon.appiconset/app_icon_16.png | Bin 672 -> 709 bytes .../AppIcon.appiconset/app_icon_256.png | Bin 24796 -> 24833 bytes .../AppIcon.appiconset/app_icon_32.png | Bin 1447 -> 1484 bytes .../AppIcon.appiconset/app_icon_512.png | Bin 72965 -> 73002 bytes .../AppIcon.appiconset/app_icon_64.png | Bin 3241 -> 3278 bytes ui/flutter/pubspec.lock | 4 +- ui/flutter/pubspec.yaml | 4 +- 46 files changed, 274 insertions(+), 54 deletions(-) create mode 100644 ui/flutter/ios/Podfile.lock create mode 100644 ui/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@1x.png create mode 100644 ui/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@2x.png create mode 100644 ui/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@1x.png create mode 100644 ui/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@2x.png create mode 100644 ui/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@1x.png create mode 100644 ui/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@2x.png diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 369418fd..c34fc278 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -39,7 +39,7 @@ jobs: VERSION: ${{ needs.get-release.outputs.tag_name }} run: | Invoke-WebRequest -Uri "https://github.com/jrsoftware/issrc/raw/main/Files/Languages/Unofficial/ChineseSimplified.isl" -OutFile "ChineseSimplified.isl" - mv ChineseSimplified.isl "C:\Program Files (x86)\Inno Setup 6\Languages\" + mv ChineseSimplified.isl "C:\Program Files (x86)\Inno Setup 6\Languages\" go build -tags nosqlite -ldflags="-w -s" -buildmode=c-shared -o ui/flutter/windows/libgopeed.dll github.com/GopeedLab/gopeed/bind/desktop cd ui/flutter @@ -90,7 +90,7 @@ jobs: SolidCompression=yes WizardStyle=modern LanguageDetectionMethod=uilanguage - ShowLanguageDialog=yes + ShowLanguageDialog=yes [Languages] Name: "english"; MessagesFile: "compiler:Default.isl" @@ -166,7 +166,7 @@ jobs: VERSION: ${{ needs.get-release.outputs.tag_name }} run: | PROJECT_DIR=$(pwd) - + # amd64 lib go build -tags nosqlite -ldflags="-w -s" -buildmode=c-shared -o ui/flutter/lib-amd64/libgopeed.dylib github.com/GopeedLab/gopeed/bind/desktop # universal binary @@ -221,13 +221,13 @@ jobs: mkdir -p debian/gui cp assets/icon/icon_1024.png debian/gui/gopeed.png cat>debian/debian.yaml<debian/gui/gopeed.desktop< { - try { - Libgopeed.stop() - result.success(null) - } catch (e: Exception) { - result.error("ERROR", e.message, null) - } + Libgopeed.stop() + result.success(null) } else -> { result.notImplemented() diff --git a/ui/flutter/ios/Flutter/AppFrameworkInfo.plist b/ui/flutter/ios/Flutter/AppFrameworkInfo.plist index 8d4492f9..9625e105 100644 --- a/ui/flutter/ios/Flutter/AppFrameworkInfo.plist +++ b/ui/flutter/ios/Flutter/AppFrameworkInfo.plist @@ -21,6 +21,6 @@ CFBundleVersion 1.0 MinimumOSVersion - 9.0 + 11.0 diff --git a/ui/flutter/ios/Podfile b/ui/flutter/ios/Podfile index 1e8c3c90..88359b22 100644 --- a/ui/flutter/ios/Podfile +++ b/ui/flutter/ios/Podfile @@ -1,5 +1,5 @@ # Uncomment this line to define a global platform for your project -# platform :ios, '9.0' +# platform :ios, '11.0' # CocoaPods analytics sends network stats synchronously affecting flutter build latency. ENV['COCOAPODS_DISABLE_STATS'] = 'true' diff --git a/ui/flutter/ios/Podfile.lock b/ui/flutter/ios/Podfile.lock new file mode 100644 index 00000000..2b31cd1a --- /dev/null +++ b/ui/flutter/ios/Podfile.lock @@ -0,0 +1,52 @@ +PODS: + - file_selector_ios (0.0.1): + - Flutter + - Flutter (1.0.0) + - package_info_plus (0.4.5): + - Flutter + - path_provider_ios (0.0.1): + - Flutter + - permission_handler_apple (9.0.4): + - Flutter + - shared_preferences_ios (0.0.1): + - Flutter + - url_launcher_ios (0.0.1): + - Flutter + +DEPENDENCIES: + - file_selector_ios (from `.symlinks/plugins/file_selector_ios/ios`) + - Flutter (from `Flutter`) + - package_info_plus (from `.symlinks/plugins/package_info_plus/ios`) + - path_provider_ios (from `.symlinks/plugins/path_provider_ios/ios`) + - permission_handler_apple (from `.symlinks/plugins/permission_handler_apple/ios`) + - shared_preferences_ios (from `.symlinks/plugins/shared_preferences_ios/ios`) + - url_launcher_ios (from `.symlinks/plugins/url_launcher_ios/ios`) + +EXTERNAL SOURCES: + file_selector_ios: + :path: ".symlinks/plugins/file_selector_ios/ios" + Flutter: + :path: Flutter + package_info_plus: + :path: ".symlinks/plugins/package_info_plus/ios" + path_provider_ios: + :path: ".symlinks/plugins/path_provider_ios/ios" + permission_handler_apple: + :path: ".symlinks/plugins/permission_handler_apple/ios" + shared_preferences_ios: + :path: ".symlinks/plugins/shared_preferences_ios/ios" + url_launcher_ios: + :path: ".symlinks/plugins/url_launcher_ios/ios" + +SPEC CHECKSUMS: + file_selector_ios: 6e9b6d7300556c730f224905726f0a2d5d874e51 + Flutter: f04841e97a9d0b0a8025694d0796dd46242b2854 + package_info_plus: 6c92f08e1f853dc01228d6f553146438dafcd14e + path_provider_ios: 14f3d2fd28c4fdb42f44e0f751d12861c43cee02 + permission_handler_apple: 44366e37eaf29454a1e7b1b7d736c2cceaeb17ce + shared_preferences_ios: 548a61f8053b9b8a49ac19c1ffbc8b92c50d68ad + url_launcher_ios: 839c58cdb4279282219f5e248c3321761ff3c4de + +PODFILE CHECKSUM: ef19549a9bc3046e7bb7d2fab4d021637c0c58a3 + +COCOAPODS: 1.11.3 diff --git a/ui/flutter/ios/Runner.xcodeproj/project.pbxproj b/ui/flutter/ios/Runner.xcodeproj/project.pbxproj index 4f4bc07f..931edc1b 100644 --- a/ui/flutter/ios/Runner.xcodeproj/project.pbxproj +++ b/ui/flutter/ios/Runner.xcodeproj/project.pbxproj @@ -3,7 +3,7 @@ archiveVersion = 1; classes = { }; - objectVersion = 50; + objectVersion = 54; objects = { /* Begin PBXBuildFile section */ @@ -13,28 +13,36 @@ 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 */; }; + D081C25C294826C0006EB10B /* libc++.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = D081C25B294826C0006EB10B /* libc++.tbd */; }; + D0E623A929482D160001185E /* Libgopeed.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = D0E623A729482D030001185E /* Libgopeed.xcframework */; }; + D0E623AA29482D160001185E /* Libgopeed.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = D0E623A729482D030001185E /* Libgopeed.xcframework */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; + DCA5B0FA95A8007ADEDACA1B /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 70BC8D37FAC641C7F20125E8 /* Pods_Runner.framework */; }; /* End PBXBuildFile section */ /* Begin PBXCopyFilesBuildPhase section */ 9705A1C41CF9048500538489 /* Embed Frameworks */ = { isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; + buildActionMask = 8; dstPath = ""; dstSubfolderSpec = 10; files = ( + D0E623AA29482D160001185E /* Libgopeed.xcframework in Embed Frameworks */, ); name = "Embed Frameworks"; - runOnlyForDeploymentPostprocessing = 0; + runOnlyForDeploymentPostprocessing = 1; }; /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; + 25B61E78A388C87913468FD6 /* 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 = ""; }; 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; + 70BC8D37FAC641C7F20125E8 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 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 = ""; }; + 97232923D357E56CAA39281D /* 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 = ""; }; 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; }; @@ -42,6 +50,9 @@ 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 = ""; }; + BC90D28B9068C663815415CC /* 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 = ""; }; + D081C25B294826C0006EB10B /* libc++.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = "libc++.tbd"; path = "usr/lib/libc++.tbd"; sourceTree = SDKROOT; }; + D0E623A729482D030001185E /* Libgopeed.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = Libgopeed.xcframework; path = Frameworks/Libgopeed.xcframework; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -49,6 +60,9 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + D0E623A929482D160001185E /* Libgopeed.xcframework in Frameworks */, + D081C25C294826C0006EB10B /* libc++.tbd in Frameworks */, + DCA5B0FA95A8007ADEDACA1B /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -72,6 +86,8 @@ 9740EEB11CF90186004384FC /* Flutter */, 97C146F01CF9000F007C117D /* Runner */, 97C146EF1CF9000F007C117D /* Products */, + ADF7F433B4BC23D6C18AB78B /* Pods */, + B4A1CBAC5AA50208793CFF34 /* Frameworks */, ); sourceTree = ""; }; @@ -98,6 +114,26 @@ path = Runner; sourceTree = ""; }; + ADF7F433B4BC23D6C18AB78B /* Pods */ = { + isa = PBXGroup; + children = ( + 97232923D357E56CAA39281D /* Pods-Runner.debug.xcconfig */, + BC90D28B9068C663815415CC /* Pods-Runner.release.xcconfig */, + 25B61E78A388C87913468FD6 /* Pods-Runner.profile.xcconfig */, + ); + path = Pods; + sourceTree = ""; + }; + B4A1CBAC5AA50208793CFF34 /* Frameworks */ = { + isa = PBXGroup; + children = ( + D0E623A729482D030001185E /* Libgopeed.xcframework */, + D081C25B294826C0006EB10B /* libc++.tbd */, + 70BC8D37FAC641C7F20125E8 /* Pods_Runner.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -105,12 +141,14 @@ isa = PBXNativeTarget; buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( + F3093A8F123671F8F587626F /* [CP] Check Pods Manifest.lock */, 9740EEB61CF901F6004384FC /* Run Script */, 97C146EA1CF9000F007C117D /* Sources */, 97C146EB1CF9000F007C117D /* Frameworks */, 97C146EC1CF9000F007C117D /* Resources */, 9705A1C41CF9048500538489 /* Embed Frameworks */, 3B06AD1E1E4923F5004D2608 /* Thin Binary */, + DDA801E9D83E2E88398514D3 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -127,7 +165,7 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 97C146ED1CF9000F007C117D = { @@ -171,10 +209,12 @@ /* Begin PBXShellScriptBuildPhase section */ 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); inputPaths = ( + "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", ); name = "Thin Binary"; outputPaths = ( @@ -185,6 +225,7 @@ }; 9740EEB61CF901F6004384FC /* Run Script */ = { isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); @@ -197,6 +238,45 @@ shellPath = /bin/sh; shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; }; + DDA801E9D83E2E88398514D3 /* [CP] Embed Pods Frameworks */ = { + 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"; + outputFileListPaths = ( + "${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-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; + F3093A8F123671F8F587626F /* [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-Runner-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"; + showEnvVarsInLog = 0; + }; /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ @@ -272,7 +352,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SUPPORTED_PLATFORMS = iphoneos; @@ -288,6 +368,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = JH48DS925K; ENABLE_BITCODE = NO; INFOPLIST_FILE = Runner/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( @@ -349,7 +430,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; @@ -398,7 +479,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SUPPORTED_PLATFORMS = iphoneos; @@ -416,6 +497,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = JH48DS925K; ENABLE_BITCODE = NO; INFOPLIST_FILE = Runner/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( @@ -438,6 +520,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = JH48DS925K; ENABLE_BITCODE = NO; INFOPLIST_FILE = Runner/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( diff --git a/ui/flutter/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/ui/flutter/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index c87d15a3..a6b826db 100644 --- a/ui/flutter/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/ui/flutter/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ + + diff --git a/ui/flutter/ios/Runner/AppDelegate.swift b/ui/flutter/ios/Runner/AppDelegate.swift index 70693e4a..016072be 100644 --- a/ui/flutter/ios/Runner/AppDelegate.swift +++ b/ui/flutter/ios/Runner/AppDelegate.swift @@ -1,13 +1,38 @@ import UIKit import Flutter +import Libgopeed @UIApplicationMain @objc class AppDelegate: FlutterAppDelegate { - override func application( - _ application: UIApplication, - didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? - ) -> Bool { - GeneratedPluginRegistrant.register(with: self) - return super.application(application, didFinishLaunchingWithOptions: launchOptions) - } + override func application( + _ application: UIApplication, + didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? + ) -> Bool { + let controller : FlutterViewController = window?.rootViewController as! FlutterViewController + let batteryChannel = FlutterMethodChannel(name: "gopeed.com/libgopeed", + binaryMessenger: controller.binaryMessenger) + batteryChannel.setMethodCallHandler({ + (call: FlutterMethodCall, result: @escaping FlutterResult) -> Void in + switch call.method { + case "start": + let args = call.arguments as? Dictionary + let cfg = args?["cfg"] as? String + let portPrt = UnsafeMutablePointer.allocate(capacity: MemoryLayout.stride) + var error: NSError? + if LibgopeedStart(cfg, portPrt, &error){ + result(portPrt.pointee) + }else{ + result(FlutterError(code: "ERROR", message: error.debugDescription, details: nil)) + } + case "stop": + LibgopeedStop() + result(nil) + default: + result(FlutterMethodNotImplemented) + } + }) + + GeneratedPluginRegistrant.register(with: self) + return super.application(application, didFinishLaunchingWithOptions: launchOptions) + } } diff --git a/ui/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png b/ui/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png index dc9ada4725e9b0ddb1deab583e5b5102493aa332..9f4e06ba928afcf6215dd6d88b4a64b63104e8e0 100644 GIT binary patch literal 22730 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 literal 10932 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 delta 550 zcmV+>0@?k_1+)Z^8Gi-<0051N9Sr~g00DDSM?wIu&K&6g00HhvL_t(I5v`QFOB_)Y z#?QI;j_a;jjf#Z$YJ7mH(xecJU?W)A`9CN~KrBV85C}GDQ=|;GDFPNjtWty!L{u=? zh>8yo%^GE+J9o~_IZFoiamQVQXP7%LzTbT3F@uf+9x&7cvVV%GdjTaC;zf>@mq<=3 z!c<%*UT)@yJ|0BK6~d4Jx-*KV`ZQ(@VyUPupum=XhInNG#Z_k-X|hK{B}~9IfiWx} zLD5QY6Vm)p0NrWymdkrHPN5Vgwd>5>4HI1=@PA+e^rq~CEj|n2X`??)0mUI*D{KBn zjv{V=y5X9|X@3grkpcXC6oou4ML~ezCc2EtnsQTB4tWNg?4bkf;hG7IMfhgNI(FV5 zGs4|*GyMTIY0$B=_*mso9qd%P_z^x|ksp+zVa zP*j|5AOar4%!5UjVRV};GtT(OX0~K;F3Zg3vMh0Ne=NqB9g51FPRtILc}1g6)B*E| z7o*TpM9xx(tu}t;6@a zo#sK0)#YVE4uIp7`&`+n5?JJu##N84*&Rj*i}n1@%HFu2pv{e$tR zR{On3kPHoZtbdiJBj?PQHfqHYu&vtT_e_FHtId9Y`<<^V(#u~|7DojB z<^J)S&Qnisi-0mGZB+Nz%hmC`{|b$Xm;N}T!;Firw|*!^VQ6n|Ry-ai-*eLnL;Z2Lnn&gPM~mn;pVV5ir4mu!BP;3m>A?6DI~Hbdx~6Lkex0YHh?;r3@qrGzj}bUS+|_pmZ1 zDOZ-G5r3vg`4TpZJ?yo2IeY#kTVOQovpr5TffP1T88wz8L}MQqXuf|zhM|QSw;r^0be{{rW0orB+i*C%6KbdO{uc@ zTSFBhMo>E=K6m)ihgPaE`J-u@QDNchRJ9$uYk$>0x(L!_Z$H!XSGG74V0CQDr@0^O zYT0*ds4=KDLcooQgc{G2Zk_fns8=jkD_akTi0XQq@w3}I*K1!Zkr%v|_4ba&-Pjez z96py%VD}iKGo(4C%96C$RD^XsX*kh+uE%BGqZ)H9Y3+)9+qWSXtzb#jDrP&5sTV?B!NQ+?> ztIBjtDUf3sD^r)E{2TwTWPyUviqh%dixl&hsur1DmfbCt)TzjoWN*?{Ac5Pxjy;A0 z6ACp56#I;acjRqD%~jKJ%H@CP#TlYBB7aA$INWh2uAoF&er!Ek#KFK+ZW70C+#4vZ~2tTeGHbAJ+M zF$Qg3`{U-{cXZ)1;bYSyMe=+WRS3M0F#9OKX3#x^wPuO63HdyiFmdh!Fpop5OGMdU_bP|h|Md)+>>^c*5>IzjUqjh6ur!{FS5h)ps3`WY; zWmLBhxBtK0sbcN=jJ3GI$@#V81S7zesg}SjPGDw2+Kj|KeiA+C%=8>mJ7XCe(yYmDx5VM{OS|=GmUwlilYK{j(*RMM?RE zNptxeehAB9z?9JE6w3>6AzSE4Bf=g+po}k}Cm_~hOWx1gm@UzXh`6u@Dg6hzAdf?v SQP9i)0000@pi1MCNO0zH7s z{8#}P0)7Ba8DqYf&QgSne>X__O83t$NZM4&R0{XJq|x}oAU?tcfC@|eNz$04T}34& z8DJf78R&>*Zz`k$q{`#gfGHnx7nlH^G{y`jfER)1<_fNi<9aM%_zrm1C`yPkKma(+ ztQ;y*CR2bbBYz>zG*SVsfpkGU(q>uHZf3iogk_%#9E|5SWeHrmAo>P;ejX7mwq#*} zW25m^ZI+{(Z8fI?4jM_fffY0nok=+88^|*_DwcW>mR#e+X$F_KMdb6sRz!~7K zkyN0G(3XQ+;z3X%PZ4gh;n-%62U<*VUKNv(D&IDi_4_D!s#MVXp|-XhH;H z#&@_;oApJVd}}5O@b=X_gJboD^-fM@6|#V@sA%X)Rlkd}3MLH0dGXGG&-HX|aD~|M zC)W#H7=H?AbtdaV#dGpubj_O^J-SlWpVNv-5(;wR%mvE9`Qaqo>03b&##eNNf=m#B z9@^lsd8tJ;BvI86kNV zc~0CY(7V{s+h%cWG|y=gt|q`z$l<(@qU=i?9q#uz`G?PgDMK!VMGidHZt*N+1L0ZI zFkH=mFtywc6rJ}C_?)=m)18V!ZQ`*-j(D`gCFK|nt#{bk*%%zuQ7o7kvJgA^=(^7b zzkm5GZ;jxRn{Wup8IOUx8D4uh&(=Ox-7$a;U><*5L^!% zxRlw)vAbh;sdlR||&e}8_8%)c2Fwy=F& zH|LM+p{pZB5DKTx>Y?F1N%BlZkXf!}Jb#viX>Oi;kBKp1x_fc0#UIbIeSJ^EkWFox zijdim{ojmn@#7EC*aY;fC0W*WN+DmQtE06pNK3SfZ^#@2K`6RgEuU_KwJTQ>E?Yar zc_9e#I$F8%>kuy-JI6ocSsYvQGbsxUCx04(w1z-pMRz9`kH5smmF@WHEG?dcYkv){ zV?kn3XB$_3zr*h1Uow)(<5)w5;3Wh1jHI)`ZlXp&!yEV{Y_~@;?CLwq;4eeaGOe6( zEsSSbwSGD0-`dUUYz2EiL zgxl?=#4W4S+HIE0&B_6bMr+p@9cHV`N^w(IbQYK3WH8bNEWU&zn#j##)7kOgj)>>S zT_)MR!KO#L<}RbmMR7&!Po+=`xOvku%4hQ`i&6{5eBZG^4?Bi$4BWY{YE%sO#q>ir z#f|60cDDC&E?clduxPnpA%-GWfY_jcdqH{aa^E+@PD`wJ@>8Ehb-d@y8O6nwf+g!D zt71Zr0s21!cj~&&7#zmf2}8=_w47I7y)kh62l*S9=FF#3snPr@Drl`ucc7#0q4r69 zgdv3&@p;FWx76QmD}I;H%8J-OGV~K&>)vOF^$C5!LG@JM_N%5pZZFw7BWp_do)Mt0 z_1!$ybut>ykPw-i=0CUY$5eS;yfRF;aL}h@7tScYPBd5q!Nb5n4R+((`5Qt_@sQ9- zA@&N^3Hr?in}VJV4vkrnL}F6#t!a$Zwc_f)Q$e6%d6>tqo+`3V^wf(}a%W~u^=tQs zhIiX5Ju+^V7hael`=v*JSNY3q7SFfc9~%BxZ#Rr1SOl4!!+(_?+fnhcuTj1PjhOf9 zBFLE4Vvt_zzgeBT%-iw;8hHhxbTX(S>!j@5eEuxhC3*M)8rGWFydr_ZBstf6b<1-P zI0}ud?MmN`L>e<7tvg6+t$atwGheK~hWcLL;M3DpFLsuDZ2e zTmv^U0^Mzr$6A9VMQZC{o1tTJdhrM}>bzw0M5}v4O{37LOp^^0tsZNeDFts3sQx>R zJ;{cNR`Ow`(P1Kb%!>b$Oe0G5m=uJ}+&d0;BB+GZ?L-0;|D}3|`-lOnCjJZgiB6?g zq)(cfSysr+&t>PNGty{On%nJ0C>XG4y3O)dy%b4~!C@N1#Q{ucZTbY_W-&8rbE}r- z%=hLAUctX|2@W@vGck3-a=}8p_y!h?Iv{VTf zv2#MtYbYm6;Woe-k)jjG)e@Z!xsr9Jr(QcuBZ|pO*fJpwY2^NAvyOXJagf zoo?6X?O(dwF1QpN!kSz3(q{d$Q2jHR=|m2jAM{)aXOJ0AYt;dTV=jLMwIyybJlEhL&=Yfto#juh*RhC`?v%_^u(hAAvf!z$* zba4`sLcBcGas1P=j}V5|h^nsked7w|N%A=o0+SUXs>9grZLJk82Nrf(_3b;GciVl2 z3A63jk9NLaxOpCbCJrwu8}4f#Cxn>PV_i#=u6cT91)s&6l2I0zGmBG%h_xgBZdyi} zFZ7b^5kq#k9Q)gk+5;w*$zk68?BL>|d2r7sWc3LoCUstM1<=?*undHrmQhY2YsA@E z)BmNoM7E~TQ^>&9q8Ff%!4z@>g+iO+iF}#N4Byd)BPRpdDD={t z1*ha+BNsz-?J>(IawlM7r4gw~S#uh+X~`WPGs_Fjpb}NWCFK4nG#p$_?(%xYCHM`8 zYh*-_1}x5*hkSS3nMZs8xr117S9AZQ>>Q%~a>1euM%qiz&>GQe_`5+|!=#VoyBH%F z#JB^$Bm}aB*>h%PRi2h#@cnf30va#-tqJQWo^`!1x=td;NCKuu{T6lOz+L!hq!~D5 z(V2c9Ujn}b=yx{nkq?hYwHrzr+u;88W7vUdVf+{HXZwBT@`pxUptUC^EXS`dlMH16 z95(Oe&$#~3IE}(-SIfSHl>6}uH4!i1!*h_b1v&JVf;UjKjSE#cy_vUmE`LT~d+=Io zwWvyOH=OIe@`|a#X{B)K#=O-*PlYTH-_GBFzhSt`(@V2iFA9hfpK>9nN>dB%t{3T- z%A#&HNJDk57A|{l;#;B4hO279jXdyp_nDycTVoyiS?T-f&mDe5Ayi=__u->{^JG`3 zo|qM(-Z7~Nr8qneaw*glflC4^tNKqZ`*u`(%%ZcR!yXmlz^>N4K~u;SIvbW3bRNe5 z4b8}!f+`5L=Tm)~->D8$&z@(8KAF4?p({#aKjr8BvI7Q{u|l|Lqog)^+lT?0R4RkJ zrC`%~@hX7g#e0{DPsuMJja(*J5azcH{f+g{>m!OMqep&>7ZDTgSfEJ(eVt_0T5+}1 z*!kUH(_>w;+^js_l(o^0A>i*DU%p!`X!14Su;q=n9!YC(0VxUQ3!l3x^)IXb0 z?e>^P)<&FeXP{9cKQ`EnpO$}Az{$e{kNJ*X{SP>$?dH!-B1QlJ002ovPDHLkV1kvF B(}n;5 delta 1582 zcmV+}2GRM06SNGF8Gi-<0027t*>V5?1^Y=vK~!ko-J4%*6h$1z_l{zTu}>N$Y77dN z(jrej`JjnWDIm3fj{j>}J%k>VpVM zMunJ?rSR(^OuXDgm2)PP%Lw)()f=TG1B~ScNUFa-({vjDk;dweRiFe?w-6Qho(O1_ zv!(2WV2ZhFC1SqPt}wig>|5C zrh^=oyX$BK<}M8eLU3e2hGT;=G|!_SP)7zNI6fqUMB=)yRAZ>eDe#*r`yDAVgB_R* zLB*MAc8_?!g7#WjJA zNf*S~m|;6j!A4w$ko3-C-D?f3QiNoOywjDS!K#57`tfjzaqOr$8SWAG-j-YxSgf$JEO3s=FUciZf^T1|d zdlv{cAz-VWC8|7CEV-;Wb6Vzrt)AkMWOkTe+ZBtZc)X@JVej7(9Qa3q{qv~yUkR%F zgV1zYf*?t3UMs{3OLcKP1Z6m=c&$AQlc=-2K7W6gDCe$axhg&7qBi(Mc=7aOu!`S0t-8gf#ZQK=m_VkJUaO-56fxM&#U}>8ioQPQ~9Xan>71|{&AvQNWKoV z(G*V$cD|NEzl(OC?HDr#Cqt&AdqP30PY2p48uOaogm_>#S_o_EvD7yf32g)`v6|+S zX@6g&FeQFxowa1(!J(;Jg*wrg!=6FdRX+t_<%z&d&?|Bn){>zmZQj(aA_HeBY&OC^ zjj*)N`8fa^ePOU72VpInJoI1?`ty#lvlNzs(&MZX+R%2xS~5KhX*|AU4QE#~SgPzO zXe9>tRj>hjU@c1k5Y_mW*Jp3fI;)1&f`88QO)34l90xUaIcrN!i^H~!$VzZpscObr z3PVpq)=3d6{*YiK7;ZBp6>?f?;EtO_0nMBTIICp>R=3LV88-e@FYC%|E0}pO*gziiBLfe{%Kc@qo)p8GVT7N0* z4M_Lw1tG5n(zZ5$P*4jGZTlL!ZFJhUpIRgx=rAmS%;sT8&)W?`?kC{()PbwS3u#;G z5xOo6ZIjcs{+JdGz5K@sSo14D=FzK={`?LQo~r_Pel@s?4}xpcmx|K19GZo;!D-un zE}eyzVa=&&Sk`n2mb~yf2+vl6yMJIGxIEq&SWRe)op$60@i246YB3>oE(3e2L-^}4_|K@$pmRb!NBBQzlNb;zJF zMc&w;%{On(HbQ| z@Dr$e;PBEz4(-2q1FF0}c;~B5sA}+Q>TOoP+t>wf)V9Iy=5ruQa;z)yI9C9*oUga6 z=hxw6QasLPnee@3^pcqGR@o#L@+8nuG5suzgA#ZC&s z|EF-4U3#nH>r^ME@~U|CYWRjZ`yN=c=Fr}#_Mgg|JQ_F~MDJ{2FSyz9PS&T@VVxu? zJm1Eneyq~b<9m$74O-iHG@!Fk->^qks+0-Tx2T+XVGXw8twMc3$0rG>+mL)4wdl~R g1N9*XHQJT-A9HGq3eLdY0ssI207*qoM6N<$g6@+5B>(^b diff --git a/ui/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png b/ui/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png index 4cde12118dda48d71e01fcb589a74d069c5d7cb5..7078369848a9bda08c1414c10b83f6310d522927 100644 GIT binary patch delta 1103 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 delta 1916 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 SQP9i)0000@pi1MCNO0zH7s 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 delta 1891 zcmV-p2b}o18Rrg=8Gi-<0052=@~r>>2QEoOK~#9!?VW3E6jc<*XLh$yKNt;)Mial3 z7z%<>zxaV5DhMs*(b6YIW1=KP6Jj(m21QYbiJ}su&;o5EN=$%gptMj6p|(7#AOTUJ zlt8fsX(iGq?ZQ50=XmbU+~w|cmz~|6$KBbz$-g^IcV>Hk`+q<8%-p?uMi3G-0B~!5 ze-yPCwFPw?HGmpMc~K)7BCq;C528+>zC*o^8h^XKC)IFgkv#xzm!ewK7j|kRa9dFo zC>MoDSR@P2#cWSU{i1oH5K2-Xb3jRz>|h7VOh0K` zhq^--L3H}A0r)nr z;Tr|-kPjB1s=ItpnS`oT%|U=a4oK-ZFIE^YBLH{u2#~@%%D^K)$`9*Tg(~9M-B+Zj z;~H?4LVsEt0eFtN4&>H(DZ@KpI6RhBKLL21CxC`J&m4Gc^9wwMZU#7SR1+KtuhSZM z+yLY}Vekzw6T_ApfEkuB_yU;e&a)L@rX~z70A_N+upOXN!qygmPDmKG0d%7CECcAI zgkd>ArzH$a0XjKsO$X@IgkcH5Y;m3`0G*yNOn(KK4GF_EfL4aB5i1j9o&Z{vFk~k> z&?@K2jQcJO%W!cddG(_DyfSoO55bUMHtbDF8DPkwF^~Ql#Eq4w15k{h%ML5Ar&pzi zl-D7v8kQXQ!&RRgKCW#5DZB$$6?mjWm50rRw*ukK>P-GkA|k69h{NARc>e}uLx+U4 z0DqE>7pa}9Fez+Vc-3jb`%i^uulglFoMzAVR|2%rf= zf#;74FXF^Ku_4+G&-4$KVy%YP>%2rxu2VG_cdm?XRjEhF&wPXJ># z_Q2+jGs=l~Fyx#MmGn+PZ0`@kBfGp|fO;Vov<$;z`(+sSZ7;Y=zXaF(8rb@CuQDV^ zq3i(2LfqO%AS!Ss>V%j7%>{6mtbYQrtQK5V4InPq0NZSaXv+f2U=&2}Z6OvkBfNHi z{LSaVJ!d5dC2K*ft_L^DRk;boQhOoVw!~Kt#0b2vd%!(&DF|~u1F@nG#LA5zR&7Fv z4GKgXooMSKb1g)6Obo-rgpuEP20T;W0Aa>55KC4gtQrKkAq-Hgs@FigV1GG8+rQ=z z6Jm=Bui-SfpDYLA=|vzGE(dYm=OC8XM&MDo7ux4UF1~0J1+i%aCUpRet3L_uNyQ*c zE(38Uy03H%I*)*Bh=Lb^Xj3?I^Hnbeq72(EOK^Y93CNp*uAA{5Lc=kyx=~RKa4{iT zm{_>_vSCm?$Ej=i6@=m%@PE9t1zZaoM}@2|h!#1K02~31S_I<0ZV=|K0}n!RRX6Ac zXmMf*5P-dLW}WPVsCKq)-x(0*txpZ2xrv3cxJ%l=7lpoNCyG< zK92ySAcmb-3m&}s@VwXv9(0#p<>B-5$bMxT;rk;OmENa6eM4D&LVo~01soUL39?R{ zyFLt3m|v?rCK7#KNu9E9Q4KV-pEUv^{rrClE&X&9I4-e7%pu_31#zGTOfC=ab%w20R*zBP+uT#l2{a~~~0wuG%6 zco*tVxK&e>%SJj*K!2tq*_h&ES5S9@TKb8WzpK;`&b9dNdxh4S)z%Q)o`aYWUh}9L z(`p!#WO5IxI|nf?yz{90R93Ed6@2qim*}Zjj$H&Esd`?JsFJUnDfiAgF_eYiWR3GC z>M9SHDylEWrA(%mfm~;u7OU9!Wz^!7Z%jZF zi@JR;>Mhi7S>V7wQ176|FdW2m?&`qa(ScO^CFPR80HucLHOTy%5s*HR0^8)i0WYBP d*#0Ks^FNSabJA*5${_#%002ovPDHLkV1hE#Vl@B& diff --git a/ui/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png b/ui/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png index a6d6b8609df07bf62e5100a53a01510388bd2b22..bd7c8ab9ae7f14b7d072f2ed06cceb1b363e6829 100644 GIT binary patch literal 4866 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 literal 2665 zcmV-v3YPVWP)oFh3q0MFesq&64WThn3$;G69TfjsAv=f2G9}p zgSx99+!YV6qME!>9MD13x)k(+XE7W?_O4LoLb5ND8 zaV{9+P@>42xDfRiYBMSgD$0!vssptcb;&?u9u(LLBKmkZ>RMD=kvD3h`sk6!QYtBa ztlZI#nu$8lJ^q2Z79UTgZe>BU73(Aospiq+?SdMt8lDZ;*?@tyWVZVS_Q7S&*tJaiRlJ z+aSMOmbg3@h5}v;A*c8SbqM3icg-`Cnwl;7Ts%A1RkNIp+Txl-Ckkvg4oxrqGA5ewEgYqwtECD<_3Egu)xGllKt&J8g&+=ac@Jq4-?w6M3b*>w5 z69N3O%=I^6&UL5gZ!}trC7bUj*12xLdkNs~Bz4QdJJ*UDZox2UGR}SNg@lmOvhCc~ z*f_UeXv(=#I#*7>VZx2ObEN~UoGUTl=-@)E;YtCRZ>SVp$p9yG5hEFZ!`wI!spd)n zSk+vK0Vin7FL{7f&6OB%f;SH22dtbcF<|9fi2Fp%q4kxL!b1#l^)8dUwJ zwEf{(wJj@8iYDVnKB`eSU+;ml-t2`@%_)0jDM`+a46xhDbBj2+&Ih>1A>6aky#(-SYyE{R3f#y57wfLs z6w1p~$bp;6!9DX$M+J~S@D6vJAaElETnsX4h9a5tvPhC3L@qB~bOzkL@^z0k_hS{T4PF*TDrgdXp+dzsE? z>V|VR035Pl9n5&-RePFdS{7KAr2vPOqR9=M$vXA1Yy5>w;EsF`;OK{2pkn-kpp9Pw z)r;5JfJKKaT$4qCb{TaXHjb$QA{y0EYy*+b1XI;6Ah- zw13P)xT`>~eFoJC!>{2XL(a_#upp3gaR1#5+L(Jmzp4TBnx{~WHedpJ1ch8JFk~Sw z>F+gN+i+VD?gMXwcIhn8rz`>e>J^TI3E-MW>f}6R-pL}>WMOa0k#jN+`RyUVUC;#D zg|~oS^$6%wpF{^Qr+}X>0PKcr3Fc&>Z>uv@C);pwDs@2bZWhYP!rvGx?_|q{d`t<*XEb#=aOb=N+L@CVBGqImZf&+a zCQEa3$~@#kC);pasdG=f6tuIi0PO-y&tvX%>Mv=oY3U$nD zJ#gMegnQ46pq+3r=;zmgcG+zRc9D~c>z+jo9&D+`E6$LmyFqlmCYw;-Zooma{sR@~ z)_^|YL1&&@|GXo*pivH7k!msl+$Sew3%XJnxajt0K%3M6Bd&YFNy9}tWG^aovK2eX z1aL1%7;KRDrA@eG-Wr6w+;*H_VD~qLiVI`{_;>o)k`{8xa3EJT1O_>#iy_?va0eR? zDV=N%;Zjb%Z2s$@O>w@iqt!I}tLjGk!=p`D23I}N4Be@$(|iSA zf3Ih7b<{zqpDB4WF_5X1(peKe+rASze%u8eKLn#KKXt;UZ+Adf$_TO+vTqshLLJ5c z52HucO=lrNVae5XWOLm!V@n-ObU11!b+DN<$RuU+YsrBq*lYT;?AwJpmNKniF0Q1< zJCo>Q$=v$@&y=sj6{r!Y&y&`0$-I}S!H_~pI&2H8Z1C|BX4VgZ^-! zje3-;x0PBD!M`v*J_)rL^+$<1VJhH*2Fi~aA7s&@_rUHYJ9zD=M%4AFQ`}k8OC$9s XsPq=LnkwKG00000NkvXXu0mjfhAk5^ diff --git a/ui/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@1x.png b/ui/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..b6e266bfdcd98684d3c92083f40da5cfc2eeb985 GIT binary patch literal 1985 zcmV;y2R`_TP)u9x(M;(t*bkrHgYxECishpMW=^7X`v7(M?)Zi07=N5_$7;JNCG4r;X6Cb=Iz_%v+up%?|pwuxLhtu z=)zsi=GIz6{Vh|o*3z!G87xjKnpref6eE()jFoex<02Ad90`?59m4a8P-!alHRalK z7j;)VY+Zx)k6}b*^3rnz_ohYP84_QxSQdx1OjBN}E^9Gsf`59aO@B;t8i$a@pD)Rq zCCX*fStEmm5jv?o`%A-b!34Mjz&lFG?QE9$d$eAORpN1f%;pWlSQ**>K$e+Df*js)H?~?M@ z-p1lwK{mNN^=x3tlB8 zUod)Vx9YBRR%Y_jdazDw&yO|FZNbd-U||L?=&p`6%xzujsBpTR1iWvDt#hnlZp&!z zZt89(;K#?B#8)?sjfBdi9;wICsdO1fEMW1ubdHPSG}w%4v!>Oe4fQ!dB2c#slZH)W zO%qI>5_k8V(J4$C!{;iBqN|;i<=XRDG(qmRZB`wD+lCB;;aMP=wNySol8Ep$S{xR= z-AJWSQT7lt0`(ax9~>%EOJV)N3mt=p7mx^RPklEON!j8TQ`aU&C~%J0xu~l+(|)0< zOW9`a9ex^xrr^r5cxf|4(n{Y3^N+j9nY1oul!nP9Vq+>CXE>?Q*uN?{`hs+ zQ!&yzYYR_k&kWojOX{Td%;k=2FWm8D25+LAD|u_eOCMKk?9W6IRC>?c_xCt4Td3ej zv4GU()`sp|WFuBg{`lv?)NMCysN94yCdil3+YO&pZd#lC=xp(HIam5p>eKicFbIG| z@L93`7sf>(5|!j>!KMi_eXjk|nxsc~%ov-~zM<;7;F(AP0t*ZCGhLXCVS~GZ zW$^FDXT}n8j?|}h8h`S-lr?l39s3eeh|yt!qs7R*lKRZq_KVqZS?IH;;b67CHY6sG z;DO~FNm69|3dN$6nlomn#is+@GchhQ!Mh3Zg2EC^*a5z)*+tGBo6g39oh_P97Mv(U zN{3;D>@NG(+JcWV-oj+%iE{r`|KrmkDI%Ugobwpb9uN4CViAMJXt(G-x%MSi1KDVH zn0M9{UhBN^RPrjb!-6to$V{a0wx_h`W(cRu6ixNPilB3mRtPGUni)H(to0PdooTXo zlW=mN=?@Q+M?GmtuZ(6ydLoELV{!WV0t0&g+40t&&Hn&P!I8x>c{*!{r~NKo8lAL( zIsC~aRum(GMeoTM6h$u~3nY1uBrFZs^Y>dNdmD=ez^di3~u zgQ-Z4Oqd~@svLd8)8S6^2y+INu(|9wpDVtP?k*L3H=kLe+#*#;M$CjbcN)v(XYanb zpX@q%a=4uMnQ(>czs6`e@RdBolJx{>DS2%>*GQlP5f8H1?%d zvzAM6`d~p|0{*VL!lUlx9|rAfDn6w>i_n`Ro{khMVhcQ%`Zx$gM3}3fW^+rkx&_7a zhO7@G8MjSaA1nmLb16@JRlO~oWYCjItGt;g{@=H<`B^K?OZGMvhmC2eYyoy|pT+<- zaGCsmB(P#tX&9L1i)XHkU*g{$*qyFQSjM6;_ca~zzw~(Gin;%XG4=n?QT|#Yo3}_h zhdeJ)mm&WB`{4Z_RxA$qjlN&gyj-ym(eb^qz|wbX`?>yrkR`Y$E~CF2Nzte@@*5h` zjsI6q6i81eKjuGogJVIkG4Wj4R%L;=-E&f0-`4DSd*aKfQR4j2g zZWk5g{|W(%6bAn;-b5Tum+O{Eb<@yTW2j4y8Sm5WhF&>OG80A$OLNfq3aI}8!ktLv TDu;M#00000NkvXXu0mjfHIUtY literal 0 HcmV?d00001 diff --git a/ui/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@2x.png b/ui/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..20c49aa997fbe54e4d4b6d943ad2e04b4b81c295 GIT binary patch literal 4091 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 literal 0 HcmV?d00001 diff --git a/ui/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@1x.png b/ui/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..5f0207e74f5ab8b56260c825736202a65ac4c5da GIT binary patch literal 2291 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 literal 2665 zcmV-v3YPVWP)oFh3q0MFesq&64WThn3$;G69TfjsAv=f2G9}p zgSx99+!YV6qME!>9MD13x)k(+XE7W?_O4LoLb5ND8 zaV{9+P@>42xDfRiYBMSgD$0!vssptcb;&?u9u(LLBKmkZ>RMD=kvD3h`sk6!QYtBa ztlZI#nu$8lJ^q2Z79UTgZe>BU73(Aospiq+?SdMt8lDZ;*?@tyWVZVS_Q7S&*tJaiRlJ z+aSMOmbg3@h5}v;A*c8SbqM3icg-`Cnwl;7Ts%A1RkNIp+Txl-Ckkvg4oxrqGA5ewEgYqwtECD<_3Egu)xGllKt&J8g&+=ac@Jq4-?w6M3b*>w5 z69N3O%=I^6&UL5gZ!}trC7bUj*12xLdkNs~Bz4QdJJ*UDZox2UGR}SNg@lmOvhCc~ z*f_UeXv(=#I#*7>VZx2ObEN~UoGUTl=-@)E;YtCRZ>SVp$p9yG5hEFZ!`wI!spd)n zSk+vK0Vin7FL{7f&6OB%f;SH22dtbcF<|9fi2Fp%q4kxL!b1#l^)8dUwJ zwEf{(wJj@8iYDVnKB`eSU+;ml-t2`@%_)0jDM`+a46xhDbBj2+&Ih>1A>6aky#(-SYyE{R3f#y57wfLs z6w1p~$bp;6!9DX$M+J~S@D6vJAaElETnsX4h9a5tvPhC3L@qB~bOzkL@^z0k_hS{T4PF*TDrgdXp+dzsE? z>V|VR035Pl9n5&-RePFdS{7KAr2vPOqR9=M$vXA1Yy5>w;EsF`;OK{2pkn-kpp9Pw z)r;5JfJKKaT$4qCb{TaXHjb$QA{y0EYy*+b1XI;6Ah- zw13P)xT`>~eFoJC!>{2XL(a_#upp3gaR1#5+L(Jmzp4TBnx{~WHedpJ1ch8JFk~Sw z>F+gN+i+VD?gMXwcIhn8rz`>e>J^TI3E-MW>f}6R-pL}>WMOa0k#jN+`RyUVUC;#D zg|~oS^$6%wpF{^Qr+}X>0PKcr3Fc&>Z>uv@C);pwDs@2bZWhYP!rvGx?_|q{d`t<*XEb#=aOb=N+L@CVBGqImZf&+a zCQEa3$~@#kC);pasdG=f6tuIi0PO-y&tvX%>Mv=oY3U$nD zJ#gMegnQ46pq+3r=;zmgcG+zRc9D~c>z+jo9&D+`E6$LmyFqlmCYw;-Zooma{sR@~ z)_^|YL1&&@|GXo*pivH7k!msl+$Sew3%XJnxajt0K%3M6Bd&YFNy9}tWG^aovK2eX z1aL1%7;KRDrA@eG-Wr6w+;*H_VD~qLiVI`{_;>o)k`{8xa3EJT1O_>#iy_?va0eR? zDV=N%;Zjb%Z2s$@O>w@iqt!I}tLjGk!=p`D23I}N4Be@$(|iSA zf3Ih7b<{zqpDB4WF_5X1(peKe+rASze%u8eKLn#KKXt;UZ+Adf$_TO+vTqshLLJ5c z52HucO=lrNVae5XWOLm!V@n-ObU11!b+DN<$RuU+YsrBq*lYT;?AwJpmNKniF0Q1< zJCo>Q$=v$@&y=sj6{r!Y&y&`0$-I}S!H_~pI&2H8Z1C|BX4VgZ^-! zje3-;x0PBD!M`v*J_)rL^+$<1VJhH*2Fi~aA7s&@_rUHYJ9zD=M%4AFQ`}k8OC$9s XsPq=LnkwKG00000NkvXXu0mjfhAk5^ diff --git a/ui/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/ui/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png index 75b2d164a5a98e212cca15ea7bf2ab5de5108680..d65ee6bad1c761bae95ed82be349fbe5bd4829f3 100644 GIT binary patch literal 7329 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 diff --git a/ui/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@1x.png b/ui/flutter/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..c176e16faf8fdd88e1e172a2a3c0f5fa61aa6fb0 GIT binary patch literal 2972 zcmV;N3uE+&P)m$71<)}?Bvo$0adoH=JYGdeSM ztjp0V>eO00N9(j;Rlp55P(cM15s*bfLRdl|5J<>6A3lgNWO-Rw{GIp5d-vV@-uHX= ze)n7MeTZJK$Bh7F>K7tk5`joVsJ>)|ADP9aaJ)(M zkq`iJ;j_9_va-&KN3!Z#d4p8dg|QW#=oLld#nYoFG2(nk-mVhH1;i9uWwGQ=aeK)V zd4mJZW$NxyX*nFY1{{wXlFXbslR4EBp*Sg(Q^X|w(gJbe)wY{TUB8oZps1HO!f{e? z`W4o+3{EQBo$2tS93%$HlOxK%DJj+Jbq>GV5>z_X<<=X8twqy)6P9u_{5{wXJj8Bd zYMmxmlz+DQqE@eU;C1k6682kX?67q-e3Ll{0|P zcc%G5Nk`e*@VEJ1;n*8uB?eX@UtD;y>GVi%&e-gdU&z)tZnl)n3SL2NpidJPi45H6sH#01| zV-|^lUP0q=$O;8;+gW|!i?}T$f_XDwo*2x5Fk6fhy|RR-y-oX`9NiSPhJYswziXaY zK}+G-&Vd+luk%5UFmGAV!r`~f5CbcGLU4NIrE(2&MFp{RezaGFNx3O8@R-227!xb( z7{IC6Y7hA5)WhZkf z0fv$nh(RRs5)DFQz<|sV=5LJ3GL$?g22mr#S7RZSYXC90SkcPy@Ix=36Dts38HuQI z)Bv4!w)xU~;cudsgTxeC<<++0v6IR*D3+8i4_@R&q~Q$2iY0ekmA4o}X!M%v?Y9>O z%)=Roz0}%ej3Pi_$wyV~Bj_h}SJzgFcW2NU3NcyMZ#aWfEt zaZJ>4t?gEcw7l7Jcn;rUnoq)Pb`oPK%L`rohnNlLTdtfGtrZcxBcXYO#o2I^IIC4aJDeRfcf)=8Sngl#PjWd@=4c=LG(5`s}A=$a^ zWCbu!d>FN6G9wekpz+aB-k z)nMg@xD&{BNpA&NycGskPA<@NYkKz79G>Sl`>oJrZg@8+3HA*9J^zDkmAf?`-D!iLUFJ2;jWtOO;PU=pV>g@!~0#854tL?w_*_Ki1n5Enarv0guX#R zJd6v$+JFNA$3o7$ZyQdOO3T;q-XuQzsGuRcst>t}6$)UIU3Yw4#47wVtPWf8>HWW| zh7B2Gupu5Z&c&HvQNaAygI+T%jlyIARtRPSCfOGu42*l|@ePry;iHC8gV8#_h%Qw3 z)Vhw;AZ~Tsji80i_y0AV`;r+8{OA1AeBMfZ@Y)bMkp`Lr=F;R|0%L-K6^uP_0`kO# zFye6os_8M8oxFsb2098A5`8A3O+cw~Mfomgh2lhG?nHVFx;0_}XKuduvL&Ykq+*kq z1LKEJi-1pJd=JbKj6jr?Qro|~=1_&K%5WFl)^p-ZWt|o8NBovI)K@)f`QDl%BbRSg z>($>q{qc`68{piFNS)41yxxA>Y)x>rLGl4&adf^3u^G%M(BtSi%-Y7R3=k_@|5CAI zao~LDI`B5WsXZ!DjjTTnVpMn6p_?L-nNuwhi>LE(XfkJ_cdW_11jgX#dMv9M*yUsa zI-D*?lwa9h!=r{gG)La$C~Uid664dtNd%JFDP)p&91bN0Iu=0fABfSrY&1weRlRi}I)G+mfWefG>4u3D#gM((d2mRD!<`iRM z6t}_o9pXRiZ#4!y9Y%}IY7pkyMGRsQ2u5S+QE(1+bvQB5J@jOd7%0^V!Rh{?5C+_S z)CV1*U6RhAPW}`nW|##G0OxBqYtZ`{BnC8Qv68@rK`+6=qS4_D-^4qXb!<#v$Yl)Q z(>UEX(VOIjo<9$n(m5%hn&^VdUFm}<&q5D~>b(#exTK>YGBzl*O7tYwD++`JQ4QJN zjDQqFwdcg3i-2*Fq%_uxpAnEcc$RYA-!pf85?Q!|0%?uX+39Jz$+d z$3RU$&9Lsw=~BrK)gK?{tL)%&ly_CY5kleqDej};2@W&Fz;19ki$V%3+Ab~g2iMp7`R5JU-BAGsP$ z^$dr_{fh2xIY&<>#cy**4WJ~vb7}v8+(F*+h?(xzpg%LeN*P5fLAlQ>DC`*7E1ybz+qf+s_D#W zQGt~vFakf~zi%_SW_uSme4a1jw(PGxY9+q-NqCM%q^A0rT1k6RAiiRq70ec(SFYKf zj(axJK8#$GBg)GW=3CldaIE1+29cgHl-O|qB^_lyH2!3z!oq-gFb85Ba7&U8oZ-dFg{y_WwZQ*-G z{B7b^P=oU=SB49r(y4b7hd50t68cT|02c8Mr~G2u5suLW67=~{t< z|BnSy{5M8r!I#bxUoL7dG5*-iik2N!`@v3--E6PpK-BnE)qaz)4O#?|dwM{sW0X)h z^~WECdRe@cZv-v6-hR7SQYsj7Q|fyKd!PJg3xBP3Mc3%Gduk3FC;GXR0H8FBHQf;5 zI}8{6qY0x9B5pX^loIsk)0&>T`(2NYHk@1?w!+e1QF^`pNc|5LvMLWZk0=^1j?SO# z9p~83eP-dxziQd;%mth|aKL$ce+LZI9!;;81!a?|dy<%mVAjEb!1zm;UHCugfzucT SR0z%h0000n`s-;DxQkB-Kt?O26*FM(muAbICyY23=p0nMv`?RMQ zYi-q9t+-mPt@XNAtcs;tZM_w*5Qy9ZArL~sE%%%k<02-L$z*17)A>E~_=L&KH=p^> z_kQm?-#72auv)D_0gl?B(OV2EeTT_vhCe&+{0SfE!SpD$&~{7=Cz?%TMXEy)DSGKUEcwlv`aRyCyc?9gr%f#6LSQaX}n~D<$D@G6|C3PcT*$1qP||(OgbUx#gf)6o!m$Vfrf2tn59h@4PHh)1uB5C0NOZ#G=)DE~=y8Pqc0>5#lk zpScgN4jc4;5?;!b=<(x(xqhXbzX(>{Ra@G67SuA_@fUm!+%8}?VJoiPJ1Qb)hUn2@ z{B&PesvjQ ziZYd$d}SwnAehFeEonLZz4Dx=y$MeM9?I8^hY!k+ zO^u#VBz{835_q`+UKI>l)ggHav?@R8sBmMn7{NT0DbMFcPnw@No5$dK?b6;84En0# zn!Rv`dhLpy2D-OW<=IQ>s|ypK27l5!7xjiC@t-98E%X63T zE5Jg6KLUnixn!}36YZg^cuKIVowv5gc0Ncw7Di;N-VBix{UIuPJ zGiYa{BXV$@i$^esx4?s^)FQ%W*^akzUdQps(QU!{%sPmUsd$SZIXL-jGQckH;#Q+MwB3U5v9*6sYX1+b7|rV4PlnRj_R}yC1^QNbg`9 zKYKHKHI}&rm;@_Ro_}~o`h7xePs9GEqt7N5xjfRfU|CGRupI)Ybl)^HQuFR zbS)UTF;vv$1y7lK{vD1T7r6Z#=w7@?gN#^$3OgC>~XY$&eTOLna& z(D1e4lzFCB6lk1kJv%$D zfY0P1e(O}Ql9tnf{*Fn2Vzd}bT1uU{_{f4m@AbX%oF{8Vfd<&NnX&nZjSN|^vbOVq z__o~x1K2iajSN9Blf`_jxzzKuqCf*0*;C?~jw3G!fn3b`fUb=hYhtsb3s);DQe8%o%Vu3GxTDWC|ppc zJdY-rEpw1}t3-juEv*#V+2DM0_X&1IeVq!H{f)D27v_j(4E%YYU_Z8B@OphHT=0|X zGO}P`4=c4Yq*Ew-Nn@{Ep=%qMa(Yj&Yn`_!d+48lG@^gc#lI)mRch9TzjCGHdV!;0 z<()TtR38c#RCm|(nROv_PSAj0HQfzbW0y~BMd1{q#aN-K9xd#D+vTocQp(-%Zz{WF z_X$?p)8NzkP`E(WRcrfjS1`(<_j4M0pYwLzoOceLn~D!tkoicWKqN2isxEoXVx=%1Nq%AFn5Kq`5=|27uJBzZ?)@bcDH%F)5EZr)tv>_@1*h?n$3^B&j2z?gS}~mH|H^vx%Z7s|y!9>} zqdgF&(KCV>3lir%A$p7!OhY-W*VMlt;<@%q5Jlk*e&Iw}cP(sR)*pmhWNP$;v5~o~ zJApPLOd4Zx@_Y#Uw%z`s)2PLFQS1bONrXP;wT$KH>%W5A{cX#sQ;IV>i=M3Of^s*t zQrP$n2j+?kACH-ga=VNaWWAO1rw^rDYCJr$$cSPIJ$eCxM6x2@$XXfW+`lkdOve?c zkI294GwVE52j~cQ)O~fT^~|r6=VgayI6F+h3V$PO)rP8V5Nms=CIEx($)$J*62{>D zY1r>j)T-3Vw%6?OPCCG*zLs|?KAsdg_W9&_&b$&1o&9RY@=dbhOC47|R1N<%iClW< z8(F^x=MC{&i`9Ct>DVFpF)u%+J+Hb1M)IZ9MY$2f5f6Ya?G?$=534@&P_icmo94?k zQ=P#KX0FbBIU!Vx_-(hTXS3{|zDj=u7V-n>r!!;opGz!4TnmRmW2{PF_IAa`;JJ`{ zX+D$B5Mc0o9*0#d}Uq*~cJ=@vhE{#l`|e(UB3uMhiuBs;?KTRxMw zJZPILrIV4JK8{#%DZtC!UpCIdUJVt20(*bT6DMMlsUh+8MC~$nmp(01) zZm<|@yBlt4t1fq3bvBD6oEi4p^reX5&P7%EX4wv(4@x-#n*HtOI%nSOyo6cMlaVru z5Pp_$=);2gV;vzu!6rtIE)vf~AC3b1o54?mZEk#_tgH4w(=o?*Wm)PX#HT^OsBe5y zz1j>j;O5(d@_|n_Ca&3wN$;5oZYa zxI_7AZk;6wOZnrlSIX5lifi`{bjxFfxrn}UeNWRyKUT|z+Ms#AauaCgI5H<>3+Bbo z`l9|Df|rO3>Cb(6*CgUA0;0&@q%LIB+4xQedHy#nWs7WQdFM@LFavSfpI%en`l`qe-7Gn)(ra2@Rl@MXin0GcBNq2Xcq@u%Yp?e>FVd^WKNJSHNAiw9bmv-lK+!q|NDjKUVH z1^Pv$US+fxLg*n0p>fV;FTwq|EcI7sgVX;jDL&wn`QsRSSA0#5@g+Sd)MDb{Ml~q0+^!N;u#-RZN*nC{6vWZf(7020xn_8(7~iJ zUrb#{L$ZVhv*C;S{il^bBA(bk$Rw*h(tHA(loVbf`c^82GQ3-{5#xBP$!dny^NafWqNHackQQTtsOv!EQ7lFIEoQ5ESKU5{rtS7W8a;7; z<583QORuGerPw~)6%0DGFb2n2+y*8zBe8=LXd@?2?tI?oUZhF?U(rG zGW41I?liR(tnf0jo(v$0OLHTfZ%e+RdAId)*QTZgkYGv<$yE;pYI7aQji60 z2<3r#Mi|2Lrz2!MidN{_{^!Pf6C=kwV9BnGR@1rmOLhy&hBNu`A+b$;E!fK$7nwWo z`JP~4l(NG!P=;|G<7<^(U7@YQeqj{gM!~37Mwo=e>Dithwm#Q>(QyUf^srRyg2jc1 z2G4Q6Z%)TJVJ^yl!12+MPnK6)mbM7TByDFb`DrCtMIlntUEiTs3-2G{gfP@uwCc#@ zsPTjUv=?k=-9Be2!W_q@oBLWZUiD$-nx^8hA&(5+lMot*{q({1Fvw0Yu!<0k|D?K% zc&6iXUcVar^;;^nGCRRUoFN#`1^>{_oY+run=YE_Ot2nPubovy40|c;sP3w<+XK#a z2%Upv=Iax&kJ;_97i?%)S_(H2F_V!}*AAZd;60iDeqKU>LYrPSkc({q@D*JOCSZn- zi5O|O6Ja9h3{l>e+dCciH}uNw>}e`DDV7t{qN92;7qshDc0M+i$!hsAQyiBuMGy?) zAqZd{A5-1&;Aaiq1HBqp=RFP73YjkGG-&MvW6_am_s5&z?|LaEk zhsxDmwHkvqoOR#gag(FRebsmv%lx&68OMo~iJ@ZjsZ>*<#=Eh)5yX1mww$zE;K&+e zg)q?WX+57A2970_?H(P+8~XX=`O{+_J<<9@nev>$!P%w<(`OILq&*m9!Ps;b*t(<5 zCkOV>f@pa|CQZ11l>!^EpArlQqL3krljj%36&#WuFIAqkSno{>gJ2nPhD#92+biID zl(d|--5L^J@{6epolX519-bM=iclHU#OnW$0$t3Klm(B+Ox{+r+xD(Blg4~Hex|eI zoeCyo382$Er8qM$Vb-j;>CRq0g!|%J=PeH2nQjy|5<=tN%zo`q)A2*{lBv-XoHef? z^!LN&#uq*kHP+d?s$ItJQ>|xCE6=G(eL>@)1^TUL5}q6uo*u(S%e#ao7>~i_@etmn zFzM!u-qe^q^RxF8eydxFpN z+!L&}yWzvC&nO${E?uVX^Qz0|?>wXxhlqxU56g|nhQ@@R#R3sG1Ow+{L)Er`nC9-! z$omwq9ao$N&tgVQ9(Z+C}!S;EyBE9^$1UE+4&9Lfk;HFVk9>+e!yU_{{1*(--G!;<^a4m`Q05<+&#{5LYXR zlmwS#X;v6Jtw>xzygqKRY3w^LkNK+MF!2OmPl;#FOPJ;QI9HI9krXtG3yJxtYOBtS ze@Js*;}H&>RUmqdlq!+MVfk@_YJmq24GXuIVFzg`WQT`m{$s>n-l_PQNKCz}?i&t` z^XL$A{%^$jPEoe6@n1wrfany7q$>QwrjN;n8&fX0~M`zK$U%6>*_8+1- zk)&4-3(b9sbyZt%C)4at1(s0c)-!nQcq$G0l<4u2u#`>J#rVvl#@O{<<;FGHuVGoY zhFm%gn)fO<*-cZ&PF#p+dD>zUJ1sjrn73ZUi3am{tfh2+(@`8x9b0tD52agP&svGH z?g{DinRV}1ZpNMPum34VLXk(8H1q6217IHKh-ZwB$bnuBM-uny?%JJoUoT5t(A{3GOnE*&B=(8e$30ZH z!R&1~bVF0=?pY9K%@schZOifHJ5S)fr97s^Oq~!p`e^e>P|mIRdUySPHl1zvUN`BK zw48>`ty7pZ=G5p3Pm2o$_rEjeQM|hL3Xj2kF7c_t*l8s#r4W;1Y;E9KZ?E~1Lt|r~ z3+66m%5!jAU_T!Gz{yeL=OxS{H^#z(4;IVeGkMP@7R`*!2iZ=wp6$ahbyKqsW3Jl|s*9+Y$Gn3=5R_0rGQ zWWO5kPF50^)O0s|QvErW9P0vRICNB?mM7NIz>bfXqhj|z?aiAOGv%uKR;ltV`h2Wj zb00)VYlr_qNK$?frLO%0>1LOc&oja#(?wIqM2z%~TY-*WtRDtl!f0U*Y-)q%Vn;c6 zhR#;D?l5$MW^1xuCBD*jm$CcZ%8goMm$L)FQ=b?)W?W=0iK(rK;}?Pr0DU+#IM{5; zL4&K%R@)^=YU*uXU$yl=Gk?pZ;jg^jZ1_O>spG%`+&a*nMhdb<33L2Prvdy+umJ{? z15dI-E0cBA-qc7NdgV69vO-(6_4ck6k{9qTb6~bwHp+@`ch}ke1d&p>iIT9C?C^|C zQgi!x0zVaO0PxD-euvFAT-(qim-i{aU@CNNm(*9s33FYR;K(V(4?%aPF2#k2U>nFV x9uWAuV0I*O#js5ZA{3An#6DKwkaR0h_6&z*bfro~5UB{L2+CqvoI!Cx)KQQ*=#1kzZf9mZ<2lH2MrRZi zVPvZgC@PD{q6nfW6lsxCpe;??&?QUTq)C&sNwdz^K1kE#HOWg}+WMV$IJfWJd*A=P zd+)#8{|3V0aIiv#Zi`;ltLW%cb@gfWR)fWEF<5&YEC-*6CfJ04;Ky@flX$}PNKqU| z5IQjk#(V5Asj9WLbvlVe-=wj0``HSF^Z3~l1bM~rH>C2Cm=%dJl1fu&xvJu@ap<{RBu- zYG~Om{p@N_YhcZ3L2guj*id#v@%_r|2XbP@1<(U+l17{9%hrR(lqaDi19)G+zz6-u zrMG7#l`PL%5<^7OYD(=BxULeTvzZDIV$CW?rY~E{i zSn12gB)ZJn^)(xoWtJ`!&GEB|UnFe~+s>-#2Ywp%tgd|c60#e{fF;2JH~6I^B^C2Hr8+w^X1CmC&FLIr5k`^0nmNlNrhqb*FR&}g`de+ivM?|<&; zHwT1`9VQhaGb%?>i0JSrPB;gVfzjS)vYA5h3WceI0MSr%O$j!OJ&=UV&yL9uMWzZl z2?TpER_L>tRefscdCalP-B;QIN&$KTwu9(0YZ&RvJCeAsAOJZc68+M_hOLT|ZS(B%4R@ zBj}~3y>%DP14E~gP#QbltbJb{w26X~@L@w4!uqA@^T|6IQQ}oOE8eO9uRqP9(ujCY zoX>ht0JkPgx;cJgR&+X68fKunuS=qrLWQ{QCpV(f(JiBrj^220P|b(RtLmW|j zAJV)nJ}4Yu(muhKLT@Wg9m7@TvAHSS#C|)O%g^?7CURr4oeLe>|MQju-zrYnuV)b8 zuV6jQOPjqcvot&`+{v&(Fa5IhAmhYb0XOY`SNFivKpC#$ytKP^NOuocIfp+Evh|Zh zSl~(W{)`1qZ*zOoXD2()xK#k*!;0frlWX!GPvj=B2A1M`lC5;@VE{OzJ_l~&W3o_& zY1w&ouf<`ZtXatKPgnMnERLJt_Dsl$zd=wymd~osdopxFVvxRCz5bD``)4JUY-!r5 zF^^FEeOP{cZT^$20lQTcn}0z|y-igdSHvPoLhoaB$z7snG$UsqoN26e@9%>h!#cra zW-0>o2j?`^dW(Uy$?)kZNx~uw*>|0qFzG9oY>(58f|8UQ+x>YfCBxTle8Hb1e=zhf zR=w`eTb#h6sO-7`<%crK#1kMz7Os(;o_LEZN#c5PugBU;>)j)XOWk!ON%)eK72I_pB+ivO{LHYg1HRl8)gbOoqThnK7fJ#L}_FRVS4BRTb8U8N3dw6Q(opzJzsN#f< zX;(W$fLehgeNcXMW>Sgk{UIc=e4Wm!&2HN-`{tnhyRoTtNLZuty=^Z4A?IPe)o?*u69TE2L;*kd8JDdIPk18=?_5Yf&w^E38h4&jRd}gZr)!v(b{FiG&kj8S`*vsYbk{o- z>MEZMu?{gyef}tffv>CqI()yI7jP z@}`}ij3J_*&UqAW{toGGIn~J#L^=@k)uQLPG?RjGnBS_~INa8|C^Gf2am(Bem-~qT zldw>0Zxp|BT2*mCcGPnNTiVltS^Zr8Q~vxUj)c{2`=EYX3)QJ&M8Jp-@mXDuiqJyf znP$XgGm@rFPn=rORrQVH1bOz!iSwFEWzx@|$X@P`Zg4mpTbp)Och|bz&x{f;5Z#R! z-~W$AiD1*|pb8;yHTSfYt13a*Ip2QhIGw7vK(%8Gi-<0076AQ7Zrd2Pa8HK~#9!?VNjT6h$1z_m0EFf5bmb1dTDK zp;kdKV1h(V(8Sc1M<37!RE>znAk{x4#zX@eOeE1j3~!+nB5IL z<xS}u?#DBMB>w^b($1Z)`9G?eP95EKi& z$eOy@K%h;ryrR3la%;>|o*>CgB(s>dDcNOXg}CK9SPmD?Uu$P4(=PGA0ShFasNfcIHTL?9WjB9#(2xSLC z`0%$#9DW9F;B4mbU{BlaYx!SjF!QSeF~(msQRxwboh5B_O$BWOQja)GboJz$&!?mgB&3$ytsA zvns&b3Cl5Hx#%p%faR*Q906u&fbXy$maV`n?S>A)vJIH!F-vxCrY+rq5_JA(GcOgu7(Ky4X3ATR9z8*%k&<5qYeV&4Y`~}XYmK(j{)!g8d2UgHXIINM!Rvn zKtEq~Foe0s!U{kux~F6Y7Sp+2f|*Cc${S{@oh8D0=XhB8Ec-w9CflfL+te4ium2cU zoPTCj_m<3d#gjK=<*8R`HP^C$lOPM5d~UhKhRRmvv{LI za^|oavk1$QiEApSrP@~Jjbg`<*dW4TO@DPEEX$Tg$xh?Y>Qd}y@kaH~IT8!lLpS^J zR7(&wZSI6+>Eb)tX>9Z?GX#q$u z4I>7e#b7ojyJ1grOh!^}s8S#ubi^Jkd1?UK)3mp6rI^_zxRY zrx6_QmhoWoDR`fp4R7gu6@OBFGu7IDVR6~nJsB{^f5jHn<{WJ&&f^X?3f8TIk3#U& zu1*Q-e@;snJxNx8-PBnpI|uFTKN!+Lp;fPfZ+eqqU^Y1|#DJY~126?zOx-+d>%4*? z&o`TbrXSNXZW^!P0t2>@$6&aiBtUDh2wLXLD9&a(1J=k_FK|iGbAQ@x4Qmx}Ms+*; zze&q6bH(=wYuXHfz0H6<05!LkE4rl~v^!bj=^9d+vI5fN<;GP>*Pas=q2l9RxDkk` zPRk&EQI+t_0$Y%nKE)Ma)W?jaA@4Z{h zTk*7;;#lG?hvTN_On=Jaxp%bdE;mDq(q#dgdYF|-?wrMeI4h`$idZ6^VyXZVlaCd0 z;i)OYR3npf@9>00Gqn##Zb4HRurgaWFCzL9u6@J@sse>Z1XznxWvSy%Td32I3!#YN zXt9v0)RQtDDZRd?#WY?~KF7A0UcR{jt9 W+;fr}hV%pg00000ssI2m!P+H000;PNklieS3_|f^i<1jip z!w52n0wM^4tb!Ekuvug)&_cI#OPe-rlQc=QH2eFMbV{4tq`5aYOY8l9?jPyRz4x5v zch5P`bC%~&Y&IKdcwx4h+qygKpQYU$7MsQXna|+aKSa~HVPtw>GUqcWfzAMS)Fw@f zUJ8fIpa8*?Mpc(t(Q*xssfZ6Z{Fpl<#4;M+#&x)T~ z$eR{G_cSm|9VLgGPpVAnfMft);6*&pboBeyGxHL9N++F6^M4)!AmmT7tKT)B z^xShFDrn6*kh4g7Zkb@=)Yu7rPTj9UfZUK*TS@J@k8bLl3Qf=zmR{K?u zJNW(qETAfN?W@@@aOqJ#O2St{R;opxiFU#J=%eQkIiO|PSoY`V(w;7e9^;GW`$R~v zYxXvN_lvDgT><{dKWaXITsQZLdPrJZH(mj88Q-Ub#W9It2MCZx`+-&FBwy;h9Z1BW*fz4Yzd zf7zJ#atxh|%LDNdQf5&6t!i6PjUWa;a--r;cRs;OOB{p*H{*kf&BL$n)DPU#^5fTX z)_dQX=dF-X76}!-0X(!nS8V>n$lrTeF1->G+C`{Q2^GCWWm0=z$6^-}Y*esrh;|Vd z?Cs^d`LAQ1Sc_3e@E5_;AZ%0|0WJStz5R_5zoCXwG2D((Nbvdze-U@8yK1-BeZ4+o z6^47U2zgq1j_AAb5hb!~(X^;#f`w>rL@i{cTC}(EJG6HZc+T;bqGTq2Qp|W%ccBwf zZ`OY%+C}t+`K$+Az2f;;GzuY)NKO%> z#C}7pYu?@P?epm?JiOjhA?q|^sJpS|iU14eJ4(hy<&Wd$dvdX-Lhh*BOEiuC=ZpG% zxsh3(j9hvoB={S@v^j7=g36>mD*3?^Z)9*GWd_B5@liZ-MSz8qt;OTHqtaQa?k^i$ z$gQGXzmQqQ!3nfzAi?|jZ@RZ&2NCio+124a!+%K7*4=To?ZUjo*>0|JCnPwI-!-4a zJ68l)IMH%uM%-jK!71Dcd9I^`7;6j?y387I|J+zTE`>B(&4-EN7)%sN&oAUZ;>s0q zDdZ*D)#0%Ub=Y9A8bHeh{6fTUT?%=)`IOJHM1YY~t;MbuxFZXBzWwshUDrR1ftK=^ zPM2rzQ7^mUz3JJAsAag{36;W6H03mC->I0e|0*q9u zMfM=Sy+Sq+YmbK}&H5Jmhh8D;G=z{tl16Rs3V;=1!xk-5`_d+a>ze zdabxoD>2*5{>-rF*yS6}LNdrCv9wNC~CHhDF1X7nyB81JZ(=<*Lfk z&hiFrlW+2ik^4e+nKgmV49?`Tvu4Im85@;P!xTlz8IU$JLI}s=qcZvWUSgktJgiD2J(M;jcEZE)(~^9-1x^f|yCiwu0)F9D#m(Zji`89qzDvtPpk40~ zau@^$VE1hQS2!bnGE}GjNs$^#og7mD2h_AjnonKtyzQTK5mB2p6p5}ifI09UD20zE z%$k?@aGl^YarC{1de zMQ^m2NFk)KP&$hm&ZTkU!(!2fjZbH#zA@sZtMby%>-NF}(dNfXz{(k_Lc)*!bjsox zag#$rLOi+NX0tWvB+#DKX&M`K&8_-2v)cxRLyd%@CS;{#N2F&)qPIZ5wm>ZY%F9(Jc2=np8KHaFmnoxiR^i z5e3{aA7zL36h zN^F7q%alg-fu^GuJFeJBICr#Z%-RzzXTEPaJ1uVF(&PnfYJ{7M8yz$WT(~`png7EP<;F#9GN#(avUlAiFhwY`-MdNnXr& z)|DX*T7sFawdj4c_LNCxQ2efOtkpDZy#0UwmG;yW z7aP}u-?AZV?WW34E7Uc(ryfCN^^{1c$AjUwaAv7s!K9c65Wlk8tY0^N=j(q|~e3R}ek)(Uw`9T<}ESH@%KjC3l-|lYs_H5e) zf9A(Sjz~_Ktfr?@79oBMp6I%aXa98PV|-mBw!K7xP1r`lO-OhZ)4~NK*jdTp{5X1a zB#liEr9+7aGf!?%fP)ORP=%^SYtgxR2!kB9CVd6sdu_21^;Jd z>QZt@sPng35yD3kX2CUhB^OQW*-@)UNDQ6Mh(J?6BX07f=<$eqdqYjW(Lh{h;FM$Y~8nG;S!PM9XLy_J=XDFfMu~GSOwCdaTiI0?ami7M@&Oa185%I=@ z%_o9iMLUpBsOk{wSZXNcrOfBRI5OZ7(b&Gn9i{IRW=3;z*QWod-7`IIQaUSjbIpzxy%hdE4vp=6O{2C6ynb&|2?#suzkwEK1Uu9DtGNlY z&bD3je!^5NJ%;3skl^G!Cwv+-@G>8El9&l^=e_coX!oOuvz))}wiq_od;#`7E@}A_ zFwH)#`SSfyZ$>)RSWF6IA%D)E#zS5vVVAE*NHAVG)JRmzKkm8e&rWvX+(1;S?s~^>7}lS;WHqb>pERbdWqmWm0di-ScYpI_H0FX8hFS zEk!CX2HMCWWWl}8%ibyd5N>#s0hj(YC3UAcGY=OFExY;H!ezg6mirA zQN^2`<^OK~$@9DgA-9xwt}1R$h#u>3o)$`-88^k7mXgm%u!l|R6*8I0_gu(?u=vGE z^ANuR_W=C#{Y^)qGDN(*YK{ zY!ylbMP354}R>urrQ$yd-N?+A_q6zZ$c4OU+JCg7tvey{q8>_)=?x zD_qsIJ(pPwA60H09uc`^2E{kx!>iJkJDi7_>A{$BC0IiM_6^YX3Yo!5^RUMi?#zwM zaz3v&>p!U2+_&!16Rs(4)oB{Rb#XOZytCmz<1pIF32am-f2rZg4(I3cW?~jHExdPJ zs8>ijnU)!mR;d;ZdS_w$bj0&t)PI9YMLPq;&PK8wY&ub< ztb9)RRG%ZHG^)O={|4IwgPE)HTQY$>#;NylG$&7rek2F(>ic|ONU*7(L3V%V#F+8U zVljl21aM`aH{C%*1D%3SmG)|=tMqh&j@XEkqcj%PP zWC`Jn)rP`$1tYP)Z84yDjg888FQoJ4ci?ZpE9QCfg982*j!z3hpr(P>G)Z$CgtK{!7?EY?+L7~)!OVy9OO-0UnTIXRR9*V6=@VUQVl>;bQW zqvbL=<^fk*4Z7$Aa5vCTfCxBUQhht`-tbc&s78e!;EwJe(46EfKz80!B+S1 zUTFTD`@#?=D9?_ciYTPPYLpoi4hxZlECJdfFap4Nl@>LW0_LPAEAeK@lZocyt zk~b8$wPu~ez*8iRJuYe#5!)Uu28+>Q^Xo@=GtRVKkhosQLhFfqfxP!QvXD?H7bVU8 zyzXm<^Cp}5uBy5qdW^$)XtxO=(c(Oq42={VUDjcUnGr(gi*qBhBB|`*F#;TLG9uDm$zE5dY1~=AzrJ5&Yp92z$#Zp= zOCjwo<$mL$)cn=sR%PVXZ$BosWGldZ+rvrjM(AuHvbk*}U?DL&Nvy?yG_ ztoW&}iX+MW`ba3q#cdbaRMxtTm2Uh+v(-}CSw`&QgF8@c9^)5|;^c0v-PPVLdz?Sl z&BgA7q?2jC&smqi;2|zXA>9ji@k8s6XQb!V!!9gg@E{21zdQ1EC?{;!aY;#ou2@d` z&m=8pt|@Nqu0PO8bOrbxYA7X}o$me`EKAS91NowEA7Q3?$yU)Ws5bK>a}pTw-aies zkd4~rPpbblY$AgOklV_;_K*S`DtiPwb0jBcWMq!#J+2O*6S7KO`%%?aXd1C4Mu3RY zq%M(Pha-d(0*>5ciG}XN2_b?)$eW$z|ET`l6s)1WhXFQ{?T)Gnj**esOOqG6iDlvp z3L(o?RfLNE0ef6SK1{M5u#;Ui=r0%Ds6QD)F zOnN!%d53w99)eLwN+@Mx-iG(@eB454i4)N@?uP8Op3L?@1bdiI7A5?(ob`XY^NI6} z5CXI?$c*1+t??${kyr6rA>oaAFMm+6dFY1R2nNC_%-3^%BSh1WmT+mAk?FsJS>qPzLAnjS(;5RmVb&9Tyhk$(7C_h`fYJW(Zj+o?I!_x8t&> z2h^xg7IBGvj87m^p3b#wI>Ro=Dz@nNwWvex=;a}FQA>|A;jxR`qz zzbkIX9!S1Kel3O`wN$VW$Bd!ntA>O2{Rc7g0C&vu!WF2-7t!L|T8mDmtrjjH%gz6? zZXf1YJjYs!;GLKq{}8@;^Nq2}*T zwiaVE`F7VI;7}vSb4THxH}{;CUie0Q6!Yzcyy=UR9!0y$FE;#SM}WbyOtA35=y6*` zJ24D?SxGjyabw;F=g^A2G$^qqyy2|Ham>sP3xUUbpAPbeua1EH>*F(Jl{zZ-awBD{kt{_$kiu z<^w|Dg|q`d$Mm?KX@GSa@g>=ntMZ%fgD{oIu7PE^T<|!KdHAZ~+Z&y?-CqN?%*5z% z6QajrSZCu?fWyQAIuk4?}h2S$1Qp1yT*cou(IPmLhhJcWLz|RWDr2j+?mguBnodkS7 zD6A>r$=Hkztyx#vS+VU}>)Z7LGtl_0N?V3Yegez? Y18u&+(>`eJqyPW_07*qoM6N<$f_v6XBLDyZ literal 3294 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 iW8 + CADisableMinimumFrameDurationOnPhone + CFBundleDevelopmentRegion $(DEVELOPMENT_LANGUAGE) CFBundleDisplayName @@ -12,8 +14,6 @@ $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleInfoDictionaryVersion 6.0 - CFBundleName - gopeed CFBundlePackageType APPL CFBundleShortVersionString @@ -24,6 +24,11 @@ $(FLUTTER_BUILD_NUMBER) LSRequiresIPhoneOS + NSAppTransportSecurity + + NSAllowsArbitraryLoads + + UILaunchStoryboardName LaunchScreen UIMainStoryboardFile @@ -43,7 +48,7 @@ UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone + UIApplicationSupportsIndirectInputEvents diff --git a/ui/flutter/lib/app/modules/app/controllers/app_controller.dart b/ui/flutter/lib/app/modules/app/controllers/app_controller.dart index 7b2e444a..496f2041 100644 --- a/ui/flutter/lib/app/modules/app/controllers/app_controller.dart +++ b/ui/flutter/lib/app/modules/app/controllers/app_controller.dart @@ -225,7 +225,7 @@ class AppController extends GetxController with WindowListener, TrayListener { return _defaultStartConfig!; } _defaultStartConfig = StartConfig(); - if (!Util.isUnix()) { + if (!Util.supportUnixSocket()) { // not support unix socket, use tcp _defaultStartConfig!.network = "tcp"; _defaultStartConfig!.address = "127.0.0.1:0"; diff --git a/ui/flutter/lib/app/modules/setting/views/setting_view.dart b/ui/flutter/lib/app/modules/setting/views/setting_view.dart index 33b362f0..84a06e6e 100644 --- a/ui/flutter/lib/app/modules/setting/views/setting_view.dart +++ b/ui/flutter/lib/app/modules/setting/views/setting_view.dart @@ -342,13 +342,11 @@ class SettingView extends GetView { await debounceSave(needRestart: true); }, items: [ - !Util.isMobile() - ? const DropdownMenuItem( - value: 'tcp', - child: Text('TCP'), - ) - : null, - Util.isUnix() + const DropdownMenuItem( + value: 'tcp', + child: Text('TCP'), + ), + Util.supportUnixSocket() ? const DropdownMenuItem( value: 'unix', child: Text('Unix'), diff --git a/ui/flutter/lib/app/views/directory_selector.dart b/ui/flutter/lib/app/views/directory_selector.dart index 506db986..9439f5b8 100644 --- a/ui/flutter/lib/app/views/directory_selector.dart +++ b/ui/flutter/lib/app/views/directory_selector.dart @@ -24,7 +24,7 @@ class _DirectorySelectorState extends State { children: [ Expanded( child: TextFormField( - readOnly: Util.isWeb() ? false : true, + readOnly: Util.isWeb() && !Util.isIOS() ? false : true, controller: widget.controller, decoration: widget.showLabel ? InputDecoration( @@ -35,7 +35,7 @@ class _DirectorySelectorState extends State { return v!.trim().isNotEmpty ? null : 'downloadDirValid'.tr; }, )), - Util.isDesktop() || Util.isAndroid() + !Util.isWeb() && !Util.isIOS() ? IconButton( icon: const Icon(Icons.folder_open), onPressed: () async { diff --git a/ui/flutter/lib/util/util.dart b/ui/flutter/lib/util/util.dart index c8411cd8..29e8dbb6 100644 --- a/ui/flutter/lib/util/util.dart +++ b/ui/flutter/lib/util/util.dart @@ -53,15 +53,15 @@ class Util { return !kIsWeb && Platform.isMacOS; } - static isUnix() { + static isWeb() { + return kIsWeb; + } + + static supportUnixSocket() { if (kIsWeb) { return false; } - return !Platform.isWindows; - } - - static isWeb() { - return kIsWeb; + return Platform.isLinux || Platform.isMacOS || Platform.isAndroid; } static List textToLines(String text) { diff --git a/ui/flutter/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png b/ui/flutter/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png index ec35f21a209fadfd6dc5f22974347cc468f270ae..a83dd79ce088d7d7d8579af2dbc55bc73367ac5c 100644 GIT binary patch delta 46 zcmZ4Gc;0b>vND5YiEBhjaDG}zd16s2gJVj5QmTSyZen_BP-DSr1<%~X^wgl##FWaylc_cv6?Z29 E0J1X@Jpcdz delta 12 TcmZoX#CYc*;{@f69y=2NCBOx! diff --git a/ui/flutter/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png b/ui/flutter/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png index 64189f51312495abaed3cd18caeef19f5f250bbc..9dfcf800877cacf9729d61435a5b87adad9980f9 100644 GIT binary patch delta 46 zcmZ3^eTI92vND5YiEBhjaDG}zd16s2gJVj5QmTSyZen_BP-nxl(e1@