From f2d3582429e8301cfd619734bf26bf2bc19f3f14 Mon Sep 17 00:00:00 2001 From: Achmad Ilham <30348815+achmadilham07@users.noreply.github.com> Date: Fri, 11 Sep 2026 10:50:08 +0700 Subject: [PATCH 1/2] change firebase ml into firebase cloud storage --- .../04-firebase-ml-app/analysis_options.yaml | 1 - .../android/gradle.properties | 3 - .../android/settings.gradle.kts | 29 --- 04-litert/04-firebase-ml-app/ios/Podfile.lock | 202 --------------- .../lib/service/firebase_ml_service.dart | 23 -- .../.gitignore | 0 .../.metadata | 14 +- .../README.md | 0 .../analysis_options.yaml | 10 + .../android/.gitignore | 0 .../android/app/build.gradle.kts | 14 +- .../android/app/google-services.json | 31 +-- .../android/app/src/debug/AndroidManifest.xml | 0 .../android/app/src/main/AndroidManifest.xml | 0 .../house_price_predictor_app/MainActivity.kt | 0 .../res/drawable-v21/launch_background.xml | 0 .../main/res/drawable/launch_background.xml | 0 .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin .../app/src/main/res/values-night/styles.xml | 0 .../app/src/main/res/values/styles.xml | 0 .../app/src/profile/AndroidManifest.xml | 0 .../android/build.gradle.kts | 5 +- .../android/gradle.properties | 10 + .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../android/settings.gradle.kts | 28 +++ .../firebase.json | 0 .../ios/.gitignore | 0 .../ios/Flutter/AppFrameworkInfo.plist | 2 - .../ios/Flutter/Debug.xcconfig | 0 .../ios/Flutter/Release.xcconfig | 0 .../ios/Podfile | 4 +- .../04-firebase-storage-app/ios/Podfile.lock | 49 ++++ .../ios/Runner.xcodeproj/project.pbxproj | 182 +++++++------- .../contents.xcworkspacedata | 0 .../xcshareddata/IDEWorkspaceChecks.plist | 0 .../xcshareddata/WorkspaceSettings.xcsettings | 0 .../xcshareddata/swiftpm/Package.resolved | 122 +++++++++ .../xcshareddata/xcschemes/Runner.xcscheme | 18 ++ .../contents.xcworkspacedata | 0 .../xcshareddata/IDEWorkspaceChecks.plist | 0 .../xcshareddata/WorkspaceSettings.xcsettings | 0 .../xcshareddata/swiftpm/Package.resolved | 122 +++++++++ .../ios/Runner/AppDelegate.swift | 7 +- .../AppIcon.appiconset/Contents.json | 0 .../Icon-App-1024x1024@1x.png | Bin .../AppIcon.appiconset/Icon-App-20x20@1x.png | Bin .../AppIcon.appiconset/Icon-App-20x20@2x.png | Bin .../AppIcon.appiconset/Icon-App-20x20@3x.png | Bin .../AppIcon.appiconset/Icon-App-29x29@1x.png | Bin .../AppIcon.appiconset/Icon-App-29x29@2x.png | Bin .../AppIcon.appiconset/Icon-App-29x29@3x.png | Bin .../AppIcon.appiconset/Icon-App-40x40@1x.png | Bin .../AppIcon.appiconset/Icon-App-40x40@2x.png | Bin .../AppIcon.appiconset/Icon-App-40x40@3x.png | Bin .../AppIcon.appiconset/Icon-App-60x60@2x.png | Bin .../AppIcon.appiconset/Icon-App-60x60@3x.png | Bin .../AppIcon.appiconset/Icon-App-76x76@1x.png | Bin .../AppIcon.appiconset/Icon-App-76x76@2x.png | Bin .../Icon-App-83.5x83.5@2x.png | Bin .../LaunchImage.imageset/Contents.json | 0 .../LaunchImage.imageset/LaunchImage.png | Bin .../LaunchImage.imageset/LaunchImage@2x.png | Bin .../LaunchImage.imageset/LaunchImage@3x.png | Bin .../LaunchImage.imageset/README.md | 0 .../Runner/Base.lproj/LaunchScreen.storyboard | 0 .../ios/Runner/Base.lproj/Main.storyboard | 0 .../ios/Runner/GoogleService-Info.plist | 0 .../ios/Runner/Info.plist | 29 ++- .../ios/Runner/Runner-Bridging-Header.h | 0 .../ios/RunnerTests/RunnerTests.swift | 0 .../controller/house_detail_controller.dart | 0 .../lib/controller/lite_rt_controller.dart | 3 + .../lib/firebase_options.dart | 0 .../lib/main.dart | 9 +- .../lib/model/house_detail.dart | 0 .../lib/service/firebase_storage_service.dart | 16 ++ .../lib/service/lite_rt_service.dart | 10 +- .../lib/ui/home_page.dart | 15 +- .../lib/widget/form_field_counter.dart | 0 .../lib/widget/form_field_free_number.dart | 0 .../pubspec.lock | 232 +++++++++++++++--- .../pubspec.yaml | 16 +- 86 files changed, 744 insertions(+), 464 deletions(-) delete mode 100644 04-litert/04-firebase-ml-app/analysis_options.yaml delete mode 100644 04-litert/04-firebase-ml-app/android/gradle.properties delete mode 100644 04-litert/04-firebase-ml-app/android/settings.gradle.kts delete mode 100644 04-litert/04-firebase-ml-app/ios/Podfile.lock delete mode 100644 04-litert/04-firebase-ml-app/lib/service/firebase_ml_service.dart rename 04-litert/{04-firebase-ml-app => 04-firebase-storage-app}/.gitignore (100%) rename 04-litert/{04-firebase-ml-app => 04-firebase-storage-app}/.metadata (61%) rename 04-litert/{04-firebase-ml-app => 04-firebase-storage-app}/README.md (100%) create mode 100644 04-litert/04-firebase-storage-app/analysis_options.yaml rename 04-litert/{04-firebase-ml-app => 04-firebase-storage-app}/android/.gitignore (100%) rename 04-litert/{04-firebase-ml-app => 04-firebase-storage-app}/android/app/build.gradle.kts (86%) rename 04-litert/{04-firebase-ml-app => 04-firebase-storage-app}/android/app/google-services.json (64%) rename 04-litert/{04-firebase-ml-app => 04-firebase-storage-app}/android/app/src/debug/AndroidManifest.xml (100%) rename 04-litert/{04-firebase-ml-app => 04-firebase-storage-app}/android/app/src/main/AndroidManifest.xml (100%) rename 04-litert/{04-firebase-ml-app => 04-firebase-storage-app}/android/app/src/main/kotlin/com/dicoding/house_price_predictor_app/MainActivity.kt (100%) rename 04-litert/{04-firebase-ml-app => 04-firebase-storage-app}/android/app/src/main/res/drawable-v21/launch_background.xml (100%) rename 04-litert/{04-firebase-ml-app => 04-firebase-storage-app}/android/app/src/main/res/drawable/launch_background.xml (100%) rename 04-litert/{04-firebase-ml-app => 04-firebase-storage-app}/android/app/src/main/res/mipmap-hdpi/ic_launcher.png (100%) rename 04-litert/{04-firebase-ml-app => 04-firebase-storage-app}/android/app/src/main/res/mipmap-mdpi/ic_launcher.png (100%) rename 04-litert/{04-firebase-ml-app => 04-firebase-storage-app}/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png (100%) rename 04-litert/{04-firebase-ml-app => 04-firebase-storage-app}/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png (100%) rename 04-litert/{04-firebase-ml-app => 04-firebase-storage-app}/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png (100%) rename 04-litert/{04-firebase-ml-app => 04-firebase-storage-app}/android/app/src/main/res/values-night/styles.xml (100%) rename 04-litert/{04-firebase-ml-app => 04-firebase-storage-app}/android/app/src/main/res/values/styles.xml (100%) rename 04-litert/{04-firebase-ml-app => 04-firebase-storage-app}/android/app/src/profile/AndroidManifest.xml (100%) rename 04-litert/{04-firebase-ml-app => 04-firebase-storage-app}/android/build.gradle.kts (79%) create mode 100644 04-litert/04-firebase-storage-app/android/gradle.properties rename 04-litert/{04-firebase-ml-app => 04-firebase-storage-app}/android/gradle/wrapper/gradle-wrapper.properties (92%) create mode 100644 04-litert/04-firebase-storage-app/android/settings.gradle.kts rename 04-litert/{04-firebase-ml-app => 04-firebase-storage-app}/firebase.json (100%) rename 04-litert/{04-firebase-ml-app => 04-firebase-storage-app}/ios/.gitignore (100%) rename 04-litert/{04-firebase-ml-app => 04-firebase-storage-app}/ios/Flutter/AppFrameworkInfo.plist (93%) rename 04-litert/{04-firebase-ml-app => 04-firebase-storage-app}/ios/Flutter/Debug.xcconfig (100%) rename 04-litert/{04-firebase-ml-app => 04-firebase-storage-app}/ios/Flutter/Release.xcconfig (100%) rename 04-litert/{04-firebase-ml-app => 04-firebase-storage-app}/ios/Podfile (96%) create mode 100644 04-litert/04-firebase-storage-app/ios/Podfile.lock rename 04-litert/{04-firebase-ml-app => 04-firebase-storage-app}/ios/Runner.xcodeproj/project.pbxproj (86%) rename 04-litert/{04-firebase-ml-app => 04-firebase-storage-app}/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata (100%) rename 04-litert/{04-firebase-ml-app => 04-firebase-storage-app}/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist (100%) rename 04-litert/{04-firebase-ml-app => 04-firebase-storage-app}/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings (100%) create mode 100644 04-litert/04-firebase-storage-app/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved rename 04-litert/{04-firebase-ml-app => 04-firebase-storage-app}/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme (81%) rename 04-litert/{04-firebase-ml-app => 04-firebase-storage-app}/ios/Runner.xcworkspace/contents.xcworkspacedata (100%) rename 04-litert/{04-firebase-ml-app => 04-firebase-storage-app}/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist (100%) rename 04-litert/{04-firebase-ml-app => 04-firebase-storage-app}/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings (100%) create mode 100644 04-litert/04-firebase-storage-app/ios/Runner.xcworkspace/xcshareddata/swiftpm/Package.resolved rename 04-litert/{04-firebase-ml-app => 04-firebase-storage-app}/ios/Runner/AppDelegate.swift (54%) rename 04-litert/{04-firebase-ml-app => 04-firebase-storage-app}/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json (100%) rename 04-litert/{04-firebase-ml-app => 04-firebase-storage-app}/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png (100%) rename 04-litert/{04-firebase-ml-app => 04-firebase-storage-app}/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png (100%) rename 04-litert/{04-firebase-ml-app => 04-firebase-storage-app}/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png (100%) rename 04-litert/{04-firebase-ml-app => 04-firebase-storage-app}/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png (100%) rename 04-litert/{04-firebase-ml-app => 04-firebase-storage-app}/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png (100%) rename 04-litert/{04-firebase-ml-app => 04-firebase-storage-app}/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png (100%) rename 04-litert/{04-firebase-ml-app => 04-firebase-storage-app}/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png (100%) rename 04-litert/{04-firebase-ml-app => 04-firebase-storage-app}/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png (100%) rename 04-litert/{04-firebase-ml-app => 04-firebase-storage-app}/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png (100%) rename 04-litert/{04-firebase-ml-app => 04-firebase-storage-app}/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png (100%) rename 04-litert/{04-firebase-ml-app => 04-firebase-storage-app}/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png (100%) rename 04-litert/{04-firebase-ml-app => 04-firebase-storage-app}/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png (100%) rename 04-litert/{04-firebase-ml-app => 04-firebase-storage-app}/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png (100%) rename 04-litert/{04-firebase-ml-app => 04-firebase-storage-app}/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png (100%) rename 04-litert/{04-firebase-ml-app => 04-firebase-storage-app}/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png (100%) rename 04-litert/{04-firebase-ml-app => 04-firebase-storage-app}/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json (100%) rename 04-litert/{04-firebase-ml-app => 04-firebase-storage-app}/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png (100%) rename 04-litert/{04-firebase-ml-app => 04-firebase-storage-app}/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png (100%) rename 04-litert/{04-firebase-ml-app => 04-firebase-storage-app}/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png (100%) rename 04-litert/{04-firebase-ml-app => 04-firebase-storage-app}/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md (100%) rename 04-litert/{04-firebase-ml-app => 04-firebase-storage-app}/ios/Runner/Base.lproj/LaunchScreen.storyboard (100%) rename 04-litert/{04-firebase-ml-app => 04-firebase-storage-app}/ios/Runner/Base.lproj/Main.storyboard (100%) rename 04-litert/{04-firebase-ml-app => 04-firebase-storage-app}/ios/Runner/GoogleService-Info.plist (100%) rename 04-litert/{04-firebase-ml-app => 04-firebase-storage-app}/ios/Runner/Info.plist (75%) rename 04-litert/{04-firebase-ml-app => 04-firebase-storage-app}/ios/Runner/Runner-Bridging-Header.h (100%) rename 04-litert/{04-firebase-ml-app => 04-firebase-storage-app}/ios/RunnerTests/RunnerTests.swift (100%) rename 04-litert/{04-firebase-ml-app => 04-firebase-storage-app}/lib/controller/house_detail_controller.dart (100%) rename 04-litert/{04-firebase-ml-app => 04-firebase-storage-app}/lib/controller/lite_rt_controller.dart (73%) rename 04-litert/{04-firebase-ml-app => 04-firebase-storage-app}/lib/firebase_options.dart (100%) rename 04-litert/{04-firebase-ml-app => 04-firebase-storage-app}/lib/main.dart (71%) rename 04-litert/{04-firebase-ml-app => 04-firebase-storage-app}/lib/model/house_detail.dart (100%) create mode 100644 04-litert/04-firebase-storage-app/lib/service/firebase_storage_service.dart rename 04-litert/{04-firebase-ml-app => 04-firebase-storage-app}/lib/service/lite_rt_service.dart (84%) rename 04-litert/{04-firebase-ml-app => 04-firebase-storage-app}/lib/ui/home_page.dart (88%) rename 04-litert/{04-firebase-ml-app => 04-firebase-storage-app}/lib/widget/form_field_counter.dart (100%) rename 04-litert/{04-firebase-ml-app => 04-firebase-storage-app}/lib/widget/form_field_free_number.dart (100%) rename 04-litert/{04-firebase-ml-app => 04-firebase-storage-app}/pubspec.lock (52%) rename 04-litert/{04-firebase-ml-app => 04-firebase-storage-app}/pubspec.yaml (54%) diff --git a/04-litert/04-firebase-ml-app/analysis_options.yaml b/04-litert/04-firebase-ml-app/analysis_options.yaml deleted file mode 100644 index f9b3034..0000000 --- a/04-litert/04-firebase-ml-app/analysis_options.yaml +++ /dev/null @@ -1 +0,0 @@ -include: package:flutter_lints/flutter.yaml diff --git a/04-litert/04-firebase-ml-app/android/gradle.properties b/04-litert/04-firebase-ml-app/android/gradle.properties deleted file mode 100644 index f018a61..0000000 --- a/04-litert/04-firebase-ml-app/android/gradle.properties +++ /dev/null @@ -1,3 +0,0 @@ -org.gradle.jvmargs=-Xmx8G -XX:MaxMetaspaceSize=4G -XX:ReservedCodeCacheSize=512m -XX:+HeapDumpOnOutOfMemoryError -android.useAndroidX=true -android.enableJetifier=true diff --git a/04-litert/04-firebase-ml-app/android/settings.gradle.kts b/04-litert/04-firebase-ml-app/android/settings.gradle.kts deleted file mode 100644 index c59c298..0000000 --- a/04-litert/04-firebase-ml-app/android/settings.gradle.kts +++ /dev/null @@ -1,29 +0,0 @@ -pluginManagement { - val flutterSdkPath = - run { - val properties = java.util.Properties() - file("local.properties").inputStream().use { properties.load(it) } - val flutterSdkPath = properties.getProperty("flutter.sdk") - require(flutterSdkPath != null) { "flutter.sdk not set in local.properties" } - flutterSdkPath - } - - includeBuild("$flutterSdkPath/packages/flutter_tools/gradle") - - repositories { - google() - mavenCentral() - gradlePluginPortal() - } -} - -plugins { - id("dev.flutter.flutter-plugin-loader") version "1.0.0" - id("com.android.application") version "8.9.1" apply false - // START: FlutterFire Configuration - id("com.google.gms.google-services") version("4.4.3") apply false - // END: FlutterFire Configuration - id("org.jetbrains.kotlin.android") version "2.1.0" apply false -} - -include(":app") diff --git a/04-litert/04-firebase-ml-app/ios/Podfile.lock b/04-litert/04-firebase-ml-app/ios/Podfile.lock deleted file mode 100644 index c7ef7dc..0000000 --- a/04-litert/04-firebase-ml-app/ios/Podfile.lock +++ /dev/null @@ -1,202 +0,0 @@ -PODS: - - Firebase/Core (12.2.0): - - Firebase/CoreOnly - - FirebaseAnalytics (~> 12.2.0) - - Firebase/CoreOnly (12.2.0): - - FirebaseCore (~> 12.2.0) - - Firebase/MLModelDownloader (12.2.0): - - Firebase/CoreOnly - - FirebaseMLModelDownloader (~> 12.2.0-beta) - - firebase_core (4.1.1): - - Firebase/CoreOnly (= 12.2.0) - - Flutter - - firebase_ml_model_downloader (0.4.0-2): - - Firebase/MLModelDownloader (= 12.2.0) - - firebase_core - - Flutter - - FirebaseAnalytics (12.2.0): - - FirebaseAnalytics/Default (= 12.2.0) - - FirebaseCore (~> 12.2.0) - - FirebaseInstallations (~> 12.2.0) - - GoogleUtilities/AppDelegateSwizzler (~> 8.1) - - GoogleUtilities/MethodSwizzler (~> 8.1) - - GoogleUtilities/Network (~> 8.1) - - "GoogleUtilities/NSData+zlib (~> 8.1)" - - nanopb (~> 3.30910.0) - - FirebaseAnalytics/Default (12.2.0): - - FirebaseCore (~> 12.2.0) - - FirebaseInstallations (~> 12.2.0) - - GoogleAppMeasurement/Default (= 12.2.0) - - GoogleUtilities/AppDelegateSwizzler (~> 8.1) - - GoogleUtilities/MethodSwizzler (~> 8.1) - - GoogleUtilities/Network (~> 8.1) - - "GoogleUtilities/NSData+zlib (~> 8.1)" - - nanopb (~> 3.30910.0) - - FirebaseCore (12.2.0): - - FirebaseCoreInternal (~> 12.2.0) - - GoogleUtilities/Environment (~> 8.1) - - GoogleUtilities/Logger (~> 8.1) - - FirebaseCoreExtension (12.2.0): - - FirebaseCore (~> 12.2.0) - - FirebaseCoreInternal (12.2.0): - - "GoogleUtilities/NSData+zlib (~> 8.1)" - - FirebaseInstallations (12.2.0): - - FirebaseCore (~> 12.2.0) - - GoogleUtilities/Environment (~> 8.1) - - GoogleUtilities/UserDefaults (~> 8.1) - - PromisesObjC (~> 2.4) - - FirebaseMLModelDownloader (12.2.0-beta): - - FirebaseCore (~> 12.2.0) - - FirebaseCoreExtension (~> 12.2.0) - - FirebaseInstallations (~> 12.2.0) - - GoogleDataTransport (~> 10.1) - - GoogleUtilities/UserDefaults (~> 8.1) - - SwiftProtobuf (~> 1.19) - - Flutter (1.0.0) - - GoogleAdsOnDeviceConversion (2.3.0): - - GoogleUtilities/Logger (~> 8.1) - - GoogleUtilities/Network (~> 8.1) - - nanopb (~> 3.30910.0) - - GoogleAppMeasurement/Core (12.2.0): - - GoogleUtilities/AppDelegateSwizzler (~> 8.1) - - GoogleUtilities/MethodSwizzler (~> 8.1) - - GoogleUtilities/Network (~> 8.1) - - "GoogleUtilities/NSData+zlib (~> 8.1)" - - nanopb (~> 3.30910.0) - - GoogleAppMeasurement/Default (12.2.0): - - GoogleAdsOnDeviceConversion (= 2.3.0) - - GoogleAppMeasurement/Core (= 12.2.0) - - GoogleAppMeasurement/IdentitySupport (= 12.2.0) - - GoogleUtilities/AppDelegateSwizzler (~> 8.1) - - GoogleUtilities/MethodSwizzler (~> 8.1) - - GoogleUtilities/Network (~> 8.1) - - "GoogleUtilities/NSData+zlib (~> 8.1)" - - nanopb (~> 3.30910.0) - - GoogleAppMeasurement/IdentitySupport (12.2.0): - - GoogleAppMeasurement/Core (= 12.2.0) - - GoogleUtilities/AppDelegateSwizzler (~> 8.1) - - GoogleUtilities/MethodSwizzler (~> 8.1) - - GoogleUtilities/Network (~> 8.1) - - "GoogleUtilities/NSData+zlib (~> 8.1)" - - nanopb (~> 3.30910.0) - - GoogleDataTransport (10.1.0): - - nanopb (~> 3.30910.0) - - PromisesObjC (~> 2.4) - - GoogleUtilities/AppDelegateSwizzler (8.1.0): - - GoogleUtilities/Environment - - GoogleUtilities/Logger - - GoogleUtilities/Network - - GoogleUtilities/Privacy - - GoogleUtilities/Environment (8.1.0): - - GoogleUtilities/Privacy - - GoogleUtilities/Logger (8.1.0): - - GoogleUtilities/Environment - - GoogleUtilities/Privacy - - GoogleUtilities/MethodSwizzler (8.1.0): - - GoogleUtilities/Logger - - GoogleUtilities/Privacy - - GoogleUtilities/Network (8.1.0): - - GoogleUtilities/Logger - - "GoogleUtilities/NSData+zlib" - - GoogleUtilities/Privacy - - GoogleUtilities/Reachability - - "GoogleUtilities/NSData+zlib (8.1.0)": - - GoogleUtilities/Privacy - - GoogleUtilities/Privacy (8.1.0) - - GoogleUtilities/Reachability (8.1.0): - - GoogleUtilities/Logger - - GoogleUtilities/Privacy - - GoogleUtilities/UserDefaults (8.1.0): - - GoogleUtilities/Logger - - GoogleUtilities/Privacy - - nanopb (3.30910.0): - - nanopb/decode (= 3.30910.0) - - nanopb/encode (= 3.30910.0) - - nanopb/decode (3.30910.0) - - nanopb/encode (3.30910.0) - - PromisesObjC (2.4.0) - - SwiftProtobuf (1.31.1) - - TensorFlowLiteC (2.12.0): - - TensorFlowLiteC/Core (= 2.12.0) - - TensorFlowLiteC/Core (2.12.0) - - TensorFlowLiteC/CoreML (2.12.0): - - TensorFlowLiteC/Core - - TensorFlowLiteC/Metal (2.12.0): - - TensorFlowLiteC/Core - - TensorFlowLiteSwift (2.12.0): - - TensorFlowLiteSwift/Core (= 2.12.0) - - TensorFlowLiteSwift/Core (2.12.0): - - TensorFlowLiteC (= 2.12.0) - - TensorFlowLiteSwift/CoreML (2.12.0): - - TensorFlowLiteC/CoreML (= 2.12.0) - - TensorFlowLiteSwift/Core (= 2.12.0) - - TensorFlowLiteSwift/Metal (2.12.0): - - TensorFlowLiteC/Metal (= 2.12.0) - - TensorFlowLiteSwift/Core (= 2.12.0) - - tflite_flutter (0.0.1): - - Flutter - - TensorFlowLiteSwift (= 2.12.0) - - TensorFlowLiteSwift/CoreML (= 2.12.0) - - TensorFlowLiteSwift/Metal (= 2.12.0) - -DEPENDENCIES: - - Firebase/Core - - firebase_core (from `.symlinks/plugins/firebase_core/ios`) - - firebase_ml_model_downloader (from `.symlinks/plugins/firebase_ml_model_downloader/ios`) - - Flutter (from `Flutter`) - - tflite_flutter (from `.symlinks/plugins/tflite_flutter/ios`) - -SPEC REPOS: - trunk: - - Firebase - - FirebaseAnalytics - - FirebaseCore - - FirebaseCoreExtension - - FirebaseCoreInternal - - FirebaseInstallations - - FirebaseMLModelDownloader - - GoogleAdsOnDeviceConversion - - GoogleAppMeasurement - - GoogleDataTransport - - GoogleUtilities - - nanopb - - PromisesObjC - - SwiftProtobuf - - TensorFlowLiteC - - TensorFlowLiteSwift - -EXTERNAL SOURCES: - firebase_core: - :path: ".symlinks/plugins/firebase_core/ios" - firebase_ml_model_downloader: - :path: ".symlinks/plugins/firebase_ml_model_downloader/ios" - Flutter: - :path: Flutter - tflite_flutter: - :path: ".symlinks/plugins/tflite_flutter/ios" - -SPEC CHECKSUMS: - Firebase: 26f6f8d460603af3df970ad505b16b15f5e2e9a1 - firebase_core: c92b2e526c46f625784f19c07121cd533536d0e7 - firebase_ml_model_downloader: 1743407ad61971e831476c9227506f3435705dd9 - FirebaseAnalytics: e04e23bc070e3014aa5cf4980f9df7ce5cd79ec8 - FirebaseCore: 311c48a147ad4a0ab7febbaed89e8025c67510cd - FirebaseCoreExtension: 73af080c22a2f7b44cefa391dc08f7e4ee162cb5 - FirebaseCoreInternal: 56ea29f3dad2894f81b060f706f9d53509b6ed3b - FirebaseInstallations: 3e884b01feabdf67582a80f3250425a00979b4ed - FirebaseMLModelDownloader: b6ac113419f2fa7c674ed888164f17654e11a474 - Flutter: cabc95a1d2626b1b06e7179b784ebcf0c0cde467 - GoogleAdsOnDeviceConversion: 9090c435cde08903e8dd1ba2c77fbec9e46d9afe - GoogleAppMeasurement: 09f341dfa8527d1612a09cbfe809a242c0b737af - GoogleDataTransport: aae35b7ea0c09004c3797d53c8c41f66f219d6a7 - GoogleUtilities: 00c88b9a86066ef77f0da2fab05f65d7768ed8e1 - nanopb: fad817b59e0457d11a5dfbde799381cd727c1275 - PromisesObjC: f5707f49cb48b9636751c5b2e7d227e43fba9f47 - SwiftProtobuf: e02f51c8c2df5845657aee2d4de9d61bf50ef788 - TensorFlowLiteC: 20785a69299185a379ba9852b6625f00afd7984a - TensorFlowLiteSwift: 3a4928286e9e35bdd3e17970f48e53c80d25e793 - tflite_flutter: 9433d086a3060431bbc9f3c7c20d017db0e72d08 - -PODFILE CHECKSUM: d7b71f89fb5b9668de6c89ec1f219d06e4035e35 - -COCOAPODS: 1.16.2 diff --git a/04-litert/04-firebase-ml-app/lib/service/firebase_ml_service.dart b/04-litert/04-firebase-ml-app/lib/service/firebase_ml_service.dart deleted file mode 100644 index ef4d88d..0000000 --- a/04-litert/04-firebase-ml-app/lib/service/firebase_ml_service.dart +++ /dev/null @@ -1,23 +0,0 @@ -import 'dart:io'; - -import 'package:firebase_ml_model_downloader/firebase_ml_model_downloader.dart'; - -// todo-02: create a class -class FirebaseMlService { - // todo-03: add a function to load a model from firebase - Future loadModel() async { - final instance = FirebaseModelDownloader.instance; - final model = await instance.getModel( - "House-Price-Predictor", - FirebaseModelDownloadType.localModel, - FirebaseModelDownloadConditions( - iosAllowsCellularAccess: true, - iosAllowsBackgroundDownloading: false, - androidChargingRequired: false, - androidWifiRequired: false, - androidDeviceIdleRequired: false, - ), - ); - return model.file; - } -} diff --git a/04-litert/04-firebase-ml-app/.gitignore b/04-litert/04-firebase-storage-app/.gitignore similarity index 100% rename from 04-litert/04-firebase-ml-app/.gitignore rename to 04-litert/04-firebase-storage-app/.gitignore diff --git a/04-litert/04-firebase-ml-app/.metadata b/04-litert/04-firebase-storage-app/.metadata similarity index 61% rename from 04-litert/04-firebase-ml-app/.metadata rename to 04-litert/04-firebase-storage-app/.metadata index e90f3ae..993f4b6 100644 --- a/04-litert/04-firebase-ml-app/.metadata +++ b/04-litert/04-firebase-storage-app/.metadata @@ -4,7 +4,7 @@ # This file should be version controlled and should not be manually edited. version: - revision: "ac4e799d237041cf905519190471f657b657155a" + revision: "68415ad1d920f6fe5ec284f5c2febf7c4dd5b0b3" channel: "stable" project_type: app @@ -13,14 +13,14 @@ project_type: app migration: platforms: - platform: root - create_revision: ac4e799d237041cf905519190471f657b657155a - base_revision: ac4e799d237041cf905519190471f657b657155a + create_revision: 68415ad1d920f6fe5ec284f5c2febf7c4dd5b0b3 + base_revision: 68415ad1d920f6fe5ec284f5c2febf7c4dd5b0b3 - platform: android - create_revision: ac4e799d237041cf905519190471f657b657155a - base_revision: ac4e799d237041cf905519190471f657b657155a + create_revision: 68415ad1d920f6fe5ec284f5c2febf7c4dd5b0b3 + base_revision: 68415ad1d920f6fe5ec284f5c2febf7c4dd5b0b3 - platform: ios - create_revision: ac4e799d237041cf905519190471f657b657155a - base_revision: ac4e799d237041cf905519190471f657b657155a + create_revision: 68415ad1d920f6fe5ec284f5c2febf7c4dd5b0b3 + base_revision: 68415ad1d920f6fe5ec284f5c2febf7c4dd5b0b3 # User provided section diff --git a/04-litert/04-firebase-ml-app/README.md b/04-litert/04-firebase-storage-app/README.md similarity index 100% rename from 04-litert/04-firebase-ml-app/README.md rename to 04-litert/04-firebase-storage-app/README.md diff --git a/04-litert/04-firebase-storage-app/analysis_options.yaml b/04-litert/04-firebase-storage-app/analysis_options.yaml new file mode 100644 index 0000000..743e05a --- /dev/null +++ b/04-litert/04-firebase-storage-app/analysis_options.yaml @@ -0,0 +1,10 @@ +analyzer: + exclude: + - build/** + - android/** + - ios/** + - web/** + - windows/** + - macos/** + - linux/** +include: package:flutter_lints/flutter.yaml diff --git a/04-litert/04-firebase-ml-app/android/.gitignore b/04-litert/04-firebase-storage-app/android/.gitignore similarity index 100% rename from 04-litert/04-firebase-ml-app/android/.gitignore rename to 04-litert/04-firebase-storage-app/android/.gitignore diff --git a/04-litert/04-firebase-ml-app/android/app/build.gradle.kts b/04-litert/04-firebase-storage-app/android/app/build.gradle.kts similarity index 86% rename from 04-litert/04-firebase-ml-app/android/app/build.gradle.kts rename to 04-litert/04-firebase-storage-app/android/app/build.gradle.kts index 0d28555..20fdb77 100644 --- a/04-litert/04-firebase-ml-app/android/app/build.gradle.kts +++ b/04-litert/04-firebase-storage-app/android/app/build.gradle.kts @@ -14,12 +14,8 @@ android { ndkVersion = flutter.ndkVersion compileOptions { - sourceCompatibility = JavaVersion.VERSION_11 - targetCompatibility = JavaVersion.VERSION_11 - } - - kotlinOptions { - jvmTarget = JavaVersion.VERSION_11.toString() + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 } defaultConfig { @@ -42,6 +38,12 @@ android { } } +kotlin { + compilerOptions { + jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17 + } +} + flutter { source = "../.." } diff --git a/04-litert/04-firebase-ml-app/android/app/google-services.json b/04-litert/04-firebase-storage-app/android/app/google-services.json similarity index 64% rename from 04-litert/04-firebase-ml-app/android/app/google-services.json rename to 04-litert/04-firebase-storage-app/android/app/google-services.json index 9663483..51bb98c 100644 --- a/04-litert/04-firebase-ml-app/android/app/google-services.json +++ b/04-litert/04-firebase-storage-app/android/app/google-services.json @@ -7,9 +7,9 @@ "client": [ { "client_info": { - "mobilesdk_app_id": "1:513550843773:android:1f9f626a0c559613a5d614", + "mobilesdk_app_id": "1:513550843773:android:033ecc78cfcb589ba5d614", "android_client_info": { - "package_name": "com.dicoding.house_price_predictor_app" + "package_name": "com.dicoding.firebase_ml_app" } }, "oauth_client": [], @@ -26,9 +26,9 @@ }, { "client_info": { - "mobilesdk_app_id": "1:513550843773:android:69c87d5562bd8061a5d614", + "mobilesdk_app_id": "1:513550843773:android:7ebefdd0c8f67030a5d614", "android_client_info": { - "package_name": "com.dicoding.picodiploma.mycamera" + "package_name": "com.dicoding.flutter.u758.submission" } }, "oauth_client": [], @@ -45,28 +45,9 @@ }, { "client_info": { - "mobilesdk_app_id": "1:513550843773:android:bbb1d35d944e171ba5d614", - "android_client_info": { - "package_name": "com.google.firebase.codelabs.recommendations" - } - }, - "oauth_client": [], - "api_key": [ - { - "current_key": "AIzaSyDUuSvNKS5Kzx16LNJ0Kgvj2INjouM5jJo" - } - ], - "services": { - "appinvite_service": { - "other_platform_oauth_client": [] - } - } - }, - { - "client_info": { - "mobilesdk_app_id": "1:513550843773:android:3b6ace8b1d14eabea5d614", + "mobilesdk_app_id": "1:513550843773:android:1f9f626a0c559613a5d614", "android_client_info": { - "package_name": "org.tensorflow.lite.codelabs.textclassification" + "package_name": "com.dicoding.house_price_predictor_app" } }, "oauth_client": [], diff --git a/04-litert/04-firebase-ml-app/android/app/src/debug/AndroidManifest.xml b/04-litert/04-firebase-storage-app/android/app/src/debug/AndroidManifest.xml similarity index 100% rename from 04-litert/04-firebase-ml-app/android/app/src/debug/AndroidManifest.xml rename to 04-litert/04-firebase-storage-app/android/app/src/debug/AndroidManifest.xml diff --git a/04-litert/04-firebase-ml-app/android/app/src/main/AndroidManifest.xml b/04-litert/04-firebase-storage-app/android/app/src/main/AndroidManifest.xml similarity index 100% rename from 04-litert/04-firebase-ml-app/android/app/src/main/AndroidManifest.xml rename to 04-litert/04-firebase-storage-app/android/app/src/main/AndroidManifest.xml diff --git a/04-litert/04-firebase-ml-app/android/app/src/main/kotlin/com/dicoding/house_price_predictor_app/MainActivity.kt b/04-litert/04-firebase-storage-app/android/app/src/main/kotlin/com/dicoding/house_price_predictor_app/MainActivity.kt similarity index 100% rename from 04-litert/04-firebase-ml-app/android/app/src/main/kotlin/com/dicoding/house_price_predictor_app/MainActivity.kt rename to 04-litert/04-firebase-storage-app/android/app/src/main/kotlin/com/dicoding/house_price_predictor_app/MainActivity.kt diff --git a/04-litert/04-firebase-ml-app/android/app/src/main/res/drawable-v21/launch_background.xml b/04-litert/04-firebase-storage-app/android/app/src/main/res/drawable-v21/launch_background.xml similarity index 100% rename from 04-litert/04-firebase-ml-app/android/app/src/main/res/drawable-v21/launch_background.xml rename to 04-litert/04-firebase-storage-app/android/app/src/main/res/drawable-v21/launch_background.xml diff --git a/04-litert/04-firebase-ml-app/android/app/src/main/res/drawable/launch_background.xml b/04-litert/04-firebase-storage-app/android/app/src/main/res/drawable/launch_background.xml similarity index 100% rename from 04-litert/04-firebase-ml-app/android/app/src/main/res/drawable/launch_background.xml rename to 04-litert/04-firebase-storage-app/android/app/src/main/res/drawable/launch_background.xml diff --git a/04-litert/04-firebase-ml-app/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/04-litert/04-firebase-storage-app/android/app/src/main/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from 04-litert/04-firebase-ml-app/android/app/src/main/res/mipmap-hdpi/ic_launcher.png rename to 04-litert/04-firebase-storage-app/android/app/src/main/res/mipmap-hdpi/ic_launcher.png diff --git a/04-litert/04-firebase-ml-app/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/04-litert/04-firebase-storage-app/android/app/src/main/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from 04-litert/04-firebase-ml-app/android/app/src/main/res/mipmap-mdpi/ic_launcher.png rename to 04-litert/04-firebase-storage-app/android/app/src/main/res/mipmap-mdpi/ic_launcher.png diff --git a/04-litert/04-firebase-ml-app/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/04-litert/04-firebase-storage-app/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from 04-litert/04-firebase-ml-app/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png rename to 04-litert/04-firebase-storage-app/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png diff --git a/04-litert/04-firebase-ml-app/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/04-litert/04-firebase-storage-app/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from 04-litert/04-firebase-ml-app/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png rename to 04-litert/04-firebase-storage-app/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png diff --git a/04-litert/04-firebase-ml-app/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/04-litert/04-firebase-storage-app/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from 04-litert/04-firebase-ml-app/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png rename to 04-litert/04-firebase-storage-app/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/04-litert/04-firebase-ml-app/android/app/src/main/res/values-night/styles.xml b/04-litert/04-firebase-storage-app/android/app/src/main/res/values-night/styles.xml similarity index 100% rename from 04-litert/04-firebase-ml-app/android/app/src/main/res/values-night/styles.xml rename to 04-litert/04-firebase-storage-app/android/app/src/main/res/values-night/styles.xml diff --git a/04-litert/04-firebase-ml-app/android/app/src/main/res/values/styles.xml b/04-litert/04-firebase-storage-app/android/app/src/main/res/values/styles.xml similarity index 100% rename from 04-litert/04-firebase-ml-app/android/app/src/main/res/values/styles.xml rename to 04-litert/04-firebase-storage-app/android/app/src/main/res/values/styles.xml diff --git a/04-litert/04-firebase-ml-app/android/app/src/profile/AndroidManifest.xml b/04-litert/04-firebase-storage-app/android/app/src/profile/AndroidManifest.xml similarity index 100% rename from 04-litert/04-firebase-ml-app/android/app/src/profile/AndroidManifest.xml rename to 04-litert/04-firebase-storage-app/android/app/src/profile/AndroidManifest.xml diff --git a/04-litert/04-firebase-ml-app/android/build.gradle.kts b/04-litert/04-firebase-storage-app/android/build.gradle.kts similarity index 79% rename from 04-litert/04-firebase-ml-app/android/build.gradle.kts rename to 04-litert/04-firebase-storage-app/android/build.gradle.kts index dbee657..89176ef 100644 --- a/04-litert/04-firebase-ml-app/android/build.gradle.kts +++ b/04-litert/04-firebase-storage-app/android/build.gradle.kts @@ -5,10 +5,7 @@ allprojects { } } -val newBuildDir: Directory = - rootProject.layout.buildDirectory - .dir("../../build") - .get() +val newBuildDir: Directory = rootProject.layout.buildDirectory.dir("../../build").get() rootProject.layout.buildDirectory.value(newBuildDir) subprojects { diff --git a/04-litert/04-firebase-storage-app/android/gradle.properties b/04-litert/04-firebase-storage-app/android/gradle.properties new file mode 100644 index 0000000..9c4f8c4 --- /dev/null +++ b/04-litert/04-firebase-storage-app/android/gradle.properties @@ -0,0 +1,10 @@ +org.gradle.jvmargs=-Xmx8G -XX:MaxMetaspaceSize=4G -XX:ReservedCodeCacheSize=512m -XX:+HeapDumpOnOutOfMemoryError +android.useAndroidX=true +android.enableJetifier=true +# This builtInKotlin flag was added automatically by Flutter migrator +android.builtInKotlin=false +# This newDsl flag was added automatically by Flutter migrator +android.newDsl=false +# tflite_flutter plugin ships mismatched Java/Kotlin JVM targets; downgrade AGP's +# strict check to a warning until the plugin fixes it upstream. +kotlin.jvm.target.validation.mode=warning diff --git a/04-litert/04-firebase-ml-app/android/gradle/wrapper/gradle-wrapper.properties b/04-litert/04-firebase-storage-app/android/gradle/wrapper/gradle-wrapper.properties similarity index 92% rename from 04-litert/04-firebase-ml-app/android/gradle/wrapper/gradle-wrapper.properties rename to 04-litert/04-firebase-storage-app/android/gradle/wrapper/gradle-wrapper.properties index ac3b479..a20f2c4 100644 --- a/04-litert/04-firebase-ml-app/android/gradle/wrapper/gradle-wrapper.properties +++ b/04-litert/04-firebase-storage-app/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-8.12-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.3.1-all.zip diff --git a/04-litert/04-firebase-storage-app/android/settings.gradle.kts b/04-litert/04-firebase-storage-app/android/settings.gradle.kts new file mode 100644 index 0000000..cc37c2c --- /dev/null +++ b/04-litert/04-firebase-storage-app/android/settings.gradle.kts @@ -0,0 +1,28 @@ +pluginManagement { + val flutterSdkPath = run { + val properties = java.util.Properties() + file("local.properties").inputStream().use { properties.load(it) } + val flutterSdkPath = properties.getProperty("flutter.sdk") + require(flutterSdkPath != null) { "flutter.sdk not set in local.properties" } + flutterSdkPath + } + + includeBuild("$flutterSdkPath/packages/flutter_tools/gradle") + + repositories { + google() + mavenCentral() + gradlePluginPortal() + } +} + +plugins { + id("dev.flutter.flutter-plugin-loader") version "1.0.0" + id("com.android.application") version "9.1.0" apply false + // START: FlutterFire Configuration + id("com.google.gms.google-services") version("4.3.15") apply false + // END: FlutterFire Configuration + id("org.jetbrains.kotlin.android") version "2.4.0" apply false +} + +include(":app") diff --git a/04-litert/04-firebase-ml-app/firebase.json b/04-litert/04-firebase-storage-app/firebase.json similarity index 100% rename from 04-litert/04-firebase-ml-app/firebase.json rename to 04-litert/04-firebase-storage-app/firebase.json diff --git a/04-litert/04-firebase-ml-app/ios/.gitignore b/04-litert/04-firebase-storage-app/ios/.gitignore similarity index 100% rename from 04-litert/04-firebase-ml-app/ios/.gitignore rename to 04-litert/04-firebase-storage-app/ios/.gitignore diff --git a/04-litert/04-firebase-ml-app/ios/Flutter/AppFrameworkInfo.plist b/04-litert/04-firebase-storage-app/ios/Flutter/AppFrameworkInfo.plist similarity index 93% rename from 04-litert/04-firebase-ml-app/ios/Flutter/AppFrameworkInfo.plist rename to 04-litert/04-firebase-storage-app/ios/Flutter/AppFrameworkInfo.plist index 1dc6cf7..391a902 100644 --- a/04-litert/04-firebase-ml-app/ios/Flutter/AppFrameworkInfo.plist +++ b/04-litert/04-firebase-storage-app/ios/Flutter/AppFrameworkInfo.plist @@ -20,7 +20,5 @@ ???? CFBundleVersion 1.0 - MinimumOSVersion - 13.0 diff --git a/04-litert/04-firebase-ml-app/ios/Flutter/Debug.xcconfig b/04-litert/04-firebase-storage-app/ios/Flutter/Debug.xcconfig similarity index 100% rename from 04-litert/04-firebase-ml-app/ios/Flutter/Debug.xcconfig rename to 04-litert/04-firebase-storage-app/ios/Flutter/Debug.xcconfig diff --git a/04-litert/04-firebase-ml-app/ios/Flutter/Release.xcconfig b/04-litert/04-firebase-storage-app/ios/Flutter/Release.xcconfig similarity index 100% rename from 04-litert/04-firebase-ml-app/ios/Flutter/Release.xcconfig rename to 04-litert/04-firebase-storage-app/ios/Flutter/Release.xcconfig diff --git a/04-litert/04-firebase-ml-app/ios/Podfile b/04-litert/04-firebase-storage-app/ios/Podfile similarity index 96% rename from 04-litert/04-firebase-ml-app/ios/Podfile rename to 04-litert/04-firebase-storage-app/ios/Podfile index c75ae40..6649374 100644 --- a/04-litert/04-firebase-ml-app/ios/Podfile +++ b/04-litert/04-firebase-storage-app/ios/Podfile @@ -1,7 +1,5 @@ # Uncomment this line to define a global platform for your project -# platform :ios, '13.0' - -pod 'Firebase/Core' +platform :ios, '15.0' # CocoaPods analytics sends network stats synchronously affecting flutter build latency. ENV['COCOAPODS_DISABLE_STATS'] = 'true' diff --git a/04-litert/04-firebase-storage-app/ios/Podfile.lock b/04-litert/04-firebase-storage-app/ios/Podfile.lock new file mode 100644 index 0000000..408f8b0 --- /dev/null +++ b/04-litert/04-firebase-storage-app/ios/Podfile.lock @@ -0,0 +1,49 @@ +PODS: + - Flutter (1.0.0) + - TensorFlowLiteC (2.12.0): + - TensorFlowLiteC/Core (= 2.12.0) + - TensorFlowLiteC/Core (2.12.0) + - TensorFlowLiteC/CoreML (2.12.0): + - TensorFlowLiteC/Core + - TensorFlowLiteC/Metal (2.12.0): + - TensorFlowLiteC/Core + - TensorFlowLiteSwift (2.12.0): + - TensorFlowLiteSwift/Core (= 2.12.0) + - TensorFlowLiteSwift/Core (2.12.0): + - TensorFlowLiteC (= 2.12.0) + - TensorFlowLiteSwift/CoreML (2.12.0): + - TensorFlowLiteC/CoreML (= 2.12.0) + - TensorFlowLiteSwift/Core (= 2.12.0) + - TensorFlowLiteSwift/Metal (2.12.0): + - TensorFlowLiteC/Metal (= 2.12.0) + - TensorFlowLiteSwift/Core (= 2.12.0) + - tflite_flutter (0.0.1): + - Flutter + - TensorFlowLiteSwift (= 2.12.0) + - TensorFlowLiteSwift/CoreML (= 2.12.0) + - TensorFlowLiteSwift/Metal (= 2.12.0) + +DEPENDENCIES: + - Flutter (from `Flutter`) + - tflite_flutter (from `.symlinks/plugins/tflite_flutter/ios`) + +SPEC REPOS: + trunk: + - TensorFlowLiteC + - TensorFlowLiteSwift + +EXTERNAL SOURCES: + Flutter: + :path: Flutter + tflite_flutter: + :path: ".symlinks/plugins/tflite_flutter/ios" + +SPEC CHECKSUMS: + Flutter: cabc95a1d2626b1b06e7179b784ebcf0c0cde467 + TensorFlowLiteC: 20785a69299185a379ba9852b6625f00afd7984a + TensorFlowLiteSwift: 3a4928286e9e35bdd3e17970f48e53c80d25e793 + tflite_flutter: 9433d086a3060431bbc9f3c7c20d017db0e72d08 + +PODFILE CHECKSUM: 53a6aebc29ccee84c41f92f409fc20cd4ca011f1 + +COCOAPODS: 1.16.2 diff --git a/04-litert/04-firebase-ml-app/ios/Runner.xcodeproj/project.pbxproj b/04-litert/04-firebase-storage-app/ios/Runner.xcodeproj/project.pbxproj similarity index 86% rename from 04-litert/04-firebase-ml-app/ios/Runner.xcodeproj/project.pbxproj rename to 04-litert/04-firebase-storage-app/ios/Runner.xcodeproj/project.pbxproj index 2569f4a..3fecca4 100644 --- a/04-litert/04-firebase-ml-app/ios/Runner.xcodeproj/project.pbxproj +++ b/04-litert/04-firebase-storage-app/ios/Runner.xcodeproj/project.pbxproj @@ -8,11 +8,13 @@ /* Begin PBXBuildFile section */ 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; + 30EBC47B10CC592757E2684B /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 113338CF1A325CFA19FB3B1A /* Pods_RunnerTests.framework */; }; 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; }; 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; - 60082CC266A7C6E7A5F8807E /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 153498A95ED5E86C888891BA /* Pods_Runner.framework */; }; - 626676F3B21F4183B89FD5C5 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9C89C2640A51CC715C8C67E8 /* Pods_RunnerTests.framework */; }; + 43390623C2F0664A3BE6F111 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B3F63682A6582A656B7C18FD /* Pods_Runner.framework */; }; + 543F344C0E4C65B74ADB2E82 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3BE4D2E157DC07EDFCF84842 /* GoogleService-Info.plist */; }; 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; + 78A318202AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage in Frameworks */ = {isa = PBXBuildFile; productRef = 78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */; }; 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 */; }; @@ -42,19 +44,20 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ + 10FFDA618BF85504531EB8C5 /* 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 = ""; }; + 113338CF1A325CFA19FB3B1A /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 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 = ""; }; - 153498A95ED5E86C888891BA /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 21976B5ED9FE876079CC07FF /* 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 = ""; }; - 2DC2EF296565D277CFE2F1EB /* 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 = ""; }; - 310691F34A0F131A1C25B93E /* 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 = ""; }; 331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 3A0E8DED8733B50B6F804E9C /* 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 = ""; }; - 3D4C39823C1191FDF7842231 /* 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 = ""; }; - 643C1E5A70FC0F5A346ED4BD /* 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 = ""; }; + 3BE4D2E157DC07EDFCF84842 /* GoogleService-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; name = "GoogleService-Info.plist"; path = "Runner/GoogleService-Info.plist"; sourceTree = ""; }; + 3F1AB2D7838F2FC3F10EEF0E /* 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 = ""; }; + 48FBFD4B05067718409E9B03 /* 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 = ""; }; 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 = ""; }; + 78E0A7A72DC9AD7400C4905E /* FlutterGeneratedPluginSwiftPackage */ = {isa = PBXFileReference; lastKnownFileType = wrapper; name = FlutterGeneratedPluginSwiftPackage; path = Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.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 = ""; }; @@ -63,8 +66,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 = ""; }; - 9C89C2640A51CC715C8C67E8 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 9F3309CE816D715B4D823652 /* 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 = ""; }; + A830004E0FA4035A5E48FFC7 /* 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 = ""; }; + B3F63682A6582A656B7C18FD /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + F9ED8A3695935F2E2D7A9B93 /* 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 */ @@ -72,46 +76,48 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 60082CC266A7C6E7A5F8807E /* Pods_Runner.framework in Frameworks */, + 78A318202AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage in Frameworks */, + 43390623C2F0664A3BE6F111 /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - E134F90FC52EC8E9210F4C98 /* Frameworks */ = { + CC5254A7423CEE489BB91AF5 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 626676F3B21F4183B89FD5C5 /* Pods_RunnerTests.framework in Frameworks */, + 30EBC47B10CC592757E2684B /* Pods_RunnerTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 1EC18C0F5DA462BBD6D9939E /* Pods */ = { + 331C8082294A63A400263BE5 /* RunnerTests */ = { isa = PBXGroup; children = ( - 643C1E5A70FC0F5A346ED4BD /* Pods-Runner.debug.xcconfig */, - 9F3309CE816D715B4D823652 /* Pods-Runner.release.xcconfig */, - 21976B5ED9FE876079CC07FF /* Pods-Runner.profile.xcconfig */, - 310691F34A0F131A1C25B93E /* Pods-RunnerTests.debug.xcconfig */, - 3D4C39823C1191FDF7842231 /* Pods-RunnerTests.release.xcconfig */, - 2DC2EF296565D277CFE2F1EB /* Pods-RunnerTests.profile.xcconfig */, + 331C807B294A618700263BE5 /* RunnerTests.swift */, ); - name = Pods; - path = Pods; + path = RunnerTests; sourceTree = ""; }; - 331C8082294A63A400263BE5 /* RunnerTests */ = { + 344C0B83A315E6ED5715DBFC /* Pods */ = { isa = PBXGroup; children = ( - 331C807B294A618700263BE5 /* RunnerTests.swift */, + F9ED8A3695935F2E2D7A9B93 /* Pods-Runner.debug.xcconfig */, + 10FFDA618BF85504531EB8C5 /* Pods-Runner.release.xcconfig */, + 3A0E8DED8733B50B6F804E9C /* Pods-Runner.profile.xcconfig */, + 3F1AB2D7838F2FC3F10EEF0E /* Pods-RunnerTests.debug.xcconfig */, + A830004E0FA4035A5E48FFC7 /* Pods-RunnerTests.release.xcconfig */, + 48FBFD4B05067718409E9B03 /* Pods-RunnerTests.profile.xcconfig */, ); - path = RunnerTests; + name = Pods; + path = Pods; sourceTree = ""; }; 9740EEB11CF90186004384FC /* Flutter */ = { isa = PBXGroup; children = ( + 78E0A7A72DC9AD7400C4905E /* FlutterGeneratedPluginSwiftPackage */, 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */, 9740EEB21CF90195004384FC /* Debug.xcconfig */, 7AFA3C8E1D35360C0083082E /* Release.xcconfig */, @@ -127,8 +133,9 @@ 97C146F01CF9000F007C117D /* Runner */, 97C146EF1CF9000F007C117D /* Products */, 331C8082294A63A400263BE5 /* RunnerTests */, - 1EC18C0F5DA462BBD6D9939E /* Pods */, - E24882F8B2C11D5DFACC3935 /* Frameworks */, + 344C0B83A315E6ED5715DBFC /* Pods */, + AC231EF77C6B1250D259B7E1 /* Frameworks */, + 3BE4D2E157DC07EDFCF84842 /* GoogleService-Info.plist */, ); sourceTree = ""; }; @@ -156,11 +163,11 @@ path = Runner; sourceTree = ""; }; - E24882F8B2C11D5DFACC3935 /* Frameworks */ = { + AC231EF77C6B1250D259B7E1 /* Frameworks */ = { isa = PBXGroup; children = ( - 153498A95ED5E86C888891BA /* Pods_Runner.framework */, - 9C89C2640A51CC715C8C67E8 /* Pods_RunnerTests.framework */, + B3F63682A6582A656B7C18FD /* Pods_Runner.framework */, + 113338CF1A325CFA19FB3B1A /* Pods_RunnerTests.framework */, ); name = Frameworks; sourceTree = ""; @@ -172,10 +179,10 @@ isa = PBXNativeTarget; buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildPhases = ( - C8A682C26AAC848819146574 /* [CP] Check Pods Manifest.lock */, + 4DE59D60F3F4ED7600C23415 /* [CP] Check Pods Manifest.lock */, 331C807D294A63A400263BE5 /* Sources */, 331C807F294A63A400263BE5 /* Resources */, - E134F90FC52EC8E9210F4C98 /* Frameworks */, + CC5254A7423CEE489BB91AF5 /* Frameworks */, ); buildRules = ( ); @@ -191,20 +198,22 @@ isa = PBXNativeTarget; buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - 1C83E426CDF3690C614685DE /* [CP] Check Pods Manifest.lock */, + 6910780FABD050C3A152A9C6 /* [CP] Check Pods Manifest.lock */, 9740EEB61CF901F6004384FC /* Run Script */, 97C146EA1CF9000F007C117D /* Sources */, 97C146EB1CF9000F007C117D /* Frameworks */, 97C146EC1CF9000F007C117D /* Resources */, 9705A1C41CF9048500538489 /* Embed Frameworks */, 3B06AD1E1E4923F5004D2608 /* Thin Binary */, - 300347A494C431F0F67D5109 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); dependencies = ( ); name = Runner; + packageProductDependencies = ( + 78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */, + ); productName = Runner; productReference = 97C146EE1CF9000F007C117D /* Runner.app */; productType = "com.apple.product-type.application"; @@ -238,6 +247,9 @@ Base, ); mainGroup = 97C146E51CF9000F007C117D; + packageReferences = ( + 781AD8BC2B33823900A9FFBB /* XCLocalSwiftPackageReference "FlutterGeneratedPluginSwiftPackage" */, + ); productRefGroup = 97C146EF1CF9000F007C117D /* Products */; projectDirPath = ""; projectRoot = ""; @@ -264,66 +276,72 @@ 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */, 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */, 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */, + 543F344C0E4C65B74ADB2E82 /* GoogleService-Info.plist in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 1C83E426CDF3690C614685DE /* [CP] Check Pods Manifest.lock */ = { + 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); - inputFileListPaths = ( - ); inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( + "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", ); + name = "Thin Binary"; 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; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; }; - 300347A494C431F0F67D5109 /* [CP] Embed Pods Frameworks */ = { + 4DE59D60F3F4ED7600C23415 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - name = "[CP] Embed Pods Frameworks"; + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { + 6910780FABD050C3A152A9C6 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); + inputFileListPaths = ( + ); inputPaths = ( - "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( ); - name = "Thin Binary"; outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; }; 9740EEB61CF901F6004384FC /* Run Script */ = { isa = PBXShellScriptBuildPhase; @@ -340,28 +358,6 @@ shellPath = /bin/sh; shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; }; - C8A682C26AAC848819146574 /* [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; - }; /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ @@ -455,7 +451,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; + IPHONEOS_DEPLOYMENT_TARGET = 15.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SUPPORTED_PLATFORMS = iphoneos; @@ -471,9 +467,9 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = 9V7UYBS5DH; ENABLE_BITCODE = NO; INFOPLIST_FILE = Runner/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 15.6; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -488,7 +484,7 @@ }; 331C8088294A63A400263BE5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 310691F34A0F131A1C25B93E /* Pods-RunnerTests.debug.xcconfig */; + baseConfigurationReference = 3F1AB2D7838F2FC3F10EEF0E /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -506,7 +502,7 @@ }; 331C8089294A63A400263BE5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 3D4C39823C1191FDF7842231 /* Pods-RunnerTests.release.xcconfig */; + baseConfigurationReference = A830004E0FA4035A5E48FFC7 /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -522,7 +518,7 @@ }; 331C808A294A63A400263BE5 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 2DC2EF296565D277CFE2F1EB /* Pods-RunnerTests.profile.xcconfig */; + baseConfigurationReference = 48FBFD4B05067718409E9B03 /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -585,7 +581,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; + IPHONEOS_DEPLOYMENT_TARGET = 15.0; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; @@ -636,7 +632,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; + IPHONEOS_DEPLOYMENT_TARGET = 15.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SUPPORTED_PLATFORMS = iphoneos; @@ -654,9 +650,9 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = 9V7UYBS5DH; ENABLE_BITCODE = NO; INFOPLIST_FILE = Runner/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 15.6; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -677,9 +673,9 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = 9V7UYBS5DH; ENABLE_BITCODE = NO; INFOPLIST_FILE = Runner/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 15.6; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -726,6 +722,20 @@ defaultConfigurationName = Release; }; /* End XCConfigurationList section */ + +/* Begin XCLocalSwiftPackageReference section */ + 781AD8BC2B33823900A9FFBB /* XCLocalSwiftPackageReference "FlutterGeneratedPluginSwiftPackage" */ = { + isa = XCLocalSwiftPackageReference; + relativePath = Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage; + }; +/* End XCLocalSwiftPackageReference section */ + +/* Begin XCSwiftPackageProductDependency section */ + 78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */ = { + isa = XCSwiftPackageProductDependency; + productName = FlutterGeneratedPluginSwiftPackage; + }; +/* End XCSwiftPackageProductDependency section */ }; rootObject = 97C146E61CF9000F007C117D /* Project object */; } diff --git a/04-litert/04-firebase-ml-app/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/04-litert/04-firebase-storage-app/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata similarity index 100% rename from 04-litert/04-firebase-ml-app/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata rename to 04-litert/04-firebase-storage-app/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata diff --git a/04-litert/04-firebase-ml-app/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/04-litert/04-firebase-storage-app/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist similarity index 100% rename from 04-litert/04-firebase-ml-app/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist rename to 04-litert/04-firebase-storage-app/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist diff --git a/04-litert/04-firebase-ml-app/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/04-litert/04-firebase-storage-app/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings similarity index 100% rename from 04-litert/04-firebase-ml-app/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings rename to 04-litert/04-firebase-storage-app/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings diff --git a/04-litert/04-firebase-storage-app/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/04-litert/04-firebase-storage-app/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved new file mode 100644 index 0000000..c4a5293 --- /dev/null +++ b/04-litert/04-firebase-storage-app/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -0,0 +1,122 @@ +{ + "pins" : [ + { + "identity" : "abseil-cpp-binary", + "kind" : "remoteSourceControl", + "location" : "https://github.com/google/abseil-cpp-binary.git", + "state" : { + "revision" : "bbe8b69694d7873315fd3a4ad41efe043e1c07c5", + "version" : "1.2024072200.0" + } + }, + { + "identity" : "app-check", + "kind" : "remoteSourceControl", + "location" : "https://github.com/google/app-check.git", + "state" : { + "revision" : "3e33dd27dd4c69bd81c7c81fe61d8ccf58846902", + "version" : "11.3.1" + } + }, + { + "identity" : "firebase-ios-sdk", + "kind" : "remoteSourceControl", + "location" : "https://github.com/firebase/firebase-ios-sdk", + "state" : { + "revision" : "42e81d245e30e49ea6a5830cf2842d44a1591270", + "version" : "12.15.0" + } + }, + { + "identity" : "google-ads-on-device-conversion-ios-sdk", + "kind" : "remoteSourceControl", + "location" : "https://github.com/googleads/google-ads-on-device-conversion-ios-sdk", + "state" : { + "revision" : "dc39082d8881109d35b94b1c122164c0e8d08a55", + "version" : "3.6.1" + } + }, + { + "identity" : "googleappmeasurement", + "kind" : "remoteSourceControl", + "location" : "https://github.com/google/GoogleAppMeasurement.git", + "state" : { + "revision" : "144855f40d8668927f256a3045f7fdc4c3f4338b", + "version" : "12.15.0" + } + }, + { + "identity" : "googledatatransport", + "kind" : "remoteSourceControl", + "location" : "https://github.com/google/GoogleDataTransport.git", + "state" : { + "revision" : "617af071af9aa1d6a091d59a202910ac482128f9", + "version" : "10.1.0" + } + }, + { + "identity" : "googleutilities", + "kind" : "remoteSourceControl", + "location" : "https://github.com/google/GoogleUtilities.git", + "state" : { + "revision" : "9f183ae842be978784f2963a343682e0c46d8fb3", + "version" : "8.1.2" + } + }, + { + "identity" : "grpc-binary", + "kind" : "remoteSourceControl", + "location" : "https://github.com/google/grpc-binary.git", + "state" : { + "revision" : "75b31c842f664a0f46a2e590a570e370249fd8f6", + "version" : "1.69.1" + } + }, + { + "identity" : "gtm-session-fetcher", + "kind" : "remoteSourceControl", + "location" : "https://github.com/google/gtm-session-fetcher.git", + "state" : { + "revision" : "c0ac7575d70050c2973ba2318bd5af47f8e8153a", + "version" : "5.3.0" + } + }, + { + "identity" : "interop-ios-for-google-sdks", + "kind" : "remoteSourceControl", + "location" : "https://github.com/google/interop-ios-for-google-sdks.git", + "state" : { + "revision" : "040d087ac2267d2ddd4cca36c757d1c6a05fdbfe", + "version" : "101.0.0" + } + }, + { + "identity" : "leveldb", + "kind" : "remoteSourceControl", + "location" : "https://github.com/firebase/leveldb.git", + "state" : { + "revision" : "a0bc79961d7be727d258d33d5a6b2f1023270ba1", + "version" : "1.22.5" + } + }, + { + "identity" : "nanopb", + "kind" : "remoteSourceControl", + "location" : "https://github.com/firebase/nanopb.git", + "state" : { + "revision" : "3851d94a41890dea16dc3db34caf60e585cb4163", + "version" : "2.30910.1" + } + }, + { + "identity" : "promises", + "kind" : "remoteSourceControl", + "location" : "https://github.com/google/promises.git", + "state" : { + "revision" : "f4a19a3c313dc2616c70bb49d29a799fb16be837", + "version" : "2.4.1" + } + } + ], + "version" : 2 +} diff --git a/04-litert/04-firebase-ml-app/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/04-litert/04-firebase-storage-app/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme similarity index 81% rename from 04-litert/04-firebase-ml-app/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme rename to 04-litert/04-firebase-storage-app/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e3773d4..c3fedb2 100644 --- a/04-litert/04-firebase-ml-app/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/04-litert/04-firebase-storage-app/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -5,6 +5,24 @@ + + + + + + + + + + Bool { - GeneratedPluginRegistrant.register(with: self) return super.application(application, didFinishLaunchingWithOptions: launchOptions) } + + func didInitializeImplicitFlutterEngine(_ engineBridge: FlutterImplicitEngineBridge) { + GeneratedPluginRegistrant.register(with: engineBridge.pluginRegistry) + } } diff --git a/04-litert/04-firebase-ml-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/04-litert/04-firebase-storage-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json similarity index 100% rename from 04-litert/04-firebase-ml-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json rename to 04-litert/04-firebase-storage-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json diff --git a/04-litert/04-firebase-ml-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png b/04-litert/04-firebase-storage-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png similarity index 100% rename from 04-litert/04-firebase-ml-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png rename to 04-litert/04-firebase-storage-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png diff --git a/04-litert/04-firebase-ml-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png b/04-litert/04-firebase-storage-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png similarity index 100% rename from 04-litert/04-firebase-ml-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png rename to 04-litert/04-firebase-storage-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png diff --git a/04-litert/04-firebase-ml-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png b/04-litert/04-firebase-storage-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png similarity index 100% rename from 04-litert/04-firebase-ml-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png rename to 04-litert/04-firebase-storage-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png diff --git a/04-litert/04-firebase-ml-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/04-litert/04-firebase-storage-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png similarity index 100% rename from 04-litert/04-firebase-ml-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png rename to 04-litert/04-firebase-storage-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png diff --git a/04-litert/04-firebase-ml-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png b/04-litert/04-firebase-storage-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png similarity index 100% rename from 04-litert/04-firebase-ml-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png rename to 04-litert/04-firebase-storage-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png diff --git a/04-litert/04-firebase-ml-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png b/04-litert/04-firebase-storage-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png similarity index 100% rename from 04-litert/04-firebase-ml-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png rename to 04-litert/04-firebase-storage-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png diff --git a/04-litert/04-firebase-ml-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png b/04-litert/04-firebase-storage-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png similarity index 100% rename from 04-litert/04-firebase-ml-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png rename to 04-litert/04-firebase-storage-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png diff --git a/04-litert/04-firebase-ml-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png b/04-litert/04-firebase-storage-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png similarity index 100% rename from 04-litert/04-firebase-ml-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png rename to 04-litert/04-firebase-storage-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png diff --git a/04-litert/04-firebase-ml-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png b/04-litert/04-firebase-storage-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png similarity index 100% rename from 04-litert/04-firebase-ml-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png rename to 04-litert/04-firebase-storage-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png diff --git a/04-litert/04-firebase-ml-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png b/04-litert/04-firebase-storage-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png similarity index 100% rename from 04-litert/04-firebase-ml-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png rename to 04-litert/04-firebase-storage-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png diff --git a/04-litert/04-firebase-ml-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/04-litert/04-firebase-storage-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png similarity index 100% rename from 04-litert/04-firebase-ml-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png rename to 04-litert/04-firebase-storage-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png diff --git a/04-litert/04-firebase-ml-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/04-litert/04-firebase-storage-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png similarity index 100% rename from 04-litert/04-firebase-ml-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png rename to 04-litert/04-firebase-storage-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png diff --git a/04-litert/04-firebase-ml-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png b/04-litert/04-firebase-storage-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png similarity index 100% rename from 04-litert/04-firebase-ml-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png rename to 04-litert/04-firebase-storage-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png diff --git a/04-litert/04-firebase-ml-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png b/04-litert/04-firebase-storage-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png similarity index 100% rename from 04-litert/04-firebase-ml-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png rename to 04-litert/04-firebase-storage-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png diff --git a/04-litert/04-firebase-ml-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png b/04-litert/04-firebase-storage-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png similarity index 100% rename from 04-litert/04-firebase-ml-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png rename to 04-litert/04-firebase-storage-app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png diff --git a/04-litert/04-firebase-ml-app/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json b/04-litert/04-firebase-storage-app/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json similarity index 100% rename from 04-litert/04-firebase-ml-app/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json rename to 04-litert/04-firebase-storage-app/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json diff --git a/04-litert/04-firebase-ml-app/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png b/04-litert/04-firebase-storage-app/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png similarity index 100% rename from 04-litert/04-firebase-ml-app/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png rename to 04-litert/04-firebase-storage-app/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png diff --git a/04-litert/04-firebase-ml-app/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png b/04-litert/04-firebase-storage-app/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png similarity index 100% rename from 04-litert/04-firebase-ml-app/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png rename to 04-litert/04-firebase-storage-app/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png diff --git a/04-litert/04-firebase-ml-app/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png b/04-litert/04-firebase-storage-app/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png similarity index 100% rename from 04-litert/04-firebase-ml-app/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png rename to 04-litert/04-firebase-storage-app/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png diff --git a/04-litert/04-firebase-ml-app/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md b/04-litert/04-firebase-storage-app/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md similarity index 100% rename from 04-litert/04-firebase-ml-app/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md rename to 04-litert/04-firebase-storage-app/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md diff --git a/04-litert/04-firebase-ml-app/ios/Runner/Base.lproj/LaunchScreen.storyboard b/04-litert/04-firebase-storage-app/ios/Runner/Base.lproj/LaunchScreen.storyboard similarity index 100% rename from 04-litert/04-firebase-ml-app/ios/Runner/Base.lproj/LaunchScreen.storyboard rename to 04-litert/04-firebase-storage-app/ios/Runner/Base.lproj/LaunchScreen.storyboard diff --git a/04-litert/04-firebase-ml-app/ios/Runner/Base.lproj/Main.storyboard b/04-litert/04-firebase-storage-app/ios/Runner/Base.lproj/Main.storyboard similarity index 100% rename from 04-litert/04-firebase-ml-app/ios/Runner/Base.lproj/Main.storyboard rename to 04-litert/04-firebase-storage-app/ios/Runner/Base.lproj/Main.storyboard diff --git a/04-litert/04-firebase-ml-app/ios/Runner/GoogleService-Info.plist b/04-litert/04-firebase-storage-app/ios/Runner/GoogleService-Info.plist similarity index 100% rename from 04-litert/04-firebase-ml-app/ios/Runner/GoogleService-Info.plist rename to 04-litert/04-firebase-storage-app/ios/Runner/GoogleService-Info.plist diff --git a/04-litert/04-firebase-ml-app/ios/Runner/Info.plist b/04-litert/04-firebase-storage-app/ios/Runner/Info.plist similarity index 75% rename from 04-litert/04-firebase-ml-app/ios/Runner/Info.plist rename to 04-litert/04-firebase-storage-app/ios/Runner/Info.plist index ab4b27d..1935f39 100644 --- a/04-litert/04-firebase-ml-app/ios/Runner/Info.plist +++ b/04-litert/04-firebase-storage-app/ios/Runner/Info.plist @@ -2,6 +2,8 @@ + CADisableMinimumFrameDurationOnPhone + CFBundleDevelopmentRegion $(DEVELOPMENT_LANGUAGE) CFBundleDisplayName @@ -24,6 +26,29 @@ $(FLUTTER_BUILD_NUMBER) LSRequiresIPhoneOS + UIApplicationSceneManifest + + UIApplicationSupportsMultipleScenes + + UISceneConfigurations + + UIWindowSceneSessionRoleApplication + + + UISceneClassName + UIWindowScene + UISceneConfigurationName + flutter + UISceneDelegateClassName + FlutterSceneDelegate + UISceneStoryboardFile + Main + + + + + UIApplicationSupportsIndirectInputEvents + UILaunchStoryboardName LaunchScreen UIMainStoryboardFile @@ -41,9 +66,5 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - CADisableMinimumFrameDurationOnPhone - - UIApplicationSupportsIndirectInputEvents - diff --git a/04-litert/04-firebase-ml-app/ios/Runner/Runner-Bridging-Header.h b/04-litert/04-firebase-storage-app/ios/Runner/Runner-Bridging-Header.h similarity index 100% rename from 04-litert/04-firebase-ml-app/ios/Runner/Runner-Bridging-Header.h rename to 04-litert/04-firebase-storage-app/ios/Runner/Runner-Bridging-Header.h diff --git a/04-litert/04-firebase-ml-app/ios/RunnerTests/RunnerTests.swift b/04-litert/04-firebase-storage-app/ios/RunnerTests/RunnerTests.swift similarity index 100% rename from 04-litert/04-firebase-ml-app/ios/RunnerTests/RunnerTests.swift rename to 04-litert/04-firebase-storage-app/ios/RunnerTests/RunnerTests.swift diff --git a/04-litert/04-firebase-ml-app/lib/controller/house_detail_controller.dart b/04-litert/04-firebase-storage-app/lib/controller/house_detail_controller.dart similarity index 100% rename from 04-litert/04-firebase-ml-app/lib/controller/house_detail_controller.dart rename to 04-litert/04-firebase-storage-app/lib/controller/house_detail_controller.dart diff --git a/04-litert/04-firebase-ml-app/lib/controller/lite_rt_controller.dart b/04-litert/04-firebase-storage-app/lib/controller/lite_rt_controller.dart similarity index 73% rename from 04-litert/04-firebase-ml-app/lib/controller/lite_rt_controller.dart rename to 04-litert/04-firebase-storage-app/lib/controller/lite_rt_controller.dart index 9439c92..8bddb93 100644 --- a/04-litert/04-firebase-ml-app/lib/controller/lite_rt_controller.dart +++ b/04-litert/04-firebase-storage-app/lib/controller/lite_rt_controller.dart @@ -2,11 +2,14 @@ import 'package:house_price_predictor_app/model/house_detail.dart'; import 'package:house_price_predictor_app/service/lite_rt_service.dart'; import 'package:flutter/widgets.dart'; +// todo-03-controller-01: create a class class LiteRtController extends ChangeNotifier { + // todo-03-controller-02: add a property and constructor final LiteRtService service; LiteRtController(this.service); + // todo-03-controller-03: add state alse create a runInference and close method double _number = 0; double get number => _number; diff --git a/04-litert/04-firebase-ml-app/lib/firebase_options.dart b/04-litert/04-firebase-storage-app/lib/firebase_options.dart similarity index 100% rename from 04-litert/04-firebase-ml-app/lib/firebase_options.dart rename to 04-litert/04-firebase-storage-app/lib/firebase_options.dart diff --git a/04-litert/04-firebase-ml-app/lib/main.dart b/04-litert/04-firebase-storage-app/lib/main.dart similarity index 71% rename from 04-litert/04-firebase-ml-app/lib/main.dart rename to 04-litert/04-firebase-storage-app/lib/main.dart index a44f569..4ef33d1 100644 --- a/04-litert/04-firebase-ml-app/lib/main.dart +++ b/04-litert/04-firebase-storage-app/lib/main.dart @@ -4,11 +4,8 @@ import 'package:house_price_predictor_app/ui/home_page.dart'; import 'package:flutter/material.dart'; void main() async { - // todo-00: init firebase WidgetsFlutterBinding.ensureInitialized(); - await Firebase.initializeApp( - options: DefaultFirebaseOptions.currentPlatform, - ); + await Firebase.initializeApp(options: DefaultFirebaseOptions.currentPlatform); runApp(const MainApp()); } @@ -19,9 +16,7 @@ class MainApp extends StatelessWidget { Widget build(BuildContext context) { return MaterialApp( theme: ThemeData( - colorScheme: ColorScheme.fromSeed( - seedColor: Colors.green, - ), + colorScheme: ColorScheme.fromSeed(seedColor: Colors.green), ), home: HomePage(), ); diff --git a/04-litert/04-firebase-ml-app/lib/model/house_detail.dart b/04-litert/04-firebase-storage-app/lib/model/house_detail.dart similarity index 100% rename from 04-litert/04-firebase-ml-app/lib/model/house_detail.dart rename to 04-litert/04-firebase-storage-app/lib/model/house_detail.dart diff --git a/04-litert/04-firebase-storage-app/lib/service/firebase_storage_service.dart b/04-litert/04-firebase-storage-app/lib/service/firebase_storage_service.dart new file mode 100644 index 0000000..90970ba --- /dev/null +++ b/04-litert/04-firebase-storage-app/lib/service/firebase_storage_service.dart @@ -0,0 +1,16 @@ +import 'dart:io'; + +import 'package:firebase_storage/firebase_storage.dart'; +import 'package:path_provider/path_provider.dart'; + +class FirebaseStorageService { + Future loadModel() async { + final storageRef = FirebaseStorage.instance.ref( + 'models/house_price_prediction.tflite', + ); + final dir = await getApplicationDocumentsDirectory(); + final file = File('${dir.path}/house_price_prediction.tflite'); + await storageRef.writeToFile(file); + return file; + } +} diff --git a/04-litert/04-firebase-ml-app/lib/service/lite_rt_service.dart b/04-litert/04-firebase-storage-app/lib/service/lite_rt_service.dart similarity index 84% rename from 04-litert/04-firebase-ml-app/lib/service/lite_rt_service.dart rename to 04-litert/04-firebase-storage-app/lib/service/lite_rt_service.dart index 518d7b5..a3df1db 100644 --- a/04-litert/04-firebase-ml-app/lib/service/lite_rt_service.dart +++ b/04-litert/04-firebase-storage-app/lib/service/lite_rt_service.dart @@ -1,15 +1,16 @@ import 'dart:developer'; import 'dart:io'; -import 'package:house_price_predictor_app/service/firebase_ml_service.dart'; +import 'package:house_price_predictor_app/service/firebase_storage_service.dart'; import 'package:tflite_flutter/tflite_flutter.dart'; +// todo-02-service-02: add service class LiteRtService { - // todo-04: add new property and constructor to get a firebase ml service - final FirebaseMlService _mlService; + final FirebaseStorageService _mlService; LiteRtService(this._mlService); + // todo-02-service-03: setup static value and variable late final File modelFile; late final Interpreter interpreter; @@ -17,8 +18,8 @@ class LiteRtService { late List inputFormat; late List outputFormat; + // todo-02-service-04: setup model Future initModel() async { - // todo-05: replace a asset path, use a model file, load a model from file modelFile = await _mlService.loadModel(); final options = InterpreterOptions() @@ -41,6 +42,7 @@ class LiteRtService { log('Interpreter loaded successfully'); } + // todo-02-service-05: setup inference and close function double inference(List number) { // Get tensor input shape [1, 4, 1] final inputTensor = interpreter.getInputTensors().first; diff --git a/04-litert/04-firebase-ml-app/lib/ui/home_page.dart b/04-litert/04-firebase-storage-app/lib/ui/home_page.dart similarity index 88% rename from 04-litert/04-firebase-ml-app/lib/ui/home_page.dart rename to 04-litert/04-firebase-storage-app/lib/ui/home_page.dart index 5b5a1c3..e4ab146 100644 --- a/04-litert/04-firebase-ml-app/lib/ui/home_page.dart +++ b/04-litert/04-firebase-storage-app/lib/ui/home_page.dart @@ -2,7 +2,7 @@ import 'package:flutter/material.dart'; import 'package:house_price_predictor_app/controller/house_detail_controller.dart'; import 'package:house_price_predictor_app/controller/lite_rt_controller.dart'; import 'package:house_price_predictor_app/model/house_detail.dart'; -import 'package:house_price_predictor_app/service/firebase_ml_service.dart'; +import 'package:house_price_predictor_app/service/firebase_storage_service.dart'; import 'package:house_price_predictor_app/service/lite_rt_service.dart'; import 'package:house_price_predictor_app/widget/form_field_counter.dart'; import 'package:house_price_predictor_app/widget/form_field_free_number.dart'; @@ -17,6 +17,7 @@ class HomePage extends StatelessWidget { return Scaffold( body: Center( child: SingleChildScrollView( + // todo-03-controller-04: add dependency injection child: MultiProvider( providers: [ ChangeNotifierProvider(create: (context) => BedroomsController()), @@ -24,14 +25,11 @@ class HomePage extends StatelessWidget { create: (context) => BathroomsController(), ), ChangeNotifierProvider(create: (context) => FloorsController()), - // todo-06: add and inject FirebaseMlService to LiteRtService Provider( - create: (context) => FirebaseMlService(), + create: (context) => FirebaseStorageService(), ), Provider( - create: (context) => LiteRtService( - context.read(), - )..initModel(), + create: (context) => LiteRtService(context.read())..initModel(), ), ChangeNotifierProvider( create: (context) => LiteRtController(context.read()), @@ -54,6 +52,7 @@ class _HomeBody extends StatefulWidget { class _HomeBodyState extends State<_HomeBody> { late final sqftController = TextEditingController(); + // todo-04-ui-01: add controller and close it in dispose function late final liteRtController = context.read(); @override @@ -106,6 +105,7 @@ class _HomeBodyState extends State<_HomeBody> { SizedBox(height: 8), FilledButton( onPressed: () { + // todo-04-ui-02: add callback to run the inference final houseDetail = HouseDetail( floors: context.read().value, bedrooms: context.read().value, @@ -118,8 +118,9 @@ class _HomeBodyState extends State<_HomeBody> { child: Text("Prediksi Harga Rumah"), ), SizedBox(height: 8), + // todo-04-ui-03: consume the state using Consumer Consumer( - builder: (_, value, __) { + builder: (_, value, _) { final price = NumberFormat().format(value.number); return Text( "\$$price", diff --git a/04-litert/04-firebase-ml-app/lib/widget/form_field_counter.dart b/04-litert/04-firebase-storage-app/lib/widget/form_field_counter.dart similarity index 100% rename from 04-litert/04-firebase-ml-app/lib/widget/form_field_counter.dart rename to 04-litert/04-firebase-storage-app/lib/widget/form_field_counter.dart diff --git a/04-litert/04-firebase-ml-app/lib/widget/form_field_free_number.dart b/04-litert/04-firebase-storage-app/lib/widget/form_field_free_number.dart similarity index 100% rename from 04-litert/04-firebase-ml-app/lib/widget/form_field_free_number.dart rename to 04-litert/04-firebase-storage-app/lib/widget/form_field_free_number.dart diff --git a/04-litert/04-firebase-ml-app/pubspec.lock b/04-litert/04-firebase-storage-app/pubspec.lock similarity index 52% rename from 04-litert/04-firebase-ml-app/pubspec.lock rename to 04-litert/04-firebase-storage-app/pubspec.lock index 9e7b53f..ced146a 100644 --- a/04-litert/04-firebase-ml-app/pubspec.lock +++ b/04-litert/04-firebase-storage-app/pubspec.lock @@ -1,14 +1,30 @@ # Generated by pub # See https://dart.dev/tools/pub/glossary#lockfile packages: + _flutterfire_internals: + dependency: transitive + description: + name: _flutterfire_internals + sha256: "6727cf2ced9b104abca9daa278380be2eca2b98ce33d4b46f11708e387dc6b4d" + url: "https://pub.dev" + source: hosted + version: "1.3.76" + args: + dependency: transitive + description: + name: args + sha256: d0481093c50b1da8910eb0bb301626d4d8eb7284aa739614d2b394ee09e3ea04 + url: "https://pub.dev" + source: hosted + version: "2.7.0" async: dependency: transitive description: name: async - sha256: "758e6d74e971c3e5aceb4110bfd6698efc7f501675bcfe0c775459a8140750eb" + sha256: d2872f9c19731c2e5f10444b14686eb7cc85c76274bd6c16e1816bff9a3bab63 url: "https://pub.dev" source: hosted - version: "2.13.0" + version: "2.12.0" boolean_selector: dependency: transitive description: @@ -21,10 +37,10 @@ packages: dependency: transitive description: name: characters - sha256: f71061c654a3380576a52b451dd5532377954cf9dbd272a78fc8479606670803 + sha256: faf38497bda5ead2a8c7615f4f7939df04333478bf32e4173fcb06d428b5716b url: "https://pub.dev" source: hosted - version: "1.4.0" + version: "1.4.1" clock: dependency: transitive description: @@ -53,50 +69,58 @@ packages: dependency: transitive description: name: ffi - sha256: "289279317b4b16eb2bb7e271abccd4bf84ec9bdcbe999e278a94b804f5630418" + sha256: "16ed7b077ef01ad6170a3d0c57caa4a112a38d7a2ed5602e0aca9ca6f3d98da6" url: "https://pub.dev" source: hosted - version: "2.1.4" + version: "2.1.3" firebase_core: dependency: "direct main" description: name: firebase_core - sha256: "4dd96f05015c0dcceaa47711394c32971aee70169625d5e2477e7676c01ce0ee" + sha256: "9478ca6700c02d315c6aba37e206e612317f98bb4f335bb1cbd6e0ce67dcf764" url: "https://pub.dev" source: hosted - version: "4.1.1" + version: "4.13.0" firebase_core_platform_interface: dependency: transitive description: name: firebase_core_platform_interface - sha256: "5873a370f0d232918e23a5a6137dbe4c2c47cf017301f4ea02d9d636e52f60f0" + sha256: e28f9afdcb5b0f0a8ea74ea3b322f5a7592c81cb45dd9d189913bdae08a2089a url: "https://pub.dev" source: hosted - version: "6.0.1" + version: "8.1.0" firebase_core_web: dependency: transitive description: name: firebase_core_web - sha256: "61a51037312dac781f713308903bb7a1762a7f92f7bc286a3a0947fb2a713b82" + sha256: f471a288b0101a45567548322ac4a5ad31e3ecbf87a576dcc0e424e6a11e04ea url: "https://pub.dev" source: hosted - version: "3.1.1" - firebase_ml_model_downloader: + version: "3.10.0" + firebase_storage: dependency: "direct main" description: - name: firebase_ml_model_downloader - sha256: "92e6b7a36047d201076a14c7c56962c60a438d2e841b0f2cd48e11e4cf6360c0" + name: firebase_storage + sha256: "6089b73ab5d4da77099eda5b8462a449f2915ecebbcc9ddd523039231ad17634" url: "https://pub.dev" source: hosted - version: "0.4.0+2" - firebase_ml_model_downloader_platform_interface: + version: "13.4.6" + firebase_storage_platform_interface: dependency: transitive description: - name: firebase_ml_model_downloader_platform_interface - sha256: c7eec343e43551b71efa9d6b6399df3fe168d180f9d415980fbcdf4b4fa501d2 + name: firebase_storage_platform_interface + sha256: fadbd48f9ff7bde8040ad898f68113f37873310eed68c84ff179821e618b8579 url: "https://pub.dev" source: hosted - version: "0.1.5+13" + version: "6.0.6" + firebase_storage_web: + dependency: transitive + description: + name: firebase_storage_web + sha256: "869c00fd45fad6da5dcfc0d24ce83d245884fb427088af48111cfa62e278e7e1" + url: "https://pub.dev" + source: hosted + version: "3.11.12" flutter: dependency: "direct main" description: flutter @@ -120,14 +144,54 @@ packages: description: flutter source: sdk version: "0.0.0" + http: + dependency: transitive + description: + name: http + sha256: "87721a4a50b19c7f1d49001e51409bddc46303966ce89a65af4f4e6004896412" + url: "https://pub.dev" + source: hosted + version: "1.6.0" + http_parser: + dependency: transitive + description: + name: http_parser + sha256: "178d74305e7866013777bab2c3d8726205dc5a4dd935297175b19a23a2e66571" + url: "https://pub.dev" + source: hosted + version: "4.1.2" intl: dependency: "direct main" description: name: intl - sha256: "3df61194eb431efc39c4ceba583b95633a403f46c9fd341e550ce0bfa50e9aa5" + sha256: "1ca20c894b1717686a2319b8548763d812bc0aabdac580420a44c5178c57a867" + url: "https://pub.dev" + source: hosted + version: "0.20.3" + jni: + dependency: transitive + description: + name: jni + sha256: f038e58b4dc2c9037f50e233175086337e0b305e356d28211bf55f21c504cbd3 + url: "https://pub.dev" + source: hosted + version: "1.0.3" + jni_flutter: + dependency: transitive + description: + name: jni_flutter + sha256: "7b717011ea40d04fd47c2731d3d1d36eb99eba3435c2753d62489e8c3c9991d5" url: "https://pub.dev" source: hosted - version: "0.20.2" + version: "1.0.2" + jni_util: + dependency: transitive + description: + name: jni_util + sha256: "1ba86da04a5f2bf18fde2edb235587e70c5b0fc5bd4ba955f46b00942c3fc35f" + url: "https://pub.dev" + source: hosted + version: "1.0.0" leak_tracker: dependency: transitive description: @@ -156,34 +220,42 @@ packages: dependency: transitive description: name: lints - sha256: a5e2b223cb7c9c8efdc663ef484fdd95bb243bff242ef5b13e26883547fce9a0 + sha256: "12f842a479589fea194fe5c5a3095abc7be0c1f2ddfa9a0e76aed1dbd26a87df" url: "https://pub.dev" source: hosted - version: "6.0.0" + version: "6.1.0" matcher: dependency: transitive description: name: matcher - sha256: dc58c723c3c24bf8d3e2d3ad3f2f9d7bd9cf43ec6feaa64181775e60190153f2 + sha256: "31bd099b47c10cd1aeb55146a2d46ce0277630ecef3f7dae54ad7873f36696cd" url: "https://pub.dev" source: hosted - version: "0.12.17" + version: "0.12.20" material_color_utilities: dependency: transitive description: name: material_color_utilities - sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec + sha256: "9c337007e82b1889149c82ed242ed1cb24a66044e30979c44912381e9be4c48b" url: "https://pub.dev" source: hosted - version: "0.11.1" + version: "0.13.0" meta: dependency: transitive description: name: meta - sha256: e3641ec5d63ebf0d9b41bd43201a66e3fc79a65db5f61fc181f04cd27aab950c + sha256: "307249ce4ff29d58a18e97f6345f539382eb9c9c29ecda628900f31de0443dd9" + url: "https://pub.dev" + source: hosted + version: "1.19.0" + mime: + dependency: transitive + description: + name: mime + sha256: "41a20518f0cb1256669420fdba0cd90d21561e560ac240f26ef8322e45bb7ed6" url: "https://pub.dev" source: hosted - version: "1.16.0" + version: "2.0.0" nested: dependency: transitive description: @@ -192,6 +264,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.0.0" + package_config: + dependency: transitive + description: + name: package_config + sha256: ffcf4cf3d6c0b74ac43708d9f56625506e8a68aa935abe9d267a7330f320eb5d + url: "https://pub.dev" + source: hosted + version: "3.0.0" path: dependency: transitive description: @@ -200,6 +280,62 @@ packages: url: "https://pub.dev" source: hosted version: "1.9.1" + path_provider: + dependency: "direct main" + description: + name: path_provider + sha256: a7f4874f987173da295a61c181b8ee71dab59b332a486b391babf26a1b884825 + url: "https://pub.dev" + source: hosted + version: "2.1.6" + path_provider_android: + dependency: transitive + description: + name: path_provider_android + sha256: "69cbd515a62b94d32a7944f086b2f82b4ac40a1d45bebfc00813a430ab2dabcd" + url: "https://pub.dev" + source: hosted + version: "2.3.1" + path_provider_foundation: + dependency: transitive + description: + name: path_provider_foundation + sha256: "6d13aece7b3f5c5a9731eaf553ff9dcbc2eff41087fd2df587fd0fed9a3eb0c4" + url: "https://pub.dev" + source: hosted + version: "2.5.1" + path_provider_linux: + dependency: transitive + description: + name: path_provider_linux + sha256: "58c2005f147315b11e9b4a7bc889cd5203e250cba8e3f012dae259b4972b5c16" + url: "https://pub.dev" + source: hosted + version: "2.2.2" + path_provider_platform_interface: + dependency: transitive + description: + name: path_provider_platform_interface + sha256: "484838772624c3a4b94f1e44a3e19897fee738f2d5c4ce448443b0417f7c9dda" + url: "https://pub.dev" + source: hosted + version: "2.1.3" + path_provider_windows: + dependency: transitive + description: + name: path_provider_windows + sha256: bd6f00dbd873bfb70d0761682da2b3a2c2fccc2b9e84c495821639601d81afe7 + url: "https://pub.dev" + source: hosted + version: "2.3.0" + platform: + dependency: transitive + description: + name: platform + sha256: "5d6b1b0036a5f331ebc77c850ebc8506cbc1e9416c27e59b439f917a902a4984" + url: "https://pub.dev" + source: hosted + version: "3.1.6" plugin_platform_interface: dependency: transitive description: @@ -273,34 +409,42 @@ packages: dependency: transitive description: name: test_api - sha256: "522f00f556e73044315fa4585ec3270f1808a4b186c936e612cab0b565ff1e00" + sha256: "2a122cbe059f8b610d3a5415f42e255b6c17b1f21eee1d960f31080237fb4f11" url: "https://pub.dev" source: hosted - version: "0.7.6" + version: "0.7.12" tflite_flutter: dependency: "direct main" description: name: tflite_flutter - sha256: "48e6fde2ad97162bb66a16a142f4c4698add9e8cd397ce9d1cc7451b55537ac1" + sha256: "0bba9040d8decda0960d7abf8eabf32243bf092bc7d0084e8e19681866b0bdbe" + url: "https://pub.dev" + source: hosted + version: "0.12.1" + typed_data: + dependency: transitive + description: + name: typed_data + sha256: f9049c039ebfeb4cf7a7104a675823cd72dba8297f264b6637062516699fa006 url: "https://pub.dev" source: hosted - version: "0.11.0" + version: "1.4.0" vector_math: dependency: transitive description: name: vector_math - sha256: d530bd74fea330e6e364cda7a85019c434070188383e1cd8d9777ee586914c5b + sha256: f36f9f3be64c6198714492bb455c11056e33e2f85d9a0b676a48301e44fdcf47 url: "https://pub.dev" source: hosted - version: "2.2.0" + version: "2.4.2" vm_service: dependency: transitive description: name: vm_service - sha256: "45caa6c5917fa127b5dbcfbd1fa60b14e583afdc08bfc96dda38886ca252eb60" + sha256: "0968250880a6c5fe7edc067ed0a13d4bae1577fe2771dcf3010d52c4a9d3ca14" url: "https://pub.dev" source: hosted - version: "15.0.2" + version: "14.3.1" web: dependency: transitive description: @@ -309,6 +453,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.1.1" + xdg_directories: + dependency: transitive + description: + name: xdg_directories + sha256: "7a3f37b05d989967cdddcbb571f1ea834867ae2faa29725fd085180e0883aa15" + url: "https://pub.dev" + source: hosted + version: "1.1.0" sdks: - dart: ">=3.8.0 <4.0.0" - flutter: ">=3.22.0" + dart: ">=3.13.1 <4.0.0" + flutter: ">=3.38.0" diff --git a/04-litert/04-firebase-ml-app/pubspec.yaml b/04-litert/04-firebase-storage-app/pubspec.yaml similarity index 54% rename from 04-litert/04-firebase-ml-app/pubspec.yaml rename to 04-litert/04-firebase-storage-app/pubspec.yaml index 6562056..b90cd54 100644 --- a/04-litert/04-firebase-ml-app/pubspec.yaml +++ b/04-litert/04-firebase-storage-app/pubspec.yaml @@ -4,17 +4,18 @@ publish_to: "none" version: 0.1.0 environment: - sdk: ^3.6.1 + sdk: ^3.13.1 dependencies: flutter: sdk: flutter - provider: ^6.1.2 - intl: ^0.20.2 - tflite_flutter: ^0.11.0 - # todo-01: install dependencies - firebase_core: ^4.1.1 - firebase_ml_model_downloader: ^0.4.0+2 + provider: ^6.1.5+1 + # todo-02-init-01: install dependencies + intl: ^0.20.3 + tflite_flutter: ^0.12.1 + firebase_core: ^4.13.0 + firebase_storage: ^13.4.6 + path_provider: ^2.1.6 dev_dependencies: flutter_test: @@ -23,4 +24,3 @@ dev_dependencies: flutter: uses-material-design: true - # todo-07: remove folder assets and detele the dependency From a9e23da7626945c7de5b98894bd44023ca201ae7 Mon Sep 17 00:00:00 2001 From: Achmad Ilham <30348815+achmadilham07@users.noreply.github.com> Date: Fri, 11 Sep 2026 11:17:58 +0700 Subject: [PATCH 2/2] update version --- .../01-starter/analysis_options.yaml | 9 + .../01-starter/android/app/build.gradle.kts | 14 +- .../01-starter/android/gradle.properties | 4 + .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../01-starter/android/settings.gradle.kts | 4 +- .../01-starter/ios/Podfile | 2 +- .../ios/Runner.xcodeproj/project.pbxproj | 6 +- .../01-starter/pubspec.lock | 164 +++++++---------- .../01-starter/pubspec.yaml | 8 +- .../02-final/analysis_options.yaml | 9 + .../02-final/android/app/build.gradle.kts | 14 +- .../02-final/android/gradle.properties | 7 + .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../02-final/android/settings.gradle.kts | 4 +- .../02-final/ios/Podfile | 2 +- .../ios/Runner.xcodeproj/project.pbxproj | 6 +- .../02-final/lib/ui/home_page.dart | 2 +- .../02-final/pubspec.lock | 168 +++++++----------- .../02-final/pubspec.yaml | 10 +- .../analysis_options.yaml | 9 + .../android/app/build.gradle.kts | 14 +- .../android/gradle.properties | 7 + .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../android/settings.gradle.kts | 4 +- 04-litert/02-object-detection-app/ios/Podfile | 2 +- .../ios/Runner.xcodeproj/project.pbxproj | 6 +- .../02-object-detection-app/pubspec.lock | 168 +++++++----------- .../02-object-detection-app/pubspec.yaml | 10 +- .../01-starter/analysis_options.yaml | 9 + .../01-starter/android/app/build.gradle.kts | 14 +- .../01-starter/android/gradle.properties | 4 + .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../01-starter/android/settings.gradle.kts | 4 +- .../01-starter/ios/Podfile | 2 +- .../ios/Runner.xcodeproj/project.pbxproj | 6 +- .../01-starter/pubspec.lock | 54 +++--- .../01-starter/pubspec.yaml | 6 +- .../02-final/analysis_options.yaml | 9 + .../02-final/android/app/build.gradle.kts | 14 +- .../02-final/android/gradle.properties | 7 + .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../02-final/android/settings.gradle.kts | 4 +- .../03-custom-model-app/02-final/ios/Podfile | 2 +- .../ios/Runner.xcodeproj/project.pbxproj | 6 +- .../02-final/lib/ui/home_page.dart | 2 +- .../03-custom-model-app/02-final/pubspec.lock | 62 +++---- .../03-custom-model-app/02-final/pubspec.yaml | 10 +- 47 files changed, 433 insertions(+), 445 deletions(-) diff --git a/04-litert/01-image-classification-app/01-starter/analysis_options.yaml b/04-litert/01-image-classification-app/01-starter/analysis_options.yaml index f9b3034..743e05a 100644 --- a/04-litert/01-image-classification-app/01-starter/analysis_options.yaml +++ b/04-litert/01-image-classification-app/01-starter/analysis_options.yaml @@ -1 +1,10 @@ +analyzer: + exclude: + - build/** + - android/** + - ios/** + - web/** + - windows/** + - macos/** + - linux/** include: package:flutter_lints/flutter.yaml diff --git a/04-litert/01-image-classification-app/01-starter/android/app/build.gradle.kts b/04-litert/01-image-classification-app/01-starter/android/app/build.gradle.kts index 14c5254..6ff1066 100644 --- a/04-litert/01-image-classification-app/01-starter/android/app/build.gradle.kts +++ b/04-litert/01-image-classification-app/01-starter/android/app/build.gradle.kts @@ -11,12 +11,8 @@ android { ndkVersion = flutter.ndkVersion compileOptions { - sourceCompatibility = JavaVersion.VERSION_11 - targetCompatibility = JavaVersion.VERSION_11 - } - - kotlinOptions { - jvmTarget = JavaVersion.VERSION_11.toString() + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 } defaultConfig { @@ -39,6 +35,12 @@ android { } } +kotlin { + compilerOptions { + jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17 + } +} + flutter { source = "../.." } diff --git a/04-litert/01-image-classification-app/01-starter/android/gradle.properties b/04-litert/01-image-classification-app/01-starter/android/gradle.properties index f018a61..df11c6b 100644 --- a/04-litert/01-image-classification-app/01-starter/android/gradle.properties +++ b/04-litert/01-image-classification-app/01-starter/android/gradle.properties @@ -1,3 +1,7 @@ +# This builtInKotlin flag was added automatically by Flutter migrator +android.builtInKotlin=false +# This newDsl flag was added automatically by Flutter migrator +android.newDsl=false org.gradle.jvmargs=-Xmx8G -XX:MaxMetaspaceSize=4G -XX:ReservedCodeCacheSize=512m -XX:+HeapDumpOnOutOfMemoryError android.useAndroidX=true android.enableJetifier=true diff --git a/04-litert/01-image-classification-app/01-starter/android/gradle/wrapper/gradle-wrapper.properties b/04-litert/01-image-classification-app/01-starter/android/gradle/wrapper/gradle-wrapper.properties index afa1e8e..a20f2c4 100644 --- a/04-litert/01-image-classification-app/01-starter/android/gradle/wrapper/gradle-wrapper.properties +++ b/04-litert/01-image-classification-app/01-starter/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-8.10.2-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.3.1-all.zip diff --git a/04-litert/01-image-classification-app/01-starter/android/settings.gradle.kts b/04-litert/01-image-classification-app/01-starter/android/settings.gradle.kts index a439442..9d5a6fe 100644 --- a/04-litert/01-image-classification-app/01-starter/android/settings.gradle.kts +++ b/04-litert/01-image-classification-app/01-starter/android/settings.gradle.kts @@ -18,8 +18,8 @@ pluginManagement { plugins { id("dev.flutter.flutter-plugin-loader") version "1.0.0" - id("com.android.application") version "8.7.0" apply false - id("org.jetbrains.kotlin.android") version "1.8.22" apply false + id("com.android.application") version "9.1.0" apply false + id("org.jetbrains.kotlin.android") version "2.4.0" apply false } include(":app") diff --git a/04-litert/01-image-classification-app/01-starter/ios/Podfile b/04-litert/01-image-classification-app/01-starter/ios/Podfile index e549ee2..9d7ef08 100644 --- a/04-litert/01-image-classification-app/01-starter/ios/Podfile +++ b/04-litert/01-image-classification-app/01-starter/ios/Podfile @@ -1,5 +1,5 @@ # Uncomment this line to define a global platform for your project -# platform :ios, '12.0' +# platform :ios, '15.0' # CocoaPods analytics sends network stats synchronously affecting flutter build latency. ENV['COCOAPODS_DISABLE_STATS'] = 'true' diff --git a/04-litert/01-image-classification-app/01-starter/ios/Runner.xcodeproj/project.pbxproj b/04-litert/01-image-classification-app/01-starter/ios/Runner.xcodeproj/project.pbxproj index 4a5f48c..1910f16 100644 --- a/04-litert/01-image-classification-app/01-starter/ios/Runner.xcodeproj/project.pbxproj +++ b/04-litert/01-image-classification-app/01-starter/ios/Runner.xcodeproj/project.pbxproj @@ -455,7 +455,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; + IPHONEOS_DEPLOYMENT_TARGET = 15.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SUPPORTED_PLATFORMS = iphoneos; @@ -585,7 +585,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; + IPHONEOS_DEPLOYMENT_TARGET = 15.0; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; @@ -636,7 +636,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; + IPHONEOS_DEPLOYMENT_TARGET = 15.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SUPPORTED_PLATFORMS = iphoneos; diff --git a/04-litert/01-image-classification-app/01-starter/pubspec.lock b/04-litert/01-image-classification-app/01-starter/pubspec.lock index 003a8fa..a0f260f 100644 --- a/04-litert/01-image-classification-app/01-starter/pubspec.lock +++ b/04-litert/01-image-classification-app/01-starter/pubspec.lock @@ -5,18 +5,18 @@ packages: dependency: transitive description: name: archive - sha256: "6199c74e3db4fbfbd04f66d739e72fe11c8a8957d5f219f1f4482dbde6420b5a" + sha256: ace891da0862b0e4cabbb064ee3fd87b2728b898949fdb366d83fe98342c9f19 url: "https://pub.dev" source: hosted - version: "4.0.2" + version: "4.2.0" async: dependency: transitive description: name: async - sha256: d2872f9c19731c2e5f10444b14686eb7cc85c76274bd6c16e1816bff9a3bab63 + sha256: e2eb0491ba5ddb6177742d2da23904574082139b07c1e33b8503b9f46f3e1a37 url: "https://pub.dev" source: hosted - version: "2.12.0" + version: "2.13.1" boolean_selector: dependency: transitive description: @@ -29,58 +29,58 @@ packages: dependency: "direct main" description: name: camera - sha256: dfa8fc5a1adaeb95e7a54d86a5bd56f4bb0e035515354c8ac6d262e35cec2ec8 + sha256: "3f30ca0ff376f91534f23afa2a7aea06ebb6c889fd9e260642437b37e3d9f753" url: "https://pub.dev" source: hosted - version: "0.10.6" - camera_android: + version: "0.12.1" + camera_android_camerax: dependency: transitive description: - name: camera_android - sha256: "007c57cdcace4751014071e3d42f2eb8a64a519254abed35b714223d81d66234" + name: camera_android_camerax + sha256: "977f54512d338b3b36d7f82929794886766d8f41ae84a48fe103eb0106ecfe25" url: "https://pub.dev" source: hosted - version: "0.10.10" + version: "0.7.4+8" camera_avfoundation: dependency: transitive description: name: camera_avfoundation - sha256: "55eb9c216f25339a3faa55fc42826e2c4a45becefa1387fd50fce6ae9dd0c574" + sha256: "843247230a583e04742ea1434ce3f91e536760922fab67c72ce46aa34fac3e9d" url: "https://pub.dev" source: hosted - version: "0.9.18+1" + version: "0.10.3" camera_platform_interface: dependency: transitive description: name: camera_platform_interface - sha256: "953e7baed3a7c8fae92f7200afeb2be503ff1a17c3b4e4ed7b76f008c2810a31" + sha256: "4524ca6eb4176b066864036ad4fe02c3e4863e63b77eadc21a5bf56824f43498" url: "https://pub.dev" source: hosted - version: "2.9.0" + version: "2.13.1" camera_web: dependency: transitive description: name: camera_web - sha256: "595f28c89d1fb62d77c73c633193755b781c6d2e0ebcd8dc25b763b514e6ba8f" + sha256: "5aecf1ac4dd4a949c5a7820e590020acb2bc35425384ab87a030e1739bfe12e2" url: "https://pub.dev" source: hosted - version: "0.3.5" + version: "0.3.5+6" characters: dependency: transitive description: name: characters - sha256: f71061c654a3380576a52b451dd5532377954cf9dbd272a78fc8479606670803 + sha256: faf38497bda5ead2a8c7615f4f7939df04333478bf32e4173fcb06d428b5716b url: "https://pub.dev" source: hosted - version: "1.4.0" + version: "1.4.1" clock: dependency: transitive description: name: clock - sha256: fddb70d9b5277016c77a80201021d40a2247104d9f4aa7bab7157b7e3f05b84b + sha256: e51d50bca3217c9a9fa2b41a30e4a38971133f5f9ec7a3d57bae095007f1d28e url: "https://pub.dev" source: hosted - version: "1.1.2" + version: "1.1.3" collection: dependency: transitive description: @@ -93,34 +93,26 @@ packages: dependency: transitive description: name: cross_file - sha256: "7caf6a750a0c04effbb52a676dce9a4a592e10ad35c34d6d2d0e4811160d5670" - url: "https://pub.dev" - source: hosted - version: "0.3.4+2" - crypto: - dependency: transitive - description: - name: crypto - sha256: "1e445881f28f22d6140f181e07737b22f1e099a5e1ff94b0af2f9e4a463f4855" + sha256: f141ea4f277af142a0356955707f6556f37b03947d39d55585981a06ca437bd6 url: "https://pub.dev" source: hosted - version: "3.0.6" + version: "0.3.5+5" fake_async: dependency: transitive description: name: fake_async - sha256: "6a95e56b2449df2273fd8c45a662d6947ce1ebb7aafe80e550a3f68297f3cacc" + sha256: "5368f224a74523e8d2e7399ea1638b37aecfca824a3cc4dfdf77bf1fa905ac44" url: "https://pub.dev" source: hosted - version: "1.3.2" + version: "1.3.3" ffi: dependency: transitive description: name: ffi - sha256: "16ed7b077ef01ad6170a3d0c57caa4a112a38d7a2ed5602e0aca9ca6f3d98da6" + sha256: "6d7fd89431262d8f3125e81b50d3847a091d846eafcd4fdb88dd06f36d705a45" url: "https://pub.dev" source: hosted - version: "2.1.3" + version: "2.2.0" flutter: dependency: "direct main" description: flutter @@ -130,18 +122,18 @@ packages: dependency: "direct dev" description: name: flutter_lints - sha256: "5398f14efa795ffb7a33e9b6a08798b26a180edac4ad7db3f231e40f82ce11e1" + sha256: "3105dc8492f6183fb076ccf1f351ac3d60564bff92e20bfc4af9cc1651f4e7e1" url: "https://pub.dev" source: hosted - version: "5.0.0" + version: "6.0.0" flutter_plugin_android_lifecycle: dependency: transitive description: name: flutter_plugin_android_lifecycle - sha256: "615a505aef59b151b46bbeef55b36ce2b6ed299d160c51d84281946f0aa0ce0e" + sha256: "3854fe5e3bff0b113c658f260b90c95dea17c92db0f2addeac2e343dd9969785" url: "https://pub.dev" source: hosted - version: "2.0.24" + version: "2.0.35" flutter_test: dependency: "direct dev" description: flutter @@ -156,66 +148,66 @@ packages: dependency: "direct main" description: name: image - sha256: "8346ad4b5173924b5ddddab782fc7d8a6300178c8b1dc427775405a01701c4a6" + sha256: "1976370a4df3091bb0f72409c187ad1f9132a818bc6b95ca59c0bae1c75c688e" url: "https://pub.dev" source: hosted - version: "4.5.2" + version: "4.9.2" leak_tracker: dependency: transitive description: name: leak_tracker - sha256: c35baad643ba394b40aac41080300150a4f08fd0fd6a10378f8f7c6bc161acec + sha256: "33e2e26bdd85a0112ec15400c8cbffea70d0f9c3407491f672a2fad47915e2de" url: "https://pub.dev" source: hosted - version: "10.0.8" + version: "11.0.2" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: f8b613e7e6a13ec79cfdc0e97638fddb3ab848452eff057653abd3edba760573 + sha256: "1dbc140bb5a23c75ea9c4811222756104fbcd1a27173f0c34ca01e16bea473c1" url: "https://pub.dev" source: hosted - version: "3.0.9" + version: "3.0.10" leak_tracker_testing: dependency: transitive description: name: leak_tracker_testing - sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3" + sha256: "8d5a2d49f4a66b49744b23b018848400d23e54caf9463f4eb20df3eb8acb2eb1" url: "https://pub.dev" source: hosted - version: "3.0.1" + version: "3.0.2" lints: dependency: transitive description: name: lints - sha256: c35bb79562d980e9a453fc715854e1ed39e24e7d0297a880ef54e17f9874a9d7 + sha256: "12f842a479589fea194fe5c5a3095abc7be0c1f2ddfa9a0e76aed1dbd26a87df" url: "https://pub.dev" source: hosted - version: "5.1.1" + version: "6.1.0" matcher: dependency: transitive description: name: matcher - sha256: dc58c723c3c24bf8d3e2d3ad3f2f9d7bd9cf43ec6feaa64181775e60190153f2 + sha256: "31bd099b47c10cd1aeb55146a2d46ce0277630ecef3f7dae54ad7873f36696cd" url: "https://pub.dev" source: hosted - version: "0.12.17" + version: "0.12.20" material_color_utilities: dependency: transitive description: name: material_color_utilities - sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec + sha256: "9c337007e82b1889149c82ed242ed1cb24a66044e30979c44912381e9be4c48b" url: "https://pub.dev" source: hosted - version: "0.11.1" + version: "0.13.0" meta: dependency: transitive description: name: meta - sha256: e3641ec5d63ebf0d9b41bd43201a66e3fc79a65db5f61fc181f04cd27aab950c + sha256: "307249ce4ff29d58a18e97f6345f539382eb9c9c29ecda628900f31de0443dd9" url: "https://pub.dev" source: hosted - version: "1.16.0" + version: "1.19.0" nested: dependency: transitive description: @@ -232,14 +224,6 @@ packages: url: "https://pub.dev" source: hosted version: "1.9.1" - petitparser: - dependency: transitive - description: - name: petitparser - sha256: c15605cd28af66339f8eb6fbe0e541bfe2d1b72d5825efc6598f3e0a31b9ad27 - url: "https://pub.dev" - source: hosted - version: "6.0.2" plugin_platform_interface: dependency: transitive description: @@ -252,18 +236,18 @@ packages: dependency: transitive description: name: posix - sha256: a0117dc2167805aa9125b82eee515cc891819bac2f538c83646d355b16f58b9a + sha256: bc1bad54ad2b735816e31f8d4600cfde6c7839975085ddfbca48b6c9f7c4044e url: "https://pub.dev" source: hosted - version: "6.0.1" + version: "6.5.2" provider: dependency: "direct main" description: name: provider - sha256: c8a055ee5ce3fd98d6fc872478b03823ffdb448699c6ebdbbc71d59b596fd48c + sha256: "4e82183fa20e5ca25703ead7e05de9e4cceed1fbd1eadc1ac3cb6f565a09f272" url: "https://pub.dev" source: hosted - version: "6.1.2" + version: "6.1.5+1" sky_engine: dependency: transitive description: flutter @@ -273,18 +257,18 @@ packages: dependency: transitive description: name: source_span - sha256: "254ee5351d6cb365c859e20ee823c3bb479bf4a293c22d17a9f1bf144ce86f7c" + sha256: "56a02f1f4cd1a2d96303c0144c93bd6d909eea6bee6bf5a0e0b685edbd4c47ab" url: "https://pub.dev" source: hosted - version: "1.10.1" + version: "1.10.2" stack_trace: dependency: transitive description: name: stack_trace - sha256: "8b27215b45d22309b5cddda1aa2b19bdfec9df0e765f2de506401c071d38d1b1" + sha256: "277654b3034d17ac6f9f1cb5595db011b1d5d41e8806866db28e0abaa101c490" url: "https://pub.dev" source: hosted - version: "1.12.1" + version: "1.12.2" stream_channel: dependency: transitive description: @@ -297,10 +281,10 @@ packages: dependency: transitive description: name: stream_transform - sha256: ad47125e588cfd37a9a7f86c7d6356dde8dfe89d071d293f80ca9e9273a33871 + sha256: a00e5f18bffc764f923e7dec1038527f7fe7a1791361a7117f0358193f13d53a url: "https://pub.dev" source: hosted - version: "2.1.1" + version: "2.1.2" string_scanner: dependency: transitive description: @@ -321,50 +305,34 @@ packages: dependency: transitive description: name: test_api - sha256: fb31f383e2ee25fbbfe06b40fe21e1e458d14080e3c67e7ba0acfde4df4e0bbd + sha256: "2a122cbe059f8b610d3a5415f42e255b6c17b1f21eee1d960f31080237fb4f11" url: "https://pub.dev" source: hosted - version: "0.7.4" - typed_data: - dependency: transitive - description: - name: typed_data - sha256: f9049c039ebfeb4cf7a7104a675823cd72dba8297f264b6637062516699fa006 - url: "https://pub.dev" - source: hosted - version: "1.4.0" + version: "0.7.12" vector_math: dependency: transitive description: name: vector_math - sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803" + sha256: f36f9f3be64c6198714492bb455c11056e33e2f85d9a0b676a48301e44fdcf47 url: "https://pub.dev" source: hosted - version: "2.1.4" + version: "2.4.2" vm_service: dependency: transitive description: name: vm_service - sha256: "0968250880a6c5fe7edc067ed0a13d4bae1577fe2771dcf3010d52c4a9d3ca14" + sha256: "5f37239c4851efcef929cea7824e76df7f2f0970aef85d66bbc430afa40e72f0" url: "https://pub.dev" source: hosted - version: "14.3.1" + version: "15.3.0" web: dependency: transitive description: name: web - sha256: cd3543bd5798f6ad290ea73d210f423502e71900302dde696f8bff84bf89a1cb - url: "https://pub.dev" - source: hosted - version: "1.1.0" - xml: - dependency: transitive - description: - name: xml - sha256: b015a8ad1c488f66851d762d3090a21c600e479dc75e68328c52774040cf9226 + sha256: "868d88a33d8a87b18ffc05f9f030ba328ffefba92d6c127917a2ba740f9cfe4a" url: "https://pub.dev" source: hosted - version: "6.5.0" + version: "1.1.1" sdks: - dart: ">=3.7.0-0 <4.0.0" - flutter: ">=3.24.0" + dart: ">=3.13.1 <4.0.0" + flutter: ">=3.44.0" diff --git a/04-litert/01-image-classification-app/01-starter/pubspec.yaml b/04-litert/01-image-classification-app/01-starter/pubspec.yaml index ca8c0ea..88ba1f6 100644 --- a/04-litert/01-image-classification-app/01-starter/pubspec.yaml +++ b/04-litert/01-image-classification-app/01-starter/pubspec.yaml @@ -4,20 +4,20 @@ publish_to: 'none' version: 0.1.0 environment: - sdk: ^3.6.1 + sdk: ^3.13.1 dependencies: flutter: sdk: flutter - provider: ^6.1.2 - camera: 0.10.6 + provider: ^6.1.5+1 + camera: ^0.12.1 image: ^4.5.2 dev_dependencies: flutter_test: sdk: flutter - flutter_lints: ^5.0.0 + flutter_lints: ^6.0.0 flutter: uses-material-design: true diff --git a/04-litert/01-image-classification-app/02-final/analysis_options.yaml b/04-litert/01-image-classification-app/02-final/analysis_options.yaml index f9b3034..743e05a 100644 --- a/04-litert/01-image-classification-app/02-final/analysis_options.yaml +++ b/04-litert/01-image-classification-app/02-final/analysis_options.yaml @@ -1 +1,10 @@ +analyzer: + exclude: + - build/** + - android/** + - ios/** + - web/** + - windows/** + - macos/** + - linux/** include: package:flutter_lints/flutter.yaml diff --git a/04-litert/01-image-classification-app/02-final/android/app/build.gradle.kts b/04-litert/01-image-classification-app/02-final/android/app/build.gradle.kts index 14c5254..6ff1066 100644 --- a/04-litert/01-image-classification-app/02-final/android/app/build.gradle.kts +++ b/04-litert/01-image-classification-app/02-final/android/app/build.gradle.kts @@ -11,12 +11,8 @@ android { ndkVersion = flutter.ndkVersion compileOptions { - sourceCompatibility = JavaVersion.VERSION_11 - targetCompatibility = JavaVersion.VERSION_11 - } - - kotlinOptions { - jvmTarget = JavaVersion.VERSION_11.toString() + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 } defaultConfig { @@ -39,6 +35,12 @@ android { } } +kotlin { + compilerOptions { + jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17 + } +} + flutter { source = "../.." } diff --git a/04-litert/01-image-classification-app/02-final/android/gradle.properties b/04-litert/01-image-classification-app/02-final/android/gradle.properties index f018a61..07b44c0 100644 --- a/04-litert/01-image-classification-app/02-final/android/gradle.properties +++ b/04-litert/01-image-classification-app/02-final/android/gradle.properties @@ -1,3 +1,10 @@ +# This builtInKotlin flag was added automatically by Flutter migrator +android.builtInKotlin=false +# This newDsl flag was added automatically by Flutter migrator +android.newDsl=false +# tflite_flutter plugin ships mismatched Java/Kotlin JVM targets; downgrade AGP's +# strict check to a warning until the plugin fixes it upstream. +kotlin.jvm.target.validation.mode=warning org.gradle.jvmargs=-Xmx8G -XX:MaxMetaspaceSize=4G -XX:ReservedCodeCacheSize=512m -XX:+HeapDumpOnOutOfMemoryError android.useAndroidX=true android.enableJetifier=true diff --git a/04-litert/01-image-classification-app/02-final/android/gradle/wrapper/gradle-wrapper.properties b/04-litert/01-image-classification-app/02-final/android/gradle/wrapper/gradle-wrapper.properties index afa1e8e..a20f2c4 100644 --- a/04-litert/01-image-classification-app/02-final/android/gradle/wrapper/gradle-wrapper.properties +++ b/04-litert/01-image-classification-app/02-final/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-8.10.2-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.3.1-all.zip diff --git a/04-litert/01-image-classification-app/02-final/android/settings.gradle.kts b/04-litert/01-image-classification-app/02-final/android/settings.gradle.kts index a439442..9d5a6fe 100644 --- a/04-litert/01-image-classification-app/02-final/android/settings.gradle.kts +++ b/04-litert/01-image-classification-app/02-final/android/settings.gradle.kts @@ -18,8 +18,8 @@ pluginManagement { plugins { id("dev.flutter.flutter-plugin-loader") version "1.0.0" - id("com.android.application") version "8.7.0" apply false - id("org.jetbrains.kotlin.android") version "1.8.22" apply false + id("com.android.application") version "9.1.0" apply false + id("org.jetbrains.kotlin.android") version "2.4.0" apply false } include(":app") diff --git a/04-litert/01-image-classification-app/02-final/ios/Podfile b/04-litert/01-image-classification-app/02-final/ios/Podfile index e549ee2..9d7ef08 100644 --- a/04-litert/01-image-classification-app/02-final/ios/Podfile +++ b/04-litert/01-image-classification-app/02-final/ios/Podfile @@ -1,5 +1,5 @@ # Uncomment this line to define a global platform for your project -# platform :ios, '12.0' +# platform :ios, '15.0' # CocoaPods analytics sends network stats synchronously affecting flutter build latency. ENV['COCOAPODS_DISABLE_STATS'] = 'true' diff --git a/04-litert/01-image-classification-app/02-final/ios/Runner.xcodeproj/project.pbxproj b/04-litert/01-image-classification-app/02-final/ios/Runner.xcodeproj/project.pbxproj index 4a5f48c..1910f16 100644 --- a/04-litert/01-image-classification-app/02-final/ios/Runner.xcodeproj/project.pbxproj +++ b/04-litert/01-image-classification-app/02-final/ios/Runner.xcodeproj/project.pbxproj @@ -455,7 +455,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; + IPHONEOS_DEPLOYMENT_TARGET = 15.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SUPPORTED_PLATFORMS = iphoneos; @@ -585,7 +585,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; + IPHONEOS_DEPLOYMENT_TARGET = 15.0; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; @@ -636,7 +636,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; + IPHONEOS_DEPLOYMENT_TARGET = 15.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SUPPORTED_PLATFORMS = iphoneos; diff --git a/04-litert/01-image-classification-app/02-final/lib/ui/home_page.dart b/04-litert/01-image-classification-app/02-final/lib/ui/home_page.dart index 3159747..1d94ff5 100644 --- a/04-litert/01-image-classification-app/02-final/lib/ui/home_page.dart +++ b/04-litert/01-image-classification-app/02-final/lib/ui/home_page.dart @@ -74,7 +74,7 @@ class _HomeBodyState extends State<_HomeBody> { right: 0, left: 0, child: Consumer( - builder: (_, updateViewmodel, __) { + builder: (_, updateViewmodel, _) { final classifications = updateViewmodel.classifications.entries; if (classifications.isEmpty) { diff --git a/04-litert/01-image-classification-app/02-final/pubspec.lock b/04-litert/01-image-classification-app/02-final/pubspec.lock index dc35d1c..88e07c5 100644 --- a/04-litert/01-image-classification-app/02-final/pubspec.lock +++ b/04-litert/01-image-classification-app/02-final/pubspec.lock @@ -5,18 +5,18 @@ packages: dependency: transitive description: name: archive - sha256: "6199c74e3db4fbfbd04f66d739e72fe11c8a8957d5f219f1f4482dbde6420b5a" + sha256: ace891da0862b0e4cabbb064ee3fd87b2728b898949fdb366d83fe98342c9f19 url: "https://pub.dev" source: hosted - version: "4.0.2" + version: "4.2.0" async: dependency: transitive description: name: async - sha256: d2872f9c19731c2e5f10444b14686eb7cc85c76274bd6c16e1816bff9a3bab63 + sha256: e2eb0491ba5ddb6177742d2da23904574082139b07c1e33b8503b9f46f3e1a37 url: "https://pub.dev" source: hosted - version: "2.12.0" + version: "2.13.1" boolean_selector: dependency: transitive description: @@ -29,58 +29,58 @@ packages: dependency: "direct main" description: name: camera - sha256: dfa8fc5a1adaeb95e7a54d86a5bd56f4bb0e035515354c8ac6d262e35cec2ec8 + sha256: "3f30ca0ff376f91534f23afa2a7aea06ebb6c889fd9e260642437b37e3d9f753" url: "https://pub.dev" source: hosted - version: "0.10.6" - camera_android: + version: "0.12.1" + camera_android_camerax: dependency: transitive description: - name: camera_android - sha256: "007c57cdcace4751014071e3d42f2eb8a64a519254abed35b714223d81d66234" + name: camera_android_camerax + sha256: "977f54512d338b3b36d7f82929794886766d8f41ae84a48fe103eb0106ecfe25" url: "https://pub.dev" source: hosted - version: "0.10.10" + version: "0.7.4+8" camera_avfoundation: dependency: transitive description: name: camera_avfoundation - sha256: "55eb9c216f25339a3faa55fc42826e2c4a45becefa1387fd50fce6ae9dd0c574" + sha256: "843247230a583e04742ea1434ce3f91e536760922fab67c72ce46aa34fac3e9d" url: "https://pub.dev" source: hosted - version: "0.9.18+1" + version: "0.10.3" camera_platform_interface: dependency: transitive description: name: camera_platform_interface - sha256: "953e7baed3a7c8fae92f7200afeb2be503ff1a17c3b4e4ed7b76f008c2810a31" + sha256: "4524ca6eb4176b066864036ad4fe02c3e4863e63b77eadc21a5bf56824f43498" url: "https://pub.dev" source: hosted - version: "2.9.0" + version: "2.13.1" camera_web: dependency: transitive description: name: camera_web - sha256: "595f28c89d1fb62d77c73c633193755b781c6d2e0ebcd8dc25b763b514e6ba8f" + sha256: "5aecf1ac4dd4a949c5a7820e590020acb2bc35425384ab87a030e1739bfe12e2" url: "https://pub.dev" source: hosted - version: "0.3.5" + version: "0.3.5+6" characters: dependency: transitive description: name: characters - sha256: f71061c654a3380576a52b451dd5532377954cf9dbd272a78fc8479606670803 + sha256: faf38497bda5ead2a8c7615f4f7939df04333478bf32e4173fcb06d428b5716b url: "https://pub.dev" source: hosted - version: "1.4.0" + version: "1.4.1" clock: dependency: transitive description: name: clock - sha256: fddb70d9b5277016c77a80201021d40a2247104d9f4aa7bab7157b7e3f05b84b + sha256: e51d50bca3217c9a9fa2b41a30e4a38971133f5f9ec7a3d57bae095007f1d28e url: "https://pub.dev" source: hosted - version: "1.1.2" + version: "1.1.3" collection: dependency: transitive description: @@ -93,34 +93,26 @@ packages: dependency: transitive description: name: cross_file - sha256: "7caf6a750a0c04effbb52a676dce9a4a592e10ad35c34d6d2d0e4811160d5670" - url: "https://pub.dev" - source: hosted - version: "0.3.4+2" - crypto: - dependency: transitive - description: - name: crypto - sha256: "1e445881f28f22d6140f181e07737b22f1e099a5e1ff94b0af2f9e4a463f4855" + sha256: f141ea4f277af142a0356955707f6556f37b03947d39d55585981a06ca437bd6 url: "https://pub.dev" source: hosted - version: "3.0.6" + version: "0.3.5+5" fake_async: dependency: transitive description: name: fake_async - sha256: "6a95e56b2449df2273fd8c45a662d6947ce1ebb7aafe80e550a3f68297f3cacc" + sha256: "5368f224a74523e8d2e7399ea1638b37aecfca824a3cc4dfdf77bf1fa905ac44" url: "https://pub.dev" source: hosted - version: "1.3.2" + version: "1.3.3" ffi: dependency: transitive description: name: ffi - sha256: "16ed7b077ef01ad6170a3d0c57caa4a112a38d7a2ed5602e0aca9ca6f3d98da6" + sha256: "6d7fd89431262d8f3125e81b50d3847a091d846eafcd4fdb88dd06f36d705a45" url: "https://pub.dev" source: hosted - version: "2.1.3" + version: "2.2.0" flutter: dependency: "direct main" description: flutter @@ -130,18 +122,18 @@ packages: dependency: "direct dev" description: name: flutter_lints - sha256: "5398f14efa795ffb7a33e9b6a08798b26a180edac4ad7db3f231e40f82ce11e1" + sha256: "3105dc8492f6183fb076ccf1f351ac3d60564bff92e20bfc4af9cc1651f4e7e1" url: "https://pub.dev" source: hosted - version: "5.0.0" + version: "6.0.0" flutter_plugin_android_lifecycle: dependency: transitive description: name: flutter_plugin_android_lifecycle - sha256: "615a505aef59b151b46bbeef55b36ce2b6ed299d160c51d84281946f0aa0ce0e" + sha256: "3854fe5e3bff0b113c658f260b90c95dea17c92db0f2addeac2e343dd9969785" url: "https://pub.dev" source: hosted - version: "2.0.24" + version: "2.0.35" flutter_test: dependency: "direct dev" description: flutter @@ -156,66 +148,66 @@ packages: dependency: "direct main" description: name: image - sha256: "8346ad4b5173924b5ddddab782fc7d8a6300178c8b1dc427775405a01701c4a6" + sha256: "1976370a4df3091bb0f72409c187ad1f9132a818bc6b95ca59c0bae1c75c688e" url: "https://pub.dev" source: hosted - version: "4.5.2" + version: "4.9.2" leak_tracker: dependency: transitive description: name: leak_tracker - sha256: c35baad643ba394b40aac41080300150a4f08fd0fd6a10378f8f7c6bc161acec + sha256: "33e2e26bdd85a0112ec15400c8cbffea70d0f9c3407491f672a2fad47915e2de" url: "https://pub.dev" source: hosted - version: "10.0.8" + version: "11.0.2" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: f8b613e7e6a13ec79cfdc0e97638fddb3ab848452eff057653abd3edba760573 + sha256: "1dbc140bb5a23c75ea9c4811222756104fbcd1a27173f0c34ca01e16bea473c1" url: "https://pub.dev" source: hosted - version: "3.0.9" + version: "3.0.10" leak_tracker_testing: dependency: transitive description: name: leak_tracker_testing - sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3" + sha256: "8d5a2d49f4a66b49744b23b018848400d23e54caf9463f4eb20df3eb8acb2eb1" url: "https://pub.dev" source: hosted - version: "3.0.1" + version: "3.0.2" lints: dependency: transitive description: name: lints - sha256: c35bb79562d980e9a453fc715854e1ed39e24e7d0297a880ef54e17f9874a9d7 + sha256: "12f842a479589fea194fe5c5a3095abc7be0c1f2ddfa9a0e76aed1dbd26a87df" url: "https://pub.dev" source: hosted - version: "5.1.1" + version: "6.1.0" matcher: dependency: transitive description: name: matcher - sha256: dc58c723c3c24bf8d3e2d3ad3f2f9d7bd9cf43ec6feaa64181775e60190153f2 + sha256: "31bd099b47c10cd1aeb55146a2d46ce0277630ecef3f7dae54ad7873f36696cd" url: "https://pub.dev" source: hosted - version: "0.12.17" + version: "0.12.20" material_color_utilities: dependency: transitive description: name: material_color_utilities - sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec + sha256: "9c337007e82b1889149c82ed242ed1cb24a66044e30979c44912381e9be4c48b" url: "https://pub.dev" source: hosted - version: "0.11.1" + version: "0.13.0" meta: dependency: transitive description: name: meta - sha256: e3641ec5d63ebf0d9b41bd43201a66e3fc79a65db5f61fc181f04cd27aab950c + sha256: "307249ce4ff29d58a18e97f6345f539382eb9c9c29ecda628900f31de0443dd9" url: "https://pub.dev" source: hosted - version: "1.16.0" + version: "1.19.0" nested: dependency: transitive description: @@ -232,14 +224,6 @@ packages: url: "https://pub.dev" source: hosted version: "1.9.1" - petitparser: - dependency: transitive - description: - name: petitparser - sha256: c15605cd28af66339f8eb6fbe0e541bfe2d1b72d5825efc6598f3e0a31b9ad27 - url: "https://pub.dev" - source: hosted - version: "6.0.2" plugin_platform_interface: dependency: transitive description: @@ -252,18 +236,18 @@ packages: dependency: transitive description: name: posix - sha256: a0117dc2167805aa9125b82eee515cc891819bac2f538c83646d355b16f58b9a + sha256: bc1bad54ad2b735816e31f8d4600cfde6c7839975085ddfbca48b6c9f7c4044e url: "https://pub.dev" source: hosted - version: "6.0.1" + version: "6.5.2" provider: dependency: "direct main" description: name: provider - sha256: c8a055ee5ce3fd98d6fc872478b03823ffdb448699c6ebdbbc71d59b596fd48c + sha256: "4e82183fa20e5ca25703ead7e05de9e4cceed1fbd1eadc1ac3cb6f565a09f272" url: "https://pub.dev" source: hosted - version: "6.1.2" + version: "6.1.5+1" quiver: dependency: transitive description: @@ -281,18 +265,18 @@ packages: dependency: transitive description: name: source_span - sha256: "254ee5351d6cb365c859e20ee823c3bb479bf4a293c22d17a9f1bf144ce86f7c" + sha256: "56a02f1f4cd1a2d96303c0144c93bd6d909eea6bee6bf5a0e0b685edbd4c47ab" url: "https://pub.dev" source: hosted - version: "1.10.1" + version: "1.10.2" stack_trace: dependency: transitive description: name: stack_trace - sha256: "8b27215b45d22309b5cddda1aa2b19bdfec9df0e765f2de506401c071d38d1b1" + sha256: "277654b3034d17ac6f9f1cb5595db011b1d5d41e8806866db28e0abaa101c490" url: "https://pub.dev" source: hosted - version: "1.12.1" + version: "1.12.2" stream_channel: dependency: transitive description: @@ -305,10 +289,10 @@ packages: dependency: transitive description: name: stream_transform - sha256: ad47125e588cfd37a9a7f86c7d6356dde8dfe89d071d293f80ca9e9273a33871 + sha256: a00e5f18bffc764f923e7dec1038527f7fe7a1791361a7117f0358193f13d53a url: "https://pub.dev" source: hosted - version: "2.1.1" + version: "2.1.2" string_scanner: dependency: transitive description: @@ -329,58 +313,42 @@ packages: dependency: transitive description: name: test_api - sha256: fb31f383e2ee25fbbfe06b40fe21e1e458d14080e3c67e7ba0acfde4df4e0bbd + sha256: "2a122cbe059f8b610d3a5415f42e255b6c17b1f21eee1d960f31080237fb4f11" url: "https://pub.dev" source: hosted - version: "0.7.4" + version: "0.7.12" tflite_flutter: dependency: "direct main" description: name: tflite_flutter - sha256: "48e6fde2ad97162bb66a16a142f4c4698add9e8cd397ce9d1cc7451b55537ac1" + sha256: "0bba9040d8decda0960d7abf8eabf32243bf092bc7d0084e8e19681866b0bdbe" url: "https://pub.dev" source: hosted - version: "0.11.0" - typed_data: - dependency: transitive - description: - name: typed_data - sha256: f9049c039ebfeb4cf7a7104a675823cd72dba8297f264b6637062516699fa006 - url: "https://pub.dev" - source: hosted - version: "1.4.0" + version: "0.12.1" vector_math: dependency: transitive description: name: vector_math - sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803" + sha256: f36f9f3be64c6198714492bb455c11056e33e2f85d9a0b676a48301e44fdcf47 url: "https://pub.dev" source: hosted - version: "2.1.4" + version: "2.4.2" vm_service: dependency: transitive description: name: vm_service - sha256: "0968250880a6c5fe7edc067ed0a13d4bae1577fe2771dcf3010d52c4a9d3ca14" + sha256: "5f37239c4851efcef929cea7824e76df7f2f0970aef85d66bbc430afa40e72f0" url: "https://pub.dev" source: hosted - version: "14.3.1" + version: "15.3.0" web: dependency: transitive description: name: web - sha256: cd3543bd5798f6ad290ea73d210f423502e71900302dde696f8bff84bf89a1cb - url: "https://pub.dev" - source: hosted - version: "1.1.0" - xml: - dependency: transitive - description: - name: xml - sha256: b015a8ad1c488f66851d762d3090a21c600e479dc75e68328c52774040cf9226 + sha256: "868d88a33d8a87b18ffc05f9f030ba328ffefba92d6c127917a2ba740f9cfe4a" url: "https://pub.dev" source: hosted - version: "6.5.0" + version: "1.1.1" sdks: - dart: ">=3.7.0-0 <4.0.0" - flutter: ">=3.24.0" + dart: ">=3.13.1 <4.0.0" + flutter: ">=3.44.0" diff --git a/04-litert/01-image-classification-app/02-final/pubspec.yaml b/04-litert/01-image-classification-app/02-final/pubspec.yaml index 44a1274..c24a073 100644 --- a/04-litert/01-image-classification-app/02-final/pubspec.yaml +++ b/04-litert/01-image-classification-app/02-final/pubspec.yaml @@ -4,22 +4,22 @@ publish_to: 'none' version: 0.1.0 environment: - sdk: ^3.6.1 + sdk: ^3.13.1 dependencies: flutter: sdk: flutter - provider: ^6.1.2 - camera: 0.10.6 + provider: ^6.1.5+1 + camera: ^0.12.1 image: ^4.5.2 # todo-01-model-04: install the dependency - tflite_flutter: ^0.11.0 + tflite_flutter: ^0.12.1 dev_dependencies: flutter_test: sdk: flutter - flutter_lints: ^5.0.0 + flutter_lints: ^6.0.0 flutter: uses-material-design: true diff --git a/04-litert/02-object-detection-app/analysis_options.yaml b/04-litert/02-object-detection-app/analysis_options.yaml index f9b3034..743e05a 100644 --- a/04-litert/02-object-detection-app/analysis_options.yaml +++ b/04-litert/02-object-detection-app/analysis_options.yaml @@ -1 +1,10 @@ +analyzer: + exclude: + - build/** + - android/** + - ios/** + - web/** + - windows/** + - macos/** + - linux/** include: package:flutter_lints/flutter.yaml diff --git a/04-litert/02-object-detection-app/android/app/build.gradle.kts b/04-litert/02-object-detection-app/android/app/build.gradle.kts index 14c5254..6ff1066 100644 --- a/04-litert/02-object-detection-app/android/app/build.gradle.kts +++ b/04-litert/02-object-detection-app/android/app/build.gradle.kts @@ -11,12 +11,8 @@ android { ndkVersion = flutter.ndkVersion compileOptions { - sourceCompatibility = JavaVersion.VERSION_11 - targetCompatibility = JavaVersion.VERSION_11 - } - - kotlinOptions { - jvmTarget = JavaVersion.VERSION_11.toString() + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 } defaultConfig { @@ -39,6 +35,12 @@ android { } } +kotlin { + compilerOptions { + jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17 + } +} + flutter { source = "../.." } diff --git a/04-litert/02-object-detection-app/android/gradle.properties b/04-litert/02-object-detection-app/android/gradle.properties index f018a61..07b44c0 100644 --- a/04-litert/02-object-detection-app/android/gradle.properties +++ b/04-litert/02-object-detection-app/android/gradle.properties @@ -1,3 +1,10 @@ +# This builtInKotlin flag was added automatically by Flutter migrator +android.builtInKotlin=false +# This newDsl flag was added automatically by Flutter migrator +android.newDsl=false +# tflite_flutter plugin ships mismatched Java/Kotlin JVM targets; downgrade AGP's +# strict check to a warning until the plugin fixes it upstream. +kotlin.jvm.target.validation.mode=warning org.gradle.jvmargs=-Xmx8G -XX:MaxMetaspaceSize=4G -XX:ReservedCodeCacheSize=512m -XX:+HeapDumpOnOutOfMemoryError android.useAndroidX=true android.enableJetifier=true diff --git a/04-litert/02-object-detection-app/android/gradle/wrapper/gradle-wrapper.properties b/04-litert/02-object-detection-app/android/gradle/wrapper/gradle-wrapper.properties index afa1e8e..a20f2c4 100644 --- a/04-litert/02-object-detection-app/android/gradle/wrapper/gradle-wrapper.properties +++ b/04-litert/02-object-detection-app/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-8.10.2-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.3.1-all.zip diff --git a/04-litert/02-object-detection-app/android/settings.gradle.kts b/04-litert/02-object-detection-app/android/settings.gradle.kts index a439442..9d5a6fe 100644 --- a/04-litert/02-object-detection-app/android/settings.gradle.kts +++ b/04-litert/02-object-detection-app/android/settings.gradle.kts @@ -18,8 +18,8 @@ pluginManagement { plugins { id("dev.flutter.flutter-plugin-loader") version "1.0.0" - id("com.android.application") version "8.7.0" apply false - id("org.jetbrains.kotlin.android") version "1.8.22" apply false + id("com.android.application") version "9.1.0" apply false + id("org.jetbrains.kotlin.android") version "2.4.0" apply false } include(":app") diff --git a/04-litert/02-object-detection-app/ios/Podfile b/04-litert/02-object-detection-app/ios/Podfile index e549ee2..9d7ef08 100644 --- a/04-litert/02-object-detection-app/ios/Podfile +++ b/04-litert/02-object-detection-app/ios/Podfile @@ -1,5 +1,5 @@ # Uncomment this line to define a global platform for your project -# platform :ios, '12.0' +# platform :ios, '15.0' # CocoaPods analytics sends network stats synchronously affecting flutter build latency. ENV['COCOAPODS_DISABLE_STATS'] = 'true' diff --git a/04-litert/02-object-detection-app/ios/Runner.xcodeproj/project.pbxproj b/04-litert/02-object-detection-app/ios/Runner.xcodeproj/project.pbxproj index 4a5f48c..1910f16 100644 --- a/04-litert/02-object-detection-app/ios/Runner.xcodeproj/project.pbxproj +++ b/04-litert/02-object-detection-app/ios/Runner.xcodeproj/project.pbxproj @@ -455,7 +455,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; + IPHONEOS_DEPLOYMENT_TARGET = 15.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SUPPORTED_PLATFORMS = iphoneos; @@ -585,7 +585,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; + IPHONEOS_DEPLOYMENT_TARGET = 15.0; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; @@ -636,7 +636,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; + IPHONEOS_DEPLOYMENT_TARGET = 15.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SUPPORTED_PLATFORMS = iphoneos; diff --git a/04-litert/02-object-detection-app/pubspec.lock b/04-litert/02-object-detection-app/pubspec.lock index dc35d1c..88e07c5 100644 --- a/04-litert/02-object-detection-app/pubspec.lock +++ b/04-litert/02-object-detection-app/pubspec.lock @@ -5,18 +5,18 @@ packages: dependency: transitive description: name: archive - sha256: "6199c74e3db4fbfbd04f66d739e72fe11c8a8957d5f219f1f4482dbde6420b5a" + sha256: ace891da0862b0e4cabbb064ee3fd87b2728b898949fdb366d83fe98342c9f19 url: "https://pub.dev" source: hosted - version: "4.0.2" + version: "4.2.0" async: dependency: transitive description: name: async - sha256: d2872f9c19731c2e5f10444b14686eb7cc85c76274bd6c16e1816bff9a3bab63 + sha256: e2eb0491ba5ddb6177742d2da23904574082139b07c1e33b8503b9f46f3e1a37 url: "https://pub.dev" source: hosted - version: "2.12.0" + version: "2.13.1" boolean_selector: dependency: transitive description: @@ -29,58 +29,58 @@ packages: dependency: "direct main" description: name: camera - sha256: dfa8fc5a1adaeb95e7a54d86a5bd56f4bb0e035515354c8ac6d262e35cec2ec8 + sha256: "3f30ca0ff376f91534f23afa2a7aea06ebb6c889fd9e260642437b37e3d9f753" url: "https://pub.dev" source: hosted - version: "0.10.6" - camera_android: + version: "0.12.1" + camera_android_camerax: dependency: transitive description: - name: camera_android - sha256: "007c57cdcace4751014071e3d42f2eb8a64a519254abed35b714223d81d66234" + name: camera_android_camerax + sha256: "977f54512d338b3b36d7f82929794886766d8f41ae84a48fe103eb0106ecfe25" url: "https://pub.dev" source: hosted - version: "0.10.10" + version: "0.7.4+8" camera_avfoundation: dependency: transitive description: name: camera_avfoundation - sha256: "55eb9c216f25339a3faa55fc42826e2c4a45becefa1387fd50fce6ae9dd0c574" + sha256: "843247230a583e04742ea1434ce3f91e536760922fab67c72ce46aa34fac3e9d" url: "https://pub.dev" source: hosted - version: "0.9.18+1" + version: "0.10.3" camera_platform_interface: dependency: transitive description: name: camera_platform_interface - sha256: "953e7baed3a7c8fae92f7200afeb2be503ff1a17c3b4e4ed7b76f008c2810a31" + sha256: "4524ca6eb4176b066864036ad4fe02c3e4863e63b77eadc21a5bf56824f43498" url: "https://pub.dev" source: hosted - version: "2.9.0" + version: "2.13.1" camera_web: dependency: transitive description: name: camera_web - sha256: "595f28c89d1fb62d77c73c633193755b781c6d2e0ebcd8dc25b763b514e6ba8f" + sha256: "5aecf1ac4dd4a949c5a7820e590020acb2bc35425384ab87a030e1739bfe12e2" url: "https://pub.dev" source: hosted - version: "0.3.5" + version: "0.3.5+6" characters: dependency: transitive description: name: characters - sha256: f71061c654a3380576a52b451dd5532377954cf9dbd272a78fc8479606670803 + sha256: faf38497bda5ead2a8c7615f4f7939df04333478bf32e4173fcb06d428b5716b url: "https://pub.dev" source: hosted - version: "1.4.0" + version: "1.4.1" clock: dependency: transitive description: name: clock - sha256: fddb70d9b5277016c77a80201021d40a2247104d9f4aa7bab7157b7e3f05b84b + sha256: e51d50bca3217c9a9fa2b41a30e4a38971133f5f9ec7a3d57bae095007f1d28e url: "https://pub.dev" source: hosted - version: "1.1.2" + version: "1.1.3" collection: dependency: transitive description: @@ -93,34 +93,26 @@ packages: dependency: transitive description: name: cross_file - sha256: "7caf6a750a0c04effbb52a676dce9a4a592e10ad35c34d6d2d0e4811160d5670" - url: "https://pub.dev" - source: hosted - version: "0.3.4+2" - crypto: - dependency: transitive - description: - name: crypto - sha256: "1e445881f28f22d6140f181e07737b22f1e099a5e1ff94b0af2f9e4a463f4855" + sha256: f141ea4f277af142a0356955707f6556f37b03947d39d55585981a06ca437bd6 url: "https://pub.dev" source: hosted - version: "3.0.6" + version: "0.3.5+5" fake_async: dependency: transitive description: name: fake_async - sha256: "6a95e56b2449df2273fd8c45a662d6947ce1ebb7aafe80e550a3f68297f3cacc" + sha256: "5368f224a74523e8d2e7399ea1638b37aecfca824a3cc4dfdf77bf1fa905ac44" url: "https://pub.dev" source: hosted - version: "1.3.2" + version: "1.3.3" ffi: dependency: transitive description: name: ffi - sha256: "16ed7b077ef01ad6170a3d0c57caa4a112a38d7a2ed5602e0aca9ca6f3d98da6" + sha256: "6d7fd89431262d8f3125e81b50d3847a091d846eafcd4fdb88dd06f36d705a45" url: "https://pub.dev" source: hosted - version: "2.1.3" + version: "2.2.0" flutter: dependency: "direct main" description: flutter @@ -130,18 +122,18 @@ packages: dependency: "direct dev" description: name: flutter_lints - sha256: "5398f14efa795ffb7a33e9b6a08798b26a180edac4ad7db3f231e40f82ce11e1" + sha256: "3105dc8492f6183fb076ccf1f351ac3d60564bff92e20bfc4af9cc1651f4e7e1" url: "https://pub.dev" source: hosted - version: "5.0.0" + version: "6.0.0" flutter_plugin_android_lifecycle: dependency: transitive description: name: flutter_plugin_android_lifecycle - sha256: "615a505aef59b151b46bbeef55b36ce2b6ed299d160c51d84281946f0aa0ce0e" + sha256: "3854fe5e3bff0b113c658f260b90c95dea17c92db0f2addeac2e343dd9969785" url: "https://pub.dev" source: hosted - version: "2.0.24" + version: "2.0.35" flutter_test: dependency: "direct dev" description: flutter @@ -156,66 +148,66 @@ packages: dependency: "direct main" description: name: image - sha256: "8346ad4b5173924b5ddddab782fc7d8a6300178c8b1dc427775405a01701c4a6" + sha256: "1976370a4df3091bb0f72409c187ad1f9132a818bc6b95ca59c0bae1c75c688e" url: "https://pub.dev" source: hosted - version: "4.5.2" + version: "4.9.2" leak_tracker: dependency: transitive description: name: leak_tracker - sha256: c35baad643ba394b40aac41080300150a4f08fd0fd6a10378f8f7c6bc161acec + sha256: "33e2e26bdd85a0112ec15400c8cbffea70d0f9c3407491f672a2fad47915e2de" url: "https://pub.dev" source: hosted - version: "10.0.8" + version: "11.0.2" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: f8b613e7e6a13ec79cfdc0e97638fddb3ab848452eff057653abd3edba760573 + sha256: "1dbc140bb5a23c75ea9c4811222756104fbcd1a27173f0c34ca01e16bea473c1" url: "https://pub.dev" source: hosted - version: "3.0.9" + version: "3.0.10" leak_tracker_testing: dependency: transitive description: name: leak_tracker_testing - sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3" + sha256: "8d5a2d49f4a66b49744b23b018848400d23e54caf9463f4eb20df3eb8acb2eb1" url: "https://pub.dev" source: hosted - version: "3.0.1" + version: "3.0.2" lints: dependency: transitive description: name: lints - sha256: c35bb79562d980e9a453fc715854e1ed39e24e7d0297a880ef54e17f9874a9d7 + sha256: "12f842a479589fea194fe5c5a3095abc7be0c1f2ddfa9a0e76aed1dbd26a87df" url: "https://pub.dev" source: hosted - version: "5.1.1" + version: "6.1.0" matcher: dependency: transitive description: name: matcher - sha256: dc58c723c3c24bf8d3e2d3ad3f2f9d7bd9cf43ec6feaa64181775e60190153f2 + sha256: "31bd099b47c10cd1aeb55146a2d46ce0277630ecef3f7dae54ad7873f36696cd" url: "https://pub.dev" source: hosted - version: "0.12.17" + version: "0.12.20" material_color_utilities: dependency: transitive description: name: material_color_utilities - sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec + sha256: "9c337007e82b1889149c82ed242ed1cb24a66044e30979c44912381e9be4c48b" url: "https://pub.dev" source: hosted - version: "0.11.1" + version: "0.13.0" meta: dependency: transitive description: name: meta - sha256: e3641ec5d63ebf0d9b41bd43201a66e3fc79a65db5f61fc181f04cd27aab950c + sha256: "307249ce4ff29d58a18e97f6345f539382eb9c9c29ecda628900f31de0443dd9" url: "https://pub.dev" source: hosted - version: "1.16.0" + version: "1.19.0" nested: dependency: transitive description: @@ -232,14 +224,6 @@ packages: url: "https://pub.dev" source: hosted version: "1.9.1" - petitparser: - dependency: transitive - description: - name: petitparser - sha256: c15605cd28af66339f8eb6fbe0e541bfe2d1b72d5825efc6598f3e0a31b9ad27 - url: "https://pub.dev" - source: hosted - version: "6.0.2" plugin_platform_interface: dependency: transitive description: @@ -252,18 +236,18 @@ packages: dependency: transitive description: name: posix - sha256: a0117dc2167805aa9125b82eee515cc891819bac2f538c83646d355b16f58b9a + sha256: bc1bad54ad2b735816e31f8d4600cfde6c7839975085ddfbca48b6c9f7c4044e url: "https://pub.dev" source: hosted - version: "6.0.1" + version: "6.5.2" provider: dependency: "direct main" description: name: provider - sha256: c8a055ee5ce3fd98d6fc872478b03823ffdb448699c6ebdbbc71d59b596fd48c + sha256: "4e82183fa20e5ca25703ead7e05de9e4cceed1fbd1eadc1ac3cb6f565a09f272" url: "https://pub.dev" source: hosted - version: "6.1.2" + version: "6.1.5+1" quiver: dependency: transitive description: @@ -281,18 +265,18 @@ packages: dependency: transitive description: name: source_span - sha256: "254ee5351d6cb365c859e20ee823c3bb479bf4a293c22d17a9f1bf144ce86f7c" + sha256: "56a02f1f4cd1a2d96303c0144c93bd6d909eea6bee6bf5a0e0b685edbd4c47ab" url: "https://pub.dev" source: hosted - version: "1.10.1" + version: "1.10.2" stack_trace: dependency: transitive description: name: stack_trace - sha256: "8b27215b45d22309b5cddda1aa2b19bdfec9df0e765f2de506401c071d38d1b1" + sha256: "277654b3034d17ac6f9f1cb5595db011b1d5d41e8806866db28e0abaa101c490" url: "https://pub.dev" source: hosted - version: "1.12.1" + version: "1.12.2" stream_channel: dependency: transitive description: @@ -305,10 +289,10 @@ packages: dependency: transitive description: name: stream_transform - sha256: ad47125e588cfd37a9a7f86c7d6356dde8dfe89d071d293f80ca9e9273a33871 + sha256: a00e5f18bffc764f923e7dec1038527f7fe7a1791361a7117f0358193f13d53a url: "https://pub.dev" source: hosted - version: "2.1.1" + version: "2.1.2" string_scanner: dependency: transitive description: @@ -329,58 +313,42 @@ packages: dependency: transitive description: name: test_api - sha256: fb31f383e2ee25fbbfe06b40fe21e1e458d14080e3c67e7ba0acfde4df4e0bbd + sha256: "2a122cbe059f8b610d3a5415f42e255b6c17b1f21eee1d960f31080237fb4f11" url: "https://pub.dev" source: hosted - version: "0.7.4" + version: "0.7.12" tflite_flutter: dependency: "direct main" description: name: tflite_flutter - sha256: "48e6fde2ad97162bb66a16a142f4c4698add9e8cd397ce9d1cc7451b55537ac1" + sha256: "0bba9040d8decda0960d7abf8eabf32243bf092bc7d0084e8e19681866b0bdbe" url: "https://pub.dev" source: hosted - version: "0.11.0" - typed_data: - dependency: transitive - description: - name: typed_data - sha256: f9049c039ebfeb4cf7a7104a675823cd72dba8297f264b6637062516699fa006 - url: "https://pub.dev" - source: hosted - version: "1.4.0" + version: "0.12.1" vector_math: dependency: transitive description: name: vector_math - sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803" + sha256: f36f9f3be64c6198714492bb455c11056e33e2f85d9a0b676a48301e44fdcf47 url: "https://pub.dev" source: hosted - version: "2.1.4" + version: "2.4.2" vm_service: dependency: transitive description: name: vm_service - sha256: "0968250880a6c5fe7edc067ed0a13d4bae1577fe2771dcf3010d52c4a9d3ca14" + sha256: "5f37239c4851efcef929cea7824e76df7f2f0970aef85d66bbc430afa40e72f0" url: "https://pub.dev" source: hosted - version: "14.3.1" + version: "15.3.0" web: dependency: transitive description: name: web - sha256: cd3543bd5798f6ad290ea73d210f423502e71900302dde696f8bff84bf89a1cb - url: "https://pub.dev" - source: hosted - version: "1.1.0" - xml: - dependency: transitive - description: - name: xml - sha256: b015a8ad1c488f66851d762d3090a21c600e479dc75e68328c52774040cf9226 + sha256: "868d88a33d8a87b18ffc05f9f030ba328ffefba92d6c127917a2ba740f9cfe4a" url: "https://pub.dev" source: hosted - version: "6.5.0" + version: "1.1.1" sdks: - dart: ">=3.7.0-0 <4.0.0" - flutter: ">=3.24.0" + dart: ">=3.13.1 <4.0.0" + flutter: ">=3.44.0" diff --git a/04-litert/02-object-detection-app/pubspec.yaml b/04-litert/02-object-detection-app/pubspec.yaml index 2c15bdd..f71688b 100644 --- a/04-litert/02-object-detection-app/pubspec.yaml +++ b/04-litert/02-object-detection-app/pubspec.yaml @@ -4,21 +4,21 @@ publish_to: "none" version: 0.1.0 environment: - sdk: ^3.6.1 + sdk: ^3.13.1 dependencies: flutter: sdk: flutter - provider: ^6.1.2 - camera: 0.10.6 + provider: ^6.1.5+1 + camera: ^0.12.1 image: ^4.5.2 - tflite_flutter: ^0.11.0 + tflite_flutter: ^0.12.1 dev_dependencies: flutter_test: sdk: flutter - flutter_lints: ^5.0.0 + flutter_lints: ^6.0.0 flutter: uses-material-design: true diff --git a/04-litert/03-custom-model-app/01-starter/analysis_options.yaml b/04-litert/03-custom-model-app/01-starter/analysis_options.yaml index f9b3034..743e05a 100644 --- a/04-litert/03-custom-model-app/01-starter/analysis_options.yaml +++ b/04-litert/03-custom-model-app/01-starter/analysis_options.yaml @@ -1 +1,10 @@ +analyzer: + exclude: + - build/** + - android/** + - ios/** + - web/** + - windows/** + - macos/** + - linux/** include: package:flutter_lints/flutter.yaml diff --git a/04-litert/03-custom-model-app/01-starter/android/app/build.gradle.kts b/04-litert/03-custom-model-app/01-starter/android/app/build.gradle.kts index cd39503..6c020c6 100644 --- a/04-litert/03-custom-model-app/01-starter/android/app/build.gradle.kts +++ b/04-litert/03-custom-model-app/01-starter/android/app/build.gradle.kts @@ -11,12 +11,8 @@ android { ndkVersion = flutter.ndkVersion compileOptions { - sourceCompatibility = JavaVersion.VERSION_11 - targetCompatibility = JavaVersion.VERSION_11 - } - - kotlinOptions { - jvmTarget = JavaVersion.VERSION_11.toString() + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 } defaultConfig { @@ -39,6 +35,12 @@ android { } } +kotlin { + compilerOptions { + jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17 + } +} + flutter { source = "../.." } diff --git a/04-litert/03-custom-model-app/01-starter/android/gradle.properties b/04-litert/03-custom-model-app/01-starter/android/gradle.properties index f018a61..475a628 100644 --- a/04-litert/03-custom-model-app/01-starter/android/gradle.properties +++ b/04-litert/03-custom-model-app/01-starter/android/gradle.properties @@ -1,3 +1,7 @@ org.gradle.jvmargs=-Xmx8G -XX:MaxMetaspaceSize=4G -XX:ReservedCodeCacheSize=512m -XX:+HeapDumpOnOutOfMemoryError android.useAndroidX=true android.enableJetifier=true +# This builtInKotlin flag was added automatically by Flutter migrator +android.builtInKotlin=false +# This newDsl flag was added automatically by Flutter migrator +android.newDsl=false diff --git a/04-litert/03-custom-model-app/01-starter/android/gradle/wrapper/gradle-wrapper.properties b/04-litert/03-custom-model-app/01-starter/android/gradle/wrapper/gradle-wrapper.properties index afa1e8e..a20f2c4 100644 --- a/04-litert/03-custom-model-app/01-starter/android/gradle/wrapper/gradle-wrapper.properties +++ b/04-litert/03-custom-model-app/01-starter/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-8.10.2-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.3.1-all.zip diff --git a/04-litert/03-custom-model-app/01-starter/android/settings.gradle.kts b/04-litert/03-custom-model-app/01-starter/android/settings.gradle.kts index a439442..9d5a6fe 100644 --- a/04-litert/03-custom-model-app/01-starter/android/settings.gradle.kts +++ b/04-litert/03-custom-model-app/01-starter/android/settings.gradle.kts @@ -18,8 +18,8 @@ pluginManagement { plugins { id("dev.flutter.flutter-plugin-loader") version "1.0.0" - id("com.android.application") version "8.7.0" apply false - id("org.jetbrains.kotlin.android") version "1.8.22" apply false + id("com.android.application") version "9.1.0" apply false + id("org.jetbrains.kotlin.android") version "2.4.0" apply false } include(":app") diff --git a/04-litert/03-custom-model-app/01-starter/ios/Podfile b/04-litert/03-custom-model-app/01-starter/ios/Podfile index d97f17e..a419e42 100644 --- a/04-litert/03-custom-model-app/01-starter/ios/Podfile +++ b/04-litert/03-custom-model-app/01-starter/ios/Podfile @@ -1,5 +1,5 @@ # Uncomment this line to define a global platform for your project -# platform :ios, '12.0' +# platform :ios, '15.0' # CocoaPods analytics sends network stats synchronously affecting flutter build latency. ENV['COCOAPODS_DISABLE_STATS'] = 'true' diff --git a/04-litert/03-custom-model-app/01-starter/ios/Runner.xcodeproj/project.pbxproj b/04-litert/03-custom-model-app/01-starter/ios/Runner.xcodeproj/project.pbxproj index 5507f08..1a31939 100644 --- a/04-litert/03-custom-model-app/01-starter/ios/Runner.xcodeproj/project.pbxproj +++ b/04-litert/03-custom-model-app/01-starter/ios/Runner.xcodeproj/project.pbxproj @@ -346,7 +346,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; + IPHONEOS_DEPLOYMENT_TARGET = 15.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SUPPORTED_PLATFORMS = iphoneos; @@ -473,7 +473,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; + IPHONEOS_DEPLOYMENT_TARGET = 15.0; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; @@ -524,7 +524,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; + IPHONEOS_DEPLOYMENT_TARGET = 15.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SUPPORTED_PLATFORMS = iphoneos; diff --git a/04-litert/03-custom-model-app/01-starter/pubspec.lock b/04-litert/03-custom-model-app/01-starter/pubspec.lock index 3b74d94..ba4cc7c 100644 --- a/04-litert/03-custom-model-app/01-starter/pubspec.lock +++ b/04-litert/03-custom-model-app/01-starter/pubspec.lock @@ -21,10 +21,10 @@ packages: dependency: transitive description: name: characters - sha256: f71061c654a3380576a52b451dd5532377954cf9dbd272a78fc8479606670803 + sha256: faf38497bda5ead2a8c7615f4f7939df04333478bf32e4173fcb06d428b5716b url: "https://pub.dev" source: hosted - version: "1.4.0" + version: "1.4.1" clock: dependency: transitive description: @@ -45,10 +45,10 @@ packages: dependency: transitive description: name: fake_async - sha256: "6a95e56b2449df2273fd8c45a662d6947ce1ebb7aafe80e550a3f68297f3cacc" + sha256: "5368f224a74523e8d2e7399ea1638b37aecfca824a3cc4dfdf77bf1fa905ac44" url: "https://pub.dev" source: hosted - version: "1.3.2" + version: "1.3.3" flutter: dependency: "direct main" description: flutter @@ -58,10 +58,10 @@ packages: dependency: "direct dev" description: name: flutter_lints - sha256: "5398f14efa795ffb7a33e9b6a08798b26a180edac4ad7db3f231e40f82ce11e1" + sha256: "3105dc8492f6183fb076ccf1f351ac3d60564bff92e20bfc4af9cc1651f4e7e1" url: "https://pub.dev" source: hosted - version: "5.0.0" + version: "6.0.0" flutter_test: dependency: "direct dev" description: flutter @@ -71,58 +71,58 @@ packages: dependency: transitive description: name: leak_tracker - sha256: c35baad643ba394b40aac41080300150a4f08fd0fd6a10378f8f7c6bc161acec + sha256: "33e2e26bdd85a0112ec15400c8cbffea70d0f9c3407491f672a2fad47915e2de" url: "https://pub.dev" source: hosted - version: "10.0.8" + version: "11.0.2" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: f8b613e7e6a13ec79cfdc0e97638fddb3ab848452eff057653abd3edba760573 + sha256: "1dbc140bb5a23c75ea9c4811222756104fbcd1a27173f0c34ca01e16bea473c1" url: "https://pub.dev" source: hosted - version: "3.0.9" + version: "3.0.10" leak_tracker_testing: dependency: transitive description: name: leak_tracker_testing - sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3" + sha256: "8d5a2d49f4a66b49744b23b018848400d23e54caf9463f4eb20df3eb8acb2eb1" url: "https://pub.dev" source: hosted - version: "3.0.1" + version: "3.0.2" lints: dependency: transitive description: name: lints - sha256: c35bb79562d980e9a453fc715854e1ed39e24e7d0297a880ef54e17f9874a9d7 + sha256: "12f842a479589fea194fe5c5a3095abc7be0c1f2ddfa9a0e76aed1dbd26a87df" url: "https://pub.dev" source: hosted - version: "5.1.1" + version: "6.1.0" matcher: dependency: transitive description: name: matcher - sha256: dc58c723c3c24bf8d3e2d3ad3f2f9d7bd9cf43ec6feaa64181775e60190153f2 + sha256: "31bd099b47c10cd1aeb55146a2d46ce0277630ecef3f7dae54ad7873f36696cd" url: "https://pub.dev" source: hosted - version: "0.12.17" + version: "0.12.20" material_color_utilities: dependency: transitive description: name: material_color_utilities - sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec + sha256: "9c337007e82b1889149c82ed242ed1cb24a66044e30979c44912381e9be4c48b" url: "https://pub.dev" source: hosted - version: "0.11.1" + version: "0.13.0" meta: dependency: transitive description: name: meta - sha256: e3641ec5d63ebf0d9b41bd43201a66e3fc79a65db5f61fc181f04cd27aab950c + sha256: "307249ce4ff29d58a18e97f6345f539382eb9c9c29ecda628900f31de0443dd9" url: "https://pub.dev" source: hosted - version: "1.16.0" + version: "1.19.0" nested: dependency: transitive description: @@ -143,10 +143,10 @@ packages: dependency: "direct main" description: name: provider - sha256: c8a055ee5ce3fd98d6fc872478b03823ffdb448699c6ebdbbc71d59b596fd48c + sha256: "4e82183fa20e5ca25703ead7e05de9e4cceed1fbd1eadc1ac3cb6f565a09f272" url: "https://pub.dev" source: hosted - version: "6.1.2" + version: "6.1.5+1" sky_engine: dependency: transitive description: flutter @@ -196,18 +196,18 @@ packages: dependency: transitive description: name: test_api - sha256: fb31f383e2ee25fbbfe06b40fe21e1e458d14080e3c67e7ba0acfde4df4e0bbd + sha256: "2a122cbe059f8b610d3a5415f42e255b6c17b1f21eee1d960f31080237fb4f11" url: "https://pub.dev" source: hosted - version: "0.7.4" + version: "0.7.12" vector_math: dependency: transitive description: name: vector_math - sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803" + sha256: f36f9f3be64c6198714492bb455c11056e33e2f85d9a0b676a48301e44fdcf47 url: "https://pub.dev" source: hosted - version: "2.1.4" + version: "2.4.2" vm_service: dependency: transitive description: @@ -217,5 +217,5 @@ packages: source: hosted version: "14.3.1" sdks: - dart: ">=3.7.0-0 <4.0.0" + dart: ">=3.13.1 <4.0.0" flutter: ">=3.18.0-18.0.pre.54" diff --git a/04-litert/03-custom-model-app/01-starter/pubspec.yaml b/04-litert/03-custom-model-app/01-starter/pubspec.yaml index f474df7..4f0bbef 100644 --- a/04-litert/03-custom-model-app/01-starter/pubspec.yaml +++ b/04-litert/03-custom-model-app/01-starter/pubspec.yaml @@ -4,18 +4,18 @@ publish_to: 'none' version: 0.1.0 environment: - sdk: ^3.6.1 + sdk: ^3.13.1 dependencies: flutter: sdk: flutter - provider: ^6.1.2 + provider: ^6.1.5+1 dev_dependencies: flutter_test: sdk: flutter - flutter_lints: ^5.0.0 + flutter_lints: ^6.0.0 flutter: uses-material-design: true diff --git a/04-litert/03-custom-model-app/02-final/analysis_options.yaml b/04-litert/03-custom-model-app/02-final/analysis_options.yaml index f9b3034..743e05a 100644 --- a/04-litert/03-custom-model-app/02-final/analysis_options.yaml +++ b/04-litert/03-custom-model-app/02-final/analysis_options.yaml @@ -1 +1,10 @@ +analyzer: + exclude: + - build/** + - android/** + - ios/** + - web/** + - windows/** + - macos/** + - linux/** include: package:flutter_lints/flutter.yaml diff --git a/04-litert/03-custom-model-app/02-final/android/app/build.gradle.kts b/04-litert/03-custom-model-app/02-final/android/app/build.gradle.kts index cd39503..6c020c6 100644 --- a/04-litert/03-custom-model-app/02-final/android/app/build.gradle.kts +++ b/04-litert/03-custom-model-app/02-final/android/app/build.gradle.kts @@ -11,12 +11,8 @@ android { ndkVersion = flutter.ndkVersion compileOptions { - sourceCompatibility = JavaVersion.VERSION_11 - targetCompatibility = JavaVersion.VERSION_11 - } - - kotlinOptions { - jvmTarget = JavaVersion.VERSION_11.toString() + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 } defaultConfig { @@ -39,6 +35,12 @@ android { } } +kotlin { + compilerOptions { + jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17 + } +} + flutter { source = "../.." } diff --git a/04-litert/03-custom-model-app/02-final/android/gradle.properties b/04-litert/03-custom-model-app/02-final/android/gradle.properties index f018a61..9c4f8c4 100644 --- a/04-litert/03-custom-model-app/02-final/android/gradle.properties +++ b/04-litert/03-custom-model-app/02-final/android/gradle.properties @@ -1,3 +1,10 @@ org.gradle.jvmargs=-Xmx8G -XX:MaxMetaspaceSize=4G -XX:ReservedCodeCacheSize=512m -XX:+HeapDumpOnOutOfMemoryError android.useAndroidX=true android.enableJetifier=true +# This builtInKotlin flag was added automatically by Flutter migrator +android.builtInKotlin=false +# This newDsl flag was added automatically by Flutter migrator +android.newDsl=false +# tflite_flutter plugin ships mismatched Java/Kotlin JVM targets; downgrade AGP's +# strict check to a warning until the plugin fixes it upstream. +kotlin.jvm.target.validation.mode=warning diff --git a/04-litert/03-custom-model-app/02-final/android/gradle/wrapper/gradle-wrapper.properties b/04-litert/03-custom-model-app/02-final/android/gradle/wrapper/gradle-wrapper.properties index afa1e8e..a20f2c4 100644 --- a/04-litert/03-custom-model-app/02-final/android/gradle/wrapper/gradle-wrapper.properties +++ b/04-litert/03-custom-model-app/02-final/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-8.10.2-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.3.1-all.zip diff --git a/04-litert/03-custom-model-app/02-final/android/settings.gradle.kts b/04-litert/03-custom-model-app/02-final/android/settings.gradle.kts index a439442..9d5a6fe 100644 --- a/04-litert/03-custom-model-app/02-final/android/settings.gradle.kts +++ b/04-litert/03-custom-model-app/02-final/android/settings.gradle.kts @@ -18,8 +18,8 @@ pluginManagement { plugins { id("dev.flutter.flutter-plugin-loader") version "1.0.0" - id("com.android.application") version "8.7.0" apply false - id("org.jetbrains.kotlin.android") version "1.8.22" apply false + id("com.android.application") version "9.1.0" apply false + id("org.jetbrains.kotlin.android") version "2.4.0" apply false } include(":app") diff --git a/04-litert/03-custom-model-app/02-final/ios/Podfile b/04-litert/03-custom-model-app/02-final/ios/Podfile index e549ee2..9d7ef08 100644 --- a/04-litert/03-custom-model-app/02-final/ios/Podfile +++ b/04-litert/03-custom-model-app/02-final/ios/Podfile @@ -1,5 +1,5 @@ # Uncomment this line to define a global platform for your project -# platform :ios, '12.0' +# platform :ios, '15.0' # CocoaPods analytics sends network stats synchronously affecting flutter build latency. ENV['COCOAPODS_DISABLE_STATS'] = 'true' diff --git a/04-litert/03-custom-model-app/02-final/ios/Runner.xcodeproj/project.pbxproj b/04-litert/03-custom-model-app/02-final/ios/Runner.xcodeproj/project.pbxproj index 913f277..800bb13 100644 --- a/04-litert/03-custom-model-app/02-final/ios/Runner.xcodeproj/project.pbxproj +++ b/04-litert/03-custom-model-app/02-final/ios/Runner.xcodeproj/project.pbxproj @@ -437,7 +437,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; + IPHONEOS_DEPLOYMENT_TARGET = 15.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SUPPORTED_PLATFORMS = iphoneos; @@ -567,7 +567,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; + IPHONEOS_DEPLOYMENT_TARGET = 15.0; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; @@ -618,7 +618,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; + IPHONEOS_DEPLOYMENT_TARGET = 15.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SUPPORTED_PLATFORMS = iphoneos; diff --git a/04-litert/03-custom-model-app/02-final/lib/ui/home_page.dart b/04-litert/03-custom-model-app/02-final/lib/ui/home_page.dart index 769ed76..ddd6aa0 100644 --- a/04-litert/03-custom-model-app/02-final/lib/ui/home_page.dart +++ b/04-litert/03-custom-model-app/02-final/lib/ui/home_page.dart @@ -114,7 +114,7 @@ class _HomeBodyState extends State<_HomeBody> { SizedBox(height: 8), // todo-04-ui-03: consume the state using Consumer Consumer( - builder: (_, value, __) { + builder: (_, value, _) { final price = NumberFormat().format(value.number); return Text( "\$$price", diff --git a/04-litert/03-custom-model-app/02-final/pubspec.lock b/04-litert/03-custom-model-app/02-final/pubspec.lock index b7f4b33..41233cb 100644 --- a/04-litert/03-custom-model-app/02-final/pubspec.lock +++ b/04-litert/03-custom-model-app/02-final/pubspec.lock @@ -21,10 +21,10 @@ packages: dependency: transitive description: name: characters - sha256: f71061c654a3380576a52b451dd5532377954cf9dbd272a78fc8479606670803 + sha256: faf38497bda5ead2a8c7615f4f7939df04333478bf32e4173fcb06d428b5716b url: "https://pub.dev" source: hosted - version: "1.4.0" + version: "1.4.1" clock: dependency: transitive description: @@ -45,10 +45,10 @@ packages: dependency: transitive description: name: fake_async - sha256: "6a95e56b2449df2273fd8c45a662d6947ce1ebb7aafe80e550a3f68297f3cacc" + sha256: "5368f224a74523e8d2e7399ea1638b37aecfca824a3cc4dfdf77bf1fa905ac44" url: "https://pub.dev" source: hosted - version: "1.3.2" + version: "1.3.3" ffi: dependency: transitive description: @@ -66,10 +66,10 @@ packages: dependency: "direct dev" description: name: flutter_lints - sha256: "5398f14efa795ffb7a33e9b6a08798b26a180edac4ad7db3f231e40f82ce11e1" + sha256: "3105dc8492f6183fb076ccf1f351ac3d60564bff92e20bfc4af9cc1651f4e7e1" url: "https://pub.dev" source: hosted - version: "5.0.0" + version: "6.0.0" flutter_test: dependency: "direct dev" description: flutter @@ -79,66 +79,66 @@ packages: dependency: "direct main" description: name: intl - sha256: "3df61194eb431efc39c4ceba583b95633a403f46c9fd341e550ce0bfa50e9aa5" + sha256: "1ca20c894b1717686a2319b8548763d812bc0aabdac580420a44c5178c57a867" url: "https://pub.dev" source: hosted - version: "0.20.2" + version: "0.20.3" leak_tracker: dependency: transitive description: name: leak_tracker - sha256: c35baad643ba394b40aac41080300150a4f08fd0fd6a10378f8f7c6bc161acec + sha256: "33e2e26bdd85a0112ec15400c8cbffea70d0f9c3407491f672a2fad47915e2de" url: "https://pub.dev" source: hosted - version: "10.0.8" + version: "11.0.2" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: f8b613e7e6a13ec79cfdc0e97638fddb3ab848452eff057653abd3edba760573 + sha256: "1dbc140bb5a23c75ea9c4811222756104fbcd1a27173f0c34ca01e16bea473c1" url: "https://pub.dev" source: hosted - version: "3.0.9" + version: "3.0.10" leak_tracker_testing: dependency: transitive description: name: leak_tracker_testing - sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3" + sha256: "8d5a2d49f4a66b49744b23b018848400d23e54caf9463f4eb20df3eb8acb2eb1" url: "https://pub.dev" source: hosted - version: "3.0.1" + version: "3.0.2" lints: dependency: transitive description: name: lints - sha256: c35bb79562d980e9a453fc715854e1ed39e24e7d0297a880ef54e17f9874a9d7 + sha256: "12f842a479589fea194fe5c5a3095abc7be0c1f2ddfa9a0e76aed1dbd26a87df" url: "https://pub.dev" source: hosted - version: "5.1.1" + version: "6.1.0" matcher: dependency: transitive description: name: matcher - sha256: dc58c723c3c24bf8d3e2d3ad3f2f9d7bd9cf43ec6feaa64181775e60190153f2 + sha256: "31bd099b47c10cd1aeb55146a2d46ce0277630ecef3f7dae54ad7873f36696cd" url: "https://pub.dev" source: hosted - version: "0.12.17" + version: "0.12.20" material_color_utilities: dependency: transitive description: name: material_color_utilities - sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec + sha256: "9c337007e82b1889149c82ed242ed1cb24a66044e30979c44912381e9be4c48b" url: "https://pub.dev" source: hosted - version: "0.11.1" + version: "0.13.0" meta: dependency: transitive description: name: meta - sha256: e3641ec5d63ebf0d9b41bd43201a66e3fc79a65db5f61fc181f04cd27aab950c + sha256: "307249ce4ff29d58a18e97f6345f539382eb9c9c29ecda628900f31de0443dd9" url: "https://pub.dev" source: hosted - version: "1.16.0" + version: "1.19.0" nested: dependency: transitive description: @@ -167,10 +167,10 @@ packages: dependency: "direct main" description: name: provider - sha256: c8a055ee5ce3fd98d6fc872478b03823ffdb448699c6ebdbbc71d59b596fd48c + sha256: "4e82183fa20e5ca25703ead7e05de9e4cceed1fbd1eadc1ac3cb6f565a09f272" url: "https://pub.dev" source: hosted - version: "6.1.2" + version: "6.1.5+1" quiver: dependency: transitive description: @@ -228,26 +228,26 @@ packages: dependency: transitive description: name: test_api - sha256: fb31f383e2ee25fbbfe06b40fe21e1e458d14080e3c67e7ba0acfde4df4e0bbd + sha256: "2a122cbe059f8b610d3a5415f42e255b6c17b1f21eee1d960f31080237fb4f11" url: "https://pub.dev" source: hosted - version: "0.7.4" + version: "0.7.12" tflite_flutter: dependency: "direct main" description: name: tflite_flutter - sha256: "48e6fde2ad97162bb66a16a142f4c4698add9e8cd397ce9d1cc7451b55537ac1" + sha256: "0bba9040d8decda0960d7abf8eabf32243bf092bc7d0084e8e19681866b0bdbe" url: "https://pub.dev" source: hosted - version: "0.11.0" + version: "0.12.1" vector_math: dependency: transitive description: name: vector_math - sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803" + sha256: f36f9f3be64c6198714492bb455c11056e33e2f85d9a0b676a48301e44fdcf47 url: "https://pub.dev" source: hosted - version: "2.1.4" + version: "2.4.2" vm_service: dependency: transitive description: @@ -257,5 +257,5 @@ packages: source: hosted version: "14.3.1" sdks: - dart: ">=3.7.0-0 <4.0.0" + dart: ">=3.13.1 <4.0.0" flutter: ">=3.18.0-18.0.pre.54" diff --git a/04-litert/03-custom-model-app/02-final/pubspec.yaml b/04-litert/03-custom-model-app/02-final/pubspec.yaml index 2fc795b..0059338 100644 --- a/04-litert/03-custom-model-app/02-final/pubspec.yaml +++ b/04-litert/03-custom-model-app/02-final/pubspec.yaml @@ -4,20 +4,20 @@ publish_to: "none" version: 0.1.0 environment: - sdk: ^3.6.1 + sdk: ^3.13.1 dependencies: flutter: sdk: flutter - provider: ^6.1.2 + provider: ^6.1.5+1 # todo-02-init-01: install dependencies - intl: ^0.20.2 - tflite_flutter: ^0.11.0 + intl: ^0.20.3 + tflite_flutter: ^0.12.1 dev_dependencies: flutter_test: sdk: flutter - flutter_lints: ^5.0.0 + flutter_lints: ^6.0.0 flutter: uses-material-design: true