diff --git a/.github/workflows/android.yaml b/.github/workflows/android.yaml
index 8dbb880..8adf4e5 100644
--- a/.github/workflows/android.yaml
+++ b/.github/workflows/android.yaml
@@ -15,25 +15,25 @@ jobs:
Build:
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v4
with:
fetch-depth: 0
- - uses: actions/setup-java@v3
+ - uses: actions/setup-java@v4
with:
distribution: "microsoft"
- java-version: "11"
+ java-version: "17"
java-package: jdk
- uses: subosito/flutter-action@v2
with:
channel: beta
- name: Setup OpenCV
run: |
- wget "https://github.com/opencv/opencv/releases/download/4.8.0/opencv-4.8.0-android-sdk.zip" -O ./third_party/opencv-android/opencv.zip
+ wget "https://github.com/opencv/opencv/releases/download/4.10.0/opencv-4.10.0-android-sdk.zip" -O ./third_party/opencv-android/opencv.zip
unzip ./third_party/opencv-android/opencv.zip -d ./third_party/opencv-android/
mv ./third_party/opencv-android/OpenCV-android-sdk/sdk ./third_party/opencv-android/sdk
- name: Build
run: flutter build apk --release
- - uses: actions/upload-artifact@v3
+ - uses: actions/upload-artifact@v4
with:
name: SnakeEye-android
path: build/app/outputs/flutter-apk/app-release.apk
diff --git a/.github/workflows/windows.yaml b/.github/workflows/windows.yaml
index ceeb508..1caa2c1 100644
--- a/.github/workflows/windows.yaml
+++ b/.github/workflows/windows.yaml
@@ -15,21 +15,21 @@ jobs:
Build:
runs-on: windows-latest
steps:
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v4
- uses: subosito/flutter-action@v2
with:
channel: beta
- name: Setup OpenCV
run: |
- Start-BitsTransfer -Source "https://github.com/opencv/opencv/releases/download/4.8.0/opencv-4.8.0-windows.exe" -Destination ".\third_party\opencv.exe"
+ Start-BitsTransfer -Source "https://github.com/opencv/opencv/releases/download/4.10.0/opencv-4.10.0-windows.exe" -Destination ".\third_party\opencv.exe"
Start-Process -FilePath .\third_party\opencv.exe -ArgumentList "-y" -Wait
Move-Item .\third_party\opencv\build .\third_party\opencv-windows\build
- name: Build
run: |
git config --global core.longpaths true
flutter build windows --release
- Move-Item .\third_party\opencv-windows\build\x64\vc16\bin\opencv_world480.dll .\build\windows\runner\Release\opencv_world480.dll
- - uses: actions/upload-artifact@v3
+ Move-Item .\third_party\opencv-windows\build\x64\vc16\bin\opencv_world4100.dll .\build\windows\x64\runner\Release\opencv_world4100.dll
+ - uses: actions/upload-artifact@v4
with:
name: SnakeEye-win
path: build/windows/runner/Release
diff --git a/.gitignore b/.gitignore
index 8b4dc63..cb39827 100644
--- a/.gitignore
+++ b/.gitignore
@@ -7,9 +7,11 @@
*.swp
.DS_Store
.atom/
+.build/
.buildlog/
.history
.svn/
+.swiftpm/
migrate_working_dir/
# IntelliJ related
@@ -29,7 +31,6 @@ migrate_working_dir/
.dart_tool/
.flutter-plugins
.flutter-plugins-dependencies
-.packages
.pub-cache/
.pub/
/build/
diff --git a/.metadata b/.metadata
index 2fb90a0..f55d31a 100644
--- a/.metadata
+++ b/.metadata
@@ -4,7 +4,7 @@
# This file should be version controlled and should not be manually edited.
version:
- revision: 9b4416aaa79bf984d06aa40ab515a274a50a75a7
+ revision: "fc011960a2b3260d49b64823b90fe292440c78ee"
channel: "beta"
project_type: app
@@ -13,17 +13,17 @@ project_type: app
migration:
platforms:
- platform: root
- create_revision: 9b4416aaa79bf984d06aa40ab515a274a50a75a7
- base_revision: 9b4416aaa79bf984d06aa40ab515a274a50a75a7
+ create_revision: fc011960a2b3260d49b64823b90fe292440c78ee
+ base_revision: fc011960a2b3260d49b64823b90fe292440c78ee
- platform: android
- create_revision: 9b4416aaa79bf984d06aa40ab515a274a50a75a7
- base_revision: 9b4416aaa79bf984d06aa40ab515a274a50a75a7
+ create_revision: fc011960a2b3260d49b64823b90fe292440c78ee
+ base_revision: fc011960a2b3260d49b64823b90fe292440c78ee
- platform: macos
- create_revision: 9b4416aaa79bf984d06aa40ab515a274a50a75a7
- base_revision: 9b4416aaa79bf984d06aa40ab515a274a50a75a7
+ create_revision: fc011960a2b3260d49b64823b90fe292440c78ee
+ base_revision: fc011960a2b3260d49b64823b90fe292440c78ee
- platform: windows
- create_revision: 9b4416aaa79bf984d06aa40ab515a274a50a75a7
- base_revision: 9b4416aaa79bf984d06aa40ab515a274a50a75a7
+ create_revision: fc011960a2b3260d49b64823b90fe292440c78ee
+ base_revision: fc011960a2b3260d49b64823b90fe292440c78ee
# User provided section
diff --git a/android/.gitignore b/android/.gitignore
index 4b641fa..98cb89f 100644
--- a/android/.gitignore
+++ b/android/.gitignore
@@ -7,7 +7,7 @@ gradle-wrapper.jar
GeneratedPluginRegistrant.java
# Remember to never publicly share your keystore.
-# See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app
+# See https://flutter.dev/to/reference-keystore
key.properties
**/*.keystore
**/*.jks
diff --git a/android/app/build.gradle b/android/app/build.gradle
index f44d3e5..afd4d1f 100644
--- a/android/app/build.gradle
+++ b/android/app/build.gradle
@@ -1,51 +1,30 @@
plugins {
id "com.android.application"
id "kotlin-android"
+ // The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins.
id "dev.flutter.flutter-gradle-plugin"
}
-def localProperties = new Properties()
-def localPropertiesFile = rootProject.file('local.properties')
-if (localPropertiesFile.exists()) {
- localPropertiesFile.withReader('UTF-8') { reader ->
- localProperties.load(reader)
- }
-}
-
-def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
-if (flutterVersionCode == null) {
- flutterVersionCode = '1'
-}
-
-def flutterVersionName = localProperties.getProperty('flutter.versionName')
-if (flutterVersionName == null) {
- flutterVersionName = '1.0'
-}
-
android {
- namespace 'io.xdea.snake_eye'
- compileSdkVersion flutter.compileSdkVersion
- ndkVersion flutter.ndkVersion
+ namespace = "io.xdea.snake_eye"
+ compileSdk = flutter.compileSdkVersion
+ ndkVersion = flutter.ndkVersion
compileOptions {
- sourceCompatibility JavaVersion.VERSION_1_8
- targetCompatibility JavaVersion.VERSION_1_8
+ sourceCompatibility = JavaVersion.VERSION_1_8
+ targetCompatibility = JavaVersion.VERSION_1_8
}
kotlinOptions {
- jvmTarget = '1.8'
- }
-
- sourceSets {
- main.java.srcDirs += 'src/main/kotlin'
+ jvmTarget = JavaVersion.VERSION_1_8
}
defaultConfig {
- applicationId "io.xdea.SnakeEye"
- minSdkVersion 21
- targetSdkVersion flutter.targetSdkVersion
- versionCode flutterVersionCode.toInteger()
- versionName flutterVersionName
+ applicationId = "io.xdea.SnakeEye"
+ minSdk = flutter.minSdkVersion
+ targetSdk = flutter.targetSdkVersion
+ versionCode = flutter.versionCode
+ versionName = flutter.versionName
ndk {
if (!project.hasProperty('target-platform')) {
@@ -69,20 +48,18 @@ android {
release {
// TODO: Add your own signing config for the release build.
// Signing with the debug keys for now, so `flutter run --release` works.
- signingConfig signingConfigs.debug
+ signingConfig = signingConfigs.debug
}
}
externalNativeBuild {
cmake {
- path file('src/main/cpp/CMakeLists.txt')
- version '3.22.1'
+ path = file("src/main/cpp/CMakeLists.txt")
+ version = "3.22.1"
}
}
}
flutter {
- source '../..'
+ source = "../.."
}
-
-dependencies {}
diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml
index 76eec17..af6a704 100644
--- a/android/app/src/main/AndroidManifest.xml
+++ b/android/app/src/main/AndroidManifest.xml
@@ -10,6 +10,7 @@
android:name=".MainActivity"
android:exported="true"
android:launchMode="singleTop"
+ android:taskAffinity=""
android:theme="@style/LaunchTheme"
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
android:hardwareAccelerated="true"
@@ -38,4 +39,15 @@
android:name="flutterEmbedding"
android:value="2" />
+
+
+
+
+
+
+
diff --git a/android/app/src/main/kotlin/io/xdea/snake_eye/MainActivity.kt b/android/app/src/main/kotlin/io/xdea/snake_eye/MainActivity.kt
index 9b6009e..7b2519d 100644
--- a/android/app/src/main/kotlin/io/xdea/snake_eye/MainActivity.kt
+++ b/android/app/src/main/kotlin/io/xdea/snake_eye/MainActivity.kt
@@ -2,5 +2,4 @@ package io.xdea.snake_eye
import io.flutter.embedding.android.FlutterActivity
-class MainActivity: FlutterActivity() {
-}
+class MainActivity: FlutterActivity()
diff --git a/android/build.gradle b/android/build.gradle
index f7eb7f6..d2ffbff 100644
--- a/android/build.gradle
+++ b/android/build.gradle
@@ -1,16 +1,3 @@
-buildscript {
- ext.kotlin_version = '1.7.10'
- repositories {
- google()
- mavenCentral()
- }
-
- dependencies {
- classpath 'com.android.tools.build:gradle:7.3.0'
- classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
- }
-}
-
allprojects {
repositories {
google()
@@ -18,12 +5,12 @@ allprojects {
}
}
-rootProject.buildDir = '../build'
+rootProject.buildDir = "../build"
subprojects {
project.buildDir = "${rootProject.buildDir}/${project.name}"
}
subprojects {
- project.evaluationDependsOn(':app')
+ project.evaluationDependsOn(":app")
}
tasks.register("clean", Delete) {
diff --git a/android/gradle.properties b/android/gradle.properties
index 94adc3a..2597170 100644
--- a/android/gradle.properties
+++ b/android/gradle.properties
@@ -1,3 +1,3 @@
-org.gradle.jvmargs=-Xmx1536M
+org.gradle.jvmargs=-Xmx4G -XX:MaxMetaspaceSize=2G -XX:+HeapDumpOnOutOfMemoryError
android.useAndroidX=true
android.enableJetifier=true
diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties
index 3c472b9..7bb2df6 100644
--- a/android/gradle/wrapper/gradle-wrapper.properties
+++ b/android/gradle/wrapper/gradle-wrapper.properties
@@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.3-all.zip
diff --git a/android/settings.gradle b/android/settings.gradle
index 55c4ca8..b9e43bd 100644
--- a/android/settings.gradle
+++ b/android/settings.gradle
@@ -5,16 +5,21 @@ pluginManagement {
def flutterSdkPath = properties.getProperty("flutter.sdk")
assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
return flutterSdkPath
- }
- settings.ext.flutterSdkPath = flutterSdkPath()
+ }()
- includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle")
+ includeBuild("$flutterSdkPath/packages/flutter_tools/gradle")
- plugins {
- id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false
+ repositories {
+ google()
+ mavenCentral()
+ gradlePluginPortal()
}
}
-include ":app"
+plugins {
+ id "dev.flutter.flutter-plugin-loader" version "1.0.0"
+ id "com.android.application" version "8.1.0" apply false
+ id "org.jetbrains.kotlin.android" version "1.8.22" apply false
+}
-apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle"
+include ":app"
diff --git a/lib/connection.dart b/lib/connection.dart
index ed1bd8c..aa02746 100755
--- a/lib/connection.dart
+++ b/lib/connection.dart
@@ -31,10 +31,10 @@ class Connection {
final BinaryCodec codec;
final BinaryChannel channel;
- const Connection({
+ Connection({
required this.channel,
- this.codec = const JSONTypedMessageBinaryCodec(),
- });
+ BinaryCodec? codec,
+ }) : codec = codec ?? TypedMessageBinaryCodec();
/// Establish connection to device.
Future connect() async {
diff --git a/lib/main.dart b/lib/main.dart
index 64b46b3..7a7bcd1 100644
--- a/lib/main.dart
+++ b/lib/main.dart
@@ -41,7 +41,7 @@ void main() {
}
class App extends StatelessWidget {
- const App({Key? key}) : super(key: key);
+ const App({super.key});
@override
Widget build(BuildContext context) {
diff --git a/lib/opencv_page.dart b/lib/opencv_page.dart
index 54668e7..3a97418 100644
--- a/lib/opencv_page.dart
+++ b/lib/opencv_page.dart
@@ -31,9 +31,9 @@ class OpenCVPage extends StatefulWidget {
final Connection connection;
const OpenCVPage({
- Key? key,
+ super.key,
required this.connection,
- }) : super(key: key);
+ });
@override
State createState() => _OpenCVPageState();
@@ -171,7 +171,7 @@ class _OpenCVPageState extends State {
margin: const EdgeInsets.all(8),
padding: const EdgeInsets.all(8),
decoration: BoxDecoration(
- color: Theme.of(context).cardColor.withOpacity(0.6),
+ color: Theme.of(context).cardColor.withValues(alpha: 0.6),
borderRadius: BorderRadius.circular(8),
),
child: Text(
diff --git a/lib/pixels_page.dart b/lib/pixels_page.dart
index ebf4ee4..134f618 100644
--- a/lib/pixels_page.dart
+++ b/lib/pixels_page.dart
@@ -29,9 +29,9 @@ class PixelsPage extends StatefulWidget {
final Connection connection;
const PixelsPage({
- Key? key,
+ super.key,
required this.connection,
- }) : super(key: key);
+ });
@override
State createState() => _PixelsPageState();
@@ -148,7 +148,7 @@ class _PixelsPageState extends State {
margin: const EdgeInsets.all(8),
padding: const EdgeInsets.all(8),
decoration: BoxDecoration(
- color: Theme.of(context).cardColor.withOpacity(0.6),
+ color: Theme.of(context).cardColor.withValues(alpha: 0.6),
borderRadius: BorderRadius.circular(8),
),
child: Text(
diff --git a/macos/Podfile b/macos/Podfile
index dade8df..c795730 100644
--- a/macos/Podfile
+++ b/macos/Podfile
@@ -1,4 +1,4 @@
-platform :osx, '10.11'
+platform :osx, '10.14'
# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
ENV['COCOAPODS_DISABLE_STATS'] = 'true'
@@ -31,6 +31,9 @@ target 'Runner' do
use_modular_headers!
flutter_install_all_macos_pods File.dirname(File.realpath(__FILE__))
+ target 'RunnerTests' do
+ inherit! :search_paths
+ end
end
post_install do |installer|
diff --git a/macos/Podfile.lock b/macos/Podfile.lock
index 326f830..44d4097 100644
--- a/macos/Podfile.lock
+++ b/macos/Podfile.lock
@@ -9,8 +9,8 @@ EXTERNAL SOURCES:
:path: Flutter/ephemeral
SPEC CHECKSUMS:
- FlutterMacOS: ae6af50a8ea7d6103d888583d46bd8328a7e9811
+ FlutterMacOS: 8f6f14fa908a6fb3fba0cd85dbd81ec4b251fb24
-PODFILE CHECKSUM: 6eac6b3292e5142cfc23bdeb71848a40ec51c14c
+PODFILE CHECKSUM: 236401fc2c932af29a9fcf0e97baeeb2d750d367
-COCOAPODS: 1.11.3
+COCOAPODS: 1.16.2
diff --git a/macos/Runner.xcodeproj/project.pbxproj b/macos/Runner.xcodeproj/project.pbxproj
index 0325241..e0f378a 100644
--- a/macos/Runner.xcodeproj/project.pbxproj
+++ b/macos/Runner.xcodeproj/project.pbxproj
@@ -3,7 +3,7 @@
archiveVersion = 1;
classes = {
};
- objectVersion = 51;
+ objectVersion = 54;
objects = {
/* Begin PBXAggregateTarget section */
@@ -21,19 +21,29 @@
/* End PBXAggregateTarget section */
/* Begin PBXBuildFile section */
- 29D9B22709236A065E9E64CA /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 99F349EBA1CDFF87F23C7C77 /* Pods_Runner.framework */; };
- 2B931CC628D5C47200D69193 /* OpenCL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2B931CC528D5C47200D69193 /* OpenCL.framework */; };
- 2B931CC828D5C47C00D69193 /* Accelerate.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2B931CC728D5C47C00D69193 /* Accelerate.framework */; };
- 2B931CCE28D5C59D00D69193 /* compose.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2B931CCD28D5C59D00D69193 /* compose.cpp */; };
- 2B931CD028D5C6D500D69193 /* opencv2.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2B931CCF28D5C6D500D69193 /* opencv2.framework */; };
+ 331C80D8294CF71000263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C80D7294CF71000263BE5 /* RunnerTests.swift */; };
335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */; };
33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC10F02044A3C60003C045 /* AppDelegate.swift */; };
33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F22044A3C60003C045 /* Assets.xcassets */; };
33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F42044A3C60003C045 /* MainMenu.xib */; };
33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; };
+ 91DBBD712CF2FA7A00CC0A79 /* image.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 91DBBD702CF2FA7A00CC0A79 /* image.cpp */; };
+ 91DBBD732CF2FF2D00CC0A79 /* opencv2.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 91DBBD722CF2FF2D00CC0A79 /* opencv2.framework */; };
+ 91DBBD742CF2FF2D00CC0A79 /* opencv2.framework in Bundle Framework */ = {isa = PBXBuildFile; fileRef = 91DBBD722CF2FF2D00CC0A79 /* opencv2.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
+ 91DBBD762CF2FF4800CC0A79 /* OpenCL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 91DBBD752CF2FF4800CC0A79 /* OpenCL.framework */; };
+ 91DBBD782CF2FF4F00CC0A79 /* Accelerate.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 91DBBD772CF2FF4F00CC0A79 /* Accelerate.framework */; };
+ AB0676D8317E4181A9787525 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AB086C83802400483BBC937D /* Pods_Runner.framework */; };
+ CA597E1044CB098A485DB103 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3657B5ED085EA5BD74679403 /* Pods_RunnerTests.framework */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
+ 331C80D9294CF71000263BE5 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 33CC10E52044A3C60003C045 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 33CC10EC2044A3C60003C045;
+ remoteInfo = Runner;
+ };
33CC111F2044C79F0003C045 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 33CC10E52044A3C60003C045 /* Project object */;
@@ -43,13 +53,24 @@
};
/* End PBXContainerItemProxy section */
+/* Begin PBXCopyFilesBuildPhase section */
+ 33CC110E2044A8840003C045 /* Bundle Framework */ = {
+ isa = PBXCopyFilesBuildPhase;
+ buildActionMask = 2147483647;
+ dstPath = "";
+ dstSubfolderSpec = 10;
+ files = (
+ 91DBBD742CF2FF2D00CC0A79 /* opencv2.framework in Bundle Framework */,
+ );
+ name = "Bundle Framework";
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXCopyFilesBuildPhase section */
+
/* Begin PBXFileReference section */
- 069C125ECE04C4C3F0D11DEE /* 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 = ""; };
- 2B931CC528D5C47200D69193 /* OpenCL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenCL.framework; path = System/Library/Frameworks/OpenCL.framework; sourceTree = SDKROOT; };
- 2B931CC728D5C47C00D69193 /* Accelerate.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = System/Library/Frameworks/Accelerate.framework; sourceTree = SDKROOT; };
- 2B931CCC28D5C59D00D69193 /* common.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = common.hpp; path = ../../src/common.hpp; sourceTree = ""; };
- 2B931CCD28D5C59D00D69193 /* compose.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = compose.cpp; path = ../../src/compose.cpp; sourceTree = ""; };
- 2B931CCF28D5C6D500D69193 /* opencv2.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = opencv2.framework; sourceTree = ""; };
+ 272D8F045823A2CBCD7C4E28 /* 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 = ""; };
+ 331C80D5294CF71000263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
+ 331C80D7294CF71000263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; };
333000ED22D3DE5D00554162 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = ""; };
335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GeneratedPluginRegistrant.swift; sourceTree = ""; };
33CC10ED2044A3C60003C045 /* SnakeEye.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = SnakeEye.app; sourceTree = BUILT_PRODUCTS_DIR; };
@@ -64,36 +85,51 @@
33E51913231747F40026EE4D /* DebugProfile.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = DebugProfile.entitlements; sourceTree = ""; };
33E51914231749380026EE4D /* Release.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Release.entitlements; sourceTree = ""; };
33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = ""; };
+ 3657B5ED085EA5BD74679403 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+ 7664B523182E8CDAD8F54CF3 /* 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 = ""; };
7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = ""; };
+ 91DBBD6F2CF2FA7A00CC0A79 /* common.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; name = common.hpp; path = ../src/common.hpp; sourceTree = SOURCE_ROOT; };
+ 91DBBD702CF2FA7A00CC0A79 /* image.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = image.cpp; path = ../src/image.cpp; sourceTree = SOURCE_ROOT; };
+ 91DBBD722CF2FF2D00CC0A79 /* opencv2.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = opencv2.framework; sourceTree = ""; };
+ 91DBBD752CF2FF4800CC0A79 /* OpenCL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenCL.framework; path = System/Library/Frameworks/OpenCL.framework; sourceTree = SDKROOT; };
+ 91DBBD772CF2FF4F00CC0A79 /* Accelerate.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = System/Library/Frameworks/Accelerate.framework; sourceTree = SDKROOT; };
9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = ""; };
- 99F349EBA1CDFF87F23C7C77 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; };
- C2CB74B663133E82C4A45908 /* 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 = ""; };
- CEC1F18E240BE2F41AF2E161 /* 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 = ""; };
+ A0FDF5B01DA236C71B8C90AE /* 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 = ""; };
+ A9F7C50DF32FD1DE35FA85D4 /* 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 = ""; };
+ AB086C83802400483BBC937D /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+ F0606BFF59BCDC5BBEF0A393 /* 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 = ""; };
+ F9783FED0727775588D39946 /* 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 = ""; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
+ 331C80D2294CF70F00263BE5 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ CA597E1044CB098A485DB103 /* Pods_RunnerTests.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
33CC10EA2044A3C60003C045 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
- 2B931CC828D5C47C00D69193 /* Accelerate.framework in Frameworks */,
- 29D9B22709236A065E9E64CA /* Pods_Runner.framework in Frameworks */,
- 2B931CD028D5C6D500D69193 /* opencv2.framework in Frameworks */,
- 2B931CC628D5C47200D69193 /* OpenCL.framework in Frameworks */,
+ 91DBBD732CF2FF2D00CC0A79 /* opencv2.framework in Frameworks */,
+ 91DBBD782CF2FF4F00CC0A79 /* Accelerate.framework in Frameworks */,
+ AB0676D8317E4181A9787525 /* Pods_Runner.framework in Frameworks */,
+ 91DBBD762CF2FF4800CC0A79 /* OpenCL.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
- 0727BC6FDFA81BCE9DBB5513 /* Pods */ = {
+ 331C80D6294CF71000263BE5 /* RunnerTests */ = {
isa = PBXGroup;
children = (
- CEC1F18E240BE2F41AF2E161 /* Pods-Runner.debug.xcconfig */,
- 069C125ECE04C4C3F0D11DEE /* Pods-Runner.release.xcconfig */,
- C2CB74B663133E82C4A45908 /* Pods-Runner.profile.xcconfig */,
+ 331C80D7294CF71000263BE5 /* RunnerTests.swift */,
);
- path = Pods;
+ path = RunnerTests;
sourceTree = "";
};
33BA886A226E78AF003329D5 /* Configs */ = {
@@ -112,9 +148,10 @@
children = (
33FAB671232836740065AC1E /* Runner */,
33CEB47122A05771004F2AC0 /* Flutter */,
+ 331C80D6294CF71000263BE5 /* RunnerTests */,
33CC10EE2044A3C60003C045 /* Products */,
D73912EC22F37F3D000D13A0 /* Frameworks */,
- 0727BC6FDFA81BCE9DBB5513 /* Pods */,
+ F1DA6C7CC548D36F1B07ADFC /* Pods */,
);
sourceTree = "";
};
@@ -122,6 +159,7 @@
isa = PBXGroup;
children = (
33CC10ED2044A3C60003C045 /* SnakeEye.app */,
+ 331C80D5294CF71000263BE5 /* RunnerTests.xctest */,
);
name = Products;
sourceTree = "";
@@ -151,8 +189,8 @@
33FAB671232836740065AC1E /* Runner */ = {
isa = PBXGroup;
children = (
- 2B931CCC28D5C59D00D69193 /* common.hpp */,
- 2B931CCD28D5C59D00D69193 /* compose.cpp */,
+ 91DBBD6F2CF2FA7A00CC0A79 /* common.hpp */,
+ 91DBBD702CF2FA7A00CC0A79 /* image.cpp */,
33CC10F02044A3C60003C045 /* AppDelegate.swift */,
33CC11122044BFA00003C045 /* MainFlutterWindow.swift */,
33E51913231747F40026EE4D /* DebugProfile.entitlements */,
@@ -166,25 +204,59 @@
D73912EC22F37F3D000D13A0 /* Frameworks */ = {
isa = PBXGroup;
children = (
- 2B931CCF28D5C6D500D69193 /* opencv2.framework */,
- 2B931CC728D5C47C00D69193 /* Accelerate.framework */,
- 2B931CC528D5C47200D69193 /* OpenCL.framework */,
- 99F349EBA1CDFF87F23C7C77 /* Pods_Runner.framework */,
+ 91DBBD772CF2FF4F00CC0A79 /* Accelerate.framework */,
+ 91DBBD752CF2FF4800CC0A79 /* OpenCL.framework */,
+ 91DBBD722CF2FF2D00CC0A79 /* opencv2.framework */,
+ AB086C83802400483BBC937D /* Pods_Runner.framework */,
+ 3657B5ED085EA5BD74679403 /* Pods_RunnerTests.framework */,
);
name = Frameworks;
sourceTree = "";
};
+ F1DA6C7CC548D36F1B07ADFC /* Pods */ = {
+ isa = PBXGroup;
+ children = (
+ F9783FED0727775588D39946 /* Pods-Runner.debug.xcconfig */,
+ 272D8F045823A2CBCD7C4E28 /* Pods-Runner.release.xcconfig */,
+ A0FDF5B01DA236C71B8C90AE /* Pods-Runner.profile.xcconfig */,
+ A9F7C50DF32FD1DE35FA85D4 /* Pods-RunnerTests.debug.xcconfig */,
+ F0606BFF59BCDC5BBEF0A393 /* Pods-RunnerTests.release.xcconfig */,
+ 7664B523182E8CDAD8F54CF3 /* Pods-RunnerTests.profile.xcconfig */,
+ );
+ path = Pods;
+ sourceTree = "";
+ };
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
+ 331C80D4294CF70F00263BE5 /* RunnerTests */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */;
+ buildPhases = (
+ 233397E34CFD3FEA30107FBC /* [CP] Check Pods Manifest.lock */,
+ 331C80D1294CF70F00263BE5 /* Sources */,
+ 331C80D2294CF70F00263BE5 /* Frameworks */,
+ 331C80D3294CF70F00263BE5 /* Resources */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ 331C80DA294CF71000263BE5 /* PBXTargetDependency */,
+ );
+ name = RunnerTests;
+ productName = RunnerTests;
+ productReference = 331C80D5294CF71000263BE5 /* RunnerTests.xctest */;
+ productType = "com.apple.product-type.bundle.unit-test";
+ };
33CC10EC2044A3C60003C045 /* Runner */ = {
isa = PBXNativeTarget;
buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */;
buildPhases = (
- B3A10C6C49DF8F80B8AD5121 /* [CP] Check Pods Manifest.lock */,
+ D5BC511A3401EC4F5F8093F4 /* [CP] Check Pods Manifest.lock */,
33CC10E92044A3C60003C045 /* Sources */,
33CC10EA2044A3C60003C045 /* Frameworks */,
33CC10EB2044A3C60003C045 /* Resources */,
+ 33CC110E2044A8840003C045 /* Bundle Framework */,
3399D490228B24CF009A79C7 /* ShellScript */,
);
buildRules = (
@@ -203,13 +275,18 @@
33CC10E52044A3C60003C045 /* Project object */ = {
isa = PBXProject;
attributes = {
+ BuildIndependentTargetsInParallel = YES;
LastSwiftUpdateCheck = 0920;
- LastUpgradeCheck = 1300;
+ LastUpgradeCheck = 1510;
ORGANIZATIONNAME = "";
TargetAttributes = {
+ 331C80D4294CF70F00263BE5 = {
+ CreatedOnToolsVersion = 14.0;
+ TestTargetID = 33CC10EC2044A3C60003C045;
+ };
33CC10EC2044A3C60003C045 = {
CreatedOnToolsVersion = 9.2;
- LastSwiftMigration = 1340;
+ LastSwiftMigration = 1610;
ProvisioningStyle = Automatic;
SystemCapabilities = {
com.apple.Sandbox = {
@@ -237,12 +314,20 @@
projectRoot = "";
targets = (
33CC10EC2044A3C60003C045 /* Runner */,
+ 331C80D4294CF70F00263BE5 /* RunnerTests */,
33CC111A2044C6BA0003C045 /* Flutter Assemble */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
+ 331C80D3294CF70F00263BE5 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
33CC10EB2044A3C60003C045 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
@@ -255,8 +340,31 @@
/* End PBXResourcesBuildPhase section */
/* Begin PBXShellScriptBuildPhase section */
+ 233397E34CFD3FEA30107FBC /* [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";
+ showEnvVarsInLog = 0;
+ };
3399D490228B24CF009A79C7 /* ShellScript */ = {
isa = PBXShellScriptBuildPhase;
+ alwaysOutOfDate = 1;
buildActionMask = 2147483647;
files = (
);
@@ -292,7 +400,7 @@
shellPath = /bin/sh;
shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire";
};
- B3A10C6C49DF8F80B8AD5121 /* [CP] Check Pods Manifest.lock */ = {
+ D5BC511A3401EC4F5F8093F4 /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
@@ -317,13 +425,21 @@
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
+ 331C80D1294CF70F00263BE5 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 331C80D8294CF71000263BE5 /* RunnerTests.swift in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
33CC10E92044A3C60003C045 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */,
+ 91DBBD712CF2FA7A00CC0A79 /* image.cpp in Sources */,
33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */,
- 2B931CCE28D5C59D00D69193 /* compose.cpp in Sources */,
335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
@@ -331,6 +447,11 @@
/* End PBXSourcesBuildPhase section */
/* Begin PBXTargetDependency section */
+ 331C80DA294CF71000263BE5 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = 33CC10EC2044A3C60003C045 /* Runner */;
+ targetProxy = 331C80D9294CF71000263BE5 /* PBXContainerItemProxy */;
+ };
33CC11202044C79F0003C045 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 33CC111A2044C6BA0003C045 /* Flutter Assemble */;
@@ -351,11 +472,57 @@
/* End PBXVariantGroup section */
/* Begin XCBuildConfiguration section */
+ 331C80DB294CF71000263BE5 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = A9F7C50DF32FD1DE35FA85D4 /* Pods-RunnerTests.debug.xcconfig */;
+ buildSettings = {
+ BUNDLE_LOADER = "$(TEST_HOST)";
+ CURRENT_PROJECT_VERSION = 1;
+ GENERATE_INFOPLIST_FILE = YES;
+ MARKETING_VERSION = 1.0;
+ PRODUCT_BUNDLE_IDENTIFIER = io.xdea.snakeEye.RunnerTests;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ SWIFT_VERSION = 5.0;
+ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/snake_eye.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/snake_eye";
+ };
+ name = Debug;
+ };
+ 331C80DC294CF71000263BE5 /* Release */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = F0606BFF59BCDC5BBEF0A393 /* Pods-RunnerTests.release.xcconfig */;
+ buildSettings = {
+ BUNDLE_LOADER = "$(TEST_HOST)";
+ CURRENT_PROJECT_VERSION = 1;
+ GENERATE_INFOPLIST_FILE = YES;
+ MARKETING_VERSION = 1.0;
+ PRODUCT_BUNDLE_IDENTIFIER = io.xdea.snakeEye.RunnerTests;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ SWIFT_VERSION = 5.0;
+ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/snake_eye.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/snake_eye";
+ };
+ name = Release;
+ };
+ 331C80DD294CF71000263BE5 /* Profile */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = 7664B523182E8CDAD8F54CF3 /* Pods-RunnerTests.profile.xcconfig */;
+ buildSettings = {
+ BUNDLE_LOADER = "$(TEST_HOST)";
+ CURRENT_PROJECT_VERSION = 1;
+ GENERATE_INFOPLIST_FILE = YES;
+ MARKETING_VERSION = 1.0;
+ PRODUCT_BUNDLE_IDENTIFIER = io.xdea.snakeEye.RunnerTests;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ SWIFT_VERSION = 5.0;
+ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/snake_eye.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/snake_eye";
+ };
+ name = Profile;
+ };
338D0CE9231458BD00FA5F75 /* Profile */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
+ ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
@@ -379,9 +546,11 @@
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CODE_SIGN_IDENTITY = "-";
COPY_PHASE_STRIP = NO;
+ DEAD_CODE_STRIPPING = YES;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
+ ENABLE_USER_SCRIPT_SANDBOXING = NO;
GCC_C_LANGUAGE_STANDARD = gnu11;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
@@ -389,7 +558,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- MACOSX_DEPLOYMENT_TARGET = 10.11;
+ MACOSX_DEPLOYMENT_TARGET = 10.14;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = macosx;
SWIFT_COMPILATION_MODE = wholemodule;
@@ -433,6 +602,7 @@
baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
+ ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
@@ -456,9 +626,11 @@
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CODE_SIGN_IDENTITY = "-";
COPY_PHASE_STRIP = NO;
+ DEAD_CODE_STRIPPING = YES;
DEBUG_INFORMATION_FORMAT = dwarf;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
+ ENABLE_USER_SCRIPT_SANDBOXING = NO;
GCC_C_LANGUAGE_STANDARD = gnu11;
GCC_DYNAMIC_NO_PIC = NO;
GCC_NO_COMMON_BLOCKS = YES;
@@ -472,7 +644,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- MACOSX_DEPLOYMENT_TARGET = 10.11;
+ MACOSX_DEPLOYMENT_TARGET = 10.14;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = macosx;
@@ -486,6 +658,7 @@
baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
+ ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
@@ -509,9 +682,11 @@
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CODE_SIGN_IDENTITY = "-";
COPY_PHASE_STRIP = NO;
+ DEAD_CODE_STRIPPING = YES;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
+ ENABLE_USER_SCRIPT_SANDBOXING = NO;
GCC_C_LANGUAGE_STANDARD = gnu11;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
@@ -519,7 +694,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- MACOSX_DEPLOYMENT_TARGET = 10.11;
+ MACOSX_DEPLOYMENT_TARGET = 10.14;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = macosx;
SWIFT_COMPILATION_MODE = wholemodule;
@@ -593,6 +768,16 @@
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
+ 331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 331C80DB294CF71000263BE5 /* Debug */,
+ 331C80DC294CF71000263BE5 /* Release */,
+ 331C80DD294CF71000263BE5 /* Profile */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
33CC10E82044A3C60003C045 /* Build configuration list for PBXProject "Runner" */ = {
isa = XCConfigurationList;
buildConfigurations = (
diff --git a/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme
index f83c799..edef997 100644
--- a/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme
+++ b/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme
@@ -1,6 +1,6 @@
+
+
+
+
Bool {
return true
}
+
+ override func applicationSupportsSecureRestorableState(_ app: NSApplication) -> Bool {
+ return true
+ }
}
diff --git a/macos/Runner/Configs/AppInfo.xcconfig b/macos/Runner/Configs/AppInfo.xcconfig
index 2c131d8..7e1c88e 100644
--- a/macos/Runner/Configs/AppInfo.xcconfig
+++ b/macos/Runner/Configs/AppInfo.xcconfig
@@ -11,4 +11,4 @@ PRODUCT_NAME = SnakeEye
PRODUCT_BUNDLE_IDENTIFIER = io.xdea.SnakeEye
// The copyright displayed in application information
-PRODUCT_COPYRIGHT = Copyright © 2021-2022 Xdea. All rights reserved.
+PRODUCT_COPYRIGHT = Copyright © 2021-2024 Xdea. All rights reserved.
diff --git a/macos/RunnerTests/RunnerTests.swift b/macos/RunnerTests/RunnerTests.swift
new file mode 100644
index 0000000..61f3bd1
--- /dev/null
+++ b/macos/RunnerTests/RunnerTests.swift
@@ -0,0 +1,12 @@
+import Cocoa
+import FlutterMacOS
+import XCTest
+
+class RunnerTests: XCTestCase {
+
+ func testExample() {
+ // If you add code to the Runner application, consider adding tests here.
+ // See https://developer.apple.com/documentation/xctest for more information about using XCTest.
+ }
+
+}
diff --git a/pubspec.lock b/pubspec.lock
index fa9e243..3ca9d18 100644
--- a/pubspec.lock
+++ b/pubspec.lock
@@ -5,26 +5,31 @@ packages:
dependency: transitive
description:
name: _fe_analyzer_shared
- sha256: "0816708f5fbcacca324d811297153fe3c8e047beb5c6752e12292d2974c17045"
+ sha256: "16e298750b6d0af7ce8a3ba7c18c69c3785d11b15ec83f6dcd0ad2a0009b3cab"
url: "https://pub.dev"
source: hosted
- version: "62.0.0"
+ version: "76.0.0"
+ _macros:
+ dependency: transitive
+ description: dart
+ source: sdk
+ version: "0.3.3"
analyzer:
dependency: transitive
description:
name: analyzer
- sha256: "21862995c9932cd082f89d72ae5f5e2c110d1a0204ad06e4ebaee8307b76b834"
+ sha256: "1f14db053a8c23e260789e9b0980fa27f2680dd640932cae5e1137cce0e46e1e"
url: "https://pub.dev"
source: hosted
- version: "6.0.0"
+ version: "6.11.0"
args:
dependency: transitive
description:
name: args
- sha256: eef6c46b622e0494a36c5a12d10d77fb4e855501a91c1b9ef9339326e58f0596
+ sha256: bf9f5caeea8d8fe6721a9c358dd8a5c1947b27f1cfaa18b39c301273594919e6
url: "https://pub.dev"
source: hosted
- version: "2.4.2"
+ version: "2.6.0"
async:
dependency: transitive
description:
@@ -61,34 +66,34 @@ packages:
dependency: transitive
description:
name: build_daemon
- sha256: "5f02d73eb2ba16483e693f80bee4f088563a820e47d1027d4cdfe62b5bb43e65"
+ sha256: "79b2aef6ac2ed00046867ed354c88778c9c0f029df8a20fe10b5436826721ef9"
url: "https://pub.dev"
source: hosted
- version: "4.0.0"
+ version: "4.0.2"
build_resolvers:
dependency: transitive
description:
name: build_resolvers
- sha256: "6c4dd11d05d056e76320b828a1db0fc01ccd376922526f8e9d6c796a5adbac20"
+ sha256: "339086358431fa15d7eca8b6a36e5d783728cf025e559b834f4609a1fcfb7b0a"
url: "https://pub.dev"
source: hosted
- version: "2.2.1"
+ version: "2.4.2"
build_runner:
dependency: "direct dev"
description:
name: build_runner
- sha256: "10c6bcdbf9d049a0b666702cf1cee4ddfdc38f02a19d35ae392863b47519848b"
+ sha256: "028819cfb90051c6b5440c7e574d1896f8037e3c96cf17aaeb054c9311cfbf4d"
url: "https://pub.dev"
source: hosted
- version: "2.4.6"
+ version: "2.4.13"
build_runner_core:
dependency: transitive
description:
name: build_runner_core
- sha256: "6d6ee4276b1c5f34f21fdf39425202712d2be82019983d52f351c94aafbc2c41"
+ sha256: f8126682b87a7282a339b871298cc12009cb67109cfa1614d6436fb0289193e0
url: "https://pub.dev"
source: hosted
- version: "7.2.10"
+ version: "7.3.2"
built_collection:
dependency: transitive
description:
@@ -101,50 +106,50 @@ packages:
dependency: transitive
description:
name: built_value
- sha256: "598a2a682e2a7a90f08ba39c0aaa9374c5112340f0a2e275f61b59389543d166"
+ sha256: c7913a9737ee4007efedaffc968c049fd0f3d0e49109e778edc10de9426005cb
url: "https://pub.dev"
source: hosted
- version: "8.6.1"
+ version: "8.9.2"
camera:
dependency: "direct main"
description:
name: camera
- sha256: ebebead3d5ec3d148249331d751d462d7e8c98102b8830a9b45ec96a2bd4333f
+ sha256: "26ff41045772153f222ffffecba711a206f670f5834d40ebf5eed3811692f167"
url: "https://pub.dev"
source: hosted
- version: "0.10.5+2"
- camera_android:
+ version: "0.11.0+2"
+ camera_android_camerax:
dependency: transitive
description:
- name: camera_android
- sha256: f2d886ab431e468301eef451a897db8beb8e66a053bb556c3111d3337acc4c7b
+ name: camera_android_camerax
+ sha256: e3627fdc2132d89212b8a8676679f5b07008c7e3d8ae00cea775c3397f9e742b
url: "https://pub.dev"
source: hosted
- version: "0.10.8+5"
+ version: "0.6.10"
camera_avfoundation:
dependency: transitive
description:
name: camera_avfoundation
- sha256: "1a416e452b30955b392f4efbf23291d3f2ba3660a85e1628859eb62d2a2bab26"
+ sha256: "2e4c568f70e406ccb87376bc06b53d2f5bebaab71e2fbcc1a950e31449381bcf"
url: "https://pub.dev"
source: hosted
- version: "0.9.13+2"
+ version: "0.9.17+5"
camera_platform_interface:
dependency: transitive
description:
name: camera_platform_interface
- sha256: "60fa0bb62a4f3bf3a7c413e31e4cd01b69c779ccc8e4668904a24581b86c316b"
+ sha256: b3ede1f171532e0d83111fe0980b46d17f1aa9788a07a2fbed07366bbdbb9061
url: "https://pub.dev"
source: hosted
- version: "2.5.1"
+ version: "2.8.0"
camera_web:
dependency: transitive
description:
name: camera_web
- sha256: bcbd775fb3a9d51cc3ece899d54ad66f6306410556bac5759f78e13f9228841f
+ sha256: "595f28c89d1fb62d77c73c633193755b781c6d2e0ebcd8dc25b763b514e6ba8f"
url: "https://pub.dev"
source: hosted
- version: "0.3.1+4"
+ version: "0.3.5"
characters:
dependency: transitive
description:
@@ -173,58 +178,50 @@ packages:
dependency: transitive
description:
name: code_builder
- sha256: "4ad01d6e56db961d29661561effde45e519939fdaeb46c351275b182eac70189"
+ sha256: "0ec10bf4a89e4c613960bf1e8b42c64127021740fb21640c29c909826a5eea3e"
url: "https://pub.dev"
source: hosted
- version: "4.5.0"
+ version: "4.10.1"
collection:
dependency: transitive
description:
name: collection
- sha256: f092b211a4319e98e5ff58223576de6c2803db36221657b46c82574721240687
+ sha256: a1ace0a119f20aabc852d165077c036cd864315bd99b7eaa10a60100341941bf
url: "https://pub.dev"
source: hosted
- version: "1.17.2"
+ version: "1.19.0"
convert:
dependency: transitive
description:
name: convert
- sha256: "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592"
+ sha256: b30acd5944035672bc15c6b7a8b47d773e41e2f17de064350988c5d02adb1c68
url: "https://pub.dev"
source: hosted
- version: "3.1.1"
+ version: "3.1.2"
cross_file:
dependency: transitive
description:
name: cross_file
- sha256: "0b0036e8cccbfbe0555fd83c1d31a6f30b77a96b598b35a5d36dd41f718695e9"
+ sha256: "7caf6a750a0c04effbb52a676dce9a4a592e10ad35c34d6d2d0e4811160d5670"
url: "https://pub.dev"
source: hosted
- version: "0.3.3+4"
+ version: "0.3.4+2"
crypto:
dependency: transitive
description:
name: crypto
- sha256: ff625774173754681d66daaf4a448684fb04b78f902da9cb3d308c19cc5e8bab
- url: "https://pub.dev"
- source: hosted
- version: "3.0.3"
- dart_internal:
- dependency: transitive
- description:
- name: dart_internal
- sha256: "689dccc3d5f62affd339534cca548dce12b3a6b32f0f10861569d3025efc0567"
+ sha256: "1e445881f28f22d6140f181e07737b22f1e099a5e1ff94b0af2f9e4a463f4855"
url: "https://pub.dev"
source: hosted
- version: "0.2.9"
+ version: "3.0.6"
dart_style:
dependency: transitive
description:
name: dart_style
- sha256: "1efa911ca7086affd35f463ca2fc1799584fb6aa89883cf0af8e3664d6a02d55"
+ sha256: "7856d364b589d1f08986e140938578ed36ed948581fbc3bc9aef1805039ac5ab"
url: "https://pub.dev"
source: hosted
- version: "2.3.2"
+ version: "2.3.7"
espota:
dependency: "direct main"
description:
@@ -245,26 +242,26 @@ packages:
dependency: "direct main"
description:
name: ffi
- sha256: ed5337a5660c506388a9f012be0288fb38b49020ce2b45fe1f8b8323fe429f99
+ sha256: "16ed7b077ef01ad6170a3d0c57caa4a112a38d7a2ed5602e0aca9ca6f3d98da6"
url: "https://pub.dev"
source: hosted
- version: "2.0.2"
+ version: "2.1.3"
file:
dependency: transitive
description:
name: file
- sha256: "5fc22d7c25582e38ad9a8515372cd9a93834027aacf1801cf01164dac0ffa08c"
+ sha256: a3b4f84adafef897088c160faf7dfffb7696046cb13ae90b508c2cbc95d3b8d4
url: "https://pub.dev"
source: hosted
- version: "7.0.0"
+ version: "7.0.1"
fixnum:
dependency: transitive
description:
name: fixnum
- sha256: "25517a4deb0c03aa0f32fd12db525856438902d9c16536311e76cdc57b31d7d1"
+ sha256: b6dc7065e46c974bc7c5f143080a6764ec7a4be6da1285ececdc37be96de53be
url: "https://pub.dev"
source: hosted
- version: "1.1.0"
+ version: "1.1.1"
flutter:
dependency: "direct main"
description: flutter
@@ -274,18 +271,18 @@ packages:
dependency: "direct dev"
description:
name: flutter_lints
- sha256: "2118df84ef0c3ca93f96123a616ae8540879991b8b57af2f81b76a7ada49b2a4"
+ sha256: "5398f14efa795ffb7a33e9b6a08798b26a180edac4ad7db3f231e40f82ce11e1"
url: "https://pub.dev"
source: hosted
- version: "2.0.2"
+ version: "5.0.0"
flutter_plugin_android_lifecycle:
dependency: transitive
description:
name: flutter_plugin_android_lifecycle
- sha256: "950e77c2bbe1692bc0874fc7fb491b96a4dc340457f4ea1641443d0a6c1ea360"
+ sha256: "9b78450b89f059e96c9ebb355fa6b3df1d6b330436e0b885fb49594c41721398"
url: "https://pub.dev"
source: hosted
- version: "2.0.15"
+ version: "2.0.23"
flutter_speed_dial:
dependency: "direct main"
description:
@@ -308,10 +305,10 @@ packages:
dependency: transitive
description:
name: frontend_server_client
- sha256: "408e3ca148b31c20282ad6f37ebfa6f4bdc8fede5b74bc2f08d9d92b55db3612"
+ sha256: f64a0333a82f30b0cca061bc3d143813a486dc086b574bfb233b7c1372427694
url: "https://pub.dev"
source: hosted
- version: "3.2.0"
+ version: "4.0.0"
glob:
dependency: transitive
description:
@@ -324,18 +321,18 @@ packages:
dependency: transitive
description:
name: graphs
- sha256: aedc5a15e78fc65a6e23bcd927f24c64dd995062bcd1ca6eda65a3cff92a4d19
+ sha256: "741bbf84165310a68ff28fe9e727332eef1407342fca52759cb21ad8177bb8d0"
url: "https://pub.dev"
source: hosted
- version: "2.3.1"
+ version: "2.3.2"
http:
dependency: "direct main"
description:
name: http
- sha256: "759d1a329847dd0f39226c688d3e06a6b8679668e350e2891a6474f8b4bb8525"
+ sha256: b9c29a161230ee03d3ccf545097fccd9b87a5264228c5d348202e0f0c28f9010
url: "https://pub.dev"
source: hosted
- version: "1.1.0"
+ version: "1.2.2"
http_multi_server:
dependency: transitive
description:
@@ -348,10 +345,10 @@ packages:
dependency: transitive
description:
name: http_parser
- sha256: "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b"
+ sha256: "76d306a1c3afb33fe82e2bbacad62a61f409b5634c915fceb0d799de1a913360"
url: "https://pub.dev"
source: hosted
- version: "4.0.2"
+ version: "4.1.1"
io:
dependency: transitive
description:
@@ -364,74 +361,106 @@ packages:
dependency: transitive
description:
name: js
- sha256: f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3
+ sha256: c1b2e9b5ea78c45e1a0788d29606ba27dc5f71f019f32ca5140f61ef071838cf
url: "https://pub.dev"
source: hosted
- version: "0.6.7"
+ version: "0.7.1"
json_annotation:
dependency: "direct main"
description:
name: json_annotation
- sha256: b10a7b2ff83d83c777edba3c6a0f97045ddadd56c944e1a23a3fdf43a1bf4467
+ sha256: "1ce844379ca14835a50d2f019a3099f419082cfdd231cd86a142af94dd5c6bb1"
url: "https://pub.dev"
source: hosted
- version: "4.8.1"
+ version: "4.9.0"
json_serializable:
dependency: "direct dev"
description:
name: json_serializable
- sha256: aa1f5a8912615733e0fdc7a02af03308933c93235bdc8d50d0b0c8a8ccb0b969
+ sha256: c2fcb3920cf2b6ae6845954186420fca40bc0a8abcc84903b7801f17d7050d7c
+ url: "https://pub.dev"
+ source: hosted
+ version: "6.9.0"
+ leak_tracker:
+ dependency: transitive
+ description:
+ name: leak_tracker
+ sha256: "7bb2830ebd849694d1ec25bf1f44582d6ac531a57a365a803a6034ff751d2d06"
+ url: "https://pub.dev"
+ source: hosted
+ version: "10.0.7"
+ leak_tracker_flutter_testing:
+ dependency: transitive
+ description:
+ name: leak_tracker_flutter_testing
+ sha256: "9491a714cca3667b60b5c420da8217e6de0d1ba7a5ec322fab01758f6998f379"
+ url: "https://pub.dev"
+ source: hosted
+ version: "3.0.8"
+ leak_tracker_testing:
+ dependency: transitive
+ description:
+ name: leak_tracker_testing
+ sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3"
url: "https://pub.dev"
source: hosted
- version: "6.7.1"
+ version: "3.0.1"
lints:
dependency: transitive
description:
name: lints
- sha256: "0a217c6c989d21039f1498c3ed9f3ed71b354e69873f13a8dfc3c9fe76f1b452"
+ sha256: "4a16b3f03741e1252fda5de3ce712666d010ba2122f8e912c94f9f7b90e1a4c3"
url: "https://pub.dev"
source: hosted
- version: "2.1.1"
+ version: "5.1.0"
logging:
dependency: transitive
description:
name: logging
- sha256: "623a88c9594aa774443aa3eb2d41807a48486b5613e67599fb4c41c0ad47c340"
+ sha256: c8245ada5f1717ed44271ed1c26b8ce85ca3228fd2ffdb75468ab01979309d61
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.3.0"
+ macros:
+ dependency: transitive
+ description:
+ name: macros
+ sha256: "1d9e801cd66f7ea3663c45fc708450db1fa57f988142c64289142c9b7ee80656"
url: "https://pub.dev"
source: hosted
- version: "1.2.0"
+ version: "0.1.3-main.0"
matcher:
dependency: transitive
description:
name: matcher
- sha256: "1803e76e6653768d64ed8ff2e1e67bea3ad4b923eb5c56a295c3e634bad5960e"
+ sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb
url: "https://pub.dev"
source: hosted
- version: "0.12.16"
+ version: "0.12.16+1"
material_color_utilities:
dependency: transitive
description:
name: material_color_utilities
- sha256: "9528f2f296073ff54cb9fee677df673ace1218163c3bc7628093e7eed5203d41"
+ sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec
url: "https://pub.dev"
source: hosted
- version: "0.5.0"
+ version: "0.11.1"
meta:
dependency: transitive
description:
name: meta
- sha256: "3c74dbf8763d36539f114c799d8a2d87343b5067e9d796ca22b5eb8437090ee3"
+ sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7
url: "https://pub.dev"
source: hosted
- version: "1.9.1"
+ version: "1.15.0"
mime:
dependency: transitive
description:
name: mime
- sha256: e4ff8e8564c03f255408decd16e7899da1733852a9110a58fe6d1b817684a63e
+ sha256: "41a20518f0cb1256669420fdba0cd90d21561e560ac240f26ef8322e45bb7ed6"
url: "https://pub.dev"
source: hosted
- version: "1.0.4"
+ version: "2.0.0"
package_config:
dependency: transitive
description:
@@ -444,18 +473,18 @@ packages:
dependency: transitive
description:
name: path
- sha256: "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917"
+ sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af"
url: "https://pub.dev"
source: hosted
- version: "1.8.3"
+ version: "1.9.0"
plugin_platform_interface:
dependency: transitive
description:
name: plugin_platform_interface
- sha256: "43798d895c929056255600343db8f049921cbec94d31ec87f1dc5c16c01935dd"
+ sha256: "4820fbfdb9478b1ebae27888254d445073732dae3d6ea81f0b7e06d5dedc3f02"
url: "https://pub.dev"
source: hosted
- version: "2.1.5"
+ version: "2.1.8"
pool:
dependency: transitive
description:
@@ -476,47 +505,39 @@ packages:
dependency: transitive
description:
name: pubspec_parse
- sha256: c63b2876e58e194e4b0828fcb080ad0e06d051cb607a6be51a9e084f47cb9367
- url: "https://pub.dev"
- source: hosted
- version: "1.2.3"
- quiver:
- dependency: transitive
- description:
- name: quiver
- sha256: b1c1ac5ce6688d77f65f3375a9abb9319b3cb32486bdc7a1e0fdf004d7ba4e47
+ sha256: c799b721d79eb6ee6fa56f00c04b472dcd44a30d258fac2174a6ec57302678f8
url: "https://pub.dev"
source: hosted
- version: "3.2.1"
+ version: "1.3.0"
shelf:
dependency: transitive
description:
name: shelf
- sha256: ad29c505aee705f41a4d8963641f91ac4cee3c8fad5947e033390a7bd8180fa4
+ sha256: e7dd780a7ffb623c57850b33f43309312fc863fb6aa3d276a754bb299839ef12
url: "https://pub.dev"
source: hosted
- version: "1.4.1"
+ version: "1.4.2"
shelf_web_socket:
dependency: transitive
description:
name: shelf_web_socket
- sha256: "9ca081be41c60190ebcb4766b2486a7d50261db7bd0f5d9615f2d653637a84c1"
+ sha256: "073c147238594ecd0d193f3456a5fe91c4b0abbcc68bf5cd95b36c4e194ac611"
url: "https://pub.dev"
source: hosted
- version: "1.0.4"
+ version: "2.0.0"
sky_engine:
dependency: transitive
description: flutter
source: sdk
- version: "0.0.99"
+ version: "0.0.0"
source_gen:
dependency: transitive
description:
name: source_gen
- sha256: fc0da689e5302edb6177fdd964efcb7f58912f43c28c2047a808f5bfff643d16
+ sha256: "14658ba5f669685cd3d63701d01b31ea748310f7ab854e471962670abcf57832"
url: "https://pub.dev"
source: hosted
- version: "1.4.0"
+ version: "1.5.0"
source_helper:
dependency: transitive
description:
@@ -537,18 +558,18 @@ packages:
dependency: transitive
description:
name: stack_trace
- sha256: c3c7d8edb15bee7f0f74debd4b9c5f3c2ea86766fe4178eb2a18eb30a0bdaed5
+ sha256: "9f47fd3630d76be3ab26f0ee06d213679aa425996925ff3feffdec504931c377"
url: "https://pub.dev"
source: hosted
- version: "1.11.0"
+ version: "1.12.0"
stream_channel:
dependency: transitive
description:
name: stream_channel
- sha256: "83615bee9045c1d322bbbd1ba209b7a749c2cbcdcb3fdd1df8eb488b3279c1c8"
+ sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7
url: "https://pub.dev"
source: hosted
- version: "2.1.1"
+ version: "2.1.2"
stream_transform:
dependency: transitive
description:
@@ -561,10 +582,10 @@ packages:
dependency: transitive
description:
name: string_scanner
- sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde"
+ sha256: "688af5ed3402a4bde5b3a6c15fd768dbf2621a614950b17f04626c431ab3c4c3"
url: "https://pub.dev"
source: hosted
- version: "1.2.0"
+ version: "1.3.0"
term_glyph:
dependency: transitive
description:
@@ -577,10 +598,10 @@ packages:
dependency: transitive
description:
name: test_api
- sha256: "75760ffd7786fffdfb9597c35c5b27eaeec82be8edfb6d71d32651128ed7aab8"
+ sha256: "664d3a9a64782fcdeb83ce9c6b39e78fd2971d4e37827b9b06c3aa1edc5e760c"
url: "https://pub.dev"
source: hosted
- version: "0.6.0"
+ version: "0.7.3"
timing:
dependency: transitive
description:
@@ -593,27 +614,26 @@ packages:
dependency: transitive
description:
name: typed_data
- sha256: facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c
+ sha256: f9049c039ebfeb4cf7a7104a675823cd72dba8297f264b6637062516699fa006
url: "https://pub.dev"
source: hosted
- version: "1.3.2"
+ version: "1.4.0"
ulink:
dependency: "direct main"
description:
name: ulink
- sha256: "534c30324bcac3595c343ee3a38d1111351bd14d1de7450d0b2be360f2eef994"
+ sha256: b8d38b902998a43426ce2f63de7b9282a7f4b16d3c768b53dcd422ef3f05b800
url: "https://pub.dev"
source: hosted
- version: "0.0.1"
+ version: "0.0.2"
usb_serial:
dependency: "direct main"
description:
- path: "."
- ref: HEAD
- resolved-ref: c20e1e6e171137db4b52413dac14333653f07905
- url: "https://github.com/altera2015/usbserial"
- source: git
- version: "0.4.0"
+ name: usb_serial
+ sha256: a605a600e34e7f28d4e80851ca3999ef747e42e406138887b8a88b8c382a8b07
+ url: "https://pub.dev"
+ source: hosted
+ version: "0.5.2"
vector_math:
dependency: transitive
description:
@@ -622,6 +642,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "2.1.4"
+ vm_service:
+ dependency: transitive
+ description:
+ name: vm_service
+ sha256: f6be3ed8bd01289b34d679c2b62226f63c0e69f9fd2e50a6b3c1c729a961041b
+ url: "https://pub.dev"
+ source: hosted
+ version: "14.3.0"
watcher:
dependency: transitive
description:
@@ -634,18 +662,26 @@ packages:
dependency: transitive
description:
name: web
- sha256: dc8ccd225a2005c1be616fe02951e2e342092edf968cf0844220383757ef8f10
+ sha256: cd3543bd5798f6ad290ea73d210f423502e71900302dde696f8bff84bf89a1cb
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.1.0"
+ web_socket:
+ dependency: transitive
+ description:
+ name: web_socket
+ sha256: "3c12d96c0c9a4eec095246debcea7b86c0324f22df69893d538fcc6f1b8cce83"
url: "https://pub.dev"
source: hosted
- version: "0.1.4-beta"
+ version: "0.1.6"
web_socket_channel:
dependency: transitive
description:
name: web_socket_channel
- sha256: d88238e5eac9a42bb43ca4e721edba3c08c6354d4a53063afaa568516217621b
+ sha256: "9f187088ed104edd8662ca07af4b124465893caf063ba29758f97af57e61da8f"
url: "https://pub.dev"
source: hosted
- version: "2.4.0"
+ version: "3.0.1"
yaml:
dependency: transitive
description:
@@ -655,5 +691,5 @@ packages:
source: hosted
version: "3.1.2"
sdks:
- dart: ">=3.1.0-185.0.dev <3.3.0"
- flutter: ">=3.3.0"
+ dart: ">=3.6.0-0 <4.0.0"
+ flutter: ">=3.24.0"
diff --git a/pubspec.yaml b/pubspec.yaml
index 06dec32..ab165a3 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -1,6 +1,5 @@
name: snake_eye
-description: A thermographic camera powered by MLX90640.
-
+description: "A thermographic camera powered by MLX90640."
# The following line prevents the package from being accidentally published to
# pub.dev using `flutter pub publish`. This is preferred for private packages.
publish_to: "none" # Remove this line if you wish to publish to pub.dev
@@ -32,27 +31,23 @@ dependencies:
flutter:
sdk: flutter
- camera: ^0.10.1
+ camera: ^0.11.0
espota: ^1.0.0
ffi: ^2.0.0
flutter_speed_dial: ^7.0.0
http: ^1.1.0
json_annotation: ^4.8.0
- ulink: ^0.0.1
- usb_serial: ^0.4.0
+ ulink: ^0.0.2
+ usb_serial: ^0.5.0
dev_dependencies:
flutter_test:
sdk: flutter
build_runner: ^2.0.0
- flutter_lints: ^2.0.0
+ flutter_lints: ^5.0.0
json_serializable: ^6.6.0
-dependency_overrides:
- usb_serial:
- git: https://github.com/altera2015/usbserial
-
# For information on the generic Dart part of this file, see the
# following page: https://dart.dev/tools/pub/pubspec
@@ -69,10 +64,10 @@ flutter:
# - images/a_dot_ham.jpeg
# An image asset can refer to one or more resolution-specific "variants", see
- # https://flutter.dev/assets-and-images/#resolution-aware
+ # https://flutter.dev/to/resolution-aware-images
# For details regarding adding assets from package dependencies, see
- # https://flutter.dev/assets-and-images/#from-packages
+ # https://flutter.dev/to/asset-from-package
# To add custom fonts to your application, add a fonts section here,
# in this "flutter" section. Each entry in this list should have a
@@ -92,4 +87,4 @@ flutter:
# weight: 700
#
# For details regarding fonts from package dependencies,
- # see https://flutter.dev/custom-fonts/#from-packages
+ # see https://flutter.dev/to/font-from-package
diff --git a/windows/CMakeLists.txt b/windows/CMakeLists.txt
index d234a8e..a109d62 100644
--- a/windows/CMakeLists.txt
+++ b/windows/CMakeLists.txt
@@ -87,6 +87,12 @@ if(PLUGIN_BUNDLED_LIBRARIES)
COMPONENT Runtime)
endif()
+# Copy the native assets provided by the build.dart from all packages.
+set(NATIVE_ASSETS_DIR "${PROJECT_BUILD_DIR}native_assets/windows/")
+install(DIRECTORY "${NATIVE_ASSETS_DIR}"
+ DESTINATION "${INSTALL_BUNDLE_LIB_DIR}"
+ COMPONENT Runtime)
+
# Fully re-copy the assets directory on each build to avoid having stale files
# from a previous install.
set(FLUTTER_ASSET_DIR_NAME "flutter_assets")
diff --git a/windows/flutter/CMakeLists.txt b/windows/flutter/CMakeLists.txt
index 930d207..903f489 100644
--- a/windows/flutter/CMakeLists.txt
+++ b/windows/flutter/CMakeLists.txt
@@ -10,6 +10,11 @@ include(${EPHEMERAL_DIR}/generated_config.cmake)
# https://github.com/flutter/flutter/issues/57146.
set(WRAPPER_ROOT "${EPHEMERAL_DIR}/cpp_client_wrapper")
+# Set fallback configurations for older versions of the flutter tool.
+if (NOT DEFINED FLUTTER_TARGET_PLATFORM)
+ set(FLUTTER_TARGET_PLATFORM "windows-x64")
+endif()
+
# === Flutter Library ===
set(FLUTTER_LIBRARY "${EPHEMERAL_DIR}/flutter_windows.dll")
@@ -92,7 +97,7 @@ add_custom_command(
COMMAND ${CMAKE_COMMAND} -E env
${FLUTTER_TOOL_ENVIRONMENT}
"${FLUTTER_ROOT}/packages/flutter_tools/bin/tool_backend.bat"
- windows-x64 $
+ ${FLUTTER_TARGET_PLATFORM} $
VERBATIM
)
add_custom_target(flutter_assemble DEPENDS
diff --git a/windows/runner/Runner.rc b/windows/runner/Runner.rc
index e2644d2..c691ac1 100644
--- a/windows/runner/Runner.rc
+++ b/windows/runner/Runner.rc
@@ -93,7 +93,7 @@ BEGIN
VALUE "FileDescription", "SnakeEye" "\0"
VALUE "FileVersion", VERSION_AS_STRING "\0"
VALUE "InternalName", "SnakeEye" "\0"
- VALUE "LegalCopyright", "Copyright (C) 2021-2023 Xdea. All rights reserved." "\0"
+ VALUE "LegalCopyright", "Copyright (C) 2021-2024 Xdea. All rights reserved." "\0"
VALUE "OriginalFilename", "SnakeEye.exe" "\0"
VALUE "ProductName", "SnakeEye" "\0"
VALUE "ProductVersion", VERSION_AS_STRING "\0"
diff --git a/windows/runner/runner.exe.manifest b/windows/runner/runner.exe.manifest
index a42ea76..153653e 100644
--- a/windows/runner/runner.exe.manifest
+++ b/windows/runner/runner.exe.manifest
@@ -9,12 +9,6 @@
-
-
-
-
-
-
diff --git a/windows/runner/utils.cpp b/windows/runner/utils.cpp
index b2b0873..3a0b465 100644
--- a/windows/runner/utils.cpp
+++ b/windows/runner/utils.cpp
@@ -45,13 +45,13 @@ std::string Utf8FromUtf16(const wchar_t* utf16_string) {
if (utf16_string == nullptr) {
return std::string();
}
- int target_length = ::WideCharToMultiByte(
+ unsigned int target_length = ::WideCharToMultiByte(
CP_UTF8, WC_ERR_INVALID_CHARS, utf16_string,
-1, nullptr, 0, nullptr, nullptr)
-1; // remove the trailing null character
int input_length = (int)wcslen(utf16_string);
std::string utf8_string;
- if (target_length <= 0 || target_length > utf8_string.max_size()) {
+ if (target_length == 0 || target_length > utf8_string.max_size()) {
return utf8_string;
}
utf8_string.resize(target_length);