From 2fdc5e7dd65b40d84cc22e36b972742d81e22bee Mon Sep 17 00:00:00 2001 From: Andrea Bizzotto Date: Tue, 26 Nov 2024 16:48:40 +0000 Subject: [PATCH] Update dependencies nov 24 (#157) * Updated packages * dart run custom_lint --fix * Fixed all analysis warnings * Recreate Android project * Update iOS and macOS projects * Updated packages --- .metadata | 12 +- android/.gitignore | 2 +- android/app/build.gradle | 56 +-- android/app/src/main/AndroidManifest.xml | 12 + .../MainActivity.kt | 3 +- android/build.gradle | 17 +- android/gradle.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- android/settings.gradle | 22 +- firebase.json | 17 +- ios/Flutter/AppFrameworkInfo.plist | 2 +- ios/Podfile | 4 +- ios/Podfile.lock | 196 ++++++---- ios/Runner.xcodeproj/project.pbxproj | 12 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- ios/Runner/AppDelegate.swift | 2 +- .../data/firebase_auth_repository.dart | 7 +- .../data/firebase_auth_repository.g.dart | 14 +- .../presentation/auth_providers.dart | 3 +- .../presentation/auth_providers.g.dart | 6 +- .../entries/application/entries_service.dart | 5 +- .../application/entries_service.g.dart | 10 +- .../entries/data/entries_repository.dart | 14 +- .../entries/data/entries_repository.g.dart | 178 +++++++++ .../entry_screen_controller.g.dart | 2 +- .../features/jobs/data/jobs_repository.dart | 7 +- .../features/jobs/data/jobs_repository.g.dart | 14 +- .../edit_job_screen_controller.g.dart | 2 +- .../job_entries_list_controller.g.dart | 2 +- .../jobs_screen/jobs_screen_controller.g.dart | 2 +- .../data/onboarding_repository.dart | 3 +- .../data/onboarding_repository.g.dart | 6 +- .../presentation/onboarding_controller.g.dart | 2 +- lib/src/routing/app_router.dart | 3 +- lib/src/routing/app_router.g.dart | 6 +- lib/src/routing/app_startup.dart | 2 +- lib/src/routing/app_startup.g.dart | 6 +- lib/src/utils/alert_dialogs.dart | 2 - macos/Podfile | 4 +- macos/Podfile.lock | 182 +++++---- macos/Runner.xcodeproj/project.pbxproj | 6 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- macos/Runner/AppDelegate.swift | 2 +- pubspec.lock | 363 +++++++++--------- pubspec.yaml | 37 +- update-android-project.sh | 62 +++ 46 files changed, 835 insertions(+), 482 deletions(-) create mode 100644 lib/src/features/entries/data/entries_repository.g.dart create mode 100755 update-android-project.sh diff --git a/.metadata b/.metadata index 72aedebf..ce66da91 100644 --- a/.metadata +++ b/.metadata @@ -4,7 +4,7 @@ # This file should be version controlled and should not be manually edited. version: - revision: "5dcb86f68f239346676ceb1ed1ea385bd215fba1" + revision: "4cf269e36de2573851eaef3c763994f8f9be494d" channel: "stable" project_type: app @@ -13,11 +13,11 @@ project_type: app migration: platforms: - platform: root - create_revision: 5dcb86f68f239346676ceb1ed1ea385bd215fba1 - base_revision: 5dcb86f68f239346676ceb1ed1ea385bd215fba1 - - platform: web - create_revision: 5dcb86f68f239346676ceb1ed1ea385bd215fba1 - base_revision: 5dcb86f68f239346676ceb1ed1ea385bd215fba1 + create_revision: 4cf269e36de2573851eaef3c763994f8f9be494d + base_revision: 4cf269e36de2573851eaef3c763994f8f9be494d + - platform: android + create_revision: 4cf269e36de2573851eaef3c763994f8f9be494d + base_revision: 4cf269e36de2573851eaef3c763994f8f9be494d # User provided section diff --git a/android/.gitignore b/android/.gitignore index 6f568019..55afd919 100644 --- a/android/.gitignore +++ b/android/.gitignore @@ -7,7 +7,7 @@ gradle-wrapper.jar GeneratedPluginRegistrant.java # Remember to never publicly share your keystore. -# See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app +# See https://flutter.dev/to/reference-keystore key.properties **/*.keystore **/*.jks diff --git a/android/app/build.gradle b/android/app/build.gradle index 2c6b23e4..a23d135e 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -1,67 +1,47 @@ plugins { id "com.android.application" + // START: FlutterFire Configuration + id 'com.google.gms.google-services' + // END: FlutterFire Configuration id "kotlin-android" + // The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins. id "dev.flutter.flutter-gradle-plugin" } -def localProperties = new Properties() -def localPropertiesFile = rootProject.file('local.properties') -if (localPropertiesFile.exists()) { - localPropertiesFile.withReader('UTF-8') { reader -> - localProperties.load(reader) - } -} - -def flutterVersionCode = localProperties.getProperty('flutter.versionCode') -if (flutterVersionCode == null) { - flutterVersionCode = '1' -} - -def flutterVersionName = localProperties.getProperty('flutter.versionName') -if (flutterVersionName == null) { - flutterVersionName = '1.0' -} - android { - namespace "com.example.starter_architecture_flutter_firebase" - compileSdkVersion flutter.compileSdkVersion - ndkVersion flutter.ndkVersion + namespace = "com.example.starter_architecture_flutter_firebase" + compileSdk = flutter.compileSdkVersion + ndkVersion = "27.0.12077973" compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 } kotlinOptions { - jvmTarget = '1.8' - } - - sourceSets { - main.java.srcDirs += 'src/main/kotlin' + jvmTarget = JavaVersion.VERSION_17 } defaultConfig { // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). - applicationId "com.example.starter_architecture_flutter_firebase" + applicationId = "com.example.starter_architecture_flutter_firebase" // You can update the following values to match your application needs. - // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration. - minSdkVersion localProperties.getProperty('flutter.minSdkVersion').toInteger() - targetSdkVersion localProperties.getProperty('flutter.targetSdkVersion').toInteger() - versionCode flutterVersionCode.toInteger() - versionName flutterVersionName + // For more information, see: https://flutter.dev/to/review-gradle-config. + minSdk = 24 + targetSdk = 34 + versionCode = flutter.versionCode + versionName = flutter.versionName } buildTypes { release { // TODO: Add your own signing config for the release build. // Signing with the debug keys for now, so `flutter run --release` works. - signingConfig signingConfigs.debug + signingConfig = signingConfigs.debug } } } flutter { - source '../..' + source = "../.." } - -dependencies {} diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index be681d49..9ae9e794 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -7,6 +7,7 @@ android:name=".MainActivity" android:exported="true" android:launchMode="singleTop" + android:taskAffinity="" android:theme="@style/LaunchTheme" android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode" android:hardwareAccelerated="true" @@ -30,4 +31,15 @@ android:name="flutterEmbedding" android:value="2" /> + + + + + + + diff --git a/android/app/src/main/kotlin/com/example/starter_architecture_flutter_firebase/MainActivity.kt b/android/app/src/main/kotlin/com/example/starter_architecture_flutter_firebase/MainActivity.kt index 057eaaf7..f3f1c741 100644 --- a/android/app/src/main/kotlin/com/example/starter_architecture_flutter_firebase/MainActivity.kt +++ b/android/app/src/main/kotlin/com/example/starter_architecture_flutter_firebase/MainActivity.kt @@ -2,5 +2,4 @@ package com.example.starter_architecture_flutter_firebase import io.flutter.embedding.android.FlutterActivity -class MainActivity: FlutterActivity() { -} +class MainActivity: FlutterActivity() diff --git a/android/build.gradle b/android/build.gradle index f7eb7f63..d2ffbffa 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -1,16 +1,3 @@ -buildscript { - ext.kotlin_version = '1.7.10' - repositories { - google() - mavenCentral() - } - - dependencies { - classpath 'com.android.tools.build:gradle:7.3.0' - classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" - } -} - allprojects { repositories { google() @@ -18,12 +5,12 @@ allprojects { } } -rootProject.buildDir = '../build' +rootProject.buildDir = "../build" subprojects { project.buildDir = "${rootProject.buildDir}/${project.name}" } subprojects { - project.evaluationDependsOn(':app') + project.evaluationDependsOn(":app") } tasks.register("clean", Delete) { diff --git a/android/gradle.properties b/android/gradle.properties index 94adc3a3..25971708 100644 --- a/android/gradle.properties +++ b/android/gradle.properties @@ -1,3 +1,3 @@ -org.gradle.jvmargs=-Xmx1536M +org.gradle.jvmargs=-Xmx4G -XX:MaxMetaspaceSize=2G -XX:+HeapDumpOnOutOfMemoryError android.useAndroidX=true android.enableJetifier=true diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties index 3c472b99..348c409e 100644 --- a/android/gradle/wrapper/gradle-wrapper.properties +++ b/android/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-all.zip diff --git a/android/settings.gradle b/android/settings.gradle index 55c4ca8b..0d707bbf 100644 --- a/android/settings.gradle +++ b/android/settings.gradle @@ -5,16 +5,24 @@ pluginManagement { def flutterSdkPath = properties.getProperty("flutter.sdk") assert flutterSdkPath != null, "flutter.sdk not set in local.properties" return flutterSdkPath - } - settings.ext.flutterSdkPath = flutterSdkPath() + }() - includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") + includeBuild("$flutterSdkPath/packages/flutter_tools/gradle") - plugins { - id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + repositories { + google() + mavenCentral() + gradlePluginPortal() } } -include ":app" +plugins { + id "dev.flutter.flutter-plugin-loader" version "1.0.0" + id "com.android.application" version "8.7.2" 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 "1.8.22" apply false +} -apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" diff --git a/firebase.json b/firebase.json index 9dbe4d45..268dadea 100644 --- a/firebase.json +++ b/firebase.json @@ -1,16 +1 @@ -{ - "hosting": { - "public": "build/web", - "ignore": [ - "firebase.json", - "**/.*", - "**/node_modules/**" - ], - "rewrites": [ - { - "source": "**", - "destination": "/index.html" - } - ] - } -} +{"hosting":{"public":"build/web","ignore":["firebase.json","**/.*","**/node_modules/**"],"rewrites":[{"source":"**","destination":"/index.html"}]},"flutter":{"platforms":{"android":{"default":{"projectId":"starter-architecture-flutter","appId":"1:204483935261:android:6bf22efec4b84563779af4","fileOutput":"android/app/google-services.json"}},"ios":{"default":{"projectId":"starter-architecture-flutter","appId":"1:204483935261:ios:df913fb4eeda0a29779af4","uploadDebugSymbols":false,"fileOutput":"ios/Runner/GoogleService-Info.plist"}},"macos":{"default":{"projectId":"starter-architecture-flutter","appId":"1:204483935261:ios:df913fb4eeda0a29779af4","uploadDebugSymbols":false,"fileOutput":"macos/Runner/GoogleService-Info.plist"}},"dart":{"lib/firebase_options.dart":{"projectId":"starter-architecture-flutter","configurations":{"android":"1:204483935261:android:6bf22efec4b84563779af4","ios":"1:204483935261:ios:df913fb4eeda0a29779af4","macos":"1:204483935261:ios:df913fb4eeda0a29779af4","web":"1:204483935261:web:2eff4a630625a401779af4"}}}}}} \ No newline at end of file diff --git a/ios/Flutter/AppFrameworkInfo.plist b/ios/Flutter/AppFrameworkInfo.plist index 9625e105..7c569640 100644 --- a/ios/Flutter/AppFrameworkInfo.plist +++ b/ios/Flutter/AppFrameworkInfo.plist @@ -21,6 +21,6 @@ CFBundleVersion 1.0 MinimumOSVersion - 11.0 + 12.0 diff --git a/ios/Podfile b/ios/Podfile index 1271d919..986bc398 100644 --- a/ios/Podfile +++ b/ios/Podfile @@ -1,5 +1,5 @@ # Uncomment this line to define a global platform for your project -platform :ios, '11.0' +platform :ios, '13.0' # CocoaPods analytics sends network stats synchronously affecting flutter build latency. ENV['COCOAPODS_DISABLE_STATS'] = 'true' @@ -28,7 +28,7 @@ require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelpe flutter_ios_podfile_setup target 'Runner' do - pod 'FirebaseFirestore', :git => 'https://github.com/invertase/firestore-ios-sdk-frameworks.git', :tag => '10.18.0' + pod 'FirebaseFirestore', :git => 'https://github.com/invertase/firestore-ios-sdk-frameworks.git', :tag => '11.4.0' use_frameworks! use_modular_headers! diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 03e6925f..4cec3d3f 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -1,80 +1,104 @@ PODS: - - cloud_firestore (4.14.0): - - Firebase/Firestore (= 10.18.0) + - cloud_firestore (5.5.0): + - Firebase/Firestore (= 11.4.0) - firebase_core - Flutter - - nanopb (< 2.30910.0, >= 2.30908.0) - desktop_webview_auth (0.0.1): - Flutter - - Firebase/Auth (10.18.0): + - Firebase/Auth (11.4.0): - Firebase/CoreOnly - - FirebaseAuth (~> 10.18.0) - - Firebase/CoreOnly (10.18.0): - - FirebaseCore (= 10.18.0) - - Firebase/DynamicLinks (10.18.0): + - FirebaseAuth (~> 11.4.0) + - Firebase/CoreOnly (11.4.0): + - FirebaseCore (= 11.4.0) + - Firebase/DynamicLinks (11.4.0): - Firebase/CoreOnly - - FirebaseDynamicLinks (~> 10.18.0) - - Firebase/Firestore (10.18.0): + - FirebaseDynamicLinks (~> 11.4.0) + - Firebase/Firestore (11.4.0): - Firebase/CoreOnly - - FirebaseFirestore (~> 10.18.0) - - firebase_auth (4.16.0): - - Firebase/Auth (= 10.18.0) + - FirebaseFirestore (~> 11.4.0) + - firebase_auth (5.3.3): + - Firebase/Auth (= 11.4.0) - firebase_core - Flutter - - firebase_core (2.24.2): - - Firebase/CoreOnly (= 10.18.0) + - firebase_core (3.8.0): + - Firebase/CoreOnly (= 11.4.0) - Flutter - - firebase_dynamic_links (5.4.8): - - Firebase/DynamicLinks (= 10.18.0) + - firebase_dynamic_links (6.0.10): + - Firebase/DynamicLinks (= 11.4.0) - firebase_core - Flutter - - FirebaseAppCheckInterop (10.19.0) - - FirebaseAuth (10.18.0): - - FirebaseAppCheckInterop (~> 10.17) - - FirebaseCore (~> 10.0) - - GoogleUtilities/AppDelegateSwizzler (~> 7.8) - - GoogleUtilities/Environment (~> 7.8) - - GTMSessionFetcher/Core (< 4.0, >= 2.1) + - FirebaseAppCheckInterop (11.5.0) + - FirebaseAuth (11.4.0): + - FirebaseAppCheckInterop (~> 11.0) + - FirebaseAuthInterop (~> 11.0) + - FirebaseCore (~> 11.4) + - FirebaseCoreExtension (~> 11.4) + - GoogleUtilities/AppDelegateSwizzler (~> 8.0) + - GoogleUtilities/Environment (~> 8.0) + - GTMSessionFetcher/Core (< 5.0, >= 3.4) - RecaptchaInterop (~> 100.0) - - FirebaseCore (10.18.0): - - FirebaseCoreInternal (~> 10.0) - - GoogleUtilities/Environment (~> 7.12) - - GoogleUtilities/Logger (~> 7.12) - - FirebaseCoreInternal (10.19.0): - - "GoogleUtilities/NSData+zlib (~> 7.8)" - - FirebaseDynamicLinks (10.18.0): - - FirebaseCore (~> 10.0) - - FirebaseFirestore (10.18.0): - - FirebaseFirestore/AutodetectLeveldb (= 10.18.0) - - FirebaseFirestore/AutodetectLeveldb (10.18.0): - - FirebaseFirestore/Base - - FirebaseFirestore/WithLeveldb - - FirebaseFirestore/Base (10.18.0) - - FirebaseFirestore/WithLeveldb (10.18.0): - - FirebaseFirestore/Base + - FirebaseAuthInterop (11.5.0) + - FirebaseCore (11.4.0): + - FirebaseCoreInternal (~> 11.0) + - GoogleUtilities/Environment (~> 8.0) + - GoogleUtilities/Logger (~> 8.0) + - FirebaseCoreExtension (11.4.0): + - FirebaseCore (~> 11.0) + - FirebaseCoreInternal (11.5.0): + - "GoogleUtilities/NSData+zlib (~> 8.0)" + - FirebaseDynamicLinks (11.4.0): + - FirebaseCore (~> 11.0) + - FirebaseFirestore (11.4.0): + - FirebaseFirestoreBinary (= 11.4.0) + - FirebaseFirestoreAbseilBinary (1.2024011602.0) + - FirebaseFirestoreBinary (11.4.0): + - FirebaseCore (= 11.4.0) + - FirebaseCoreExtension (= 11.4.0) + - FirebaseFirestoreInternalBinary (= 11.4.0) + - FirebaseSharedSwift (= 11.4.0) + - FirebaseFirestoreGRPCBoringSSLBinary (1.65.1) + - FirebaseFirestoreGRPCCoreBinary (1.65.1): + - FirebaseFirestoreAbseilBinary (= 1.2024011602.0) + - FirebaseFirestoreGRPCBoringSSLBinary (= 1.65.1) + - FirebaseFirestoreGRPCCPPBinary (1.65.1): + - FirebaseFirestoreAbseilBinary (= 1.2024011602.0) + - FirebaseFirestoreGRPCCoreBinary (= 1.65.1) + - FirebaseFirestoreInternalBinary (11.4.0): + - FirebaseCore (= 11.4.0) + - FirebaseFirestoreAbseilBinary (= 1.2024011602.0) + - FirebaseFirestoreGRPCCPPBinary (= 1.65.1) + - leveldb-library (~> 1.22) + - nanopb (~> 3.30910.0) + - FirebaseSharedSwift (11.4.0) - Flutter (1.0.0) - - GoogleUtilities/AppDelegateSwizzler (7.12.0): + - GoogleUtilities/AppDelegateSwizzler (8.0.2): - GoogleUtilities/Environment - GoogleUtilities/Logger - GoogleUtilities/Network - - GoogleUtilities/Environment (7.12.0): - - PromisesObjC (< 3.0, >= 1.2) - - GoogleUtilities/Logger (7.12.0): + - GoogleUtilities/Privacy + - GoogleUtilities/Environment (8.0.2): + - GoogleUtilities/Privacy + - GoogleUtilities/Logger (8.0.2): - GoogleUtilities/Environment - - GoogleUtilities/Network (7.12.0): + - GoogleUtilities/Privacy + - GoogleUtilities/Network (8.0.2): - GoogleUtilities/Logger - "GoogleUtilities/NSData+zlib" + - GoogleUtilities/Privacy - GoogleUtilities/Reachability - - "GoogleUtilities/NSData+zlib (7.12.0)" - - GoogleUtilities/Reachability (7.12.0): + - "GoogleUtilities/NSData+zlib (8.0.2)": + - GoogleUtilities/Privacy + - GoogleUtilities/Privacy (8.0.2) + - GoogleUtilities/Reachability (8.0.2): - GoogleUtilities/Logger - - GTMSessionFetcher/Core (3.2.0) - - nanopb (2.30909.1): - - nanopb/decode (= 2.30909.1) - - nanopb/encode (= 2.30909.1) - - nanopb/decode (2.30909.1) - - nanopb/encode (2.30909.1) - - PromisesObjC (2.3.1) + - GoogleUtilities/Privacy + - GTMSessionFetcher/Core (4.1.0) + - leveldb-library (1.22.6) + - nanopb (3.30910.0): + - nanopb/decode (= 3.30910.0) + - nanopb/encode (= 3.30910.0) + - nanopb/decode (3.30910.0) + - nanopb/encode (3.30910.0) - RecaptchaInterop (100.0.0) - shared_preferences_foundation (0.0.1): - Flutter @@ -86,7 +110,7 @@ DEPENDENCIES: - firebase_auth (from `.symlinks/plugins/firebase_auth/ios`) - firebase_core (from `.symlinks/plugins/firebase_core/ios`) - firebase_dynamic_links (from `.symlinks/plugins/firebase_dynamic_links/ios`) - - FirebaseFirestore (from `https://github.com/invertase/firestore-ios-sdk-frameworks.git`, tag `10.18.0`) + - FirebaseFirestore (from `https://github.com/invertase/firestore-ios-sdk-frameworks.git`, tag `11.4.0`) - Flutter (from `Flutter`) - shared_preferences_foundation (from `.symlinks/plugins/shared_preferences_foundation/darwin`) @@ -95,13 +119,22 @@ SPEC REPOS: - Firebase - FirebaseAppCheckInterop - FirebaseAuth + - FirebaseAuthInterop - FirebaseCore + - FirebaseCoreExtension - FirebaseCoreInternal - FirebaseDynamicLinks + - FirebaseFirestoreAbseilBinary + - FirebaseFirestoreBinary + - FirebaseFirestoreGRPCBoringSSLBinary + - FirebaseFirestoreGRPCCoreBinary + - FirebaseFirestoreGRPCCPPBinary + - FirebaseFirestoreInternalBinary + - FirebaseSharedSwift - GoogleUtilities - GTMSessionFetcher + - leveldb-library - nanopb - - PromisesObjC - RecaptchaInterop EXTERNAL SOURCES: @@ -117,7 +150,7 @@ EXTERNAL SOURCES: :path: ".symlinks/plugins/firebase_dynamic_links/ios" FirebaseFirestore: :git: https://github.com/invertase/firestore-ios-sdk-frameworks.git - :tag: 10.18.0 + :tag: 11.4.0 Flutter: :path: Flutter shared_preferences_foundation: @@ -126,29 +159,38 @@ EXTERNAL SOURCES: CHECKOUT OPTIONS: FirebaseFirestore: :git: https://github.com/invertase/firestore-ios-sdk-frameworks.git - :tag: 10.18.0 + :tag: 11.4.0 SPEC CHECKSUMS: - cloud_firestore: 73eece22ce25a0565238c283ee9990f1618d8063 + cloud_firestore: 8794ea2885e367f0a2096338964ddfd49739b2c7 desktop_webview_auth: d645139460ef203d50bd0cdb33356785dd939cce - Firebase: 414ad272f8d02dfbf12662a9d43f4bba9bec2a06 - firebase_auth: 8e9ec02991ca4659111cc671c84d0c010b6bfb26 - firebase_core: 0af4a2b24f62071f9bf283691c0ee41556dcb3f5 - firebase_dynamic_links: b626a11f5eb02033981ae377377c3f297eb4c1b0 - FirebaseAppCheckInterop: 37884781f3e16a1ba47e7ec80a1e805f987788e3 - FirebaseAuth: 12314b438fa76048540c8fb86d6cfc9e08595176 - FirebaseCore: 2322423314d92f946219c8791674d2f3345b598f - FirebaseCoreInternal: b444828ea7cfd594fca83046b95db98a2be4f290 - FirebaseDynamicLinks: c37307441c53838d66a9650dabca9e0459502527 - FirebaseFirestore: 584e3f563142f63d20e9ec9c505370d674d44eba - Flutter: f04841e97a9d0b0a8025694d0796dd46242b2854 - GoogleUtilities: 0759d1a57ebb953965c2dfe0ba4c82e95ccc2e34 - GTMSessionFetcher: 41b9ef0b4c08a6db4b7eb51a21ae5183ec99a2c8 - nanopb: d4d75c12cd1316f4a64e3c6963f879ecd4b5e0d5 - PromisesObjC: c50d2056b5253dadbd6c2bea79b0674bd5a52fa4 + Firebase: cf1b19f21410b029b6786a54e9764a0cacad3c99 + firebase_auth: 42718683069d35d73af7a986b55b194589039e5e + firebase_core: 9efc3ecf689cdbc90f13f4dc58108c83ea46b266 + firebase_dynamic_links: 9035278f22b422f47d7825ecc225602a22b3c188 + FirebaseAppCheckInterop: d265d9f4484e7ec1c591086408840fdd383d1213 + FirebaseAuth: c359af98bd703cbf4293eec107a40de08ede6ce6 + FirebaseAuthInterop: 1219bee9b23e6ebe84c256a0d95adab53d11c331 + FirebaseCore: e0510f1523bc0eb21653cac00792e1e2bd6f1771 + FirebaseCoreExtension: 4445e4cd877e0790c4af33bedca61eaef27b7513 + FirebaseCoreInternal: f47dd28ae7782e6a4738aad3106071a8fe0af604 + FirebaseDynamicLinks: 192110d77418357fe994f2823a7df7db3ccb15bf + FirebaseFirestore: 97f18b411aaca686a9e94ba742341228643b1a46 + FirebaseFirestoreAbseilBinary: fa2ebd2ed02cadef5382e4f7c93f1b265c812c85 + FirebaseFirestoreBinary: d0380b879b58d663b22467017d0e348d5b17b36b + FirebaseFirestoreGRPCBoringSSLBinary: d86ebbe2adc8d15d7ebf305fff7d6358385327f8 + FirebaseFirestoreGRPCCoreBinary: 472bd808e1886a5efb2fd03dd09b98d34641a335 + FirebaseFirestoreGRPCCPPBinary: db76d83d2b7517623f8426ed7f7a17bad2478084 + FirebaseFirestoreInternalBinary: 01c33a6d789b95dce32dbdfcaf30d60ddf8902d8 + FirebaseSharedSwift: 505dae2d05969dbf6d43749a642bb1bf230f0252 + Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7 + GoogleUtilities: 26a3abef001b6533cf678d3eb38fd3f614b7872d + GTMSessionFetcher: 923b710231ad3d6f3f0495ac1ced35421e07d9a6 + leveldb-library: cc8b8f8e013647a295ad3f8cd2ddf49a6f19be19 + nanopb: fad817b59e0457d11a5dfbde799381cd727c1275 RecaptchaInterop: 7d1a4a01a6b2cb1610a47ef3f85f0c411434cb21 - shared_preferences_foundation: 5b919d13b803cadd15ed2dc053125c68730e5126 + shared_preferences_foundation: fcdcbc04712aee1108ac7fda236f363274528f78 -PODFILE CHECKSUM: 960305be9bb7690791069373e00dd3df7a0aae70 +PODFILE CHECKSUM: 7971d8193c543b454b5092b866ba615e5fd53a2a -COCOAPODS: 1.14.2 +COCOAPODS: 1.16.2 diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj index 0f6ca4ee..e5d83c9b 100644 --- a/ios/Runner.xcodeproj/project.pbxproj +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -124,7 +124,6 @@ 4717B7480637AA09CAEB3FC0 /* Pods-Runner.release.xcconfig */, D1CF56C09A84454F93ABC256 /* Pods-Runner.profile.xcconfig */, ); - name = Pods; path = Pods; sourceTree = ""; }; @@ -160,7 +159,7 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1430; + LastUpgradeCheck = 1510; ORGANIZATIONNAME = ""; TargetAttributes = { 97C146ED1CF9000F007C117D = { @@ -365,7 +364,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SUPPORTED_PLATFORMS = iphoneos; @@ -384,6 +383,7 @@ DEVELOPMENT_TEAM = M54ZVB688G; ENABLE_BITCODE = NO; INFOPLIST_FILE = Runner/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -443,7 +443,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; @@ -492,7 +492,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SUPPORTED_PLATFORMS = iphoneos; @@ -513,6 +513,7 @@ DEVELOPMENT_TEAM = M54ZVB688G; ENABLE_BITCODE = NO; INFOPLIST_FILE = Runner/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -536,6 +537,7 @@ DEVELOPMENT_TEAM = M54ZVB688G; ENABLE_BITCODE = NO; INFOPLIST_FILE = Runner/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", diff --git a/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index a6b826db..5e31d3d3 100644 --- a/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ authStateChanges(AuthStateChangesRef ref) { +Stream authStateChanges(Ref ref) { return ref.watch(authRepositoryProvider).authStateChanges(); } diff --git a/lib/src/features/authentication/data/firebase_auth_repository.g.dart b/lib/src/features/authentication/data/firebase_auth_repository.g.dart index f657494e..6905fb32 100644 --- a/lib/src/features/authentication/data/firebase_auth_repository.g.dart +++ b/lib/src/features/authentication/data/firebase_auth_repository.g.dart @@ -6,7 +6,7 @@ part of 'firebase_auth_repository.dart'; // RiverpodGenerator // ************************************************************************** -String _$firebaseAuthHash() => r'46c40b7c5cf8ab936c0daa96a6af106bd2ae5d51'; +String _$firebaseAuthHash() => r'cb440927c3ab863427fd4b052a8ccba4c024c863'; /// See also [firebaseAuth]. @ProviderFor(firebaseAuth) @@ -19,8 +19,10 @@ final firebaseAuthProvider = Provider.internal( allTransitiveDependencies: null, ); +@Deprecated('Will be removed in 3.0. Use Ref instead') +// ignore: unused_element typedef FirebaseAuthRef = ProviderRef; -String _$authRepositoryHash() => r'3871275ded2762a0e529629be71e890bfd3bd7ad'; +String _$authRepositoryHash() => r'0e32dee9e183c43ec14a6b58d74d26deb3950cbc'; /// See also [authRepository]. @ProviderFor(authRepository) @@ -34,8 +36,10 @@ final authRepositoryProvider = Provider.internal( allTransitiveDependencies: null, ); +@Deprecated('Will be removed in 3.0. Use Ref instead') +// ignore: unused_element typedef AuthRepositoryRef = ProviderRef; -String _$authStateChangesHash() => r'af0a0185c59bf3c1ad8a9e041075517b3a2dcc31'; +String _$authStateChangesHash() => r'7bdb56f405df8ffc5554e0128ec15d474f011ec9'; /// See also [authStateChanges]. @ProviderFor(authStateChanges) @@ -49,6 +53,8 @@ final authStateChangesProvider = AutoDisposeStreamProvider.internal( allTransitiveDependencies: null, ); +@Deprecated('Will be removed in 3.0. Use Ref instead') +// ignore: unused_element typedef AuthStateChangesRef = AutoDisposeStreamProviderRef; // ignore_for_file: type=lint -// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member +// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member, deprecated_member_use_from_same_package diff --git a/lib/src/features/authentication/presentation/auth_providers.dart b/lib/src/features/authentication/presentation/auth_providers.dart index 273b8723..08a32686 100644 --- a/lib/src/features/authentication/presentation/auth_providers.dart +++ b/lib/src/features/authentication/presentation/auth_providers.dart @@ -1,13 +1,14 @@ import 'package:firebase_auth/firebase_auth.dart' hide EmailAuthProvider, AuthProvider; import 'package:firebase_ui_auth/firebase_ui_auth.dart'; +import 'package:riverpod/riverpod.dart'; import 'package:riverpod_annotation/riverpod_annotation.dart'; part 'auth_providers.g.dart'; @Riverpod(keepAlive: true) List> authProviders( - AuthProvidersRef ref) { + Ref ref) { return [ EmailAuthProvider(), ]; diff --git a/lib/src/features/authentication/presentation/auth_providers.g.dart b/lib/src/features/authentication/presentation/auth_providers.g.dart index 6f304119..2b16f38e 100644 --- a/lib/src/features/authentication/presentation/auth_providers.g.dart +++ b/lib/src/features/authentication/presentation/auth_providers.g.dart @@ -6,7 +6,7 @@ part of 'auth_providers.dart'; // RiverpodGenerator // ************************************************************************** -String _$authProvidersHash() => r'ae6cefe8190c6d4e0c24eed661e7889031bfabda'; +String _$authProvidersHash() => r'8a83535c31539dac72f21c3f27b7d7fb77161e5f'; /// See also [authProviders]. @ProviderFor(authProviders) @@ -21,7 +21,9 @@ final authProvidersProvider = allTransitiveDependencies: null, ); +@Deprecated('Will be removed in 3.0. Use Ref instead') +// ignore: unused_element typedef AuthProvidersRef = ProviderRef>>; // ignore_for_file: type=lint -// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member +// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member, deprecated_member_use_from_same_package diff --git a/lib/src/features/entries/application/entries_service.dart b/lib/src/features/entries/application/entries_service.dart index 65d5824a..f71af040 100644 --- a/lib/src/features/entries/application/entries_service.dart +++ b/lib/src/features/entries/application/entries_service.dart @@ -1,3 +1,4 @@ +import 'package:riverpod/riverpod.dart'; import 'package:riverpod_annotation/riverpod_annotation.dart'; import 'package:rxdart/rxdart.dart'; import 'package:starter_architecture_flutter_firebase/src/features/authentication/data/firebase_auth_repository.dart'; @@ -81,7 +82,7 @@ class EntriesService { } @riverpod -EntriesService entriesService(EntriesServiceRef ref) { +EntriesService entriesService(Ref ref) { return EntriesService( jobsRepository: ref.watch(jobsRepositoryProvider), entriesRepository: ref.watch(entriesRepositoryProvider), @@ -90,7 +91,7 @@ EntriesService entriesService(EntriesServiceRef ref) { @riverpod Stream> entriesTileModelStream( - EntriesTileModelStreamRef ref) { + Ref ref) { final user = ref.watch(firebaseAuthProvider).currentUser; if (user == null) { throw AssertionError('User can\'t be null when fetching entries'); diff --git a/lib/src/features/entries/application/entries_service.g.dart b/lib/src/features/entries/application/entries_service.g.dart index bf120c06..0c0f69d5 100644 --- a/lib/src/features/entries/application/entries_service.g.dart +++ b/lib/src/features/entries/application/entries_service.g.dart @@ -6,7 +6,7 @@ part of 'entries_service.dart'; // RiverpodGenerator // ************************************************************************** -String _$entriesServiceHash() => r'ad6f017678723501d64b7d33ea05ce3553cc010b'; +String _$entriesServiceHash() => r'106c29e519ac1706956f952263745337399caba9'; /// See also [entriesService]. @ProviderFor(entriesService) @@ -20,9 +20,11 @@ final entriesServiceProvider = AutoDisposeProvider.internal( allTransitiveDependencies: null, ); +@Deprecated('Will be removed in 3.0. Use Ref instead') +// ignore: unused_element typedef EntriesServiceRef = AutoDisposeProviderRef; String _$entriesTileModelStreamHash() => - r'69af265d2969a10a62e0b9e7b679ce336445b91c'; + r'e8f3184f1b1db43eb92198669492a36d3ee03356'; /// See also [entriesTileModelStream]. @ProviderFor(entriesTileModelStream) @@ -37,7 +39,9 @@ final entriesTileModelStreamProvider = allTransitiveDependencies: null, ); +@Deprecated('Will be removed in 3.0. Use Ref instead') +// ignore: unused_element typedef EntriesTileModelStreamRef = AutoDisposeStreamProviderRef>; // ignore_for_file: type=lint -// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member +// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member, deprecated_member_use_from_same_package diff --git a/lib/src/features/entries/data/entries_repository.dart b/lib/src/features/entries/data/entries_repository.dart index 3952cecc..cd8253b2 100644 --- a/lib/src/features/entries/data/entries_repository.dart +++ b/lib/src/features/entries/data/entries_repository.dart @@ -1,10 +1,13 @@ import 'package:cloud_firestore/cloud_firestore.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; +import 'package:riverpod_annotation/riverpod_annotation.dart'; import 'package:starter_architecture_flutter_firebase/src/features/authentication/data/firebase_auth_repository.dart'; import 'package:starter_architecture_flutter_firebase/src/features/authentication/domain/app_user.dart'; import 'package:starter_architecture_flutter_firebase/src/features/entries/domain/entry.dart'; import 'package:starter_architecture_flutter_firebase/src/features/jobs/domain/job.dart'; +part 'entries_repository.g.dart'; + class EntriesRepository { const EntriesRepository(this._firestore); final FirebaseFirestore _firestore; @@ -59,16 +62,17 @@ class EntriesRepository { } } -final entriesRepositoryProvider = Provider((ref) { +@riverpod +EntriesRepository entriesRepository(Ref ref) { return EntriesRepository(FirebaseFirestore.instance); -}); +} -final jobEntriesQueryProvider = - Provider.autoDispose.family, JobID>((ref, jobId) { +@riverpod +Query jobEntriesQuery(Ref ref, String jobId) { final user = ref.watch(firebaseAuthProvider).currentUser; if (user == null) { throw AssertionError('User can\'t be null when fetching jobs'); } final repository = ref.watch(entriesRepositoryProvider); return repository.queryEntries(uid: user.uid, jobId: jobId); -}); +} diff --git a/lib/src/features/entries/data/entries_repository.g.dart b/lib/src/features/entries/data/entries_repository.g.dart new file mode 100644 index 00000000..06e92a47 --- /dev/null +++ b/lib/src/features/entries/data/entries_repository.g.dart @@ -0,0 +1,178 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'entries_repository.dart'; + +// ************************************************************************** +// RiverpodGenerator +// ************************************************************************** + +String _$entriesRepositoryHash() => r'17cd56c685d800f8456e9f526108ae479eb0aec2'; + +/// See also [entriesRepository]. +@ProviderFor(entriesRepository) +final entriesRepositoryProvider = + AutoDisposeProvider.internal( + entriesRepository, + name: r'entriesRepositoryProvider', + debugGetCreateSourceHash: const bool.fromEnvironment('dart.vm.product') + ? null + : _$entriesRepositoryHash, + dependencies: null, + allTransitiveDependencies: null, +); + +@Deprecated('Will be removed in 3.0. Use Ref instead') +// ignore: unused_element +typedef EntriesRepositoryRef = AutoDisposeProviderRef; +String _$jobEntriesQueryHash() => r'b6028feba070a55b2cf62b18cb3849cefecd27ab'; + +/// Copied from Dart SDK +class _SystemHash { + _SystemHash._(); + + static int combine(int hash, int value) { + // ignore: parameter_assignments + hash = 0x1fffffff & (hash + value); + // ignore: parameter_assignments + hash = 0x1fffffff & (hash + ((0x0007ffff & hash) << 10)); + return hash ^ (hash >> 6); + } + + static int finish(int hash) { + // ignore: parameter_assignments + hash = 0x1fffffff & (hash + ((0x03ffffff & hash) << 3)); + // ignore: parameter_assignments + hash = hash ^ (hash >> 11); + return 0x1fffffff & (hash + ((0x00003fff & hash) << 15)); + } +} + +/// See also [jobEntriesQuery]. +@ProviderFor(jobEntriesQuery) +const jobEntriesQueryProvider = JobEntriesQueryFamily(); + +/// See also [jobEntriesQuery]. +class JobEntriesQueryFamily extends Family> { + /// See also [jobEntriesQuery]. + const JobEntriesQueryFamily(); + + /// See also [jobEntriesQuery]. + JobEntriesQueryProvider call( + String jobId, + ) { + return JobEntriesQueryProvider( + jobId, + ); + } + + @override + JobEntriesQueryProvider getProviderOverride( + covariant JobEntriesQueryProvider provider, + ) { + return call( + provider.jobId, + ); + } + + static const Iterable? _dependencies = null; + + @override + Iterable? get dependencies => _dependencies; + + static const Iterable? _allTransitiveDependencies = null; + + @override + Iterable? get allTransitiveDependencies => + _allTransitiveDependencies; + + @override + String? get name => r'jobEntriesQueryProvider'; +} + +/// See also [jobEntriesQuery]. +class JobEntriesQueryProvider extends AutoDisposeProvider> { + /// See also [jobEntriesQuery]. + JobEntriesQueryProvider( + String jobId, + ) : this._internal( + (ref) => jobEntriesQuery( + ref as JobEntriesQueryRef, + jobId, + ), + from: jobEntriesQueryProvider, + name: r'jobEntriesQueryProvider', + debugGetCreateSourceHash: + const bool.fromEnvironment('dart.vm.product') + ? null + : _$jobEntriesQueryHash, + dependencies: JobEntriesQueryFamily._dependencies, + allTransitiveDependencies: + JobEntriesQueryFamily._allTransitiveDependencies, + jobId: jobId, + ); + + JobEntriesQueryProvider._internal( + super._createNotifier, { + required super.name, + required super.dependencies, + required super.allTransitiveDependencies, + required super.debugGetCreateSourceHash, + required super.from, + required this.jobId, + }) : super.internal(); + + final String jobId; + + @override + Override overrideWith( + Query Function(JobEntriesQueryRef provider) create, + ) { + return ProviderOverride( + origin: this, + override: JobEntriesQueryProvider._internal( + (ref) => create(ref as JobEntriesQueryRef), + from: from, + name: null, + dependencies: null, + allTransitiveDependencies: null, + debugGetCreateSourceHash: null, + jobId: jobId, + ), + ); + } + + @override + AutoDisposeProviderElement> createElement() { + return _JobEntriesQueryProviderElement(this); + } + + @override + bool operator ==(Object other) { + return other is JobEntriesQueryProvider && other.jobId == jobId; + } + + @override + int get hashCode { + var hash = _SystemHash.combine(0, runtimeType.hashCode); + hash = _SystemHash.combine(hash, jobId.hashCode); + + return _SystemHash.finish(hash); + } +} + +@Deprecated('Will be removed in 3.0. Use Ref instead') +// ignore: unused_element +mixin JobEntriesQueryRef on AutoDisposeProviderRef> { + /// The parameter `jobId` of this provider. + String get jobId; +} + +class _JobEntriesQueryProviderElement + extends AutoDisposeProviderElement> with JobEntriesQueryRef { + _JobEntriesQueryProviderElement(super.provider); + + @override + String get jobId => (origin as JobEntriesQueryProvider).jobId; +} +// ignore_for_file: type=lint +// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member, deprecated_member_use_from_same_package diff --git a/lib/src/features/entries/presentation/entry_screen/entry_screen_controller.g.dart b/lib/src/features/entries/presentation/entry_screen/entry_screen_controller.g.dart index 4eea11b5..5cac5ddc 100644 --- a/lib/src/features/entries/presentation/entry_screen/entry_screen_controller.g.dart +++ b/lib/src/features/entries/presentation/entry_screen/entry_screen_controller.g.dart @@ -24,4 +24,4 @@ final entryScreenControllerProvider = typedef _$EntryScreenController = AutoDisposeAsyncNotifier; // ignore_for_file: type=lint -// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member +// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member, deprecated_member_use_from_same_package diff --git a/lib/src/features/jobs/data/jobs_repository.dart b/lib/src/features/jobs/data/jobs_repository.dart index 1347896b..1de2e70a 100644 --- a/lib/src/features/jobs/data/jobs_repository.dart +++ b/lib/src/features/jobs/data/jobs_repository.dart @@ -1,6 +1,7 @@ import 'dart:async'; import 'package:cloud_firestore/cloud_firestore.dart'; +import 'package:riverpod/riverpod.dart'; import 'package:riverpod_annotation/riverpod_annotation.dart'; import 'package:starter_architecture_flutter_firebase/src/features/authentication/data/firebase_auth_repository.dart'; import 'package:starter_architecture_flutter_firebase/src/features/authentication/domain/app_user.dart'; @@ -78,12 +79,12 @@ class JobsRepository { } @Riverpod(keepAlive: true) -JobsRepository jobsRepository(JobsRepositoryRef ref) { +JobsRepository jobsRepository(Ref ref) { return JobsRepository(FirebaseFirestore.instance); } @riverpod -Query jobsQuery(JobsQueryRef ref) { +Query jobsQuery(Ref ref) { final user = ref.watch(firebaseAuthProvider).currentUser; if (user == null) { throw AssertionError('User can\'t be null'); @@ -93,7 +94,7 @@ Query jobsQuery(JobsQueryRef ref) { } @riverpod -Stream jobStream(JobStreamRef ref, JobID jobId) { +Stream jobStream(Ref ref, JobID jobId) { final user = ref.watch(firebaseAuthProvider).currentUser; if (user == null) { throw AssertionError('User can\'t be null'); diff --git a/lib/src/features/jobs/data/jobs_repository.g.dart b/lib/src/features/jobs/data/jobs_repository.g.dart index c1bfb42b..446d355e 100644 --- a/lib/src/features/jobs/data/jobs_repository.g.dart +++ b/lib/src/features/jobs/data/jobs_repository.g.dart @@ -6,7 +6,7 @@ part of 'jobs_repository.dart'; // RiverpodGenerator // ************************************************************************** -String _$jobsRepositoryHash() => r'99834710b25b2229bf6bd85bb1e522bfb2b61d5b'; +String _$jobsRepositoryHash() => r'38b37bbcb0ced4ca0754f549ebbe9384bc2bda31'; /// See also [jobsRepository]. @ProviderFor(jobsRepository) @@ -20,8 +20,10 @@ final jobsRepositoryProvider = Provider.internal( allTransitiveDependencies: null, ); +@Deprecated('Will be removed in 3.0. Use Ref instead') +// ignore: unused_element typedef JobsRepositoryRef = ProviderRef; -String _$jobsQueryHash() => r'46482866aecb8be7e41fd6bdb0e2d5a6a87fc350'; +String _$jobsQueryHash() => r'aeaccb50f75b9e5bc97b07443935ffd432dba51a'; /// See also [jobsQuery]. @ProviderFor(jobsQuery) @@ -34,8 +36,10 @@ final jobsQueryProvider = AutoDisposeProvider>.internal( allTransitiveDependencies: null, ); +@Deprecated('Will be removed in 3.0. Use Ref instead') +// ignore: unused_element typedef JobsQueryRef = AutoDisposeProviderRef>; -String _$jobStreamHash() => r'72fc86cf080cd4a6bdb2da9f13ff81efb312521e'; +String _$jobStreamHash() => r'0713110998fd87210993baf69e4d9cf722a73031'; /// Copied from Dart SDK class _SystemHash { @@ -170,6 +174,8 @@ class JobStreamProvider extends AutoDisposeStreamProvider { } } +@Deprecated('Will be removed in 3.0. Use Ref instead') +// ignore: unused_element mixin JobStreamRef on AutoDisposeStreamProviderRef { /// The parameter `jobId` of this provider. String get jobId; @@ -183,4 +189,4 @@ class _JobStreamProviderElement extends AutoDisposeStreamProviderElement String get jobId => (origin as JobStreamProvider).jobId; } // ignore_for_file: type=lint -// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member +// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member, deprecated_member_use_from_same_package diff --git a/lib/src/features/jobs/presentation/edit_job_screen/edit_job_screen_controller.g.dart b/lib/src/features/jobs/presentation/edit_job_screen/edit_job_screen_controller.g.dart index 775f9d7c..4a7ae1f3 100644 --- a/lib/src/features/jobs/presentation/edit_job_screen/edit_job_screen_controller.g.dart +++ b/lib/src/features/jobs/presentation/edit_job_screen/edit_job_screen_controller.g.dart @@ -24,4 +24,4 @@ final editJobScreenControllerProvider = typedef _$EditJobScreenController = AutoDisposeAsyncNotifier; // ignore_for_file: type=lint -// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member +// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member, deprecated_member_use_from_same_package diff --git a/lib/src/features/jobs/presentation/job_entries_screen/job_entries_list_controller.g.dart b/lib/src/features/jobs/presentation/job_entries_screen/job_entries_list_controller.g.dart index 608608e5..09cce2bf 100644 --- a/lib/src/features/jobs/presentation/job_entries_screen/job_entries_list_controller.g.dart +++ b/lib/src/features/jobs/presentation/job_entries_screen/job_entries_list_controller.g.dart @@ -24,4 +24,4 @@ final jobsEntriesListControllerProvider = typedef _$JobsEntriesListController = AutoDisposeAsyncNotifier; // ignore_for_file: type=lint -// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member +// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member, deprecated_member_use_from_same_package diff --git a/lib/src/features/jobs/presentation/jobs_screen/jobs_screen_controller.g.dart b/lib/src/features/jobs/presentation/jobs_screen/jobs_screen_controller.g.dart index ade570c8..5f8db94a 100644 --- a/lib/src/features/jobs/presentation/jobs_screen/jobs_screen_controller.g.dart +++ b/lib/src/features/jobs/presentation/jobs_screen/jobs_screen_controller.g.dart @@ -24,4 +24,4 @@ final jobsScreenControllerProvider = typedef _$JobsScreenController = AutoDisposeAsyncNotifier; // ignore_for_file: type=lint -// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member +// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member, deprecated_member_use_from_same_package diff --git a/lib/src/features/onboarding/data/onboarding_repository.dart b/lib/src/features/onboarding/data/onboarding_repository.dart index 0e8e4133..d7fb71d9 100644 --- a/lib/src/features/onboarding/data/onboarding_repository.dart +++ b/lib/src/features/onboarding/data/onboarding_repository.dart @@ -1,3 +1,4 @@ +import 'package:riverpod/riverpod.dart'; import 'package:riverpod_annotation/riverpod_annotation.dart'; import 'package:shared_preferences/shared_preferences.dart'; @@ -19,6 +20,6 @@ class OnboardingRepository { @Riverpod(keepAlive: true) Future onboardingRepository( - OnboardingRepositoryRef ref) async { + Ref ref) async { return OnboardingRepository(await SharedPreferences.getInstance()); } diff --git a/lib/src/features/onboarding/data/onboarding_repository.g.dart b/lib/src/features/onboarding/data/onboarding_repository.g.dart index 9aadad45..cdd0e058 100644 --- a/lib/src/features/onboarding/data/onboarding_repository.g.dart +++ b/lib/src/features/onboarding/data/onboarding_repository.g.dart @@ -7,7 +7,7 @@ part of 'onboarding_repository.dart'; // ************************************************************************** String _$onboardingRepositoryHash() => - r'c622db9cad2e44cd70e29693d5653c6b22f36b56'; + r'82b5e5e6874b171be6d6149d9d6c6c4f2f456afd'; /// See also [onboardingRepository]. @ProviderFor(onboardingRepository) @@ -22,6 +22,8 @@ final onboardingRepositoryProvider = allTransitiveDependencies: null, ); +@Deprecated('Will be removed in 3.0. Use Ref instead') +// ignore: unused_element typedef OnboardingRepositoryRef = FutureProviderRef; // ignore_for_file: type=lint -// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member +// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member, deprecated_member_use_from_same_package diff --git a/lib/src/features/onboarding/presentation/onboarding_controller.g.dart b/lib/src/features/onboarding/presentation/onboarding_controller.g.dart index e412ba81..441fe941 100644 --- a/lib/src/features/onboarding/presentation/onboarding_controller.g.dart +++ b/lib/src/features/onboarding/presentation/onboarding_controller.g.dart @@ -24,4 +24,4 @@ final onboardingControllerProvider = typedef _$OnboardingController = AutoDisposeAsyncNotifier; // ignore_for_file: type=lint -// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member +// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member, deprecated_member_use_from_same_package diff --git a/lib/src/routing/app_router.dart b/lib/src/routing/app_router.dart index b9e29995..6cec69aa 100644 --- a/lib/src/routing/app_router.dart +++ b/lib/src/routing/app_router.dart @@ -1,4 +1,5 @@ import 'package:flutter/material.dart'; +import 'package:riverpod/riverpod.dart'; import 'package:riverpod_annotation/riverpod_annotation.dart'; import 'package:starter_architecture_flutter_firebase/src/routing/app_startup.dart'; import 'package:starter_architecture_flutter_firebase/src/features/authentication/data/firebase_auth_repository.dart'; @@ -41,7 +42,7 @@ enum AppRoute { } @riverpod -GoRouter goRouter(GoRouterRef ref) { +GoRouter goRouter(Ref ref) { // rebuild GoRouter when app startup state changes final appStartupState = ref.watch(appStartupProvider); final authRepository = ref.watch(authRepositoryProvider); diff --git a/lib/src/routing/app_router.g.dart b/lib/src/routing/app_router.g.dart index 75aa9be6..9e8faa5f 100644 --- a/lib/src/routing/app_router.g.dart +++ b/lib/src/routing/app_router.g.dart @@ -6,7 +6,7 @@ part of 'app_router.dart'; // RiverpodGenerator // ************************************************************************** -String _$goRouterHash() => r'3e0521496632ca0a69f0f6658ba74bff70cd6629'; +String _$goRouterHash() => r'ef0a5ec8f23a0968d458bf792d45db5cd2103913'; /// See also [goRouter]. @ProviderFor(goRouter) @@ -19,6 +19,8 @@ final goRouterProvider = AutoDisposeProvider.internal( allTransitiveDependencies: null, ); +@Deprecated('Will be removed in 3.0. Use Ref instead') +// ignore: unused_element typedef GoRouterRef = AutoDisposeProviderRef; // ignore_for_file: type=lint -// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member +// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member, deprecated_member_use_from_same_package diff --git a/lib/src/routing/app_startup.dart b/lib/src/routing/app_startup.dart index 11cd4721..16c09d39 100644 --- a/lib/src/routing/app_startup.dart +++ b/lib/src/routing/app_startup.dart @@ -8,7 +8,7 @@ part 'app_startup.g.dart'; // https://codewithandrea.com/articles/robust-app-initialization-riverpod/ @Riverpod(keepAlive: true) -Future appStartup(AppStartupRef ref) async { +Future appStartup(Ref ref) async { ref.onDispose(() { // ensure dependent providers are disposed as well ref.invalidate(onboardingRepositoryProvider); diff --git a/lib/src/routing/app_startup.g.dart b/lib/src/routing/app_startup.g.dart index b2f72cbe..4f07aae2 100644 --- a/lib/src/routing/app_startup.g.dart +++ b/lib/src/routing/app_startup.g.dart @@ -6,7 +6,7 @@ part of 'app_startup.dart'; // RiverpodGenerator // ************************************************************************** -String _$appStartupHash() => r'3bf56eca0f1cd6b6760eb62ce3ffdd5136af96b2'; +String _$appStartupHash() => r'e4ee7c8520e85c205f71d32783e8c8f4809ea3a6'; /// See also [appStartup]. @ProviderFor(appStartup) @@ -19,6 +19,8 @@ final appStartupProvider = FutureProvider.internal( allTransitiveDependencies: null, ); +@Deprecated('Will be removed in 3.0. Use Ref instead') +// ignore: unused_element typedef AppStartupRef = FutureProviderRef; // ignore_for_file: type=lint -// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member +// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member, deprecated_member_use_from_same_package diff --git a/lib/src/utils/alert_dialogs.dart b/lib/src/utils/alert_dialogs.dart index 6c26926c..defad374 100644 --- a/lib/src/utils/alert_dialogs.dart +++ b/lib/src/utils/alert_dialogs.dart @@ -1,5 +1,3 @@ -library alert_dialogs; - import 'dart:io'; import 'package:flutter/cupertino.dart'; diff --git a/macos/Podfile b/macos/Podfile index bf4565c5..dedcc310 100644 --- a/macos/Podfile +++ b/macos/Podfile @@ -1,4 +1,4 @@ -platform :osx, '10.14' +platform :osx, '12.0' # CocoaPods analytics sends network stats synchronously affecting flutter build latency. ENV['COCOAPODS_DISABLE_STATS'] = 'true' @@ -27,7 +27,7 @@ require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelpe flutter_macos_podfile_setup target 'Runner' do - pod 'FirebaseFirestore', :git => 'https://github.com/invertase/firestore-ios-sdk-frameworks.git', :tag => '10.18.0' + pod 'FirebaseFirestore', :git => 'https://github.com/invertase/firestore-ios-sdk-frameworks.git', :tag => '11.4.0' use_frameworks! use_modular_headers! diff --git a/macos/Podfile.lock b/macos/Podfile.lock index 5cb8829f..ff2c8881 100644 --- a/macos/Podfile.lock +++ b/macos/Podfile.lock @@ -1,73 +1,97 @@ PODS: - - cloud_firestore (4.14.0): - - Firebase/CoreOnly (~> 10.18.0) - - Firebase/Firestore (~> 10.18.0) + - cloud_firestore (5.5.0): + - Firebase/CoreOnly (~> 11.4.0) + - Firebase/Firestore (~> 11.4.0) - firebase_core - FlutterMacOS - - nanopb (< 2.30910.0, >= 2.30908.0) - desktop_webview_auth (0.0.1): - FlutterMacOS - - Firebase/Auth (10.18.0): + - Firebase/Auth (11.4.0): - Firebase/CoreOnly - - FirebaseAuth (~> 10.18.0) - - Firebase/CoreOnly (10.18.0): - - FirebaseCore (= 10.18.0) - - Firebase/Firestore (10.18.0): + - FirebaseAuth (~> 11.4.0) + - Firebase/CoreOnly (11.4.0): + - FirebaseCore (= 11.4.0) + - Firebase/Firestore (11.4.0): - Firebase/CoreOnly - - FirebaseFirestore (~> 10.18.0) - - firebase_auth (4.16.0): - - Firebase/Auth (~> 10.18.0) - - Firebase/CoreOnly (~> 10.18.0) + - FirebaseFirestore (~> 11.4.0) + - firebase_auth (5.3.3): + - Firebase/Auth (~> 11.4.0) + - Firebase/CoreOnly (~> 11.4.0) - firebase_core - FlutterMacOS - - firebase_core (2.24.2): - - Firebase/CoreOnly (~> 10.18.0) + - firebase_core (3.8.0): + - Firebase/CoreOnly (~> 11.4.0) - FlutterMacOS - - FirebaseAppCheckInterop (10.19.0) - - FirebaseAuth (10.18.0): - - FirebaseAppCheckInterop (~> 10.17) - - FirebaseCore (~> 10.0) - - GoogleUtilities/AppDelegateSwizzler (~> 7.8) - - GoogleUtilities/Environment (~> 7.8) - - GTMSessionFetcher/Core (< 4.0, >= 2.1) + - FirebaseAppCheckInterop (11.5.0) + - FirebaseAuth (11.4.0): + - FirebaseAppCheckInterop (~> 11.0) + - FirebaseAuthInterop (~> 11.0) + - FirebaseCore (~> 11.4) + - FirebaseCoreExtension (~> 11.4) + - GoogleUtilities/AppDelegateSwizzler (~> 8.0) + - GoogleUtilities/Environment (~> 8.0) + - GTMSessionFetcher/Core (< 5.0, >= 3.4) - RecaptchaInterop (~> 100.0) - - FirebaseCore (10.18.0): - - FirebaseCoreInternal (~> 10.0) - - GoogleUtilities/Environment (~> 7.12) - - GoogleUtilities/Logger (~> 7.12) - - FirebaseCoreInternal (10.19.0): - - "GoogleUtilities/NSData+zlib (~> 7.8)" - - FirebaseFirestore (10.18.0): - - FirebaseFirestore/AutodetectLeveldb (= 10.18.0) - - FirebaseFirestore/AutodetectLeveldb (10.18.0): - - FirebaseFirestore/Base - - FirebaseFirestore/WithLeveldb - - FirebaseFirestore/Base (10.18.0) - - FirebaseFirestore/WithLeveldb (10.18.0): - - FirebaseFirestore/Base + - FirebaseAuthInterop (11.5.0) + - FirebaseCore (11.4.0): + - FirebaseCoreInternal (~> 11.0) + - GoogleUtilities/Environment (~> 8.0) + - GoogleUtilities/Logger (~> 8.0) + - FirebaseCoreExtension (11.4.0): + - FirebaseCore (~> 11.0) + - FirebaseCoreInternal (11.5.0): + - "GoogleUtilities/NSData+zlib (~> 8.0)" + - FirebaseFirestore (11.4.0): + - FirebaseFirestoreBinary (= 11.4.0) + - FirebaseFirestoreAbseilBinary (1.2024011602.0) + - FirebaseFirestoreBinary (11.4.0): + - FirebaseCore (= 11.4.0) + - FirebaseCoreExtension (= 11.4.0) + - FirebaseFirestoreInternalBinary (= 11.4.0) + - FirebaseSharedSwift (= 11.4.0) + - FirebaseFirestoreGRPCBoringSSLBinary (1.65.1) + - FirebaseFirestoreGRPCCoreBinary (1.65.1): + - FirebaseFirestoreAbseilBinary (= 1.2024011602.0) + - FirebaseFirestoreGRPCBoringSSLBinary (= 1.65.1) + - FirebaseFirestoreGRPCCPPBinary (1.65.1): + - FirebaseFirestoreAbseilBinary (= 1.2024011602.0) + - FirebaseFirestoreGRPCCoreBinary (= 1.65.1) + - FirebaseFirestoreInternalBinary (11.4.0): + - FirebaseCore (= 11.4.0) + - FirebaseFirestoreAbseilBinary (= 1.2024011602.0) + - FirebaseFirestoreGRPCCPPBinary (= 1.65.1) + - leveldb-library (~> 1.22) + - nanopb (~> 3.30910.0) + - FirebaseSharedSwift (11.4.0) - FlutterMacOS (1.0.0) - - GoogleUtilities/AppDelegateSwizzler (7.12.0): + - GoogleUtilities/AppDelegateSwizzler (8.0.2): - GoogleUtilities/Environment - GoogleUtilities/Logger - GoogleUtilities/Network - - GoogleUtilities/Environment (7.12.0): - - PromisesObjC (< 3.0, >= 1.2) - - GoogleUtilities/Logger (7.12.0): + - GoogleUtilities/Privacy + - GoogleUtilities/Environment (8.0.2): + - GoogleUtilities/Privacy + - GoogleUtilities/Logger (8.0.2): - GoogleUtilities/Environment - - GoogleUtilities/Network (7.12.0): + - GoogleUtilities/Privacy + - GoogleUtilities/Network (8.0.2): - GoogleUtilities/Logger - "GoogleUtilities/NSData+zlib" + - GoogleUtilities/Privacy - GoogleUtilities/Reachability - - "GoogleUtilities/NSData+zlib (7.12.0)" - - GoogleUtilities/Reachability (7.12.0): + - "GoogleUtilities/NSData+zlib (8.0.2)": + - GoogleUtilities/Privacy + - GoogleUtilities/Privacy (8.0.2) + - GoogleUtilities/Reachability (8.0.2): - GoogleUtilities/Logger - - GTMSessionFetcher/Core (3.2.0) - - nanopb (2.30909.1): - - nanopb/decode (= 2.30909.1) - - nanopb/encode (= 2.30909.1) - - nanopb/decode (2.30909.1) - - nanopb/encode (2.30909.1) - - PromisesObjC (2.3.1) + - GoogleUtilities/Privacy + - GTMSessionFetcher/Core (4.1.0) + - leveldb-library (1.22.6) + - nanopb (3.30910.0): + - nanopb/decode (= 3.30910.0) + - nanopb/encode (= 3.30910.0) + - nanopb/decode (3.30910.0) + - nanopb/encode (3.30910.0) - shared_preferences_foundation (0.0.1): - Flutter - FlutterMacOS @@ -77,7 +101,7 @@ DEPENDENCIES: - desktop_webview_auth (from `Flutter/ephemeral/.symlinks/plugins/desktop_webview_auth/macos`) - firebase_auth (from `Flutter/ephemeral/.symlinks/plugins/firebase_auth/macos`) - firebase_core (from `Flutter/ephemeral/.symlinks/plugins/firebase_core/macos`) - - FirebaseFirestore (from `https://github.com/invertase/firestore-ios-sdk-frameworks.git`, tag `10.18.0`) + - FirebaseFirestore (from `https://github.com/invertase/firestore-ios-sdk-frameworks.git`, tag `11.4.0`) - FlutterMacOS (from `Flutter/ephemeral`) - shared_preferences_foundation (from `Flutter/ephemeral/.symlinks/plugins/shared_preferences_foundation/darwin`) @@ -86,12 +110,21 @@ SPEC REPOS: - Firebase - FirebaseAppCheckInterop - FirebaseAuth + - FirebaseAuthInterop - FirebaseCore + - FirebaseCoreExtension - FirebaseCoreInternal + - FirebaseFirestoreAbseilBinary + - FirebaseFirestoreBinary + - FirebaseFirestoreGRPCBoringSSLBinary + - FirebaseFirestoreGRPCCoreBinary + - FirebaseFirestoreGRPCCPPBinary + - FirebaseFirestoreInternalBinary + - FirebaseSharedSwift - GoogleUtilities - GTMSessionFetcher + - leveldb-library - nanopb - - PromisesObjC EXTERNAL SOURCES: cloud_firestore: @@ -104,7 +137,7 @@ EXTERNAL SOURCES: :path: Flutter/ephemeral/.symlinks/plugins/firebase_core/macos FirebaseFirestore: :git: https://github.com/invertase/firestore-ios-sdk-frameworks.git - :tag: 10.18.0 + :tag: 11.4.0 FlutterMacOS: :path: Flutter/ephemeral shared_preferences_foundation: @@ -113,26 +146,35 @@ EXTERNAL SOURCES: CHECKOUT OPTIONS: FirebaseFirestore: :git: https://github.com/invertase/firestore-ios-sdk-frameworks.git - :tag: 10.18.0 + :tag: 11.4.0 SPEC CHECKSUMS: - cloud_firestore: c24b3cd9294b9e8a94fe8d03b34c5b3339f40204 + cloud_firestore: d85fe469d0b8d5238ea3eb7729e13bf34217a037 desktop_webview_auth: 9bba53a29c9bc6a4ff621fd0ebfbb18856c4dada - Firebase: 414ad272f8d02dfbf12662a9d43f4bba9bec2a06 - firebase_auth: 1d5713117a5a961e90b0bfd7766a7ec89c5a709f - firebase_core: a74ee8b3ab5f91ae6b73f4913eaca996c24458b6 - FirebaseAppCheckInterop: 37884781f3e16a1ba47e7ec80a1e805f987788e3 - FirebaseAuth: 12314b438fa76048540c8fb86d6cfc9e08595176 - FirebaseCore: 2322423314d92f946219c8791674d2f3345b598f - FirebaseCoreInternal: b444828ea7cfd594fca83046b95db98a2be4f290 - FirebaseFirestore: 584e3f563142f63d20e9ec9c505370d674d44eba + Firebase: cf1b19f21410b029b6786a54e9764a0cacad3c99 + firebase_auth: 85ed6c80b24da60af13391f9cdc0e566440b1963 + firebase_core: d95c4a2225d7b6ed46bc31fb2a6f421fc7c8285b + FirebaseAppCheckInterop: d265d9f4484e7ec1c591086408840fdd383d1213 + FirebaseAuth: c359af98bd703cbf4293eec107a40de08ede6ce6 + FirebaseAuthInterop: 1219bee9b23e6ebe84c256a0d95adab53d11c331 + FirebaseCore: e0510f1523bc0eb21653cac00792e1e2bd6f1771 + FirebaseCoreExtension: 4445e4cd877e0790c4af33bedca61eaef27b7513 + FirebaseCoreInternal: f47dd28ae7782e6a4738aad3106071a8fe0af604 + FirebaseFirestore: 97f18b411aaca686a9e94ba742341228643b1a46 + FirebaseFirestoreAbseilBinary: fa2ebd2ed02cadef5382e4f7c93f1b265c812c85 + FirebaseFirestoreBinary: d0380b879b58d663b22467017d0e348d5b17b36b + FirebaseFirestoreGRPCBoringSSLBinary: d86ebbe2adc8d15d7ebf305fff7d6358385327f8 + FirebaseFirestoreGRPCCoreBinary: 472bd808e1886a5efb2fd03dd09b98d34641a335 + FirebaseFirestoreGRPCCPPBinary: db76d83d2b7517623f8426ed7f7a17bad2478084 + FirebaseFirestoreInternalBinary: 01c33a6d789b95dce32dbdfcaf30d60ddf8902d8 + FirebaseSharedSwift: 505dae2d05969dbf6d43749a642bb1bf230f0252 FlutterMacOS: 8f6f14fa908a6fb3fba0cd85dbd81ec4b251fb24 - GoogleUtilities: 0759d1a57ebb953965c2dfe0ba4c82e95ccc2e34 - GTMSessionFetcher: 41b9ef0b4c08a6db4b7eb51a21ae5183ec99a2c8 - nanopb: d4d75c12cd1316f4a64e3c6963f879ecd4b5e0d5 - PromisesObjC: c50d2056b5253dadbd6c2bea79b0674bd5a52fa4 - shared_preferences_foundation: 5b919d13b803cadd15ed2dc053125c68730e5126 + GoogleUtilities: 26a3abef001b6533cf678d3eb38fd3f614b7872d + GTMSessionFetcher: 923b710231ad3d6f3f0495ac1ced35421e07d9a6 + leveldb-library: cc8b8f8e013647a295ad3f8cd2ddf49a6f19be19 + nanopb: fad817b59e0457d11a5dfbde799381cd727c1275 + shared_preferences_foundation: fcdcbc04712aee1108ac7fda236f363274528f78 -PODFILE CHECKSUM: ed25aa82c3d6dc904e5983ebb48866441998f773 +PODFILE CHECKSUM: 6e19c9e5ae5b2f7b4f1efa2a766c71e993f4c4be -COCOAPODS: 1.14.2 +COCOAPODS: 1.16.2 diff --git a/macos/Runner.xcodeproj/project.pbxproj b/macos/Runner.xcodeproj/project.pbxproj index 08af7ab6..74d95dd8 100644 --- a/macos/Runner.xcodeproj/project.pbxproj +++ b/macos/Runner.xcodeproj/project.pbxproj @@ -198,7 +198,6 @@ F5D850A714A1FDE3B89655C2 /* Pods-RunnerTests.release.xcconfig */, 956F465479A0D8247B273A1C /* Pods-RunnerTests.profile.xcconfig */, ); - name = Pods; path = Pods; sourceTree = ""; }; @@ -263,7 +262,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1430; + LastUpgradeCheck = 1510; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { @@ -599,6 +598,7 @@ "$(inherited)", "@executable_path/../Frameworks", ); + MACOSX_DEPLOYMENT_TARGET = 12.4; PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_VERSION = 5.0; }; @@ -727,6 +727,7 @@ "$(inherited)", "@executable_path/../Frameworks", ); + MACOSX_DEPLOYMENT_TARGET = 12.4; PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 5.0; @@ -749,6 +750,7 @@ "$(inherited)", "@executable_path/../Frameworks", ); + MACOSX_DEPLOYMENT_TARGET = 12.4; PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_VERSION = 5.0; }; diff --git a/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index bba88c4c..1a34c70d 100644 --- a/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ Bool { return true diff --git a/pubspec.lock b/pubspec.lock index bf47f555..c3036292 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -5,26 +5,31 @@ packages: dependency: transitive description: name: _fe_analyzer_shared - sha256: "0b2f2bd91ba804e53a61d757b986f89f1f9eaed5b11e4b2f5a2468d86d6c9fc7" + sha256: f256b0c0ba6c7577c15e2e4e114755640a875e885099367bf6e012b19314c834 url: "https://pub.dev" source: hosted - version: "67.0.0" + version: "72.0.0" _flutterfire_internals: dependency: transitive description: name: _flutterfire_internals - sha256: "2350805d7afefb0efe7acd325cb19d3ae8ba4039b906eade3807ffb69938a01f" + sha256: "71c01c1998c40b3af1944ad0a5f374b4e6fef7f3d2df487f3970dbeadaeb25a1" url: "https://pub.dev" source: hosted - version: "1.3.33" + version: "1.3.46" + _macros: + dependency: transitive + description: dart + source: sdk + version: "0.3.2" analyzer: dependency: transitive description: name: analyzer - sha256: "37577842a27e4338429a1cbc32679d508836510b056f1eedf0c8d20e39c1383d" + sha256: b652861553cd3990d8ed361f7979dc6d7053a9ac8843fa73820ab68ce5410139 url: "https://pub.dev" source: hosted - version: "6.4.1" + version: "6.7.0" analyzer_plugin: dependency: transitive description: @@ -37,10 +42,10 @@ packages: dependency: transitive description: name: args - sha256: eef6c46b622e0494a36c5a12d10d77fb4e855501a91c1b9ef9339326e58f0596 + sha256: bf9f5caeea8d8fe6721a9c358dd8a5c1947b27f1cfaa18b39c301273594919e6 url: "https://pub.dev" source: hosted - version: "2.4.2" + version: "2.6.0" async: dependency: transitive description: @@ -77,10 +82,10 @@ packages: dependency: transitive description: name: build_daemon - sha256: "0343061a33da9c5810b2d6cee51945127d8f4c060b7fbdd9d54917f0a3feaaa1" + sha256: "79b2aef6ac2ed00046867ed354c88778c9c0f029df8a20fe10b5436826721ef9" url: "https://pub.dev" source: hosted - version: "4.0.1" + version: "4.0.2" build_resolvers: dependency: transitive description: @@ -93,18 +98,18 @@ packages: dependency: "direct dev" description: name: build_runner - sha256: "1414d6d733a85d8ad2f1dfcb3ea7945759e35a123cb99ccfac75d0758f75edfa" + sha256: "028819cfb90051c6b5440c7e574d1896f8037e3c96cf17aaeb054c9311cfbf4d" url: "https://pub.dev" source: hosted - version: "2.4.10" + version: "2.4.13" build_runner_core: dependency: transitive description: name: build_runner_core - sha256: "4ae8ffe5ac758da294ecf1802f2aff01558d8b1b00616aa7538ea9a8a5d50799" + sha256: f8126682b87a7282a339b871298cc12009cb67109cfa1614d6436fb0289193e0 url: "https://pub.dev" source: hosted - version: "7.3.0" + version: "7.3.2" built_collection: dependency: transitive description: @@ -117,10 +122,10 @@ packages: dependency: transitive description: name: built_value - sha256: fedde275e0a6b798c3296963c5cd224e3e1b55d0e478d5b7e65e6b540f363a0e + sha256: c7913a9737ee4007efedaffc968c049fd0f3d0e49109e778edc10de9426005cb url: "https://pub.dev" source: hosted - version: "8.9.1" + version: "8.9.2" characters: dependency: transitive description: @@ -149,10 +154,10 @@ packages: dependency: transitive description: name: cli_util - sha256: c05b7406fdabc7a49a3929d4af76bcaccbbffcbcdcf185b082e1ae07da323d19 + sha256: ff6785f7e9e3c38ac98b2fb035701789de90154024a75b6cb926445e83197d1c url: "https://pub.dev" source: hosted - version: "0.4.1" + version: "0.4.2" clock: dependency: transitive description: @@ -165,34 +170,34 @@ packages: dependency: "direct main" description: name: cloud_firestore - sha256: e461ea9ab23959102a780efcbccfe33c2ac46269928bc57093bbc0b526afc801 + sha256: d5b73c5f27d95504e45d96e793fe9f9daa62e42b22da85b9f8de4916f46e916d url: "https://pub.dev" source: hosted - version: "4.17.3" + version: "5.5.0" cloud_firestore_platform_interface: dependency: transitive description: name: cloud_firestore_platform_interface - sha256: "2e0b8db9a759ffc71086019f1bd27237e5e888ab1e99c507067ff8616acdfa24" + sha256: "8d5a3a501f3b21638199819ab76709d3b87abc9a565ed611b13a238611cfba27" url: "https://pub.dev" source: hosted - version: "6.2.3" + version: "6.5.0" cloud_firestore_web: dependency: transitive description: name: cloud_firestore_web - sha256: "37b6974bef5b0a7ecd31037ffb7d7bfe6bb9d2ac6c064fbea395411ef0a64d55" + sha256: "24f302e4ffd88ec2891e33f432b53f59ebd072664c5dc804b7fcbc51ea22b4b3" url: "https://pub.dev" source: hosted - version: "3.12.3" + version: "4.3.4" code_builder: dependency: transitive description: name: code_builder - sha256: f692079e25e7869c14132d39f223f8eec9830eb76131925143b2129c4bb01b37 + sha256: "0ec10bf4a89e4c613960bf1e8b42c64127021740fb21640c29c909826a5eea3e" url: "https://pub.dev" source: hosted - version: "4.10.0" + version: "4.10.1" collection: dependency: transitive description: @@ -205,18 +210,18 @@ packages: dependency: transitive description: name: convert - sha256: "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592" + sha256: b30acd5944035672bc15c6b7a8b47d773e41e2f17de064350988c5d02adb1c68 url: "https://pub.dev" source: hosted - version: "3.1.1" + version: "3.1.2" crypto: dependency: transitive description: name: crypto - sha256: ff625774173754681d66daaf4a448684fb04b78f902da9cb3d308c19cc5e8bab + sha256: "1e445881f28f22d6140f181e07737b22f1e099a5e1ff94b0af2f9e4a463f4855" url: "https://pub.dev" source: hosted - version: "3.0.3" + version: "3.0.6" cupertino_icons: dependency: "direct main" description: @@ -229,34 +234,42 @@ packages: dependency: "direct dev" description: name: custom_lint - sha256: "7c0aec12df22f9082146c354692056677f1e70bc43471644d1fdb36c6fdda799" + sha256: "3486c470bb93313a9417f926c7dd694a2e349220992d7b9d14534dc49c15bba9" url: "https://pub.dev" source: hosted - version: "0.6.4" + version: "0.7.0" custom_lint_builder: dependency: transitive description: name: custom_lint_builder - sha256: d7dc41e709dde223806660268678be7993559e523eb3164e2a1425fd6f7615a9 + sha256: "42cdc41994eeeddab0d7a722c7093ec52bd0761921eeb2cbdbf33d192a234759" url: "https://pub.dev" source: hosted - version: "0.6.4" + version: "0.7.0" custom_lint_core: dependency: transitive description: name: custom_lint_core - sha256: a85e8f78f4c52f6c63cdaf8c872eb573db0231dcdf3c3a5906d493c1f8bc20e6 + sha256: "02450c3e45e2a6e8b26c4d16687596ab3c4644dd5792e3313aa9ceba5a49b7f5" url: "https://pub.dev" source: hosted - version: "0.6.3" + version: "0.7.0" + custom_lint_visitor: + dependency: transitive + description: + name: custom_lint_visitor + sha256: "8aeb3b6ae2bb765e7716b93d1d10e8356d04e0ff6d7592de6ee04e0dd7d6587d" + url: "https://pub.dev" + source: hosted + version: "1.0.0+6.7.0" dart_style: dependency: transitive description: name: dart_style - sha256: "99e066ce75c89d6b29903d788a7bb9369cf754f7b24bf70bf4b6d6d6b26853b9" + sha256: "7856d364b589d1f08986e140938578ed36ed948581fbc3bc9aef1805039ac5ab" url: "https://pub.dev" source: hosted - version: "2.3.6" + version: "2.3.7" desktop_webview_auth: dependency: transitive description: @@ -277,10 +290,10 @@ packages: dependency: "direct main" description: name: equatable - sha256: c2b87cb7756efdf69892005af546c56c0b5037f54d2a88269b4f347a505e3ca2 + sha256: "567c64b3cb4cf82397aac55f4f0cbd3ca20d77c6c03bedbc4ceaddc08904aef7" url: "https://pub.dev" source: hosted - version: "2.0.5" + version: "2.0.7" fake_async: dependency: transitive description: @@ -293,114 +306,114 @@ packages: dependency: transitive description: name: ffi - sha256: "493f37e7df1804778ff3a53bd691d8692ddf69702cf4c1c1096a2e41b4779e21" + sha256: "16ed7b077ef01ad6170a3d0c57caa4a112a38d7a2ed5602e0aca9ca6f3d98da6" url: "https://pub.dev" source: hosted - version: "2.1.2" + version: "2.1.3" file: dependency: transitive description: name: file - sha256: "5fc22d7c25582e38ad9a8515372cd9a93834027aacf1801cf01164dac0ffa08c" + sha256: a3b4f84adafef897088c160faf7dfffb7696046cb13ae90b508c2cbc95d3b8d4 url: "https://pub.dev" source: hosted - version: "7.0.0" + version: "7.0.1" firebase_auth: dependency: "direct main" description: name: firebase_auth - sha256: f0a75f61992d036e4c46ad0e9febd364d98aa2c092690a5475cb1421a8243cfe + sha256: "49c356bac95ed234805e3bb928a86d5b21a4d3745d77be53ecf2d61409ddb802" url: "https://pub.dev" source: hosted - version: "4.19.5" + version: "5.3.3" firebase_auth_platform_interface: dependency: transitive description: name: firebase_auth_platform_interface - sha256: feb77258404309ffc7761c78e1c0ad2ed5e4fdc378e035619e2cc13be4397b62 + sha256: "9bc336ce673ea90a9dbdb04f0e9a3e52a32321898dc869cdefe6cc0f0db369ed" url: "https://pub.dev" source: hosted - version: "7.2.6" + version: "7.4.9" firebase_auth_web: dependency: transitive description: name: firebase_auth_web - sha256: "6d527f357da2bf93a67a42b423aa92943104a0c290d1d72ad9a42c779d501cd2" + sha256: "56dcce4293e2a2c648c33ab72c09e888bd0e64cbb1681a32575ec9dc9c2f67f3" url: "https://pub.dev" source: hosted - version: "5.11.5" + version: "5.13.4" firebase_core: dependency: "direct main" description: name: firebase_core - sha256: "372d94ced114b9c40cb85e18c50ac94a7e998c8eec630c50d7aec047847d27bf" + sha256: "2438a75ad803e818ad3bd5df49137ee619c46b6fc7101f4dbc23da07305ce553" url: "https://pub.dev" source: hosted - version: "2.31.0" + version: "3.8.0" firebase_core_platform_interface: dependency: transitive description: name: firebase_core_platform_interface - sha256: c437ae5d17e6b5cc7981cf6fd458a5db4d12979905f9aafd1fea930428a9fe63 + sha256: e30da58198a6d4b49d5bce4e852f985c32cb10db329ebef9473db2b9f09ce810 url: "https://pub.dev" source: hosted - version: "5.0.0" + version: "5.3.0" firebase_core_web: dependency: transitive description: name: firebase_core_web - sha256: "43d9e951ac52b87ae9cc38ecdcca1e8fa7b52a1dd26a96085ba41ce5108db8e9" + sha256: f967a7138f5d2ffb1ce15950e2a382924239eaa521150a8f144af34e68b3b3e5 url: "https://pub.dev" source: hosted - version: "2.17.0" + version: "2.18.1" firebase_dynamic_links: dependency: transitive description: name: firebase_dynamic_links - sha256: "6f8180d1641ba274e241a690cd12d1163fdec75d807aa9daa37c27489e7ad3f7" + sha256: "14ee6860ffe781807a5d87b7bfb8bf744238570a72f5d19401252055b5568df3" url: "https://pub.dev" source: hosted - version: "5.4.18" + version: "6.0.10" firebase_dynamic_links_platform_interface: dependency: transitive description: name: firebase_dynamic_links_platform_interface - sha256: "8b6c1827488fa1af56e9a4834ee9e356c510e35d89d1839761064eabad951cbb" + sha256: "64756e07425445f3282accde3ee340517de4a78c7e101c995a486e15cbcdec1b" url: "https://pub.dev" source: hosted - version: "0.2.6+26" + version: "0.2.6+46" firebase_ui_auth: dependency: "direct main" description: name: firebase_ui_auth - sha256: "62c3ce9c8da134e0780bf8ed7d7ed91dd2308596ee3cb56fab03eb79f8323479" + sha256: "66fbbd52b608e6647b6454db23cfd612e9e9be9df6fb633f2aa65479bde29b30" url: "https://pub.dev" source: hosted - version: "1.14.0" + version: "1.16.0" firebase_ui_firestore: dependency: "direct main" description: name: firebase_ui_firestore - sha256: "4775cab02e196adb883ff4115c11c2ad535a955447dc8aa73f3b932c700e75df" + sha256: "9492b9f989457a05e21c47d006beb4cef09be1c56d0fe8df7158f9b056be63a9" url: "https://pub.dev" source: hosted - version: "1.6.3" + version: "1.7.0" firebase_ui_localizations: dependency: transitive description: name: firebase_ui_localizations - sha256: "71a3c586565c43dadc058898a0afd8efc5b3a163485a3570b98a0e4555cabec1" + sha256: "7c0d9f59a7f8dfe728019bc7ac5dc85e119f59ec9ede2e01b128b39b8492090b" url: "https://pub.dev" source: hosted - version: "1.11.0" + version: "1.13.0" firebase_ui_oauth: dependency: transitive description: name: firebase_ui_oauth - sha256: b86458b7d403d48d335c2502004bf88f2145d2f0be58b29fba8de28944f7fa91 + sha256: "26fc29107b5ec0c8b1e8a9eb2234f544a5340e87ca4a9741ba2d5ecec0c39e10" url: "https://pub.dev" source: hosted - version: "1.5.2" + version: "1.6.0" firebase_ui_shared: dependency: transitive description: @@ -413,10 +426,10 @@ packages: dependency: transitive description: name: fixnum - sha256: "25517a4deb0c03aa0f32fd12db525856438902d9c16536311e76cdc57b31d7d1" + sha256: b6dc7065e46c974bc7c5f143080a6764ec7a4be6da1285ececdc37be96de53be url: "https://pub.dev" source: hosted - version: "1.1.0" + version: "1.1.1" flutter: dependency: "direct main" description: flutter @@ -426,10 +439,10 @@ packages: dependency: "direct dev" description: name: flutter_lints - sha256: "9e8c3858111da373efc5aa341de011d9bd23e2c5c5e0c62bccf32438e192d7b1" + sha256: "5398f14efa795ffb7a33e9b6a08798b26a180edac4ad7db3f231e40f82ce11e1" url: "https://pub.dev" source: hosted - version: "3.0.2" + version: "5.0.0" flutter_localizations: dependency: transitive description: flutter @@ -439,18 +452,18 @@ packages: dependency: "direct main" description: name: flutter_riverpod - sha256: "0f1974eff5bbe774bf1d870e406fc6f29e3d6f1c46bd9c58e7172ff68a785d7d" + sha256: "9532ee6db4a943a1ed8383072a2e3eeda041db5657cdf6d2acecf3c21ecbe7e1" url: "https://pub.dev" source: hosted - version: "2.5.1" + version: "2.6.1" flutter_svg: dependency: "direct main" description: name: flutter_svg - sha256: "7b4ca6cf3304575fe9c8ec64813c8d02ee41d2afe60bcfe0678bcb5375d596a2" + sha256: "936d9c1c010d3e234d1672574636f3352b4941ca3decaddd3cafaeb9ad49c471" url: "https://pub.dev" source: hosted - version: "2.0.10+1" + version: "2.0.15" flutter_test: dependency: "direct dev" description: flutter @@ -465,18 +478,18 @@ packages: dependency: transitive description: name: freezed_annotation - sha256: c3fd9336eb55a38cc1bbd79ab17573113a8deccd0ecbbf926cca3c62803b5c2d + sha256: c2e2d632dd9b8a2b7751117abcfc2b4888ecfe181bd9fca7170d9ef02e595fe2 url: "https://pub.dev" source: hosted - version: "2.4.1" + version: "2.4.4" frontend_server_client: dependency: transitive description: name: frontend_server_client - sha256: "408e3ca148b31c20282ad6f37ebfa6f4bdc8fede5b74bc2f08d9d92b55db3612" + sha256: f64a0333a82f30b0cca061bc3d143813a486dc086b574bfb233b7c1372427694 url: "https://pub.dev" source: hosted - version: "3.2.0" + version: "4.0.0" glob: dependency: transitive description: @@ -489,18 +502,18 @@ packages: dependency: "direct main" description: name: go_router - sha256: aa073287b8f43553678e6fa9e8bb9c83212ff76e09542129a8099bbc8db4df65 + sha256: "8660b74171fafae4aa8202100fa2e55349e078281dadc73a241eb8e758534d9d" url: "https://pub.dev" source: hosted - version: "14.1.2" + version: "14.6.1" graphs: dependency: transitive description: name: graphs - sha256: aedc5a15e78fc65a6e23bcd927f24c64dd995062bcd1ca6eda65a3cff92a4d19 + sha256: "741bbf84165310a68ff28fe9e727332eef1407342fca52759cb21ad8177bb8d0" url: "https://pub.dev" source: hosted - version: "2.3.1" + version: "2.3.2" hotreloader: dependency: transitive description: @@ -513,10 +526,10 @@ packages: dependency: transitive description: name: http - sha256: "761a297c042deedc1ffbb156d6e2af13886bb305c2a343a4d972504cd67dd938" + sha256: b9c29a161230ee03d3ccf545097fccd9b87a5264228c5d348202e0f0c28f9010 url: "https://pub.dev" source: hosted - version: "1.2.1" + version: "1.2.2" http_multi_server: dependency: transitive description: @@ -553,34 +566,34 @@ packages: dependency: transitive description: name: js - sha256: f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3 + sha256: c1b2e9b5ea78c45e1a0788d29606ba27dc5f71f019f32ca5140f61ef071838cf url: "https://pub.dev" source: hosted - version: "0.6.7" + version: "0.7.1" json_annotation: dependency: transitive description: name: json_annotation - sha256: b10a7b2ff83d83c777edba3c6a0f97045ddadd56c944e1a23a3fdf43a1bf4467 + sha256: "1ce844379ca14835a50d2f019a3099f419082cfdd231cd86a142af94dd5c6bb1" url: "https://pub.dev" source: hosted - version: "4.8.1" + version: "4.9.0" leak_tracker: dependency: transitive description: name: leak_tracker - sha256: "7f0df31977cb2c0b88585095d168e689669a2cc9b97c309665e3386f3e9d341a" + sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05" url: "https://pub.dev" source: hosted - version: "10.0.4" + version: "10.0.5" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: "06e98f569d004c1315b991ded39924b21af84cf14cc94791b8aea337d25b57f8" + sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806" url: "https://pub.dev" source: hosted - version: "3.0.3" + version: "3.0.5" leak_tracker_testing: dependency: transitive description: @@ -593,18 +606,26 @@ packages: dependency: transitive description: name: lints - sha256: cbf8d4b858bb0134ef3ef87841abdf8d63bfc255c266b7bf6b39daa1085c4290 + sha256: "3315600f3fb3b135be672bf4a178c55f274bebe368325ae18462c89ac1e3b413" url: "https://pub.dev" source: hosted - version: "3.0.0" + version: "5.0.0" logging: dependency: transitive description: name: logging - sha256: "623a88c9594aa774443aa3eb2d41807a48486b5613e67599fb4c41c0ad47c340" + sha256: c8245ada5f1717ed44271ed1c26b8ce85ca3228fd2ffdb75468ab01979309d61 url: "https://pub.dev" source: hosted - version: "1.2.0" + version: "1.3.0" + macros: + dependency: transitive + description: + name: macros + sha256: "0acaed5d6b7eab89f63350bccd82119e6c602df0f391260d0e32b5e23db79536" + url: "https://pub.dev" + source: hosted + version: "0.1.2-main.4" matcher: dependency: transitive description: @@ -617,34 +638,34 @@ packages: dependency: transitive description: name: material_color_utilities - sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a" + sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec url: "https://pub.dev" source: hosted - version: "0.8.0" + version: "0.11.1" meta: dependency: transitive description: name: meta - sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136" + sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7 url: "https://pub.dev" source: hosted - version: "1.12.0" + version: "1.15.0" mime: dependency: transitive description: name: mime - sha256: "2e123074287cc9fd6c09de8336dae606d1ddb88d9ac47358826db698c176a1f2" + sha256: "41a20518f0cb1256669420fdba0cd90d21561e560ac240f26ef8322e45bb7ed6" url: "https://pub.dev" source: hosted - version: "1.0.5" + version: "2.0.0" mocktail: dependency: "direct dev" description: name: mocktail - sha256: c4b5007d91ca4f67256e720cb1b6d704e79a510183a12fa551021f652577dce6 + sha256: "890df3f9688106f25755f26b1c60589a92b3ab91a22b8b224947ad041bf172d8" url: "https://pub.dev" source: hosted - version: "1.0.3" + version: "1.0.4" package_config: dependency: transitive description: @@ -665,10 +686,10 @@ packages: dependency: transitive description: name: path_parsing - sha256: e3e67b1629e6f7e8100b367d3db6ba6af4b1f0bb80f64db18ef1fbabd2fa9ccf + sha256: "883402936929eac138ee0a45da5b0f2c80f89913e6dc3bf77eb65b84b409c6ca" url: "https://pub.dev" source: hosted - version: "1.0.1" + version: "1.1.0" path_provider_linux: dependency: transitive description: @@ -689,10 +710,10 @@ packages: dependency: transitive description: name: path_provider_windows - sha256: "8bc9f22eee8690981c22aa7fc602f5c85b497a6fb2ceb35ee5a5e5ed85ad8170" + sha256: bd6f00dbd873bfb70d0761682da2b3a2c2fccc2b9e84c495821639601d81afe7 url: "https://pub.dev" source: hosted - version: "2.2.1" + version: "2.3.0" petitparser: dependency: transitive description: @@ -705,10 +726,10 @@ packages: dependency: transitive description: name: platform - sha256: "12220bb4b65720483f8fa9450b4332347737cf8213dd2840d8b2c823e47243ec" + sha256: "5d6b1b0036a5f331ebc77c850ebc8506cbc1e9416c27e59b439f917a902a4984" url: "https://pub.dev" source: hosted - version: "3.1.4" + version: "3.1.6" plugin_platform_interface: dependency: transitive description: @@ -737,10 +758,10 @@ packages: dependency: transitive description: name: pubspec_parse - sha256: c63b2876e58e194e4b0828fcb080ad0e06d051cb607a6be51a9e084f47cb9367 + sha256: c799b721d79eb6ee6fa56f00c04b472dcd44a30d258fac2174a6ec57302678f8 url: "https://pub.dev" source: hosted - version: "1.2.3" + version: "1.3.0" random_string: dependency: "direct dev" description: @@ -750,109 +771,109 @@ packages: source: hosted version: "2.3.1" riverpod: - dependency: transitive + dependency: "direct main" description: name: riverpod - sha256: f21b32ffd26a36555e501b04f4a5dca43ed59e16343f1a30c13632b2351dfa4d + sha256: "59062512288d3056b2321804332a13ffdd1bf16df70dcc8e506e411280a72959" url: "https://pub.dev" source: hosted - version: "2.5.1" + version: "2.6.1" riverpod_analyzer_utils: dependency: transitive description: name: riverpod_analyzer_utils - sha256: "8b71f03fc47ae27d13769496a1746332df4cec43918aeba9aff1e232783a780f" + sha256: c6b8222b2b483cb87ae77ad147d6408f400c64f060df7a225b127f4afef4f8c8 url: "https://pub.dev" source: hosted - version: "0.5.1" + version: "0.5.8" riverpod_annotation: dependency: "direct main" description: name: riverpod_annotation - sha256: e5e796c0eba4030c704e9dae1b834a6541814963292839dcf9638d53eba84f5c + sha256: e14b0bf45b71326654e2705d462f21b958f987087be850afd60578fcd502d1b8 url: "https://pub.dev" source: hosted - version: "2.3.5" + version: "2.6.1" riverpod_generator: dependency: "direct dev" description: name: riverpod_generator - sha256: d451608bf17a372025fc36058863737636625dfdb7e3cbf6142e0dfeb366ab22 + sha256: "63546d70952015f0981361636bf8f356d9cfd9d7f6f0815e3c07789a41233188" url: "https://pub.dev" source: hosted - version: "2.4.0" + version: "2.6.3" riverpod_lint: dependency: "direct dev" description: name: riverpod_lint - sha256: "3c67c14ccd16f0c9d53e35ef70d06cd9d072e2fb14557326886bbde903b230a5" + sha256: "83e4caa337a9840469b7b9bd8c2351ce85abad80f570d84146911b32086fbd99" url: "https://pub.dev" source: hosted - version: "2.3.10" + version: "2.6.3" rxdart: dependency: "direct main" description: name: rxdart - sha256: "0c7c0cedd93788d996e33041ffecda924cc54389199cde4e6a34b440f50044cb" + sha256: "5c3004a4a8dbb94bd4bf5412a4def4acdaa12e12f269737a5751369e12d1a962" url: "https://pub.dev" source: hosted - version: "0.27.7" + version: "0.28.0" shared_preferences: dependency: "direct main" description: name: shared_preferences - sha256: d3bbe5553a986e83980916ded2f0b435ef2e1893dfaa29d5a7a790d0eca12180 + sha256: "95f9997ca1fb9799d494d0cb2a780fd7be075818d59f00c43832ed112b158a82" url: "https://pub.dev" source: hosted - version: "2.2.3" + version: "2.3.3" shared_preferences_android: dependency: transitive description: name: shared_preferences_android - sha256: "8568a389334b6e83415b6aae55378e158fbc2314e074983362d20c562780fb06" + sha256: "3b9febd815c9ca29c9e3520d50ec32f49157711e143b7a4ca039eb87e8ade5ab" url: "https://pub.dev" source: hosted - version: "2.2.1" + version: "2.3.3" shared_preferences_foundation: dependency: transitive description: name: shared_preferences_foundation - sha256: "7708d83064f38060c7b39db12aefe449cb8cdc031d6062280087bc4cdb988f5c" + sha256: "07e050c7cd39bad516f8d64c455f04508d09df104be326d8c02551590a0d513d" url: "https://pub.dev" source: hosted - version: "2.3.5" + version: "2.5.3" shared_preferences_linux: dependency: transitive description: name: shared_preferences_linux - sha256: "9f2cbcf46d4270ea8be39fa156d86379077c8a5228d9dfdb1164ae0bb93f1faa" + sha256: "580abfd40f415611503cae30adf626e6656dfb2f0cee8f465ece7b6defb40f2f" url: "https://pub.dev" source: hosted - version: "2.3.2" + version: "2.4.1" shared_preferences_platform_interface: dependency: transitive description: name: shared_preferences_platform_interface - sha256: "22e2ecac9419b4246d7c22bfbbda589e3acf5c0351137d87dd2939d984d37c3b" + sha256: "57cbf196c486bc2cf1f02b85784932c6094376284b3ad5779d1b1c6c6a816b80" url: "https://pub.dev" source: hosted - version: "2.3.2" + version: "2.4.1" shared_preferences_web: dependency: transitive description: name: shared_preferences_web - sha256: "9aee1089b36bd2aafe06582b7d7817fd317ef05fc30e6ba14bff247d0933042a" + sha256: d2ca4132d3946fec2184261726b355836a82c33d7d5b67af32692aff18a4684e url: "https://pub.dev" source: hosted - version: "2.3.0" + version: "2.4.2" shared_preferences_windows: dependency: transitive description: name: shared_preferences_windows - sha256: "841ad54f3c8381c480d0c9b508b89a34036f512482c407e6df7a9c4aa2ef8f59" + sha256: "94ef0f72b2d71bc3e700e025db3710911bd51a71cefb65cc609dd0d9a982e3c1" url: "https://pub.dev" source: hosted - version: "2.3.2" + version: "2.4.1" shelf: dependency: transitive description: @@ -865,10 +886,10 @@ packages: dependency: transitive description: name: shelf_web_socket - sha256: "9ca081be41c60190ebcb4766b2486a7d50261db7bd0f5d9615f2d653637a84c1" + sha256: cc36c297b52866d203dbf9332263c94becc2fe0ceaa9681d07b6ef9807023b67 url: "https://pub.dev" source: hosted - version: "1.0.4" + version: "2.0.1" sky_engine: dependency: transitive description: flutter @@ -950,10 +971,10 @@ packages: dependency: transitive description: name: test_api - sha256: "9955ae474176f7ac8ee4e989dadfb411a58c30415bcfb648fa04b2b8a03afa7f" + sha256: "5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb" url: "https://pub.dev" source: hosted - version: "0.7.0" + version: "0.7.2" timing: dependency: transitive description: @@ -966,42 +987,42 @@ packages: dependency: transitive description: name: typed_data - sha256: facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c + sha256: f9049c039ebfeb4cf7a7104a675823cd72dba8297f264b6637062516699fa006 url: "https://pub.dev" source: hosted - version: "1.3.2" + version: "1.4.0" uuid: dependency: transitive description: name: uuid - sha256: cd210a09f7c18cbe5a02511718e0334de6559871052c90a90c0cca46a4aa81c8 + sha256: a5be9ef6618a7ac1e964353ef476418026db906c4facdedaa299b7a2e71690ff url: "https://pub.dev" source: hosted - version: "4.3.3" + version: "4.5.1" vector_graphics: dependency: transitive description: name: vector_graphics - sha256: "32c3c684e02f9bc0afb0ae0aa653337a2fe022e8ab064bcd7ffda27a74e288e3" + sha256: "27d5fefe86fb9aace4a9f8375b56b3c292b64d8c04510df230f849850d912cb7" url: "https://pub.dev" source: hosted - version: "1.1.11+1" + version: "1.1.15" vector_graphics_codec: dependency: transitive description: name: vector_graphics_codec - sha256: c86987475f162fadff579e7320c7ddda04cd2fdeffbe1129227a85d9ac9e03da + sha256: "2430b973a4ca3c4dbc9999b62b8c719a160100dcbae5c819bae0cacce32c9cdb" url: "https://pub.dev" source: hosted - version: "1.1.11+1" + version: "1.1.12" vector_graphics_compiler: dependency: transitive description: name: vector_graphics_compiler - sha256: "12faff3f73b1741a36ca7e31b292ddeb629af819ca9efe9953b70bd63fc8cd81" + sha256: "1b4b9e706a10294258727674a340ae0d6e64a7231980f9f9a3d12e4b42407aad" url: "https://pub.dev" source: hosted - version: "1.1.11+1" + version: "1.1.16" vector_math: dependency: transitive description: @@ -1014,10 +1035,10 @@ packages: dependency: transitive description: name: vm_service - sha256: "3923c89304b715fb1eb6423f017651664a03bf5f4b29983627c4da791f74a4ec" + sha256: "5c5f338a667b4c644744b661f309fb8080bb94b18a7e91ef1dbd343bed00ed6d" url: "https://pub.dev" source: hosted - version: "14.2.1" + version: "14.2.5" watcher: dependency: transitive description: @@ -1030,34 +1051,34 @@ packages: dependency: transitive description: name: web - sha256: "97da13628db363c635202ad97068d47c5b8aa555808e7a9411963c533b449b27" + sha256: cd3543bd5798f6ad290ea73d210f423502e71900302dde696f8bff84bf89a1cb url: "https://pub.dev" source: hosted - version: "0.5.1" - web_socket_channel: + version: "1.1.0" + web_socket: dependency: transitive description: - name: web_socket_channel - sha256: "1d8e795e2a8b3730c41b8a98a2dff2e0fb57ae6f0764a1c46ec5915387d257b2" + name: web_socket + sha256: "3c12d96c0c9a4eec095246debcea7b86c0324f22df69893d538fcc6f1b8cce83" url: "https://pub.dev" source: hosted - version: "2.4.4" - win32: + version: "0.1.6" + web_socket_channel: dependency: transitive description: - name: win32 - sha256: "8cb58b45c47dcb42ab3651533626161d6b67a2921917d8d429791f76972b3480" + name: web_socket_channel + sha256: "9f187088ed104edd8662ca07af4b124465893caf063ba29758f97af57e61da8f" url: "https://pub.dev" source: hosted - version: "5.3.0" + version: "3.0.1" xdg_directories: dependency: transitive description: name: xdg_directories - sha256: faea9dee56b520b55a566385b84f2e8de55e7496104adada9962e0bd11bcff1d + sha256: "7a3f37b05d989967cdddcbb571f1ea834867ae2faa29725fd085180e0883aa15" url: "https://pub.dev" source: hosted - version: "1.0.4" + version: "1.1.0" xml: dependency: transitive description: @@ -1075,5 +1096,5 @@ packages: source: hosted version: "3.1.2" sdks: - dart: ">=3.4.0 <4.0.0" - flutter: ">=3.19.0" + dart: ">=3.5.0 <4.0.0" + flutter: ">=3.24.0" diff --git a/pubspec.yaml b/pubspec.yaml index 3c34eadc..ae86f2e8 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -8,38 +8,39 @@ environment: sdk: ">=3.1.0 <4.0.0" dependencies: - cloud_firestore: ^4.17.3 + cloud_firestore: ^5.5.0 cupertino_icons: ^1.0.8 - equatable: ^2.0.5 - firebase_auth: ^4.19.5 - firebase_core: ^2.31.0 - firebase_ui_auth: ^1.14.0 - firebase_ui_firestore: ^1.6.3 + equatable: ^2.0.7 + firebase_auth: ^5.3.3 + firebase_core: ^3.8.0 + firebase_ui_auth: ^1.16.0 + firebase_ui_firestore: ^1.7.0 flutter: sdk: flutter - flutter_riverpod: ^2.5.1 - flutter_svg: ^2.0.10 - go_router: 14.1.2 + riverpod: ^2.6.1 + flutter_riverpod: ^2.6.1 + flutter_svg: ^2.0.15 + go_router: ^14.6.1 intl: ^0.19.0 - rxdart: ^0.27.7 - shared_preferences: ^2.2.3 + rxdart: ^0.28.0 + shared_preferences: ^2.3.3 # the annotation package containing @riverpod - riverpod_annotation: 2.3.5 + riverpod_annotation: ^2.6.1 dev_dependencies: flutter_test: sdk: flutter - mocktail: ^1.0.3 + mocktail: ^1.0.4 random_string: ^2.3.1 - flutter_lints: ^3.0.2 + flutter_lints: ^5.0.0 # a tool for running code generators - build_runner: ^2.4.10 + build_runner: ^2.4.13 # the code generator - riverpod_generator: 2.4.0 + riverpod_generator: ^2.6.3 # riverpod_lint makes it easier to work with Riverpod - riverpod_lint: 2.3.10 + riverpod_lint: ^2.6.3 # import custom_lint too as riverpod_lint depends on it - custom_lint: 0.6.4 + custom_lint: ^0.7.0 flutter: diff --git a/update-android-project.sh b/update-android-project.sh new file mode 100755 index 00000000..479a1ec3 --- /dev/null +++ b/update-android-project.sh @@ -0,0 +1,62 @@ +#!/bin/bash +# Update Gradle, Java and other Android project settings in a Flutter project + +# See: https://gradle.org/releases/ +DESIRED_GRADLE_VERSION="8.9" +# Build errors often show the required Java version +DESIRED_JAVA_VERSION="17" +# See: https://developer.android.com/ndk/downloads +DESIRED_NDK_VERSION="27.0.12077973" +# The minimum Android SDK version +DESIRED_MIN_SDK_VERSION="24" +# Google Play Stores requires a minimum target SDK version +DESIRED_TARGET_SDK="34" +# This shouldn't be too old, otherwise it won't compile with the DESIRED_GRADLE_VERSION set above +DESIRED_ANDROID_APPLICATION_VERSION="8.7.2" + +# Exit if this is not a Flutter project +if [ ! -f "pubspec.yaml" ]; then + echo "This is not a Flutter project" + exit 1 +fi + +# Exit if the Android directory does not exist +if [ ! -d "android" ]; then + echo "The Android directory does not exist" + exit 1 +fi + +# Navigate to the Android directory +cd android + +# Update Gradle version (if specified) +if [ -n "$DESIRED_GRADLE_VERSION" ]; then + sed -i '' "s/gradle-.*-all.zip/gradle-${DESIRED_GRADLE_VERSION}-all.zip/" gradle/wrapper/gradle-wrapper.properties +fi + +# Update Java version (if specified) +if [ -n "$DESIRED_JAVA_VERSION" ]; then + sed -i '' "s/JavaVersion.VERSION_[0-9_]*/JavaVersion.VERSION_${DESIRED_JAVA_VERSION}/" app/build.gradle +fi + +# Update NDK version (if specified) +if [ -n "$DESIRED_NDK_VERSION" ]; then + sed -i '' "s/ndkVersion = .*/ndkVersion = \"${DESIRED_NDK_VERSION}\"/" app/build.gradle +fi + +# Update minSdk version (if specified) +if [ -n "$DESIRED_MIN_SDK_VERSION" ]; then + sed -i '' "s/minSdk = .*/minSdk = ${DESIRED_MIN_SDK_VERSION}/" app/build.gradle +fi + +# Update targetSdk version (if specified) +if [ -n "$DESIRED_TARGET_SDK" ]; then + sed -i '' "s/targetSdk = .*/targetSdk = ${DESIRED_TARGET_SDK}/" app/build.gradle +fi + +# Update com.android.application version in settings.gradle (if specified) +if [ -n "$DESIRED_ANDROID_APPLICATION_VERSION" ]; then + sed -i '' "s/id \"com.android.application\" version \".*\" apply false/id \"com.android.application\" version \"${DESIRED_ANDROID_APPLICATION_VERSION}\" apply false/" settings.gradle +fi + +echo "Android project updated. Run 'git diff' to see the changes or 'git reset --hard' to discard them."