diff --git a/open_wearable/.flutter_version b/open_wearable/.flutter_version index 9c4d7c1f..faf0dcbb 100644 --- a/open_wearable/.flutter_version +++ b/open_wearable/.flutter_version @@ -1 +1 @@ -3.38.2 +3.44.0 diff --git a/open_wearable/android/app/build.gradle b/open_wearable/android/app/build.gradle index d6725183..30ee3d7c 100644 --- a/open_wearable/android/app/build.gradle +++ b/open_wearable/android/app/build.gradle @@ -1,7 +1,6 @@ plugins { id "com.android.application" - id "kotlin-android" - // The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins. + // The Flutter Gradle Plugin must be applied after the Android Gradle plugin. id "dev.flutter.flutter-gradle-plugin" } @@ -17,12 +16,8 @@ android { ndkVersion = flutter.ndkVersion compileOptions { - sourceCompatibility = JavaVersion.VERSION_1_8 - targetCompatibility = JavaVersion.VERSION_1_8 - } - - kotlinOptions { - jvmTarget = JavaVersion.VERSION_1_8 + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 } defaultConfig { @@ -32,7 +27,7 @@ android { // For more information, see: https://flutter.dev/to/review-gradle-config. minSdk = flutter.minSdkVersion targetSdk = flutter.targetSdkVersion - versionCode customVersionCode.toInteger() + versionCode = customVersionCode.toInteger() versionName = flutter.versionName } @@ -41,8 +36,8 @@ android { // 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 - minifyEnabled true - shrinkResources true + minifyEnabled = true + shrinkResources = true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } @@ -51,3 +46,9 @@ android { flutter { source = "../.." } + +kotlin { + compilerOptions { + jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17 + } +} diff --git a/open_wearable/android/build.gradle b/open_wearable/android/build.gradle index d2ffbffa..3f7fd680 100644 --- a/open_wearable/android/build.gradle +++ b/open_wearable/android/build.gradle @@ -5,6 +5,22 @@ allprojects { } } +subprojects { + tasks.withType(JavaCompile).configureEach { + sourceCompatibility = JavaVersion.VERSION_17.toString() + targetCompatibility = JavaVersion.VERSION_17.toString() + } + + plugins.withId("com.android.library") { + android { + compileOptions { + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 + } + } + } +} + rootProject.buildDir = "../build" subprojects { project.buildDir = "${rootProject.buildDir}/${project.name}" diff --git a/open_wearable/android/gradle.properties b/open_wearable/android/gradle.properties index 25971708..c0356b5d 100644 --- a/open_wearable/android/gradle.properties +++ b/open_wearable/android/gradle.properties @@ -1,3 +1,5 @@ org.gradle.jvmargs=-Xmx4G -XX:MaxMetaspaceSize=2G -XX:+HeapDumpOnOutOfMemoryError android.useAndroidX=true android.enableJetifier=true +android.builtInKotlin=true +android.newDsl=true diff --git a/open_wearable/android/gradle/wrapper/gradle-wrapper.properties b/open_wearable/android/gradle/wrapper/gradle-wrapper.properties index 37f853b1..ca025c83 100644 --- a/open_wearable/android/gradle/wrapper/gradle-wrapper.properties +++ b/open_wearable/android/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.14-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/open_wearable/lib/widgets/fota/firmware_select/firmware_list.dart b/open_wearable/lib/widgets/fota/firmware_select/firmware_list.dart index 9da22535..628a1711 100644 --- a/open_wearable/lib/widgets/fota/firmware_select/firmware_list.dart +++ b/open_wearable/lib/widgets/fota/firmware_select/firmware_list.dart @@ -135,7 +135,7 @@ class _FirmwareListState extends State { if (confirmed != true || !mounted) return; - FilePickerResult? result = await FilePicker.platform.pickFiles( + FilePickerResult? result = await FilePicker.pickFiles( type: FileType.custom, allowedExtensions: ['zip', 'bin'], ); diff --git a/open_wearable/macos/Podfile.lock b/open_wearable/macos/Podfile.lock index 1d89c73e..41eb4bdf 100644 --- a/open_wearable/macos/Podfile.lock +++ b/open_wearable/macos/Podfile.lock @@ -1,105 +1,47 @@ PODS: - - audioplayers_darwin (0.0.1): - - Flutter - - device_info_plus (0.0.1): - - FlutterMacOS - - file_picker (0.0.1): - - FlutterMacOS - - file_selector_macos (0.0.1): - - FlutterMacOS - flutter_archive (0.0.1): - FlutterMacOS - ZIPFoundation (= 0.9.19) - FlutterMacOS (1.0.0) - - open_file_mac (1.0.3): - - FlutterMacOS - - package_info_plus (0.0.1): - - FlutterMacOS - - package_info_plus (0.0.1): - - FlutterMacOS - - path_provider_foundation (0.0.1): - - Flutter - - FlutterMacOS - - share_plus (0.0.1): - - FlutterMacOS - - shared_preferences_foundation (0.0.1): - - Flutter - - FlutterMacOS - - universal_ble (0.0.1): + - iOSMcuManagerLibrary (1.12): + - SwiftCBOR (= 0.5.0) + - ZIPFoundation (= 0.9.19) + - mcumgr_flutter (0.9.0): - Flutter - FlutterMacOS - - url_launcher_macos (0.0.1): - - FlutterMacOS - - wakelock_plus (0.0.1): - - FlutterMacOS + - iOSMcuManagerLibrary (= 1.12) + - SwiftProtobuf + - SwiftCBOR (0.5.0) + - SwiftProtobuf (1.37.0) - ZIPFoundation (0.9.19) DEPENDENCIES: - - audioplayers_darwin (from `Flutter/ephemeral/.symlinks/plugins/audioplayers_darwin/darwin`) - - device_info_plus (from `Flutter/ephemeral/.symlinks/plugins/device_info_plus/macos`) - - file_picker (from `Flutter/ephemeral/.symlinks/plugins/file_picker/macos`) - - file_selector_macos (from `Flutter/ephemeral/.symlinks/plugins/file_selector_macos/macos`) - flutter_archive (from `Flutter/ephemeral/.symlinks/plugins/flutter_archive/macos`) - FlutterMacOS (from `Flutter/ephemeral`) - - open_file_mac (from `Flutter/ephemeral/.symlinks/plugins/open_file_mac/macos`) - - path_provider_foundation (from `Flutter/ephemeral/.symlinks/plugins/path_provider_foundation/darwin`) - - package_info_plus (from `Flutter/ephemeral/.symlinks/plugins/package_info_plus/macos`) - - share_plus (from `Flutter/ephemeral/.symlinks/plugins/share_plus/macos`) - - shared_preferences_foundation (from `Flutter/ephemeral/.symlinks/plugins/shared_preferences_foundation/darwin`) - - universal_ble (from `Flutter/ephemeral/.symlinks/plugins/universal_ble/darwin`) - - url_launcher_macos (from `Flutter/ephemeral/.symlinks/plugins/url_launcher_macos/macos`) - - wakelock_plus (from `Flutter/ephemeral/.symlinks/plugins/wakelock_plus/macos`) + - mcumgr_flutter (from `Flutter/ephemeral/.symlinks/plugins/mcumgr_flutter/darwin`) SPEC REPOS: trunk: + - iOSMcuManagerLibrary + - SwiftCBOR + - SwiftProtobuf - ZIPFoundation EXTERNAL SOURCES: - audioplayers_darwin: - :path: Flutter/ephemeral/.symlinks/plugins/audioplayers_darwin/darwin - device_info_plus: - :path: Flutter/ephemeral/.symlinks/plugins/device_info_plus/macos - file_picker: - :path: Flutter/ephemeral/.symlinks/plugins/file_picker/macos - file_selector_macos: - :path: Flutter/ephemeral/.symlinks/plugins/file_selector_macos/macos flutter_archive: :path: Flutter/ephemeral/.symlinks/plugins/flutter_archive/macos FlutterMacOS: :path: Flutter/ephemeral - open_file_mac: - :path: Flutter/ephemeral/.symlinks/plugins/open_file_mac/macos - path_provider_foundation: - :path: Flutter/ephemeral/.symlinks/plugins/path_provider_foundation/darwin - package_info_plus: - :path: Flutter/ephemeral/.symlinks/plugins/package_info_plus/macos - share_plus: - :path: Flutter/ephemeral/.symlinks/plugins/share_plus/macos - shared_preferences_foundation: - :path: Flutter/ephemeral/.symlinks/plugins/shared_preferences_foundation/darwin - universal_ble: - :path: Flutter/ephemeral/.symlinks/plugins/universal_ble/darwin - url_launcher_macos: - :path: Flutter/ephemeral/.symlinks/plugins/url_launcher_macos/macos - wakelock_plus: - :path: Flutter/ephemeral/.symlinks/plugins/wakelock_plus/macos + mcumgr_flutter: + :path: Flutter/ephemeral/.symlinks/plugins/mcumgr_flutter/darwin SPEC CHECKSUMS: - audioplayers_darwin: 835ced6edd4c9fc8ebb0a7cc9e294a91d99917d5 - device_info_plus: 4fb280989f669696856f8b129e4a5e3cd6c48f76 - file_picker: 7584aae6fa07a041af2b36a2655122d42f578c1a - file_selector_macos: 9e9e068e90ebee155097d00e89ae91edb2374db7 flutter_archive: 07888d9aeb79da005e0ad8b9d347d17cdea07f68 FlutterMacOS: d0db08ddef1a9af05a5ec4b724367152bb0500b1 - open_file_mac: 76f06c8597551249bdb5e8fd8827a98eae0f4585 - path_provider_foundation: bb55f6dbba17d0dccd6737fe6f7f34fbd0376880 - package_info_plus: f0052d280d17aa382b932f399edf32507174e870 - path_provider_foundation: bb55f6dbba17d0dccd6737fe6f7f34fbd0376880 - share_plus: 510bf0af1a42cd602274b4629920c9649c52f4cc - shared_preferences_foundation: 7036424c3d8ec98dfe75ff1667cb0cd531ec82bb - universal_ble: ff19787898040d721109c6324472e5dd4bc86adc - url_launcher_macos: f87a979182d112f911de6820aefddaf56ee9fbfd - wakelock_plus: 917609be14d812ddd9e9528876538b2263aaa03b + iOSMcuManagerLibrary: f72db849f6dd66b1f26cd7eea776050a22c8591c + mcumgr_flutter: b9864b2ae8334b6ba2b33f9ab4fc0a67bbe75c7a + SwiftCBOR: aa87349b4ccddd19f861aa544f7c27d43dee5772 + SwiftProtobuf: 3fafd1b2fb97e6d95ad9c8adb2215da9afec7c83 ZIPFoundation: b8c29ea7ae353b309bc810586181fd073cb3312c PODFILE CHECKSUM: 9ebaf0ce3d369aaa26a9ea0e159195ed94724cf3 diff --git a/open_wearable/macos/Runner.xcodeproj/project.pbxproj b/open_wearable/macos/Runner.xcodeproj/project.pbxproj index 9c14888d..7abbfeac 100644 --- a/open_wearable/macos/Runner.xcodeproj/project.pbxproj +++ b/open_wearable/macos/Runner.xcodeproj/project.pbxproj @@ -29,6 +29,7 @@ 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F42044A3C60003C045 /* MainMenu.xib */; }; 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; }; 3C950AFF3453E92F03D56DA1 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 154E316B50D3FF3EAEAD54B9 /* Pods_RunnerTests.framework */; }; + 78A318202AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage in Frameworks */ = {isa = PBXBuildFile; productRef = 78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -88,6 +89,7 @@ 96216F23D824FB4DBC4D1651 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = ""; }; DEC28D66F5ECB007920FC961 /* 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 = ""; }; + 78E0A7A72DC9AD7400C4905E /* FlutterGeneratedPluginSwiftPackage */ = {isa = PBXFileReference; lastKnownFileType = wrapper; name = FlutterGeneratedPluginSwiftPackage; path = ephemeral/Packages/FlutterGeneratedPluginSwiftPackage; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -103,6 +105,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 78A318202AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage in Frameworks */, 0602BE62A7696F64EB0C68B9 /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; @@ -164,6 +167,7 @@ 33CEB47122A05771004F2AC0 /* Flutter */ = { isa = PBXGroup; children = ( + 78E0A7A72DC9AD7400C4905E /* FlutterGeneratedPluginSwiftPackage */, 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */, 33CEB47222A05771004F2AC0 /* Flutter-Debug.xcconfig */, 33CEB47422A05771004F2AC0 /* Flutter-Release.xcconfig */, @@ -230,6 +234,9 @@ productType = "com.apple.product-type.bundle.unit-test"; }; 33CC10EC2044A3C60003C045 /* Runner */ = { + packageProductDependencies = ( + 78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */, + ); isa = PBXNativeTarget; buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( @@ -255,6 +262,9 @@ /* Begin PBXProject section */ 33CC10E52044A3C60003C045 /* Project object */ = { + packageReferences = ( + 781AD8BC2B33823900A9FFBB /* XCLocalSwiftPackageReference "Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage" */, + ); isa = PBXProject; attributes = { BuildIndependentTargetsInParallel = YES; @@ -798,6 +808,18 @@ defaultConfigurationName = Release; }; /* End XCConfigurationList section */ +/* Begin XCLocalSwiftPackageReference section */ + 781AD8BC2B33823900A9FFBB /* XCLocalSwiftPackageReference "Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage" */ = { + isa = XCLocalSwiftPackageReference; + relativePath = Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage; + }; +/* End XCLocalSwiftPackageReference section */ +/* Begin XCSwiftPackageProductDependency section */ + 78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */ = { + isa = XCSwiftPackageProductDependency; + productName = FlutterGeneratedPluginSwiftPackage; + }; +/* End XCSwiftPackageProductDependency section */ }; rootObject = 33CC10E52044A3C60003C045 /* Project object */; } diff --git a/open_wearable/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/open_wearable/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index ae302027..fe55309e 100644 --- a/open_wearable/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/open_wearable/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -5,6 +5,24 @@ + + + + + + + + + + =3.11.0 <4.0.0" - flutter: ">=3.41.0" + dart: ">=3.11.4 <4.0.0" + flutter: ">=3.38.4" diff --git a/open_wearable/pubspec.yaml b/open_wearable/pubspec.yaml index a4791c3a..79bd286b 100644 --- a/open_wearable/pubspec.yaml +++ b/open_wearable/pubspec.yaml @@ -35,8 +35,8 @@ dependencies: # Use with the CupertinoIcons class for iOS style icons. cupertino_icons: ^1.0.8 open_file: ^3.3.2 - open_earable_flutter: ^2.3.7 - universal_ble: ^0.21.1 + open_earable_flutter: ^2.3.8 + universal_ble: ^2.0.1 flutter_platform_widgets: ^10.0.1 provider: ^6.1.2 logger: ^2.5.0 @@ -46,7 +46,7 @@ dependencies: flutter_staggered_grid_view: ^0.7.0 flutter_bloc: ^9.1.1 fl_chart: ^1.0.0 - file_picker: ^10.3.7 + file_picker: ^11.0.2 mcumgr_flutter: ^0.9.0 file_selector: ^1.0.3 path_provider: ^2.1.5