From 448f0afeec46ce28a6afaa3635998439d53319c9 Mon Sep 17 00:00:00 2001 From: Alexander Nohe Date: Wed, 5 Oct 2022 11:10:50 -0700 Subject: [PATCH 1/3] Update for FirebaseAuthUI --- authentication/android/app/build.gradle | 5 +- .../android/app/src/main/AndroidManifest.xml | 3 +- .../app/FlutterMultiDexApplication.java | 25 + .../app/src/main/res/xml/network_config.xml | 6 + authentication/android/build.gradle | 5 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../ios/Flutter/AppFrameworkInfo.plist | 2 +- authentication/ios/Podfile | 2 +- authentication/ios/Podfile.lock | 823 +++++++++++++++++- authentication/ios/Runner/Info.plist | 2 + authentication/lib/main.dart | 7 +- authentication/lib/src/app.dart | 59 +- authentication/lib/src/home_page.dart | 30 +- authentication/lib/src/login_page.dart | 212 ----- .../Flutter/GeneratedPluginRegistrant.swift | 6 + authentication/pubspec.lock | 207 ++++- authentication/pubspec.yaml | 9 +- .../flutter/generated_plugin_registrant.cc | 3 + .../windows/flutter/generated_plugins.cmake | 9 + crashlytics/pubspec.lock | 31 +- .../windows/flutter/generated_plugins.cmake | 8 + .../windows/flutter/generated_plugins.cmake | 8 + remote_config/pubspec.lock | 31 +- storage/pubspec.lock | 24 +- 24 files changed, 1166 insertions(+), 353 deletions(-) create mode 100644 authentication/android/app/src/main/java/io/flutter/app/FlutterMultiDexApplication.java create mode 100644 authentication/android/app/src/main/res/xml/network_config.xml delete mode 100644 authentication/lib/src/login_page.dart diff --git a/authentication/android/app/build.gradle b/authentication/android/app/build.gradle index b1f2e5f0..2a686f65 100644 --- a/authentication/android/app/build.gradle +++ b/authentication/android/app/build.gradle @@ -22,6 +22,9 @@ if (flutterVersionName == null) { } apply plugin: 'com.android.application' +// START: FlutterFire Configuration +apply plugin: 'com.google.gms.google-services' +// END: FlutterFire Configuration apply plugin: 'kotlin-android' apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" @@ -44,7 +47,7 @@ android { defaultConfig { // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). applicationId "com.example.authentication" - minSdkVersion flutter.minSdkVersion + minSdkVersion 19 targetSdkVersion flutter.targetSdkVersion versionCode flutterVersionCode.toInteger() versionName flutterVersionName diff --git a/authentication/android/app/src/main/AndroidManifest.xml b/authentication/android/app/src/main/AndroidManifest.xml index e89edfa2..6e09d356 100644 --- a/authentication/android/app/src/main/AndroidManifest.xml +++ b/authentication/android/app/src/main/AndroidManifest.xml @@ -3,7 +3,8 @@ + android:icon="@mipmap/ic_launcher" + android:networkSecurityConfig="@xml/network_config"> + + + 10.0.2.2 + + \ No newline at end of file diff --git a/authentication/android/build.gradle b/authentication/android/build.gradle index 4256f917..9192654d 100644 --- a/authentication/android/build.gradle +++ b/authentication/android/build.gradle @@ -6,7 +6,10 @@ buildscript { } dependencies { - classpath 'com.android.tools.build:gradle:4.1.0' + classpath 'com.android.tools.build:gradle:7.1.2' + // START: FlutterFire Configuration + classpath 'com.google.gms:google-services:4.3.10' + // END: FlutterFire Configuration classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } diff --git a/authentication/android/gradle/wrapper/gradle-wrapper.properties b/authentication/android/gradle/wrapper/gradle-wrapper.properties index bc6a58af..cc5527d7 100644 --- a/authentication/android/gradle/wrapper/gradle-wrapper.properties +++ b/authentication/android/gradle/wrapper/gradle-wrapper.properties @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-all.zip diff --git a/authentication/ios/Flutter/AppFrameworkInfo.plist b/authentication/ios/Flutter/AppFrameworkInfo.plist index 8d4492f9..9625e105 100644 --- a/authentication/ios/Flutter/AppFrameworkInfo.plist +++ b/authentication/ios/Flutter/AppFrameworkInfo.plist @@ -21,6 +21,6 @@ CFBundleVersion 1.0 MinimumOSVersion - 9.0 + 11.0 diff --git a/authentication/ios/Podfile b/authentication/ios/Podfile index 9411102b..313ea4a1 100644 --- a/authentication/ios/Podfile +++ b/authentication/ios/Podfile @@ -1,5 +1,5 @@ # Uncomment this line to define a global platform for your project -platform :ios, '10.0' +platform :ios, '11.0' # CocoaPods analytics sends network stats synchronously affecting flutter build latency. ENV['COCOAPODS_DISABLE_STATS'] = 'true' diff --git a/authentication/ios/Podfile.lock b/authentication/ios/Podfile.lock index ed0a92b4..92d3a491 100644 --- a/authentication/ios/Podfile.lock +++ b/authentication/ios/Podfile.lock @@ -1,97 +1,832 @@ PODS: - - Firebase/Auth (8.15.0): + - abseil/algorithm (1.20211102.0): + - abseil/algorithm/algorithm (= 1.20211102.0) + - abseil/algorithm/container (= 1.20211102.0) + - abseil/algorithm/algorithm (1.20211102.0): + - abseil/base/config + - abseil/algorithm/container (1.20211102.0): + - abseil/algorithm/algorithm + - abseil/base/core_headers + - abseil/meta/type_traits + - abseil/base (1.20211102.0): + - abseil/base/atomic_hook (= 1.20211102.0) + - abseil/base/base (= 1.20211102.0) + - abseil/base/base_internal (= 1.20211102.0) + - abseil/base/config (= 1.20211102.0) + - abseil/base/core_headers (= 1.20211102.0) + - abseil/base/dynamic_annotations (= 1.20211102.0) + - abseil/base/endian (= 1.20211102.0) + - abseil/base/errno_saver (= 1.20211102.0) + - abseil/base/fast_type_id (= 1.20211102.0) + - abseil/base/log_severity (= 1.20211102.0) + - abseil/base/malloc_internal (= 1.20211102.0) + - abseil/base/pretty_function (= 1.20211102.0) + - abseil/base/raw_logging_internal (= 1.20211102.0) + - abseil/base/spinlock_wait (= 1.20211102.0) + - abseil/base/strerror (= 1.20211102.0) + - abseil/base/throw_delegate (= 1.20211102.0) + - abseil/base/atomic_hook (1.20211102.0): + - abseil/base/config + - abseil/base/core_headers + - abseil/base/base (1.20211102.0): + - abseil/base/atomic_hook + - abseil/base/base_internal + - abseil/base/config + - abseil/base/core_headers + - abseil/base/dynamic_annotations + - abseil/base/log_severity + - abseil/base/raw_logging_internal + - abseil/base/spinlock_wait + - abseil/meta/type_traits + - abseil/base/base_internal (1.20211102.0): + - abseil/base/config + - abseil/meta/type_traits + - abseil/base/config (1.20211102.0) + - abseil/base/core_headers (1.20211102.0): + - abseil/base/config + - abseil/base/dynamic_annotations (1.20211102.0): + - abseil/base/config + - abseil/base/core_headers + - abseil/base/endian (1.20211102.0): + - abseil/base/base + - abseil/base/config + - abseil/base/core_headers + - abseil/base/errno_saver (1.20211102.0): + - abseil/base/config + - abseil/base/fast_type_id (1.20211102.0): + - abseil/base/config + - abseil/base/log_severity (1.20211102.0): + - abseil/base/config + - abseil/base/core_headers + - abseil/base/malloc_internal (1.20211102.0): + - abseil/base/base + - abseil/base/base_internal + - abseil/base/config + - abseil/base/core_headers + - abseil/base/dynamic_annotations + - abseil/base/raw_logging_internal + - abseil/base/pretty_function (1.20211102.0) + - abseil/base/raw_logging_internal (1.20211102.0): + - abseil/base/atomic_hook + - abseil/base/config + - abseil/base/core_headers + - abseil/base/log_severity + - abseil/base/spinlock_wait (1.20211102.0): + - abseil/base/base_internal + - abseil/base/core_headers + - abseil/base/errno_saver + - abseil/base/strerror (1.20211102.0): + - abseil/base/config + - abseil/base/core_headers + - abseil/base/errno_saver + - abseil/base/throw_delegate (1.20211102.0): + - abseil/base/config + - abseil/base/raw_logging_internal + - abseil/container/common (1.20211102.0): + - abseil/meta/type_traits + - abseil/types/optional + - abseil/container/compressed_tuple (1.20211102.0): + - abseil/utility/utility + - abseil/container/container_memory (1.20211102.0): + - abseil/base/config + - abseil/memory/memory + - abseil/meta/type_traits + - abseil/utility/utility + - abseil/container/fixed_array (1.20211102.0): + - abseil/algorithm/algorithm + - abseil/base/config + - abseil/base/core_headers + - abseil/base/dynamic_annotations + - abseil/base/throw_delegate + - abseil/container/compressed_tuple + - abseil/memory/memory + - abseil/container/flat_hash_map (1.20211102.0): + - abseil/algorithm/container + - abseil/container/container_memory + - abseil/container/hash_function_defaults + - abseil/container/raw_hash_map + - abseil/memory/memory + - abseil/container/hash_function_defaults (1.20211102.0): + - abseil/base/config + - abseil/hash/hash + - abseil/strings/cord + - abseil/strings/strings + - abseil/container/hash_policy_traits (1.20211102.0): + - abseil/meta/type_traits + - abseil/container/hashtable_debug_hooks (1.20211102.0): + - abseil/base/config + - abseil/container/hashtablez_sampler (1.20211102.0): + - abseil/base/base + - abseil/base/core_headers + - abseil/container/have_sse + - abseil/debugging/stacktrace + - abseil/memory/memory + - abseil/profiling/exponential_biased + - abseil/profiling/sample_recorder + - abseil/synchronization/synchronization + - abseil/utility/utility + - abseil/container/have_sse (1.20211102.0) + - abseil/container/inlined_vector (1.20211102.0): + - abseil/algorithm/algorithm + - abseil/base/core_headers + - abseil/base/throw_delegate + - abseil/container/inlined_vector_internal + - abseil/memory/memory + - abseil/container/inlined_vector_internal (1.20211102.0): + - abseil/base/core_headers + - abseil/container/compressed_tuple + - abseil/memory/memory + - abseil/meta/type_traits + - abseil/types/span + - abseil/container/layout (1.20211102.0): + - abseil/base/config + - abseil/base/core_headers + - abseil/meta/type_traits + - abseil/strings/strings + - abseil/types/span + - abseil/utility/utility + - abseil/container/raw_hash_map (1.20211102.0): + - abseil/base/throw_delegate + - abseil/container/container_memory + - abseil/container/raw_hash_set + - abseil/container/raw_hash_set (1.20211102.0): + - abseil/base/config + - abseil/base/core_headers + - abseil/base/endian + - abseil/container/common + - abseil/container/compressed_tuple + - abseil/container/container_memory + - abseil/container/hash_policy_traits + - abseil/container/hashtable_debug_hooks + - abseil/container/hashtablez_sampler + - abseil/container/have_sse + - abseil/memory/memory + - abseil/meta/type_traits + - abseil/numeric/bits + - abseil/utility/utility + - abseil/debugging/debugging_internal (1.20211102.0): + - abseil/base/config + - abseil/base/core_headers + - abseil/base/dynamic_annotations + - abseil/base/errno_saver + - abseil/base/raw_logging_internal + - abseil/debugging/demangle_internal (1.20211102.0): + - abseil/base/base + - abseil/base/config + - abseil/base/core_headers + - abseil/debugging/stacktrace (1.20211102.0): + - abseil/base/config + - abseil/base/core_headers + - abseil/debugging/debugging_internal + - abseil/debugging/symbolize (1.20211102.0): + - abseil/base/base + - abseil/base/config + - abseil/base/core_headers + - abseil/base/dynamic_annotations + - abseil/base/malloc_internal + - abseil/base/raw_logging_internal + - abseil/debugging/debugging_internal + - abseil/debugging/demangle_internal + - abseil/strings/strings + - abseil/functional/bind_front (1.20211102.0): + - abseil/base/base_internal + - abseil/container/compressed_tuple + - abseil/meta/type_traits + - abseil/utility/utility + - abseil/functional/function_ref (1.20211102.0): + - abseil/base/base_internal + - abseil/base/core_headers + - abseil/meta/type_traits + - abseil/hash/city (1.20211102.0): + - abseil/base/config + - abseil/base/core_headers + - abseil/base/endian + - abseil/hash/hash (1.20211102.0): + - abseil/base/config + - abseil/base/core_headers + - abseil/base/endian + - abseil/container/fixed_array + - abseil/hash/city + - abseil/hash/low_level_hash + - abseil/meta/type_traits + - abseil/numeric/int128 + - abseil/strings/strings + - abseil/types/optional + - abseil/types/variant + - abseil/utility/utility + - abseil/hash/low_level_hash (1.20211102.0): + - abseil/base/config + - abseil/base/endian + - abseil/numeric/bits + - abseil/numeric/int128 + - abseil/memory (1.20211102.0): + - abseil/memory/memory (= 1.20211102.0) + - abseil/memory/memory (1.20211102.0): + - abseil/base/core_headers + - abseil/meta/type_traits + - abseil/meta (1.20211102.0): + - abseil/meta/type_traits (= 1.20211102.0) + - abseil/meta/type_traits (1.20211102.0): + - abseil/base/config + - abseil/numeric/bits (1.20211102.0): + - abseil/base/config + - abseil/base/core_headers + - abseil/numeric/int128 (1.20211102.0): + - abseil/base/config + - abseil/base/core_headers + - abseil/numeric/bits + - abseil/numeric/representation (1.20211102.0): + - abseil/base/config + - abseil/profiling/exponential_biased (1.20211102.0): + - abseil/base/config + - abseil/base/core_headers + - abseil/profiling/sample_recorder (1.20211102.0): + - abseil/base/config + - abseil/base/core_headers + - abseil/synchronization/synchronization + - abseil/time/time + - abseil/random/distributions (1.20211102.0): + - abseil/base/base_internal + - abseil/base/config + - abseil/base/core_headers + - abseil/meta/type_traits + - abseil/numeric/bits + - abseil/random/internal/distribution_caller + - abseil/random/internal/fast_uniform_bits + - abseil/random/internal/fastmath + - abseil/random/internal/generate_real + - abseil/random/internal/iostream_state_saver + - abseil/random/internal/traits + - abseil/random/internal/uniform_helper + - abseil/random/internal/wide_multiply + - abseil/strings/strings + - abseil/random/internal/distribution_caller (1.20211102.0): + - abseil/base/config + - abseil/base/fast_type_id + - abseil/utility/utility + - abseil/random/internal/fast_uniform_bits (1.20211102.0): + - abseil/base/config + - abseil/meta/type_traits + - abseil/random/internal/fastmath (1.20211102.0): + - abseil/numeric/bits + - abseil/random/internal/generate_real (1.20211102.0): + - abseil/meta/type_traits + - abseil/numeric/bits + - abseil/random/internal/fastmath + - abseil/random/internal/traits + - abseil/random/internal/iostream_state_saver (1.20211102.0): + - abseil/meta/type_traits + - abseil/numeric/int128 + - abseil/random/internal/nonsecure_base (1.20211102.0): + - abseil/base/core_headers + - abseil/meta/type_traits + - abseil/random/internal/pool_urbg + - abseil/random/internal/salted_seed_seq + - abseil/random/internal/seed_material + - abseil/types/optional + - abseil/types/span + - abseil/random/internal/pcg_engine (1.20211102.0): + - abseil/base/config + - abseil/meta/type_traits + - abseil/numeric/bits + - abseil/numeric/int128 + - abseil/random/internal/fastmath + - abseil/random/internal/iostream_state_saver + - abseil/random/internal/platform (1.20211102.0): + - abseil/base/config + - abseil/random/internal/pool_urbg (1.20211102.0): + - abseil/base/base + - abseil/base/config + - abseil/base/core_headers + - abseil/base/endian + - abseil/base/raw_logging_internal + - abseil/random/internal/randen + - abseil/random/internal/seed_material + - abseil/random/internal/traits + - abseil/random/seed_gen_exception + - abseil/types/span + - abseil/random/internal/randen (1.20211102.0): + - abseil/base/raw_logging_internal + - abseil/random/internal/platform + - abseil/random/internal/randen_hwaes + - abseil/random/internal/randen_slow + - abseil/random/internal/randen_engine (1.20211102.0): + - abseil/base/endian + - abseil/meta/type_traits + - abseil/random/internal/iostream_state_saver + - abseil/random/internal/randen + - abseil/random/internal/randen_hwaes (1.20211102.0): + - abseil/base/config + - abseil/random/internal/platform + - abseil/random/internal/randen_hwaes_impl + - abseil/random/internal/randen_hwaes_impl (1.20211102.0): + - abseil/base/config + - abseil/base/core_headers + - abseil/numeric/int128 + - abseil/random/internal/platform + - abseil/random/internal/randen_slow (1.20211102.0): + - abseil/base/config + - abseil/base/core_headers + - abseil/base/endian + - abseil/numeric/int128 + - abseil/random/internal/platform + - abseil/random/internal/salted_seed_seq (1.20211102.0): + - abseil/container/inlined_vector + - abseil/meta/type_traits + - abseil/random/internal/seed_material + - abseil/types/optional + - abseil/types/span + - abseil/random/internal/seed_material (1.20211102.0): + - abseil/base/core_headers + - abseil/base/dynamic_annotations + - abseil/base/raw_logging_internal + - abseil/random/internal/fast_uniform_bits + - abseil/strings/strings + - abseil/types/optional + - abseil/types/span + - abseil/random/internal/traits (1.20211102.0): + - abseil/base/config + - abseil/random/internal/uniform_helper (1.20211102.0): + - abseil/base/config + - abseil/meta/type_traits + - abseil/random/internal/traits + - abseil/random/internal/wide_multiply (1.20211102.0): + - abseil/base/config + - abseil/numeric/bits + - abseil/numeric/int128 + - abseil/random/internal/traits + - abseil/random/random (1.20211102.0): + - abseil/random/distributions + - abseil/random/internal/nonsecure_base + - abseil/random/internal/pcg_engine + - abseil/random/internal/pool_urbg + - abseil/random/internal/randen_engine + - abseil/random/seed_sequences + - abseil/random/seed_gen_exception (1.20211102.0): + - abseil/base/config + - abseil/random/seed_sequences (1.20211102.0): + - abseil/container/inlined_vector + - abseil/random/internal/nonsecure_base + - abseil/random/internal/pool_urbg + - abseil/random/internal/salted_seed_seq + - abseil/random/internal/seed_material + - abseil/random/seed_gen_exception + - abseil/types/span + - abseil/status/status (1.20211102.0): + - abseil/base/atomic_hook + - abseil/base/config + - abseil/base/core_headers + - abseil/base/raw_logging_internal + - abseil/container/inlined_vector + - abseil/debugging/stacktrace + - abseil/debugging/symbolize + - abseil/functional/function_ref + - abseil/strings/cord + - abseil/strings/str_format + - abseil/strings/strings + - abseil/types/optional + - abseil/status/statusor (1.20211102.0): + - abseil/base/base + - abseil/base/core_headers + - abseil/base/raw_logging_internal + - abseil/meta/type_traits + - abseil/status/status + - abseil/strings/strings + - abseil/types/variant + - abseil/utility/utility + - abseil/strings/cord (1.20211102.0): + - abseil/base/base + - abseil/base/config + - abseil/base/core_headers + - abseil/base/endian + - abseil/base/raw_logging_internal + - abseil/container/fixed_array + - abseil/container/inlined_vector + - abseil/functional/function_ref + - abseil/meta/type_traits + - abseil/strings/cord_internal + - abseil/strings/cordz_functions + - abseil/strings/cordz_info + - abseil/strings/cordz_statistics + - abseil/strings/cordz_update_scope + - abseil/strings/cordz_update_tracker + - abseil/strings/internal + - abseil/strings/str_format + - abseil/strings/strings + - abseil/types/optional + - abseil/strings/cord_internal (1.20211102.0): + - abseil/base/base_internal + - abseil/base/config + - abseil/base/core_headers + - abseil/base/endian + - abseil/base/raw_logging_internal + - abseil/base/throw_delegate + - abseil/container/compressed_tuple + - abseil/container/inlined_vector + - abseil/container/layout + - abseil/functional/function_ref + - abseil/meta/type_traits + - abseil/strings/strings + - abseil/types/span + - abseil/strings/cordz_functions (1.20211102.0): + - abseil/base/config + - abseil/base/core_headers + - abseil/base/raw_logging_internal + - abseil/profiling/exponential_biased + - abseil/strings/cordz_handle (1.20211102.0): + - abseil/base/base + - abseil/base/config + - abseil/base/raw_logging_internal + - abseil/synchronization/synchronization + - abseil/strings/cordz_info (1.20211102.0): + - abseil/base/base + - abseil/base/config + - abseil/base/core_headers + - abseil/base/raw_logging_internal + - abseil/container/inlined_vector + - abseil/debugging/stacktrace + - abseil/strings/cord_internal + - abseil/strings/cordz_functions + - abseil/strings/cordz_handle + - abseil/strings/cordz_statistics + - abseil/strings/cordz_update_tracker + - abseil/synchronization/synchronization + - abseil/types/span + - abseil/strings/cordz_statistics (1.20211102.0): + - abseil/base/config + - abseil/strings/cordz_update_tracker + - abseil/strings/cordz_update_scope (1.20211102.0): + - abseil/base/config + - abseil/base/core_headers + - abseil/strings/cord_internal + - abseil/strings/cordz_info + - abseil/strings/cordz_update_tracker + - abseil/strings/cordz_update_tracker (1.20211102.0): + - abseil/base/config + - abseil/strings/internal (1.20211102.0): + - abseil/base/config + - abseil/base/core_headers + - abseil/base/endian + - abseil/base/raw_logging_internal + - abseil/meta/type_traits + - abseil/strings/str_format (1.20211102.0): + - abseil/strings/str_format_internal + - abseil/strings/str_format_internal (1.20211102.0): + - abseil/base/config + - abseil/base/core_headers + - abseil/functional/function_ref + - abseil/meta/type_traits + - abseil/numeric/bits + - abseil/numeric/int128 + - abseil/numeric/representation + - abseil/strings/strings + - abseil/types/optional + - abseil/types/span + - abseil/strings/strings (1.20211102.0): + - abseil/base/base + - abseil/base/config + - abseil/base/core_headers + - abseil/base/endian + - abseil/base/raw_logging_internal + - abseil/base/throw_delegate + - abseil/memory/memory + - abseil/meta/type_traits + - abseil/numeric/bits + - abseil/numeric/int128 + - abseil/strings/internal + - abseil/synchronization/graphcycles_internal (1.20211102.0): + - abseil/base/base + - abseil/base/base_internal + - abseil/base/config + - abseil/base/core_headers + - abseil/base/malloc_internal + - abseil/base/raw_logging_internal + - abseil/synchronization/kernel_timeout_internal (1.20211102.0): + - abseil/base/core_headers + - abseil/base/raw_logging_internal + - abseil/time/time + - abseil/synchronization/synchronization (1.20211102.0): + - abseil/base/atomic_hook + - abseil/base/base + - abseil/base/base_internal + - abseil/base/config + - abseil/base/core_headers + - abseil/base/dynamic_annotations + - abseil/base/malloc_internal + - abseil/base/raw_logging_internal + - abseil/debugging/stacktrace + - abseil/debugging/symbolize + - abseil/synchronization/graphcycles_internal + - abseil/synchronization/kernel_timeout_internal + - abseil/time/time + - abseil/time (1.20211102.0): + - abseil/time/internal (= 1.20211102.0) + - abseil/time/time (= 1.20211102.0) + - abseil/time/internal (1.20211102.0): + - abseil/time/internal/cctz (= 1.20211102.0) + - abseil/time/internal/cctz (1.20211102.0): + - abseil/time/internal/cctz/civil_time (= 1.20211102.0) + - abseil/time/internal/cctz/time_zone (= 1.20211102.0) + - abseil/time/internal/cctz/civil_time (1.20211102.0): + - abseil/base/config + - abseil/time/internal/cctz/time_zone (1.20211102.0): + - abseil/base/config + - abseil/time/internal/cctz/civil_time + - abseil/time/time (1.20211102.0): + - abseil/base/base + - abseil/base/core_headers + - abseil/base/raw_logging_internal + - abseil/numeric/int128 + - abseil/strings/strings + - abseil/time/internal/cctz/civil_time + - abseil/time/internal/cctz/time_zone + - abseil/types (1.20211102.0): + - abseil/types/any (= 1.20211102.0) + - abseil/types/bad_any_cast (= 1.20211102.0) + - abseil/types/bad_any_cast_impl (= 1.20211102.0) + - abseil/types/bad_optional_access (= 1.20211102.0) + - abseil/types/bad_variant_access (= 1.20211102.0) + - abseil/types/compare (= 1.20211102.0) + - abseil/types/optional (= 1.20211102.0) + - abseil/types/span (= 1.20211102.0) + - abseil/types/variant (= 1.20211102.0) + - abseil/types/any (1.20211102.0): + - abseil/base/config + - abseil/base/core_headers + - abseil/base/fast_type_id + - abseil/meta/type_traits + - abseil/types/bad_any_cast + - abseil/utility/utility + - abseil/types/bad_any_cast (1.20211102.0): + - abseil/base/config + - abseil/types/bad_any_cast_impl + - abseil/types/bad_any_cast_impl (1.20211102.0): + - abseil/base/config + - abseil/base/raw_logging_internal + - abseil/types/bad_optional_access (1.20211102.0): + - abseil/base/config + - abseil/base/raw_logging_internal + - abseil/types/bad_variant_access (1.20211102.0): + - abseil/base/config + - abseil/base/raw_logging_internal + - abseil/types/compare (1.20211102.0): + - abseil/base/core_headers + - abseil/meta/type_traits + - abseil/types/optional (1.20211102.0): + - abseil/base/base_internal + - abseil/base/config + - abseil/base/core_headers + - abseil/memory/memory + - abseil/meta/type_traits + - abseil/types/bad_optional_access + - abseil/utility/utility + - abseil/types/span (1.20211102.0): + - abseil/algorithm/algorithm + - abseil/base/core_headers + - abseil/base/throw_delegate + - abseil/meta/type_traits + - abseil/types/variant (1.20211102.0): + - abseil/base/base_internal + - abseil/base/config + - abseil/base/core_headers + - abseil/meta/type_traits + - abseil/types/bad_variant_access + - abseil/utility/utility + - abseil/utility/utility (1.20211102.0): + - abseil/base/base_internal + - abseil/base/config + - abseil/meta/type_traits + - BoringSSL-GRPC (0.0.24): + - BoringSSL-GRPC/Implementation (= 0.0.24) + - BoringSSL-GRPC/Interface (= 0.0.24) + - BoringSSL-GRPC/Implementation (0.0.24): + - BoringSSL-GRPC/Interface (= 0.0.24) + - BoringSSL-GRPC/Interface (0.0.24) + - cloud_firestore (3.5.0): + - Firebase/Firestore (= 9.6.0) + - firebase_core + - Flutter + - Firebase/Auth (9.6.0): + - Firebase/CoreOnly + - FirebaseAuth (~> 9.6.0) + - Firebase/CoreOnly (9.6.0): + - FirebaseCore (= 9.6.0) + - Firebase/Database (9.6.0): - Firebase/CoreOnly - - FirebaseAuth (~> 8.15.0) - - Firebase/CoreOnly (8.15.0): - - FirebaseCore (= 8.15.0) - - firebase_auth (3.3.17): - - Firebase/Auth (= 8.15.0) + - FirebaseDatabase (~> 9.6.0) + - Firebase/DynamicLinks (9.6.0): + - Firebase/CoreOnly + - FirebaseDynamicLinks (~> 9.6.0) + - Firebase/Firestore (9.6.0): + - Firebase/CoreOnly + - FirebaseFirestore (~> 9.6.0) + - firebase_auth (3.11.1): + - Firebase/Auth (= 9.6.0) - firebase_core - Flutter - - firebase_core (1.16.0): - - Firebase/CoreOnly (= 8.15.0) + - firebase_core (1.24.0): + - Firebase/CoreOnly (= 9.6.0) - Flutter - - FirebaseAuth (8.15.0): - - FirebaseCore (~> 8.0) + - firebase_database (9.1.6): + - Firebase/Database (= 9.6.0) + - firebase_core + - Flutter + - firebase_dynamic_links (4.3.9): + - Firebase/DynamicLinks (= 9.6.0) + - firebase_core + - Flutter + - FirebaseAuth (9.6.0): + - FirebaseCore (~> 9.0) - GoogleUtilities/AppDelegateSwizzler (~> 7.7) - GoogleUtilities/Environment (~> 7.7) - - GTMSessionFetcher/Core (~> 1.5) - - FirebaseCore (8.15.0): - - FirebaseCoreDiagnostics (~> 8.0) + - GTMSessionFetcher/Core (< 3.0, >= 1.7) + - FirebaseCore (9.6.0): + - FirebaseCoreDiagnostics (~> 9.0) + - FirebaseCoreInternal (~> 9.0) - GoogleUtilities/Environment (~> 7.7) - GoogleUtilities/Logger (~> 7.7) - - FirebaseCoreDiagnostics (8.15.0): - - GoogleDataTransport (~> 9.1) + - FirebaseCoreDiagnostics (9.6.0): + - GoogleDataTransport (< 10.0.0, >= 9.1.4) - GoogleUtilities/Environment (~> 7.7) - GoogleUtilities/Logger (~> 7.7) - - nanopb (~> 2.30908.0) + - nanopb (< 2.30910.0, >= 2.30908.0) + - FirebaseCoreInternal (9.6.0): + - "GoogleUtilities/NSData+zlib (~> 7.7)" + - FirebaseDatabase (9.6.0): + - FirebaseCore (~> 9.0) + - leveldb-library (~> 1.22) + - FirebaseDynamicLinks (9.6.0): + - FirebaseCore (~> 9.0) + - FirebaseFirestore (9.6.0): + - abseil/algorithm (~> 1.20211102.0) + - abseil/base (~> 1.20211102.0) + - abseil/container/flat_hash_map (~> 1.20211102.0) + - abseil/memory (~> 1.20211102.0) + - abseil/meta (~> 1.20211102.0) + - abseil/strings/strings (~> 1.20211102.0) + - abseil/time (~> 1.20211102.0) + - abseil/types (~> 1.20211102.0) + - FirebaseCore (~> 9.0) + - "gRPC-C++ (~> 1.44.0)" + - leveldb-library (~> 1.22) + - nanopb (< 2.30910.0, >= 2.30908.0) - Flutter (1.0.0) - - GoogleDataTransport (9.1.4): + - GoogleDataTransport (9.2.0): - GoogleUtilities/Environment (~> 7.7) - nanopb (< 2.30910.0, >= 2.30908.0) - PromisesObjC (< 3.0, >= 1.2) - - GoogleUtilities/AppDelegateSwizzler (7.7.0): + - GoogleUtilities/AppDelegateSwizzler (7.8.0): - GoogleUtilities/Environment - GoogleUtilities/Logger - GoogleUtilities/Network - - GoogleUtilities/Environment (7.7.0): + - GoogleUtilities/Environment (7.8.0): - PromisesObjC (< 3.0, >= 1.2) - - GoogleUtilities/Logger (7.7.0): + - GoogleUtilities/Logger (7.8.0): - GoogleUtilities/Environment - - GoogleUtilities/Network (7.7.0): + - GoogleUtilities/Network (7.8.0): - GoogleUtilities/Logger - "GoogleUtilities/NSData+zlib" - GoogleUtilities/Reachability - - "GoogleUtilities/NSData+zlib (7.7.0)" - - GoogleUtilities/Reachability (7.7.0): + - "GoogleUtilities/NSData+zlib (7.8.0)" + - GoogleUtilities/Reachability (7.8.0): - GoogleUtilities/Logger - - GTMSessionFetcher/Core (1.7.2) - - nanopb (2.30908.0): - - nanopb/decode (= 2.30908.0) - - nanopb/encode (= 2.30908.0) - - nanopb/decode (2.30908.0) - - nanopb/encode (2.30908.0) - - PromisesObjC (2.1.0) + - "gRPC-C++ (1.44.0)": + - "gRPC-C++/Implementation (= 1.44.0)" + - "gRPC-C++/Interface (= 1.44.0)" + - "gRPC-C++/Implementation (1.44.0)": + - abseil/base/base (= 1.20211102.0) + - abseil/base/core_headers (= 1.20211102.0) + - abseil/container/flat_hash_map (= 1.20211102.0) + - abseil/container/inlined_vector (= 1.20211102.0) + - abseil/functional/bind_front (= 1.20211102.0) + - abseil/hash/hash (= 1.20211102.0) + - abseil/memory/memory (= 1.20211102.0) + - abseil/random/random (= 1.20211102.0) + - abseil/status/status (= 1.20211102.0) + - abseil/status/statusor (= 1.20211102.0) + - abseil/strings/cord (= 1.20211102.0) + - abseil/strings/str_format (= 1.20211102.0) + - abseil/strings/strings (= 1.20211102.0) + - abseil/synchronization/synchronization (= 1.20211102.0) + - abseil/time/time (= 1.20211102.0) + - abseil/types/optional (= 1.20211102.0) + - abseil/types/variant (= 1.20211102.0) + - abseil/utility/utility (= 1.20211102.0) + - "gRPC-C++/Interface (= 1.44.0)" + - gRPC-Core (= 1.44.0) + - "gRPC-C++/Interface (1.44.0)" + - gRPC-Core (1.44.0): + - gRPC-Core/Implementation (= 1.44.0) + - gRPC-Core/Interface (= 1.44.0) + - gRPC-Core/Implementation (1.44.0): + - abseil/base/base (= 1.20211102.0) + - abseil/base/core_headers (= 1.20211102.0) + - abseil/container/flat_hash_map (= 1.20211102.0) + - abseil/container/inlined_vector (= 1.20211102.0) + - abseil/functional/bind_front (= 1.20211102.0) + - abseil/hash/hash (= 1.20211102.0) + - abseil/memory/memory (= 1.20211102.0) + - abseil/random/random (= 1.20211102.0) + - abseil/status/status (= 1.20211102.0) + - abseil/status/statusor (= 1.20211102.0) + - abseil/strings/cord (= 1.20211102.0) + - abseil/strings/str_format (= 1.20211102.0) + - abseil/strings/strings (= 1.20211102.0) + - abseil/synchronization/synchronization (= 1.20211102.0) + - abseil/time/time (= 1.20211102.0) + - abseil/types/optional (= 1.20211102.0) + - abseil/types/variant (= 1.20211102.0) + - abseil/utility/utility (= 1.20211102.0) + - BoringSSL-GRPC (= 0.0.24) + - gRPC-Core/Interface (= 1.44.0) + - Libuv-gRPC (= 0.0.10) + - gRPC-Core/Interface (1.44.0) + - GTMSessionFetcher/Core (2.1.0) + - leveldb-library (1.22.1) + - Libuv-gRPC (0.0.10): + - Libuv-gRPC/Implementation (= 0.0.10) + - Libuv-gRPC/Interface (= 0.0.10) + - Libuv-gRPC/Implementation (0.0.10): + - Libuv-gRPC/Interface (= 0.0.10) + - Libuv-gRPC/Interface (0.0.10) + - nanopb (2.30909.0): + - nanopb/decode (= 2.30909.0) + - nanopb/encode (= 2.30909.0) + - nanopb/decode (2.30909.0) + - nanopb/encode (2.30909.0) + - PromisesObjC (2.1.1) DEPENDENCIES: + - cloud_firestore (from `.symlinks/plugins/cloud_firestore/ios`) - firebase_auth (from `.symlinks/plugins/firebase_auth/ios`) - firebase_core (from `.symlinks/plugins/firebase_core/ios`) + - firebase_database (from `.symlinks/plugins/firebase_database/ios`) + - firebase_dynamic_links (from `.symlinks/plugins/firebase_dynamic_links/ios`) - Flutter (from `Flutter`) SPEC REPOS: trunk: + - abseil + - BoringSSL-GRPC - Firebase - FirebaseAuth - FirebaseCore - FirebaseCoreDiagnostics + - FirebaseCoreInternal + - FirebaseDatabase + - FirebaseDynamicLinks + - FirebaseFirestore - GoogleDataTransport - GoogleUtilities + - "gRPC-C++" + - gRPC-Core - GTMSessionFetcher + - leveldb-library + - Libuv-gRPC - nanopb - PromisesObjC EXTERNAL SOURCES: + cloud_firestore: + :path: ".symlinks/plugins/cloud_firestore/ios" firebase_auth: :path: ".symlinks/plugins/firebase_auth/ios" firebase_core: :path: ".symlinks/plugins/firebase_core/ios" + firebase_database: + :path: ".symlinks/plugins/firebase_database/ios" + firebase_dynamic_links: + :path: ".symlinks/plugins/firebase_dynamic_links/ios" Flutter: :path: Flutter SPEC CHECKSUMS: - Firebase: 5f8193dff4b5b7c5d5ef72ae54bb76c08e2b841d - firebase_auth: 99f8d104a93f4424a4b3b2c4cc5b7596f8181eb7 - firebase_core: 6ef152b7d6a361e24105e2cc56ab458f1f8367fe - FirebaseAuth: 3e73bf8abf4fbb40f8b421f361f4cc48ee57388c - FirebaseCore: 5743c5785c074a794d35f2fff7ecc254a91e08b1 - FirebaseCoreDiagnostics: 92e07a649aeb66352b319d43bdd2ee3942af84cb - Flutter: 50d75fe2f02b26cc09d224853bb45737f8b3214a - GoogleDataTransport: 5fffe35792f8b96ec8d6775f5eccd83c998d5a3b - GoogleUtilities: e0913149f6b0625b553d70dae12b49fc62914fd1 - GTMSessionFetcher: 5595ec75acf5be50814f81e9189490412bad82ba - nanopb: a0ba3315591a9ae0a16a309ee504766e90db0c96 - PromisesObjC: 99b6f43f9e1044bd87a95a60beff28c2c44ddb72 + abseil: ebe5b5529fb05d93a8bdb7951607be08b7fa71bc + BoringSSL-GRPC: 3175b25143e648463a56daeaaa499c6cb86dad33 + cloud_firestore: 09a9630b3fd8bb78f6e01094d8f52d85f1eba0c8 + Firebase: 5ae8b7cf8efce559a653aef0ad95bab3f427c351 + firebase_auth: bb406baf3e15b89102e5963eb2147452d1072fd5 + firebase_core: 7c28ecc1e5dd74e03829ac3e9ff5ba3314e737a9 + firebase_database: 94413825cc5a295fb026dee09fe51a9ac1c08ad3 + firebase_dynamic_links: be59a79b16ed7630811d9c9a9d4ca3d430f21ac7 + FirebaseAuth: e4a5d3c36e778e41141b91cc861103a441d80bcc + FirebaseCore: 2082fffcd855f95f883c0a1641133eb9bbe76d40 + FirebaseCoreDiagnostics: 99a495094b10a57eeb3ae8efa1665700ad0bdaa6 + FirebaseCoreInternal: bca76517fe1ed381e989f5e7d8abb0da8d85bed3 + FirebaseDatabase: 3de19e533a73d45e25917b46aafe1dd344ec8119 + FirebaseDynamicLinks: 894ee3b4e56a77abee067d371c9a23e7b5a3c686 + FirebaseFirestore: c09ce6d050745a45fb75ebd901005ed3279c3caf + Flutter: f04841e97a9d0b0a8025694d0796dd46242b2854 + GoogleDataTransport: 1c8145da7117bd68bbbed00cf304edb6a24de00f + GoogleUtilities: 1d20a6ad97ef46f67bbdec158ce00563a671ebb7 + "gRPC-C++": 9675f953ace2b3de7c506039d77be1f2e77a8db2 + gRPC-Core: 943e491cb0d45598b0b0eb9e910c88080369290b + GTMSessionFetcher: ffbb25ec00ebcb5201adab0a56d808f6f1902d9f + leveldb-library: 50c7b45cbd7bf543c81a468fe557a16ae3db8729 + Libuv-gRPC: 55e51798e14ef436ad9bc45d12d43b77b49df378 + nanopb: b552cce312b6c8484180ef47159bc0f65a1f0431 + PromisesObjC: ab77feca74fa2823e7af4249b8326368e61014cb -PODFILE CHECKSUM: fe0e1ee7f3d1f7d00b11b474b62dd62134535aea +PODFILE CHECKSUM: 7368163408c647b7eb699d0d788ba6718e18fb8d -COCOAPODS: 1.11.2 +COCOAPODS: 1.11.3 diff --git a/authentication/ios/Runner/Info.plist b/authentication/ios/Runner/Info.plist index 9d0286c2..d04154c3 100644 --- a/authentication/ios/Runner/Info.plist +++ b/authentication/ios/Runner/Info.plist @@ -43,5 +43,7 @@ UIViewControllerBasedStatusBarAppearance + CADisableMinimumFrameDurationOnPhone + diff --git a/authentication/lib/main.dart b/authentication/lib/main.dart index c62087f8..93a4687f 100644 --- a/authentication/lib/main.dart +++ b/authentication/lib/main.dart @@ -1,6 +1,7 @@ import 'package:authentication/firebase_options.dart'; -import 'package:firebase_auth/firebase_auth.dart'; +import 'package:firebase_auth/firebase_auth.dart' hide EmailAuthProvider; import 'package:firebase_core/firebase_core.dart'; +import 'package:firebase_ui_auth/firebase_ui_auth.dart'; import 'package:flutter/material.dart'; import 'src/app.dart'; @@ -11,6 +12,10 @@ void main() async { options: DefaultFirebaseOptions.currentPlatform, ); + FirebaseUIAuth.configureProviders([ + EmailAuthProvider(), + ]); + // Both of the following lines are good for testing, // but can be removed for release builds await FirebaseAuth.instance.useAuthEmulator('localhost', 9099); diff --git a/authentication/lib/src/app.dart b/authentication/lib/src/app.dart index edd95d22..3e6cf30f 100644 --- a/authentication/lib/src/app.dart +++ b/authentication/lib/src/app.dart @@ -1,7 +1,7 @@ +import 'package:firebase_ui_auth/firebase_ui_auth.dart'; import 'package:flutter/material.dart'; import 'home_page.dart'; -import 'login_page.dart'; class AuthApp extends StatelessWidget { const AuthApp({Key? key}) : super(key: key); @@ -11,7 +11,62 @@ class AuthApp extends StatelessWidget { return MaterialApp( initialRoute: '/login', routes: { - '/login': (context) => const LoginPage(), + '/login': (context) { + return SignInScreen( + actions: [ + ForgotPasswordAction( + ((context, email) { + Navigator.of(context).pushNamed('/forgot-password', + arguments: {'email': email}); + }), + ), + AuthStateChangeAction( + ((context, state) { + if (state is UserCreated || state is SignedIn) { + var user = (state is SignedIn) + ? state.user + : (state as UserCreated).credential.user; + if (user == null) { + return; + } + if (!user.emailVerified && (state is UserCreated)) { + user.sendEmailVerification(); + } + if (state is UserCreated) { + if (user.displayName == null && user.email != null) { + var defaultDisplayName = user.email!.split('@')[0]; + user.updateDisplayName(defaultDisplayName); + } + } + Navigator.of(context) + .pushNamedAndRemoveUntil('/', ((route) => false)); + } + }), + ), + ], + ); + }, + '/forgot-password': ((context) { + final arguments = ModalRoute.of(context)?.settings.arguments + as Map?; + + return ForgotPasswordScreen( + email: arguments?['email'] as String, + headerMaxExtent: 200, + ); + }), + '/profile': ((context) { + return ProfileScreen( + providers: const [], + actions: [ + SignedOutAction( + ((context) { + Navigator.of(context).popUntil(ModalRoute.withName('/')); + }), + ), + ], + ); + }), '/': (context) => const HomePage(), }, ); diff --git a/authentication/lib/src/home_page.dart b/authentication/lib/src/home_page.dart index 446a13d7..d3ed495a 100644 --- a/authentication/lib/src/home_page.dart +++ b/authentication/lib/src/home_page.dart @@ -10,6 +10,7 @@ class HomePage extends StatefulWidget { class _HomePageState extends State { User? _user; + String uid = ""; @override void initState() { @@ -18,7 +19,15 @@ class _HomePageState extends State { if (user != null) { setState(() { _user = FirebaseAuth.instance.currentUser!; + uid = _user!.uid; }); + } else { + if (this.mounted) { + setState(() { + _user = null; + uid = ""; + }); + } } }); super.initState(); @@ -27,15 +36,30 @@ class _HomePageState extends State { @override Widget build(BuildContext context) { return Scaffold( + key: ValueKey(uid), appBar: AppBar( automaticallyImplyLeading: false, title: _user != null ? Text('Welcome ${_user?.displayName}') : const Text('Welcome'), ), - body: const Center( - child: Text('New application incoming....'), - ), + body: _user != null + ? Column( + mainAxisAlignment: MainAxisAlignment.center, + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + Text( + "User Info:\nEmail: ${_user?.email}\nId: ${_user?.uid}\nDisplayName: ${_user?.displayName}"), + TextButton( + onPressed: () => { + Navigator.of(context).pushNamed('/profile'), + }, + child: const Text('Proflie Screen')) + ], + ) + : const Center( + child: Text('No user detected'), + ), ); } } diff --git a/authentication/lib/src/login_page.dart b/authentication/lib/src/login_page.dart deleted file mode 100644 index 0899f18e..00000000 --- a/authentication/lib/src/login_page.dart +++ /dev/null @@ -1,212 +0,0 @@ -import 'package:firebase_auth/firebase_auth.dart'; -import 'package:flutter/material.dart'; - -class LoginPage extends StatefulWidget { - const LoginPage({Key? key}) : super(key: key); - - @override - State createState() => _LoginPageState(); -} - -class _LoginPageState extends State { - final TextEditingController _usernameController = TextEditingController(); - final TextEditingController _passwordController = TextEditingController(); - final TextEditingController _firstnameController = TextEditingController(); - final TextEditingController _lastnameController = TextEditingController(); - bool _isLoading = false; - bool _isSigningUp = false; - final _formKey = GlobalKey(); - - void _setIsLoading() { - setState(() { - _isLoading = !_isLoading; - }); - } - - Future _signUpWithEmailAndPassword() async { - _setIsLoading(); - try { - final _credential = - await FirebaseAuth.instance.createUserWithEmailAndPassword( - email: _usernameController.text, - password: _passwordController.text, - ); - - await _credential.user!.updateDisplayName( - '${_firstnameController.text} ${_lastnameController.text}'); - - return _credential; - } on FirebaseAuthException catch (e) { - /// These are two examples of several possible error messages from - /// FirebaseAuth. Find the [complete list of error messages here.](https://firebase.google.com/docs/auth/admin/errors) - if (e.code == 'invalid-email') { - // ... ask user to update email value - } - if (e.code == 'weak-password') { - // ... - } - _setIsLoading(); - return null; - } - } - - Future _loginWithEmailAndPassword() async { - _setIsLoading(); - - try { - return await FirebaseAuth.instance.signInWithEmailAndPassword( - email: _usernameController.text, - password: _passwordController.text, - ); - } on FirebaseAuthException catch (e) { - if (e.code == 'user-not-found') { - // ... - showDialog( - context: context, - builder: (context) { - return AlertDialog( - title: const Text('Email doesn\'t exist'), - content: const Text('Please sign up instead'), - actions: [ - ElevatedButton( - onPressed: () => Navigator.of(context).pop(), - child: const Text('OK'), - ), - ], - ); - }); - } - - /// These are two examples of several possible error messages from - /// FirebaseAuth. Find the [complete list of error messages here.](https://firebase.google.com/docs/auth/admin/errors) - if (e.code == 'email-doesnt-exist') { - // tell use to sign up... - } - if (e.code == 'wrong password') { - // ... - } - _setIsLoading(); - return null; - } - } - - @override - Widget build(BuildContext context) { - return Scaffold( - body: Center( - child: Form( - key: _formKey, - child: Column( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - if (_isSigningUp) - Padding( - padding: const EdgeInsets.all(8.0), - child: ConstrainedBox( - constraints: const BoxConstraints(maxWidth: 500.0), - child: TextFormField( - controller: _firstnameController, - decoration: const InputDecoration( - label: Text('First Name'), - border: OutlineInputBorder(), - ), - validator: (String? input) { - if (input == null || input.isEmpty) { - return 'Please enter a username'; - } - return null; - }, - ), - ), - ), - if (_isSigningUp) - Padding( - padding: const EdgeInsets.all(8.0), - child: ConstrainedBox( - constraints: const BoxConstraints(maxWidth: 500.0), - child: TextFormField( - controller: _lastnameController, - decoration: const InputDecoration( - label: Text('Last Name'), - border: OutlineInputBorder(), - ), - validator: (String? input) { - if (input == null || input.isEmpty) { - return 'Please enter a username'; - } - return null; - }, - ), - ), - ), - Padding( - padding: const EdgeInsets.all(8.0), - child: ConstrainedBox( - constraints: const BoxConstraints(maxWidth: 500.0), - child: TextFormField( - controller: _usernameController, - decoration: const InputDecoration( - label: Text('Username'), - border: OutlineInputBorder(), - ), - validator: (String? input) { - if (input == null || input.isEmpty) { - return 'Please enter a username'; - } - return null; - }, - ), - ), - ), - Padding( - padding: const EdgeInsets.all(8.0), - child: ConstrainedBox( - constraints: const BoxConstraints(maxWidth: 500.0), - child: TextFormField( - controller: _passwordController, - obscureText: true, - decoration: const InputDecoration( - label: Text('Password'), - border: OutlineInputBorder(), - ), - validator: (String? input) { - if (input == null || input.isEmpty) { - return 'Please enter a password.'; - } - return null; - }, - ), - ), - ), - Padding( - padding: const EdgeInsets.symmetric(vertical: 30.0), - child: ElevatedButton( - onPressed: () async { - _isSigningUp - ? await _signUpWithEmailAndPassword() - : await _loginWithEmailAndPassword(); - - if (FirebaseAuth.instance.currentUser != null) { - Navigator.of(context).popAndPushNamed('/'); - } - }, - child: _isLoading - ? const CircularProgressIndicator() - : Text(_isSigningUp ? 'Sign Up' : 'Log In'), - ), - ), - TextButton( - onPressed: () { - setState(() { - _isSigningUp = true; - }); - }, - child: const Text('Don\'t have an account? Sign Up'), - ) - ], - ), - ), - ), - ); - } -} diff --git a/authentication/macos/Flutter/GeneratedPluginRegistrant.swift b/authentication/macos/Flutter/GeneratedPluginRegistrant.swift index 7b9be203..a181c5e1 100644 --- a/authentication/macos/Flutter/GeneratedPluginRegistrant.swift +++ b/authentication/macos/Flutter/GeneratedPluginRegistrant.swift @@ -5,10 +5,16 @@ import FlutterMacOS import Foundation +import cloud_firestore +import desktop_webview_auth import firebase_auth import firebase_core +import firebase_database func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { + FLTFirebaseFirestorePlugin.register(with: registry.registrar(forPlugin: "FLTFirebaseFirestorePlugin")) + DesktopWebviewAuthPlugin.register(with: registry.registrar(forPlugin: "DesktopWebviewAuthPlugin")) FLTFirebaseAuthPlugin.register(with: registry.registrar(forPlugin: "FLTFirebaseAuthPlugin")) FLTFirebaseCorePlugin.register(with: registry.registrar(forPlugin: "FLTFirebaseCorePlugin")) + FLTFirebaseDatabasePlugin.register(with: registry.registrar(forPlugin: "FLTFirebaseDatabasePlugin")) } diff --git a/authentication/pubspec.lock b/authentication/pubspec.lock index 943fe4ec..290b1beb 100644 --- a/authentication/pubspec.lock +++ b/authentication/pubspec.lock @@ -1,13 +1,20 @@ # Generated by pub # See https://dart.dev/tools/pub/glossary#lockfile packages: + _flutterfire_internals: + dependency: transitive + description: + name: _flutterfire_internals + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.1" async: dependency: transitive description: name: async url: "https://pub.dartlang.org" source: hosted - version: "2.8.2" + version: "2.9.0" boolean_selector: dependency: transitive description: @@ -21,21 +28,35 @@ packages: name: characters url: "https://pub.dartlang.org" source: hosted - version: "1.2.0" - charcode: + version: "1.2.1" + clock: dependency: transitive description: - name: charcode + name: clock url: "https://pub.dartlang.org" source: hosted - version: "1.3.1" - clock: + version: "1.1.1" + cloud_firestore: dependency: transitive description: - name: clock + name: cloud_firestore url: "https://pub.dartlang.org" source: hosted - version: "1.1.0" + version: "3.5.0" + cloud_firestore_platform_interface: + dependency: transitive + description: + name: cloud_firestore_platform_interface + url: "https://pub.dartlang.org" + source: hosted + version: "5.7.6" + cloud_firestore_web: + dependency: transitive + description: + name: cloud_firestore_web + url: "https://pub.dartlang.org" + source: hosted + version: "2.8.9" collection: dependency: transitive description: @@ -43,62 +64,139 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "1.16.0" + crypto: + dependency: transitive + description: + name: crypto + url: "https://pub.dartlang.org" + source: hosted + version: "3.0.2" cupertino_icons: dependency: "direct main" description: name: cupertino_icons url: "https://pub.dartlang.org" source: hosted - version: "1.0.4" + version: "1.0.5" + desktop_webview_auth: + dependency: transitive + description: + name: desktop_webview_auth + url: "https://pub.dartlang.org" + source: hosted + version: "0.0.9" + email_validator: + dependency: transitive + description: + name: email_validator + url: "https://pub.dartlang.org" + source: hosted + version: "2.1.17" fake_async: dependency: transitive description: name: fake_async url: "https://pub.dartlang.org" source: hosted - version: "1.3.0" + version: "1.3.1" firebase_auth: dependency: "direct main" description: name: firebase_auth url: "https://pub.dartlang.org" source: hosted - version: "3.3.17" + version: "3.11.1" firebase_auth_platform_interface: dependency: transitive description: name: firebase_auth_platform_interface url: "https://pub.dartlang.org" source: hosted - version: "6.2.5" + version: "6.10.0" firebase_auth_web: dependency: transitive description: name: firebase_auth_web url: "https://pub.dartlang.org" source: hosted - version: "3.3.14" + version: "4.6.0" firebase_core: dependency: "direct main" description: name: firebase_core url: "https://pub.dartlang.org" source: hosted - version: "1.16.0" + version: "1.24.0" firebase_core_platform_interface: dependency: transitive description: name: firebase_core_platform_interface url: "https://pub.dartlang.org" source: hosted - version: "4.3.0" + version: "4.5.1" firebase_core_web: dependency: transitive description: name: firebase_core_web url: "https://pub.dartlang.org" source: hosted - version: "1.6.3" + version: "1.7.3" + firebase_database: + dependency: transitive + description: + name: firebase_database + url: "https://pub.dartlang.org" + source: hosted + version: "9.1.6" + firebase_database_platform_interface: + dependency: transitive + description: + name: firebase_database_platform_interface + url: "https://pub.dartlang.org" + source: hosted + version: "0.2.2+6" + firebase_database_web: + dependency: transitive + description: + name: firebase_database_web + url: "https://pub.dartlang.org" + source: hosted + version: "0.2.1+8" + firebase_dynamic_links: + dependency: transitive + description: + name: firebase_dynamic_links + url: "https://pub.dartlang.org" + source: hosted + version: "4.3.9" + firebase_dynamic_links_platform_interface: + dependency: transitive + description: + name: firebase_dynamic_links_platform_interface + url: "https://pub.dartlang.org" + source: hosted + version: "0.2.3+14" + firebase_ui_auth: + dependency: "direct main" + description: + name: firebase_ui_auth + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.0-dev.0" + firebase_ui_localizations: + dependency: transitive + description: + name: firebase_ui_localizations + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.0-dev.0" + firebase_ui_oauth: + dependency: transitive + description: + name: firebase_ui_oauth + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.0-dev.0" flutter: dependency: "direct main" description: flutter @@ -110,7 +208,19 @@ packages: name: flutter_lints url: "https://pub.dartlang.org" source: hosted - version: "1.0.4" + version: "2.0.1" + flutter_localizations: + dependency: transitive + description: flutter + source: sdk + version: "0.0.0" + flutter_svg: + dependency: transitive + description: + name: flutter_svg + url: "https://pub.dartlang.org" + source: hosted + version: "1.1.5" flutter_test: dependency: "direct dev" description: flutter @@ -121,13 +231,20 @@ packages: description: flutter source: sdk version: "0.0.0" + http: + dependency: transitive + description: + name: http + url: "https://pub.dartlang.org" + source: hosted + version: "0.13.5" http_parser: dependency: transitive description: name: http_parser url: "https://pub.dartlang.org" source: hosted - version: "4.0.0" + version: "4.0.1" intl: dependency: transitive description: @@ -148,42 +265,63 @@ packages: name: lints url: "https://pub.dartlang.org" source: hosted - version: "1.0.1" + version: "2.0.0" matcher: dependency: transitive description: name: matcher url: "https://pub.dartlang.org" source: hosted - version: "0.12.11" + version: "0.12.12" material_color_utilities: dependency: transitive description: name: material_color_utilities url: "https://pub.dartlang.org" source: hosted - version: "0.1.4" + version: "0.1.5" meta: dependency: transitive description: name: meta url: "https://pub.dartlang.org" source: hosted - version: "1.7.0" + version: "1.8.0" path: dependency: transitive description: name: path url: "https://pub.dartlang.org" source: hosted - version: "1.8.1" + version: "1.8.2" + path_drawing: + dependency: transitive + description: + name: path_drawing + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.1" + path_parsing: + dependency: transitive + description: + name: path_parsing + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.1" + petitparser: + dependency: transitive + description: + name: petitparser + url: "https://pub.dartlang.org" + source: hosted + version: "5.0.0" plugin_platform_interface: dependency: transitive description: name: plugin_platform_interface url: "https://pub.dartlang.org" source: hosted - version: "2.1.2" + version: "2.1.3" sky_engine: dependency: transitive description: flutter @@ -195,7 +333,7 @@ packages: name: source_span url: "https://pub.dartlang.org" source: hosted - version: "1.8.2" + version: "1.9.0" stack_trace: dependency: transitive description: @@ -216,28 +354,28 @@ packages: name: string_scanner url: "https://pub.dartlang.org" source: hosted - version: "1.1.0" + version: "1.1.1" term_glyph: dependency: transitive description: name: term_glyph url: "https://pub.dartlang.org" source: hosted - version: "1.2.0" + version: "1.2.1" test_api: dependency: transitive description: name: test_api url: "https://pub.dartlang.org" source: hosted - version: "0.4.9" + version: "0.4.12" typed_data: dependency: transitive description: name: typed_data url: "https://pub.dartlang.org" source: hosted - version: "1.3.0" + version: "1.3.1" vector_math: dependency: transitive description: @@ -245,6 +383,13 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "2.1.2" + xml: + dependency: transitive + description: + name: xml + url: "https://pub.dartlang.org" + source: hosted + version: "6.1.0" sdks: - dart: ">=2.17.0-0 <3.0.0" - flutter: ">=1.12.13+hotfix.5" + dart: ">=2.17.6 <3.0.0" + flutter: ">=2.11.0-0.1.pre" diff --git a/authentication/pubspec.yaml b/authentication/pubspec.yaml index 68cf1247..db386a81 100644 --- a/authentication/pubspec.yaml +++ b/authentication/pubspec.yaml @@ -33,9 +33,10 @@ dependencies: # The following adds the Cupertino Icons font to your application. # Use with the CupertinoIcons class for iOS style icons. - cupertino_icons: ^1.0.2 - firebase_core: ^1.16.0 - firebase_auth: ^3.3.17 + cupertino_icons: ^1.0.5 + firebase_core: ^1.23.0 + firebase_auth: ^3.10.0 + firebase_ui_auth: ^1.0.0-dev.0 dev_dependencies: flutter_test: @@ -46,7 +47,7 @@ dev_dependencies: # activated in the `analysis_options.yaml` file located at the root of your # package. See that file for information about deactivating specific lint # rules and activating additional ones. - flutter_lints: ^1.0.0 + flutter_lints: ^2.0.1 # For information on the generic Dart part of this file, see the # following page: https://dart.dev/tools/pub/pubspec diff --git a/authentication/windows/flutter/generated_plugin_registrant.cc b/authentication/windows/flutter/generated_plugin_registrant.cc index 8b6d4680..45e2647e 100644 --- a/authentication/windows/flutter/generated_plugin_registrant.cc +++ b/authentication/windows/flutter/generated_plugin_registrant.cc @@ -6,6 +6,9 @@ #include "generated_plugin_registrant.h" +#include void RegisterPlugins(flutter::PluginRegistry* registry) { + DesktopWebviewAuthPluginRegisterWithRegistrar( + registry->GetRegistrarForPlugin("DesktopWebviewAuthPlugin")); } diff --git a/authentication/windows/flutter/generated_plugins.cmake b/authentication/windows/flutter/generated_plugins.cmake index 4d10c251..67972319 100644 --- a/authentication/windows/flutter/generated_plugins.cmake +++ b/authentication/windows/flutter/generated_plugins.cmake @@ -3,6 +3,10 @@ # list(APPEND FLUTTER_PLUGIN_LIST + desktop_webview_auth +) + +list(APPEND FLUTTER_FFI_PLUGIN_LIST ) set(PLUGIN_BUNDLED_LIBRARIES) @@ -13,3 +17,8 @@ foreach(plugin ${FLUTTER_PLUGIN_LIST}) list(APPEND PLUGIN_BUNDLED_LIBRARIES $) list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) endforeach(plugin) + +foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST}) + add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/windows plugins/${ffi_plugin}) + list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries}) +endforeach(ffi_plugin) diff --git a/crashlytics/pubspec.lock b/crashlytics/pubspec.lock index 1a9a521c..0858ef25 100644 --- a/crashlytics/pubspec.lock +++ b/crashlytics/pubspec.lock @@ -7,7 +7,7 @@ packages: name: async url: "https://pub.dartlang.org" source: hosted - version: "2.8.2" + version: "2.9.0" boolean_selector: dependency: transitive description: @@ -21,21 +21,14 @@ packages: name: characters url: "https://pub.dartlang.org" source: hosted - version: "1.2.0" - charcode: - dependency: transitive - description: - name: charcode - url: "https://pub.dartlang.org" - source: hosted - version: "1.3.1" + version: "1.2.1" clock: dependency: transitive description: name: clock url: "https://pub.dartlang.org" source: hosted - version: "1.1.0" + version: "1.1.1" collection: dependency: transitive description: @@ -56,7 +49,7 @@ packages: name: fake_async url: "https://pub.dartlang.org" source: hosted - version: "1.3.0" + version: "1.3.1" firebase_analytics: dependency: "direct main" description: @@ -155,28 +148,28 @@ packages: name: matcher url: "https://pub.dartlang.org" source: hosted - version: "0.12.11" + version: "0.12.12" material_color_utilities: dependency: transitive description: name: material_color_utilities url: "https://pub.dartlang.org" source: hosted - version: "0.1.4" + version: "0.1.5" meta: dependency: transitive description: name: meta url: "https://pub.dartlang.org" source: hosted - version: "1.7.0" + version: "1.8.0" path: dependency: transitive description: name: path url: "https://pub.dartlang.org" source: hosted - version: "1.8.1" + version: "1.8.2" plugin_platform_interface: dependency: transitive description: @@ -195,7 +188,7 @@ packages: name: source_span url: "https://pub.dartlang.org" source: hosted - version: "1.8.2" + version: "1.9.0" stack_trace: dependency: transitive description: @@ -216,21 +209,21 @@ packages: name: string_scanner url: "https://pub.dartlang.org" source: hosted - version: "1.1.0" + version: "1.1.1" term_glyph: dependency: transitive description: name: term_glyph url: "https://pub.dartlang.org" source: hosted - version: "1.2.0" + version: "1.2.1" test_api: dependency: transitive description: name: test_api url: "https://pub.dartlang.org" source: hosted - version: "0.4.9" + version: "0.4.12" vector_math: dependency: transitive description: diff --git a/crashlytics/windows/flutter/generated_plugins.cmake b/crashlytics/windows/flutter/generated_plugins.cmake index 4d10c251..b93c4c30 100644 --- a/crashlytics/windows/flutter/generated_plugins.cmake +++ b/crashlytics/windows/flutter/generated_plugins.cmake @@ -5,6 +5,9 @@ list(APPEND FLUTTER_PLUGIN_LIST ) +list(APPEND FLUTTER_FFI_PLUGIN_LIST +) + set(PLUGIN_BUNDLED_LIBRARIES) foreach(plugin ${FLUTTER_PLUGIN_LIST}) @@ -13,3 +16,8 @@ foreach(plugin ${FLUTTER_PLUGIN_LIST}) list(APPEND PLUGIN_BUNDLED_LIBRARIES $) list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) endforeach(plugin) + +foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST}) + add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/windows plugins/${ffi_plugin}) + list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries}) +endforeach(ffi_plugin) diff --git a/firestore/windows/flutter/generated_plugins.cmake b/firestore/windows/flutter/generated_plugins.cmake index 4d10c251..b93c4c30 100644 --- a/firestore/windows/flutter/generated_plugins.cmake +++ b/firestore/windows/flutter/generated_plugins.cmake @@ -5,6 +5,9 @@ list(APPEND FLUTTER_PLUGIN_LIST ) +list(APPEND FLUTTER_FFI_PLUGIN_LIST +) + set(PLUGIN_BUNDLED_LIBRARIES) foreach(plugin ${FLUTTER_PLUGIN_LIST}) @@ -13,3 +16,8 @@ foreach(plugin ${FLUTTER_PLUGIN_LIST}) list(APPEND PLUGIN_BUNDLED_LIBRARIES $) list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) endforeach(plugin) + +foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST}) + add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/windows plugins/${ffi_plugin}) + list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries}) +endforeach(ffi_plugin) diff --git a/remote_config/pubspec.lock b/remote_config/pubspec.lock index d586e961..65946115 100644 --- a/remote_config/pubspec.lock +++ b/remote_config/pubspec.lock @@ -7,7 +7,7 @@ packages: name: async url: "https://pub.dartlang.org" source: hosted - version: "2.8.2" + version: "2.9.0" boolean_selector: dependency: transitive description: @@ -21,21 +21,14 @@ packages: name: characters url: "https://pub.dartlang.org" source: hosted - version: "1.2.0" - charcode: - dependency: transitive - description: - name: charcode - url: "https://pub.dartlang.org" - source: hosted - version: "1.3.1" + version: "1.2.1" clock: dependency: transitive description: name: clock url: "https://pub.dartlang.org" source: hosted - version: "1.1.0" + version: "1.1.1" collection: dependency: transitive description: @@ -56,7 +49,7 @@ packages: name: fake_async url: "https://pub.dartlang.org" source: hosted - version: "1.3.0" + version: "1.3.1" firebase_core: dependency: "direct main" description: @@ -141,28 +134,28 @@ packages: name: matcher url: "https://pub.dartlang.org" source: hosted - version: "0.12.11" + version: "0.12.12" material_color_utilities: dependency: transitive description: name: material_color_utilities url: "https://pub.dartlang.org" source: hosted - version: "0.1.4" + version: "0.1.5" meta: dependency: transitive description: name: meta url: "https://pub.dartlang.org" source: hosted - version: "1.7.0" + version: "1.8.0" path: dependency: transitive description: name: path url: "https://pub.dartlang.org" source: hosted - version: "1.8.1" + version: "1.8.2" plugin_platform_interface: dependency: transitive description: @@ -181,7 +174,7 @@ packages: name: source_span url: "https://pub.dartlang.org" source: hosted - version: "1.8.2" + version: "1.9.0" stack_trace: dependency: transitive description: @@ -202,21 +195,21 @@ packages: name: string_scanner url: "https://pub.dartlang.org" source: hosted - version: "1.1.0" + version: "1.1.1" term_glyph: dependency: transitive description: name: term_glyph url: "https://pub.dartlang.org" source: hosted - version: "1.2.0" + version: "1.2.1" test_api: dependency: transitive description: name: test_api url: "https://pub.dartlang.org" source: hosted - version: "0.4.9" + version: "0.4.12" vector_math: dependency: transitive description: diff --git a/storage/pubspec.lock b/storage/pubspec.lock index 487c8670..36c7daf1 100644 --- a/storage/pubspec.lock +++ b/storage/pubspec.lock @@ -7,7 +7,7 @@ packages: name: async url: "https://pub.dartlang.org" source: hosted - version: "2.8.2" + version: "2.9.0" boolean_selector: dependency: transitive description: @@ -21,7 +21,7 @@ packages: name: characters url: "https://pub.dartlang.org" source: hosted - version: "1.2.0" + version: "1.2.1" charcode: dependency: transitive description: @@ -35,7 +35,7 @@ packages: name: clock url: "https://pub.dartlang.org" source: hosted - version: "1.1.0" + version: "1.1.1" collection: dependency: transitive description: @@ -63,7 +63,7 @@ packages: name: fake_async url: "https://pub.dartlang.org" source: hosted - version: "1.3.0" + version: "1.3.1" ffi: dependency: transitive description: @@ -218,28 +218,28 @@ packages: name: matcher url: "https://pub.dartlang.org" source: hosted - version: "0.12.11" + version: "0.12.12" material_color_utilities: dependency: transitive description: name: material_color_utilities url: "https://pub.dartlang.org" source: hosted - version: "0.1.4" + version: "0.1.5" meta: dependency: transitive description: name: meta url: "https://pub.dartlang.org" source: hosted - version: "1.7.0" + version: "1.8.0" path: dependency: "direct main" description: name: path url: "https://pub.dartlang.org" source: hosted - version: "1.8.1" + version: "1.8.2" path_provider: dependency: "direct main" description: @@ -321,7 +321,7 @@ packages: name: source_span url: "https://pub.dartlang.org" source: hosted - version: "1.8.2" + version: "1.9.0" stack_trace: dependency: transitive description: @@ -342,21 +342,21 @@ packages: name: string_scanner url: "https://pub.dartlang.org" source: hosted - version: "1.1.0" + version: "1.1.1" term_glyph: dependency: transitive description: name: term_glyph url: "https://pub.dartlang.org" source: hosted - version: "1.2.0" + version: "1.2.1" test_api: dependency: transitive description: name: test_api url: "https://pub.dartlang.org" source: hosted - version: "0.4.9" + version: "0.4.12" typed_data: dependency: transitive description: From 6e8f45789e7caf469ecea08a814a720c78d97f49 Mon Sep 17 00:00:00 2001 From: Alexander Nohe Date: Wed, 5 Oct 2022 11:16:48 -0700 Subject: [PATCH 2/3] Update README --- authentication/README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/authentication/README.md b/authentication/README.md index dc3f7ba8..bebe5bc0 100644 --- a/authentication/README.md +++ b/authentication/README.md @@ -12,8 +12,9 @@ Getting Started - [Add Firebase to your Flutter Project](https://firebase.google.com/docs/flutter/setup). This example contains Email / Password login and signup using Firebase in a -Flutter app. In order to run the example, you'll need to set up your -Firebase console. +Flutter app. In order to run the example, you'll need to set up your app in +the Firebase console. You will then want to run the flutterfire_cli to +sync all API keys locally to this application. ### Email/Password Setup From 05899942c696a3ea274182dc4d4e6dac8a3be373 Mon Sep 17 00:00:00 2001 From: Alexander Nohe Date: Wed, 5 Oct 2022 11:20:03 -0700 Subject: [PATCH 3/3] Add missing license headers --- authentication/analysis_options.yaml | 14 ++++++++++++++ .../android/app/src/debug/AndroidManifest.xml | 16 ++++++++++++++++ .../android/app/src/main/AndroidManifest.xml | 16 ++++++++++++++++ .../flutter/app/FlutterMultiDexApplication.java | 16 ++++++++++++++++ .../com/example/authentication/MainActivity.kt | 16 ++++++++++++++++ .../main/res/drawable-v21/launch_background.xml | 16 ++++++++++++++++ .../src/main/res/drawable/launch_background.xml | 16 ++++++++++++++++ .../app/src/main/res/values-night/styles.xml | 16 ++++++++++++++++ .../android/app/src/main/res/values/styles.xml | 16 ++++++++++++++++ .../app/src/main/res/xml/network_config.xml | 16 ++++++++++++++++ .../android/app/src/profile/AndroidManifest.xml | 16 ++++++++++++++++ authentication/ios/Runner/AppDelegate.swift | 14 ++++++++++++++ .../ios/Runner/Runner-Bridging-Header.h | 16 ++++++++++++++++ authentication/lib/main.dart | 14 ++++++++++++++ authentication/lib/src/app.dart | 14 ++++++++++++++ authentication/lib/src/home_page.dart | 14 ++++++++++++++ authentication/macos/Runner/AppDelegate.swift | 14 ++++++++++++++ .../macos/Runner/MainFlutterWindow.swift | 14 ++++++++++++++ authentication/pubspec.yaml | 14 ++++++++++++++ authentication/test/widget_test.dart | 14 ++++++++++++++ authentication/web/index.html | 16 ++++++++++++++++ authentication/windows/runner/flutter_window.cpp | 14 ++++++++++++++ authentication/windows/runner/flutter_window.h | 16 ++++++++++++++++ authentication/windows/runner/main.cpp | 14 ++++++++++++++ authentication/windows/runner/resource.h | 16 ++++++++++++++++ authentication/windows/runner/utils.cpp | 14 ++++++++++++++ authentication/windows/runner/utils.h | 16 ++++++++++++++++ authentication/windows/runner/win32_window.cpp | 14 ++++++++++++++ authentication/windows/runner/win32_window.h | 16 ++++++++++++++++ 29 files changed, 438 insertions(+) diff --git a/authentication/analysis_options.yaml b/authentication/analysis_options.yaml index 61b6c4de..a0a24a2c 100644 --- a/authentication/analysis_options.yaml +++ b/authentication/analysis_options.yaml @@ -1,3 +1,17 @@ +# Copyright 2022 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + # This file configures the analyzer, which statically analyzes Dart code to # check for errors, warnings, and lints. # diff --git a/authentication/android/app/src/debug/AndroidManifest.xml b/authentication/android/app/src/debug/AndroidManifest.xml index edb77832..3e13cc33 100644 --- a/authentication/android/app/src/debug/AndroidManifest.xml +++ b/authentication/android/app/src/debug/AndroidManifest.xml @@ -1,3 +1,19 @@ + + + + + diff --git a/authentication/android/app/src/main/res/drawable/launch_background.xml b/authentication/android/app/src/main/res/drawable/launch_background.xml index 304732f8..3937165b 100644 --- a/authentication/android/app/src/main/res/drawable/launch_background.xml +++ b/authentication/android/app/src/main/res/drawable/launch_background.xml @@ -1,4 +1,20 @@ + + diff --git a/authentication/android/app/src/main/res/values-night/styles.xml b/authentication/android/app/src/main/res/values-night/styles.xml index 3db14bb5..a9d7f0ee 100644 --- a/authentication/android/app/src/main/res/values-night/styles.xml +++ b/authentication/android/app/src/main/res/values-night/styles.xml @@ -1,4 +1,20 @@ + +