From 4069375f004995764151d779c9105e1dbade5fb4 Mon Sep 17 00:00:00 2001 From: Curly Date: Mon, 30 Dec 2019 17:41:10 +0000 Subject: [PATCH 1/5] Update dependencies --- .gitignore | 1 + CHANGELOG.md | 10 +- example/android/build.gradle | 7 +- example/android/gradle.properties | 1 + .../gradle/wrapper/gradle-wrapper.properties | 2 +- example/flutter_01.log | 121 ------------------ example/flutter_02.log | 121 ------------------ example/flutter_03.log | 121 ------------------ pubspec.yaml | 10 +- 9 files changed, 17 insertions(+), 377 deletions(-) delete mode 100644 example/flutter_01.log delete mode 100644 example/flutter_02.log delete mode 100644 example/flutter_03.log diff --git a/.gitignore b/.gitignore index 98a0412..d25db5a 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,4 @@ packages pubspec.lock example/ios/Flutter/flutter_export_environment.sh +example/.flutter-plugins-dependencies diff --git a/CHANGELOG.md b/CHANGELOG.md index d14afb8..c952315 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,6 @@ +## [1.0.9] - 30/12/2019 +* update dependencies + ## [1.0.8] - 02/10/2019 * update dependencies @@ -44,10 +47,10 @@ * improve UI ## [0.0.7] - 04/07/2018 -* fixe sign in with mail +* fixe sign in with mail ## [0.0.6] - 30/05/2018 -* improve show dialog error +* improve show dialog error ## [0.0.5] - 29/05/2018 * show error occured on unknown errors @@ -64,9 +67,8 @@ ## [0.0.2] - 20/03/2018 * improve ui -* change firebase_auth version +* change firebase_auth version ## [0.0.1] - 19/03/2018 * initial release - diff --git a/example/android/build.gradle b/example/android/build.gradle index 3bc426c..7d6ab38 100644 --- a/example/android/build.gradle +++ b/example/android/build.gradle @@ -5,8 +5,8 @@ buildscript { } dependencies { - classpath 'com.android.tools.build:gradle:3.3.0' - classpath 'com.google.gms:google-services:3.2.1' // google-services plugin + classpath 'com.android.tools.build:gradle:3.5.0' + classpath 'com.google.gms:google-services:4.3.3' // google-services plugin } } @@ -21,10 +21,9 @@ allprojects { } rootProject.buildDir = '../build' + subprojects { project.buildDir = "${rootProject.buildDir}/${project.name}" -} -subprojects { project.evaluationDependsOn(':app') } diff --git a/example/android/gradle.properties b/example/android/gradle.properties index 53ae0ae..b6e61b6 100644 --- a/example/android/gradle.properties +++ b/example/android/gradle.properties @@ -1,3 +1,4 @@ android.enableJetifier=true android.useAndroidX=true org.gradle.jvmargs=-Xmx1536M +android.enableR8=true diff --git a/example/android/gradle/wrapper/gradle-wrapper.properties b/example/android/gradle/wrapper/gradle-wrapper.properties index b6136f9..d9ba5b1 100644 --- a/example/android/gradle/wrapper/gradle-wrapper.properties +++ b/example/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-4.10.1-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip diff --git a/example/flutter_01.log b/example/flutter_01.log deleted file mode 100644 index 603ce4f..0000000 --- a/example/flutter_01.log +++ /dev/null @@ -1,121 +0,0 @@ -Flutter crash report; please file at https://github.com/flutter/flutter/issues. - -## command - -flutter run --machine -t lib/main.dart -d C3A78E12-98C5-4CD6-8E3C-599D7A03250D --start-paused --track-widget-creation - -## exception - -YamlException: Error on line 38, column 3: Expected a key while parsing a block mapping. - - assets/twitter-logo.png - ^ - -``` -#0 Parser._parseBlockMappingKey (package:yaml/src/parser.dart:448:5) -#1 Parser._stateMachine (package:yaml/src/parser.dart:86:16) -#2 Parser.parse (package:yaml/src/parser.dart:47:19) -#3 Loader._loadMapping (package:yaml/src/loader.dart:171:23) -#4 Loader._loadNode (package:yaml/src/loader.dart:86:16) -#5 Loader._loadMapping (package:yaml/src/loader.dart:165:19) -#6 Loader._loadNode (package:yaml/src/loader.dart:86:16) -#7 Loader._loadDocument (package:yaml/src/loader.dart:62:20) -#8 Loader.load (package:yaml/src/loader.dart:54:20) -#9 loadYamlDocument (package:yaml/yaml.dart:51:25) -#10 loadYamlNode (package:yaml/yaml.dart:42:5) -#11 loadYaml (package:yaml/yaml.dart:34:5) -#12 _pluginFromPubspec (package:flutter_tools/src/plugins.dart:62:27) -#13 findPlugins. (package:flutter_tools/src/plugins.dart:85:27) -#14 __InternalLinkedHashMap&_HashVMBase&MapMixin&_LinkedHashMapMixin.forEach (dart:collection/runtime/libcompact_hash.dart:370:8) -#15 findPlugins (package:flutter_tools/src/plugins.dart:83:12) -#16 refreshPluginsList (package:flutter_tools/src/plugins.dart:287:32) -#17 FlutterProject.ensureReadyForPlatformSpecificTooling (package:flutter_tools/src/project.dart:139:5) - -#18 FlutterCommand.verifyThenRunCommand (package:flutter_tools/src/runner/flutter_command.dart:388:21) - -#19 FlutterCommand.run. (package:flutter_tools/src/runner/flutter_command.dart:334:33) - -#20 AppContext.run. (package:flutter_tools/src/base/context.dart:142:29) - -#21 _rootRun (dart:async/zone.dart:1124:13) -#22 _CustomZone.run (dart:async/zone.dart:1021:19) -#23 _runZoned (dart:async/zone.dart:1516:10) -#24 runZoned (dart:async/zone.dart:1463:12) -#25 AppContext.run (package:flutter_tools/src/base/context.dart:141:18) - -#26 FlutterCommand.run (package:flutter_tools/src/runner/flutter_command.dart:325:20) -#27 CommandRunner.runCommand (package:args/command_runner.dart:196:27) - -#28 FlutterCommandRunner.runCommand. (package:flutter_tools/src/runner/flutter_command_runner.dart:401:21) - -#29 AppContext.run. (package:flutter_tools/src/base/context.dart:142:29) - -#30 _rootRun (dart:async/zone.dart:1124:13) -#31 _CustomZone.run (dart:async/zone.dart:1021:19) -#32 _runZoned (dart:async/zone.dart:1516:10) -#33 runZoned (dart:async/zone.dart:1463:12) -#34 AppContext.run (package:flutter_tools/src/base/context.dart:141:18) - -#35 FlutterCommandRunner.runCommand (package:flutter_tools/src/runner/flutter_command_runner.dart:361:19) - -#36 CommandRunner.run. (package:args/command_runner.dart:111:29) -#37 new Future.sync (dart:async/future.dart:224:31) -#38 CommandRunner.run (package:args/command_runner.dart:111:11) -#39 FlutterCommandRunner.run (package:flutter_tools/src/runner/flutter_command_runner.dart:241:18) -#40 run. (package:flutter_tools/runner.dart:60:20) - -#41 AppContext.run. (package:flutter_tools/src/base/context.dart:142:29) - -#42 _rootRun (dart:async/zone.dart:1124:13) -#43 _CustomZone.run (dart:async/zone.dart:1021:19) -#44 _runZoned (dart:async/zone.dart:1516:10) -#45 runZoned (dart:async/zone.dart:1463:12) -#46 AppContext.run (package:flutter_tools/src/base/context.dart:141:18) - -#47 runInContext (package:flutter_tools/src/context_runner.dart:44:24) - -#48 run (package:flutter_tools/runner.dart:51:10) -#49 main (package:flutter_tools/executable.dart:51:9) - -#50 main (file:///Users/kylyu/development/flutter/packages/flutter_tools/bin/flutter_tools.dart:8:3) -#51 _startIsolate. (dart:isolate/runtime/libisolate_patch.dart:287:32) -#52 _RawReceivePortImpl._handleMessage (dart:isolate/runtime/libisolate_patch.dart:171:12) -``` - -## flutter doctor - -``` -[✓] Flutter (Channel beta, v0.11.3, on Mac OS X 10.14 18A389, locale fr-FR) - • Flutter version 0.11.3 at /Users/kylyu/development/flutter - • Framework revision 72bf075e8d (6 days ago), 2018-11-09 20:36:17 -0800 - • Engine revision 5646e86a6f - • Dart version 2.1.0 (build 2.1.0-dev.9.3 9c07fb64c4) - -[✓] Android toolchain - develop for Android devices (Android SDK 28.0.3) - • Android SDK at /Users/kylyu/Library/Android/sdk - • Android NDK location not configured (optional; useful for native profiling support) - • Platform android-28, build-tools 28.0.3 - • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java - • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1136-b06) - • All Android licenses accepted. - -[✓] iOS toolchain - develop for iOS devices (Xcode 10.1) - • Xcode at /Applications/Xcode.app/Contents/Developer - • Xcode 10.1, Build version 10B61 - • ios-deploy 2.0.0 - • CocoaPods version 1.5.3 - -[✓] Android Studio (version 3.2) - • Android Studio at /Applications/Android Studio.app/Contents - ✗ Flutter plugin not installed; this adds Flutter specific functionality. - ✗ Dart plugin not installed; this adds Dart specific functionality. - • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1136-b06) - -[✓] VS Code (version 1.29.0) - • VS Code at /Applications/Visual Studio Code.app/Contents - • Flutter extension version 2.20.0 - -[✓] Connected device (1 available) - • iPhone XR • C3A78E12-98C5-4CD6-8E3C-599D7A03250D • ios • iOS 12.1 (simulator) - -• No issues found! -``` diff --git a/example/flutter_02.log b/example/flutter_02.log deleted file mode 100644 index 603ce4f..0000000 --- a/example/flutter_02.log +++ /dev/null @@ -1,121 +0,0 @@ -Flutter crash report; please file at https://github.com/flutter/flutter/issues. - -## command - -flutter run --machine -t lib/main.dart -d C3A78E12-98C5-4CD6-8E3C-599D7A03250D --start-paused --track-widget-creation - -## exception - -YamlException: Error on line 38, column 3: Expected a key while parsing a block mapping. - - assets/twitter-logo.png - ^ - -``` -#0 Parser._parseBlockMappingKey (package:yaml/src/parser.dart:448:5) -#1 Parser._stateMachine (package:yaml/src/parser.dart:86:16) -#2 Parser.parse (package:yaml/src/parser.dart:47:19) -#3 Loader._loadMapping (package:yaml/src/loader.dart:171:23) -#4 Loader._loadNode (package:yaml/src/loader.dart:86:16) -#5 Loader._loadMapping (package:yaml/src/loader.dart:165:19) -#6 Loader._loadNode (package:yaml/src/loader.dart:86:16) -#7 Loader._loadDocument (package:yaml/src/loader.dart:62:20) -#8 Loader.load (package:yaml/src/loader.dart:54:20) -#9 loadYamlDocument (package:yaml/yaml.dart:51:25) -#10 loadYamlNode (package:yaml/yaml.dart:42:5) -#11 loadYaml (package:yaml/yaml.dart:34:5) -#12 _pluginFromPubspec (package:flutter_tools/src/plugins.dart:62:27) -#13 findPlugins. (package:flutter_tools/src/plugins.dart:85:27) -#14 __InternalLinkedHashMap&_HashVMBase&MapMixin&_LinkedHashMapMixin.forEach (dart:collection/runtime/libcompact_hash.dart:370:8) -#15 findPlugins (package:flutter_tools/src/plugins.dart:83:12) -#16 refreshPluginsList (package:flutter_tools/src/plugins.dart:287:32) -#17 FlutterProject.ensureReadyForPlatformSpecificTooling (package:flutter_tools/src/project.dart:139:5) - -#18 FlutterCommand.verifyThenRunCommand (package:flutter_tools/src/runner/flutter_command.dart:388:21) - -#19 FlutterCommand.run. (package:flutter_tools/src/runner/flutter_command.dart:334:33) - -#20 AppContext.run. (package:flutter_tools/src/base/context.dart:142:29) - -#21 _rootRun (dart:async/zone.dart:1124:13) -#22 _CustomZone.run (dart:async/zone.dart:1021:19) -#23 _runZoned (dart:async/zone.dart:1516:10) -#24 runZoned (dart:async/zone.dart:1463:12) -#25 AppContext.run (package:flutter_tools/src/base/context.dart:141:18) - -#26 FlutterCommand.run (package:flutter_tools/src/runner/flutter_command.dart:325:20) -#27 CommandRunner.runCommand (package:args/command_runner.dart:196:27) - -#28 FlutterCommandRunner.runCommand. (package:flutter_tools/src/runner/flutter_command_runner.dart:401:21) - -#29 AppContext.run. (package:flutter_tools/src/base/context.dart:142:29) - -#30 _rootRun (dart:async/zone.dart:1124:13) -#31 _CustomZone.run (dart:async/zone.dart:1021:19) -#32 _runZoned (dart:async/zone.dart:1516:10) -#33 runZoned (dart:async/zone.dart:1463:12) -#34 AppContext.run (package:flutter_tools/src/base/context.dart:141:18) - -#35 FlutterCommandRunner.runCommand (package:flutter_tools/src/runner/flutter_command_runner.dart:361:19) - -#36 CommandRunner.run. (package:args/command_runner.dart:111:29) -#37 new Future.sync (dart:async/future.dart:224:31) -#38 CommandRunner.run (package:args/command_runner.dart:111:11) -#39 FlutterCommandRunner.run (package:flutter_tools/src/runner/flutter_command_runner.dart:241:18) -#40 run. (package:flutter_tools/runner.dart:60:20) - -#41 AppContext.run. (package:flutter_tools/src/base/context.dart:142:29) - -#42 _rootRun (dart:async/zone.dart:1124:13) -#43 _CustomZone.run (dart:async/zone.dart:1021:19) -#44 _runZoned (dart:async/zone.dart:1516:10) -#45 runZoned (dart:async/zone.dart:1463:12) -#46 AppContext.run (package:flutter_tools/src/base/context.dart:141:18) - -#47 runInContext (package:flutter_tools/src/context_runner.dart:44:24) - -#48 run (package:flutter_tools/runner.dart:51:10) -#49 main (package:flutter_tools/executable.dart:51:9) - -#50 main (file:///Users/kylyu/development/flutter/packages/flutter_tools/bin/flutter_tools.dart:8:3) -#51 _startIsolate. (dart:isolate/runtime/libisolate_patch.dart:287:32) -#52 _RawReceivePortImpl._handleMessage (dart:isolate/runtime/libisolate_patch.dart:171:12) -``` - -## flutter doctor - -``` -[✓] Flutter (Channel beta, v0.11.3, on Mac OS X 10.14 18A389, locale fr-FR) - • Flutter version 0.11.3 at /Users/kylyu/development/flutter - • Framework revision 72bf075e8d (6 days ago), 2018-11-09 20:36:17 -0800 - • Engine revision 5646e86a6f - • Dart version 2.1.0 (build 2.1.0-dev.9.3 9c07fb64c4) - -[✓] Android toolchain - develop for Android devices (Android SDK 28.0.3) - • Android SDK at /Users/kylyu/Library/Android/sdk - • Android NDK location not configured (optional; useful for native profiling support) - • Platform android-28, build-tools 28.0.3 - • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java - • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1136-b06) - • All Android licenses accepted. - -[✓] iOS toolchain - develop for iOS devices (Xcode 10.1) - • Xcode at /Applications/Xcode.app/Contents/Developer - • Xcode 10.1, Build version 10B61 - • ios-deploy 2.0.0 - • CocoaPods version 1.5.3 - -[✓] Android Studio (version 3.2) - • Android Studio at /Applications/Android Studio.app/Contents - ✗ Flutter plugin not installed; this adds Flutter specific functionality. - ✗ Dart plugin not installed; this adds Dart specific functionality. - • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1136-b06) - -[✓] VS Code (version 1.29.0) - • VS Code at /Applications/Visual Studio Code.app/Contents - • Flutter extension version 2.20.0 - -[✓] Connected device (1 available) - • iPhone XR • C3A78E12-98C5-4CD6-8E3C-599D7A03250D • ios • iOS 12.1 (simulator) - -• No issues found! -``` diff --git a/example/flutter_03.log b/example/flutter_03.log deleted file mode 100644 index 603ce4f..0000000 --- a/example/flutter_03.log +++ /dev/null @@ -1,121 +0,0 @@ -Flutter crash report; please file at https://github.com/flutter/flutter/issues. - -## command - -flutter run --machine -t lib/main.dart -d C3A78E12-98C5-4CD6-8E3C-599D7A03250D --start-paused --track-widget-creation - -## exception - -YamlException: Error on line 38, column 3: Expected a key while parsing a block mapping. - - assets/twitter-logo.png - ^ - -``` -#0 Parser._parseBlockMappingKey (package:yaml/src/parser.dart:448:5) -#1 Parser._stateMachine (package:yaml/src/parser.dart:86:16) -#2 Parser.parse (package:yaml/src/parser.dart:47:19) -#3 Loader._loadMapping (package:yaml/src/loader.dart:171:23) -#4 Loader._loadNode (package:yaml/src/loader.dart:86:16) -#5 Loader._loadMapping (package:yaml/src/loader.dart:165:19) -#6 Loader._loadNode (package:yaml/src/loader.dart:86:16) -#7 Loader._loadDocument (package:yaml/src/loader.dart:62:20) -#8 Loader.load (package:yaml/src/loader.dart:54:20) -#9 loadYamlDocument (package:yaml/yaml.dart:51:25) -#10 loadYamlNode (package:yaml/yaml.dart:42:5) -#11 loadYaml (package:yaml/yaml.dart:34:5) -#12 _pluginFromPubspec (package:flutter_tools/src/plugins.dart:62:27) -#13 findPlugins. (package:flutter_tools/src/plugins.dart:85:27) -#14 __InternalLinkedHashMap&_HashVMBase&MapMixin&_LinkedHashMapMixin.forEach (dart:collection/runtime/libcompact_hash.dart:370:8) -#15 findPlugins (package:flutter_tools/src/plugins.dart:83:12) -#16 refreshPluginsList (package:flutter_tools/src/plugins.dart:287:32) -#17 FlutterProject.ensureReadyForPlatformSpecificTooling (package:flutter_tools/src/project.dart:139:5) - -#18 FlutterCommand.verifyThenRunCommand (package:flutter_tools/src/runner/flutter_command.dart:388:21) - -#19 FlutterCommand.run. (package:flutter_tools/src/runner/flutter_command.dart:334:33) - -#20 AppContext.run. (package:flutter_tools/src/base/context.dart:142:29) - -#21 _rootRun (dart:async/zone.dart:1124:13) -#22 _CustomZone.run (dart:async/zone.dart:1021:19) -#23 _runZoned (dart:async/zone.dart:1516:10) -#24 runZoned (dart:async/zone.dart:1463:12) -#25 AppContext.run (package:flutter_tools/src/base/context.dart:141:18) - -#26 FlutterCommand.run (package:flutter_tools/src/runner/flutter_command.dart:325:20) -#27 CommandRunner.runCommand (package:args/command_runner.dart:196:27) - -#28 FlutterCommandRunner.runCommand. (package:flutter_tools/src/runner/flutter_command_runner.dart:401:21) - -#29 AppContext.run. (package:flutter_tools/src/base/context.dart:142:29) - -#30 _rootRun (dart:async/zone.dart:1124:13) -#31 _CustomZone.run (dart:async/zone.dart:1021:19) -#32 _runZoned (dart:async/zone.dart:1516:10) -#33 runZoned (dart:async/zone.dart:1463:12) -#34 AppContext.run (package:flutter_tools/src/base/context.dart:141:18) - -#35 FlutterCommandRunner.runCommand (package:flutter_tools/src/runner/flutter_command_runner.dart:361:19) - -#36 CommandRunner.run. (package:args/command_runner.dart:111:29) -#37 new Future.sync (dart:async/future.dart:224:31) -#38 CommandRunner.run (package:args/command_runner.dart:111:11) -#39 FlutterCommandRunner.run (package:flutter_tools/src/runner/flutter_command_runner.dart:241:18) -#40 run. (package:flutter_tools/runner.dart:60:20) - -#41 AppContext.run. (package:flutter_tools/src/base/context.dart:142:29) - -#42 _rootRun (dart:async/zone.dart:1124:13) -#43 _CustomZone.run (dart:async/zone.dart:1021:19) -#44 _runZoned (dart:async/zone.dart:1516:10) -#45 runZoned (dart:async/zone.dart:1463:12) -#46 AppContext.run (package:flutter_tools/src/base/context.dart:141:18) - -#47 runInContext (package:flutter_tools/src/context_runner.dart:44:24) - -#48 run (package:flutter_tools/runner.dart:51:10) -#49 main (package:flutter_tools/executable.dart:51:9) - -#50 main (file:///Users/kylyu/development/flutter/packages/flutter_tools/bin/flutter_tools.dart:8:3) -#51 _startIsolate. (dart:isolate/runtime/libisolate_patch.dart:287:32) -#52 _RawReceivePortImpl._handleMessage (dart:isolate/runtime/libisolate_patch.dart:171:12) -``` - -## flutter doctor - -``` -[✓] Flutter (Channel beta, v0.11.3, on Mac OS X 10.14 18A389, locale fr-FR) - • Flutter version 0.11.3 at /Users/kylyu/development/flutter - • Framework revision 72bf075e8d (6 days ago), 2018-11-09 20:36:17 -0800 - • Engine revision 5646e86a6f - • Dart version 2.1.0 (build 2.1.0-dev.9.3 9c07fb64c4) - -[✓] Android toolchain - develop for Android devices (Android SDK 28.0.3) - • Android SDK at /Users/kylyu/Library/Android/sdk - • Android NDK location not configured (optional; useful for native profiling support) - • Platform android-28, build-tools 28.0.3 - • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java - • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1136-b06) - • All Android licenses accepted. - -[✓] iOS toolchain - develop for iOS devices (Xcode 10.1) - • Xcode at /Applications/Xcode.app/Contents/Developer - • Xcode 10.1, Build version 10B61 - • ios-deploy 2.0.0 - • CocoaPods version 1.5.3 - -[✓] Android Studio (version 3.2) - • Android Studio at /Applications/Android Studio.app/Contents - ✗ Flutter plugin not installed; this adds Flutter specific functionality. - ✗ Dart plugin not installed; this adds Dart specific functionality. - • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1136-b06) - -[✓] VS Code (version 1.29.0) - • VS Code at /Applications/Visual Studio Code.app/Contents - • Flutter extension version 2.20.0 - -[✓] Connected device (1 available) - • iPhone XR • C3A78E12-98C5-4CD6-8E3C-599D7A03250D • ios • iOS 12.1 (simulator) - -• No issues found! -``` diff --git a/pubspec.yaml b/pubspec.yaml index 2561f08..ef175c1 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,6 +1,6 @@ name: firebase_ui description: Firebase auth UI, dart package to mimic the firebaseUI(Google,Facebook,Twitter,Email supported) -version: 1.0.8 +version: 1.0.9 author: Nicholas Bowler homepage: https://github.com/Maliffic/firebase_ui @@ -11,11 +11,11 @@ dependencies: flutter: sdk: flutter - flutter_twitter: ^1.1.2 + flutter_twitter: ^1.1.3 - firebase_auth: ^0.14.0+5 - - google_sign_in: ^4.0.4 + firebase_auth: ^0.15.3 + + google_sign_in: ^4.1.1 flutter_facebook_login: ^3.0.0 dev_dependencies: From d080cd49e89ea33e0fed5f8f56bcde1553f2b079 Mon Sep 17 00:00:00 2001 From: Curly Date: Tue, 31 Dec 2019 15:08:32 +0000 Subject: [PATCH 2/5] First cut --- example/lib/main.dart | 5 +++-- lib/l10n/localization.dart | 1 + lib/l10n/translations.dart | 16 +++++++++++++ lib/login_view.dart | 46 +++++++++++++++++++++----------------- lib/utils.dart | 9 +++++++- 5 files changed, 53 insertions(+), 24 deletions(-) diff --git a/example/lib/main.dart b/example/lib/main.dart index 678b59e..bc30f29 100644 --- a/example/lib/main.dart +++ b/example/lib/main.dart @@ -77,12 +77,13 @@ class _MyHomePageState extends State { // horizontalPadding: 8, bottomPadding: 5, avoidBottomInset: true, - color: Color(0xFF363636), + color: Color(0x33363636), providers: [ ProvidersTypes.google, ProvidersTypes.facebook, ProvidersTypes.twitter, - ProvidersTypes.email + ProvidersTypes.email, + ProvidersTypes.guest, ], twitterConsumerKey: "", twitterConsumerSecret: "", horizontalPadding: 12, diff --git a/lib/l10n/localization.dart b/lib/l10n/localization.dart index 9d09bb5..807d43c 100644 --- a/lib/l10n/localization.dart +++ b/lib/l10n/localization.dart @@ -51,6 +51,7 @@ class FFULocalizations { String get signInGoogle => _translationBundle.signInGoogle; String get signInEmail => _translationBundle.signInEmail; String get signInTwitter => _translationBundle.signInTwitter; + String get signInGuest => _translationBundle.signInGuest; String get errorOccurred => _translationBundle.errorOccurred; diff --git a/lib/l10n/translations.dart b/lib/l10n/translations.dart index 9a06409..00d8422 100644 --- a/lib/l10n/translations.dart +++ b/lib/l10n/translations.dart @@ -44,6 +44,7 @@ class TranslationBundle { String get signInGoogle => parent?.signInGoogle; String get signInEmail => parent?.signInEmail; String get signInTwitter => parent?.signInTwitter; + String get signInGuest => parent?.signInGuest; String get errorOccurred => parent?.errorOccurred; @@ -135,6 +136,9 @@ Connectez-vous avec $providerName pour continuer.'''; @override String get signInTwitter => r'Connexion avec Twitter'; + + @override + String get signInGuest => r"Continuer en tant qu'invité"; } // ignore: camel_case_types @@ -217,6 +221,9 @@ Sign in with $providerName to continue.'''; @override String get signInTwitter => r'Sign in with Twitter'; + + @override + String get signInGuest => r"Continue as guest"; } // ignore: camel_case_types @@ -299,6 +306,9 @@ Mit $providerName anmelden um fortzufarhen.'''; @override String get signInTwitter => r'Mit Twitter anmelden'; + + @override + String get signInGuest => r"Als Gast fortfahren"; } // ignore: camel_case_types @@ -378,6 +388,9 @@ Faça login com o $providerName para continuar.'''; @override String get signInEmail => r'Login com o e-mail'; + + @override + String get signInGuest => r"Continuar como convidado"; } // ignore: camel_case_types @@ -459,6 +472,9 @@ Entra con $providerName para continuar.'''; @override String get signInTwitter => r'Entrar con Twitter'; } + @override + String get signInGuest => r"Continua como invitado"; + TranslationBundle translationBundleForLocale(Locale locale) { switch (locale.languageCode) { diff --git a/lib/login_view.dart b/lib/login_view.dart index b980135..39d5bcf 100644 --- a/lib/login_view.dart +++ b/lib/login_view.dart @@ -33,8 +33,7 @@ class _LoginViewState extends State { Map _buttons; _handleEmailSignIn() async { - String value = await Navigator.of(context) - .push(new MaterialPageRoute(builder: (BuildContext context) { + String value = await Navigator.of(context).push(new MaterialPageRoute(builder: (BuildContext context) { return new EmailView(widget.passwordCheck); })); @@ -43,14 +42,24 @@ class _LoginViewState extends State { } } + _handleGuestSignIn() async { + try { + AuthResult authResult = await _auth.signInAnonymously(); + FirebaseUser user = authResult.user; + print(user); + } catch (e) { + showErrorDialog(context, e.details ?? e.message); + } + } + _handleGoogleSignIn() async { GoogleSignInAccount googleUser = await googleSignIn.signIn(); if (googleUser != null) { GoogleSignInAuthentication googleAuth = await googleUser.authentication; if (googleAuth.accessToken != null) { try { - AuthCredential credential = GoogleAuthProvider.getCredential( - idToken: googleAuth.idToken, accessToken: googleAuth.accessToken); + AuthCredential credential = + GoogleAuthProvider.getCredential(idToken: googleAuth.idToken, accessToken: googleAuth.accessToken); AuthResult authResult = await _auth.signInWithCredential(credential); FirebaseUser user = authResult.user; print(user); @@ -62,12 +71,10 @@ class _LoginViewState extends State { } _handleFacebookSignin() async { - FacebookLoginResult result = - await facebookLogin.logIn(['email']); + FacebookLoginResult result = await facebookLogin.logIn(['email']); if (result.accessToken != null) { try { - AuthCredential credential = FacebookAuthProvider.getCredential( - accessToken: result.accessToken.token); + AuthCredential credential = FacebookAuthProvider.getCredential(accessToken: result.accessToken.token); AuthResult authResult = await _auth.signInWithCredential(credential); FirebaseUser user = authResult.user; print(user); @@ -87,9 +94,8 @@ class _LoginViewState extends State { switch (result.status) { case TwitterLoginStatus.loggedIn: - AuthCredential credential = TwitterAuthProvider.getCredential( - authToken: result.session.token, - authTokenSecret: result.session.secret); + AuthCredential credential = + TwitterAuthProvider.getCredential(authToken: result.session.token, authTokenSecret: result.session.secret); await _auth.signInWithCredential(credential); break; case TwitterLoginStatus.cancelledByUser: @@ -105,16 +111,15 @@ class _LoginViewState extends State { Widget build(BuildContext context) { _buttons = { ProvidersTypes.facebook: - providersDefinitions(context)[ProvidersTypes.facebook] - .copyWith(onSelected: _handleFacebookSignin), + providersDefinitions(context)[ProvidersTypes.facebook].copyWith(onSelected: _handleFacebookSignin), ProvidersTypes.google: - providersDefinitions(context)[ProvidersTypes.google] - .copyWith(onSelected: _handleGoogleSignIn), + providersDefinitions(context)[ProvidersTypes.google].copyWith(onSelected: _handleGoogleSignIn), ProvidersTypes.twitter: - providersDefinitions(context)[ProvidersTypes.twitter] - .copyWith(onSelected: _handleTwitterSignin), - ProvidersTypes.email: providersDefinitions(context)[ProvidersTypes.email] - .copyWith(onSelected: _handleEmailSignIn), + providersDefinitions(context)[ProvidersTypes.twitter].copyWith(onSelected: _handleTwitterSignin), + ProvidersTypes.email: + providersDefinitions(context)[ProvidersTypes.email].copyWith(onSelected: _handleEmailSignIn), + ProvidersTypes.guest: + providersDefinitions(context)[ProvidersTypes.guest].copyWith(onSelected: _handleGuestSignIn), }; return new Container( @@ -122,8 +127,7 @@ class _LoginViewState extends State { child: new Column( children: widget.providers.map((p) { return new Container( - padding: EdgeInsets.only(bottom: widget.bottomPadding), - child: _buttons[p] ?? new Container()); + padding: EdgeInsets.only(bottom: widget.bottomPadding), child: _buttons[p] ?? new Container()); }).toList())); } diff --git a/lib/utils.dart b/lib/utils.dart index d2df431..a677bf2 100644 --- a/lib/utils.dart +++ b/lib/utils.dart @@ -7,7 +7,7 @@ import 'package:google_sign_in/google_sign_in.dart'; import 'package:firebase_ui/l10n/localization.dart'; -enum ProvidersTypes { email, google, facebook, twitter, phone } +enum ProvidersTypes { email, google, facebook, twitter, guest, phone } final GoogleSignIn googleSignIn = new GoogleSignIn(); final FacebookLogin facebookLogin = new FacebookLogin(); @@ -17,6 +17,7 @@ ProvidersTypes stringToProvidersType(String value) { if (value.toLowerCase().contains('google')) return ProvidersTypes.google; if (value.toLowerCase().contains('password')) return ProvidersTypes.email; if (value.toLowerCase().contains('twitter')) return ProvidersTypes.twitter; + if (value.toLowerCase().contains('guest')) return ProvidersTypes.guest; //TODO if (value.toLowerCase().contains('phone')) return ProvidersTypes.phone; return null; } @@ -104,6 +105,12 @@ Map providersDefinitions( label: FFULocalizations.of(context).signInTwitter, name: "Twitter", labelColor: Colors.white), + ProvidersTypes.guest: new ButtonDescription( + color: const Color.fromRGBO(244, 180, 0, 1.0), + logo: "twitter-logo.png", + label: FFULocalizations.of(context).signInGuest, + name: "guest", + labelColor: Colors.white), }; Future showErrorDialog(BuildContext context, String message, From 7c5812fda79aacc3bfd0349947f007b94c6236cb Mon Sep 17 00:00:00 2001 From: Curly Date: Tue, 31 Dec 2019 15:28:16 +0000 Subject: [PATCH 3/5] Don't intialise farcebook by default --- flutter_01.log | 92 --------------------------------------------- lib/login_view.dart | 2 +- lib/utils.dart | 12 +++++- 3 files changed, 11 insertions(+), 95 deletions(-) delete mode 100644 flutter_01.log diff --git a/flutter_01.log b/flutter_01.log deleted file mode 100644 index 681f3b2..0000000 --- a/flutter_01.log +++ /dev/null @@ -1,92 +0,0 @@ -Flutter crash report; please file at https://github.com/flutter/flutter/issues. - -## command - -flutter packages get - -## exception - -YamlException: Error on line 37, column 3: Expected a key while parsing a block mapping. - - assets/go-logo.png - ^ - -``` -#0 Parser._parseBlockMappingKey (package:yaml/src/parser.dart:448:5) -#1 Parser._stateMachine (package:yaml/src/parser.dart:86:16) -#2 Parser.parse (package:yaml/src/parser.dart:47:19) -#3 Loader._loadMapping (package:yaml/src/loader.dart:171:23) -#4 Loader._loadNode (package:yaml/src/loader.dart:86:16) -#5 Loader._loadMapping (package:yaml/src/loader.dart:165:19) -#6 Loader._loadNode (package:yaml/src/loader.dart:86:16) -#7 Loader._loadDocument (package:yaml/src/loader.dart:62:20) -#8 Loader.load (package:yaml/src/loader.dart:54:20) -#9 loadYamlDocument (package:yaml/yaml.dart:51:25) -#10 loadYamlNode (package:yaml/yaml.dart:42:5) -#11 loadYaml (package:yaml/yaml.dart:34:5) -#12 _pluginFromPubspec (package:flutter_tools/src/plugins.dart:62:27) -#13 findPlugins. (package:flutter_tools/src/plugins.dart:85:27) -#14 __InternalLinkedHashMap&_HashVMBase&MapMixin&_LinkedHashMapMixin.forEach (dart:collection/runtime/libcompact_hash.dart:370:8) -#15 findPlugins (package:flutter_tools/src/plugins.dart:83:12) -#16 injectPlugins (package:flutter_tools/src/plugins.dart:297:32) - -#17 FlutterProject.ensureReadyForPlatformSpecificTooling (package:flutter_tools/src/project.dart:142:11) - -#18 PackagesGetCommand.runCommand (package:flutter_tools/src/commands/packages.dart:90:28) - -#19 FlutterCommand.verifyThenRunCommand (package:flutter_tools/src/runner/flutter_command.dart:400:18) -#20 _asyncThenWrapperHelper. (dart:async/runtime/libasync_patch.dart:77:64) -#21 _rootRunUnary (dart:async/zone.dart:1132:38) -#22 _CustomZone.runUnary (dart:async/zone.dart:1029:19) -#23 _FutureListener.handleValue (dart:async/future_impl.dart:129:18) -#24 Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:642:45) -#25 Future._propagateToListeners (dart:async/future_impl.dart:671:32) -#26 Future._complete (dart:async/future_impl.dart:476:7) -#27 _SyncCompleter.complete (dart:async/future_impl.dart:51:12) -#28 _AsyncAwaitCompleter.complete. (dart:async/runtime/libasync_patch.dart:33:20) -#29 _rootRun (dart:async/zone.dart:1124:13) -#30 _CustomZone.run (dart:async/zone.dart:1021:19) -#31 _CustomZone.bindCallback. (dart:async/zone.dart:947:23) -#32 _microtaskLoop (dart:async/schedule_microtask.dart:41:21) -#33 _startMicrotaskLoop (dart:async/schedule_microtask.dart:50:5) -#34 _runPendingImmediateCallback (dart:isolate/runtime/libisolate_patch.dart:115:13) -#35 _RawReceivePortImpl._handleMessage (dart:isolate/runtime/libisolate_patch.dart:172:5) -``` - -## flutter doctor - -``` -[✓] Flutter (Channel beta, v0.11.3, on Mac OS X 10.14 18A389, locale fr-FR) - • Flutter version 0.11.3 at /Users/kylyu/development/flutter - • Framework revision 72bf075e8d (6 days ago), 2018-11-09 20:36:17 -0800 - • Engine revision 5646e86a6f - • Dart version 2.1.0 (build 2.1.0-dev.9.3 9c07fb64c4) - -[✓] Android toolchain - develop for Android devices (Android SDK 28.0.3) - • Android SDK at /Users/kylyu/Library/Android/sdk - • Android NDK location not configured (optional; useful for native profiling support) - • Platform android-28, build-tools 28.0.3 - • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java - • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1136-b06) - • All Android licenses accepted. - -[✓] iOS toolchain - develop for iOS devices (Xcode 10.1) - • Xcode at /Applications/Xcode.app/Contents/Developer - • Xcode 10.1, Build version 10B61 - • ios-deploy 2.0.0 - • CocoaPods version 1.5.3 - -[✓] Android Studio (version 3.2) - • Android Studio at /Applications/Android Studio.app/Contents - ✗ Flutter plugin not installed; this adds Flutter specific functionality. - ✗ Dart plugin not installed; this adds Dart specific functionality. - • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1136-b06) - -[✓] VS Code (version 1.29.0) - • VS Code at /Applications/Visual Studio Code.app/Contents - • Flutter extension version 2.20.0 - -[✓] Connected device (1 available) - • iPhone XR • C3A78E12-98C5-4CD6-8E3C-599D7A03250D • ios • iOS 12.1 (simulator) - -• No issues found! -``` diff --git a/lib/login_view.dart b/lib/login_view.dart index 39d5bcf..8f54a23 100644 --- a/lib/login_view.dart +++ b/lib/login_view.dart @@ -71,7 +71,7 @@ class _LoginViewState extends State { } _handleFacebookSignin() async { - FacebookLoginResult result = await facebookLogin.logIn(['email']); + FacebookLoginResult result = await getFacebookLogin().logIn(['email']); if (result.accessToken != null) { try { AuthCredential credential = FacebookAuthProvider.getCredential(accessToken: result.accessToken.token); diff --git a/lib/utils.dart b/lib/utils.dart index a677bf2..c9ed2fc 100644 --- a/lib/utils.dart +++ b/lib/utils.dart @@ -10,7 +10,15 @@ import 'package:firebase_ui/l10n/localization.dart'; enum ProvidersTypes { email, google, facebook, twitter, guest, phone } final GoogleSignIn googleSignIn = new GoogleSignIn(); -final FacebookLogin facebookLogin = new FacebookLogin(); +FacebookLogin _facebookLogin; + +// We don't initialise this by default as we don't always want farcebook (sic). +getFacebookLogin() { + if ( _facebookLogin == null) { + _facebookLogin = FacebookLogin(); + } + return _facebookLogin; +} ProvidersTypes stringToProvidersType(String value) { if (value.toLowerCase().contains('facebook')) return ProvidersTypes.facebook; @@ -156,7 +164,7 @@ Future signOut(Iterable providers) async { return Future.forEach(providers, (p) async { switch (p.providerId) { case 'facebook.com': - await facebookLogin.logOut(); + await getFacebookLogin().logOut(); break; case 'google.com': await googleSignIn.signOut(); From 8b36ad06fc4adf583dfd7a41da47a519342f05af Mon Sep 17 00:00:00 2001 From: Curly Date: Tue, 31 Dec 2019 16:31:39 +0000 Subject: [PATCH 4/5] Revert "Don't intialise farcebook by default" This reverts commit 7c5812fda79aacc3bfd0349947f007b94c6236cb. --- flutter_01.log | 92 +++++++++++++++++++++++++++++++++++++++++++++ lib/login_view.dart | 2 +- lib/utils.dart | 12 +----- 3 files changed, 95 insertions(+), 11 deletions(-) create mode 100644 flutter_01.log diff --git a/flutter_01.log b/flutter_01.log new file mode 100644 index 0000000..681f3b2 --- /dev/null +++ b/flutter_01.log @@ -0,0 +1,92 @@ +Flutter crash report; please file at https://github.com/flutter/flutter/issues. + +## command + +flutter packages get + +## exception + +YamlException: Error on line 37, column 3: Expected a key while parsing a block mapping. + - assets/go-logo.png + ^ + +``` +#0 Parser._parseBlockMappingKey (package:yaml/src/parser.dart:448:5) +#1 Parser._stateMachine (package:yaml/src/parser.dart:86:16) +#2 Parser.parse (package:yaml/src/parser.dart:47:19) +#3 Loader._loadMapping (package:yaml/src/loader.dart:171:23) +#4 Loader._loadNode (package:yaml/src/loader.dart:86:16) +#5 Loader._loadMapping (package:yaml/src/loader.dart:165:19) +#6 Loader._loadNode (package:yaml/src/loader.dart:86:16) +#7 Loader._loadDocument (package:yaml/src/loader.dart:62:20) +#8 Loader.load (package:yaml/src/loader.dart:54:20) +#9 loadYamlDocument (package:yaml/yaml.dart:51:25) +#10 loadYamlNode (package:yaml/yaml.dart:42:5) +#11 loadYaml (package:yaml/yaml.dart:34:5) +#12 _pluginFromPubspec (package:flutter_tools/src/plugins.dart:62:27) +#13 findPlugins. (package:flutter_tools/src/plugins.dart:85:27) +#14 __InternalLinkedHashMap&_HashVMBase&MapMixin&_LinkedHashMapMixin.forEach (dart:collection/runtime/libcompact_hash.dart:370:8) +#15 findPlugins (package:flutter_tools/src/plugins.dart:83:12) +#16 injectPlugins (package:flutter_tools/src/plugins.dart:297:32) + +#17 FlutterProject.ensureReadyForPlatformSpecificTooling (package:flutter_tools/src/project.dart:142:11) + +#18 PackagesGetCommand.runCommand (package:flutter_tools/src/commands/packages.dart:90:28) + +#19 FlutterCommand.verifyThenRunCommand (package:flutter_tools/src/runner/flutter_command.dart:400:18) +#20 _asyncThenWrapperHelper. (dart:async/runtime/libasync_patch.dart:77:64) +#21 _rootRunUnary (dart:async/zone.dart:1132:38) +#22 _CustomZone.runUnary (dart:async/zone.dart:1029:19) +#23 _FutureListener.handleValue (dart:async/future_impl.dart:129:18) +#24 Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:642:45) +#25 Future._propagateToListeners (dart:async/future_impl.dart:671:32) +#26 Future._complete (dart:async/future_impl.dart:476:7) +#27 _SyncCompleter.complete (dart:async/future_impl.dart:51:12) +#28 _AsyncAwaitCompleter.complete. (dart:async/runtime/libasync_patch.dart:33:20) +#29 _rootRun (dart:async/zone.dart:1124:13) +#30 _CustomZone.run (dart:async/zone.dart:1021:19) +#31 _CustomZone.bindCallback. (dart:async/zone.dart:947:23) +#32 _microtaskLoop (dart:async/schedule_microtask.dart:41:21) +#33 _startMicrotaskLoop (dart:async/schedule_microtask.dart:50:5) +#34 _runPendingImmediateCallback (dart:isolate/runtime/libisolate_patch.dart:115:13) +#35 _RawReceivePortImpl._handleMessage (dart:isolate/runtime/libisolate_patch.dart:172:5) +``` + +## flutter doctor + +``` +[✓] Flutter (Channel beta, v0.11.3, on Mac OS X 10.14 18A389, locale fr-FR) + • Flutter version 0.11.3 at /Users/kylyu/development/flutter + • Framework revision 72bf075e8d (6 days ago), 2018-11-09 20:36:17 -0800 + • Engine revision 5646e86a6f + • Dart version 2.1.0 (build 2.1.0-dev.9.3 9c07fb64c4) + +[✓] Android toolchain - develop for Android devices (Android SDK 28.0.3) + • Android SDK at /Users/kylyu/Library/Android/sdk + • Android NDK location not configured (optional; useful for native profiling support) + • Platform android-28, build-tools 28.0.3 + • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java + • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1136-b06) + • All Android licenses accepted. + +[✓] iOS toolchain - develop for iOS devices (Xcode 10.1) + • Xcode at /Applications/Xcode.app/Contents/Developer + • Xcode 10.1, Build version 10B61 + • ios-deploy 2.0.0 + • CocoaPods version 1.5.3 + +[✓] Android Studio (version 3.2) + • Android Studio at /Applications/Android Studio.app/Contents + ✗ Flutter plugin not installed; this adds Flutter specific functionality. + ✗ Dart plugin not installed; this adds Dart specific functionality. + • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1136-b06) + +[✓] VS Code (version 1.29.0) + • VS Code at /Applications/Visual Studio Code.app/Contents + • Flutter extension version 2.20.0 + +[✓] Connected device (1 available) + • iPhone XR • C3A78E12-98C5-4CD6-8E3C-599D7A03250D • ios • iOS 12.1 (simulator) + +• No issues found! +``` diff --git a/lib/login_view.dart b/lib/login_view.dart index 8f54a23..39d5bcf 100644 --- a/lib/login_view.dart +++ b/lib/login_view.dart @@ -71,7 +71,7 @@ class _LoginViewState extends State { } _handleFacebookSignin() async { - FacebookLoginResult result = await getFacebookLogin().logIn(['email']); + FacebookLoginResult result = await facebookLogin.logIn(['email']); if (result.accessToken != null) { try { AuthCredential credential = FacebookAuthProvider.getCredential(accessToken: result.accessToken.token); diff --git a/lib/utils.dart b/lib/utils.dart index c9ed2fc..a677bf2 100644 --- a/lib/utils.dart +++ b/lib/utils.dart @@ -10,15 +10,7 @@ import 'package:firebase_ui/l10n/localization.dart'; enum ProvidersTypes { email, google, facebook, twitter, guest, phone } final GoogleSignIn googleSignIn = new GoogleSignIn(); -FacebookLogin _facebookLogin; - -// We don't initialise this by default as we don't always want farcebook (sic). -getFacebookLogin() { - if ( _facebookLogin == null) { - _facebookLogin = FacebookLogin(); - } - return _facebookLogin; -} +final FacebookLogin facebookLogin = new FacebookLogin(); ProvidersTypes stringToProvidersType(String value) { if (value.toLowerCase().contains('facebook')) return ProvidersTypes.facebook; @@ -164,7 +156,7 @@ Future signOut(Iterable providers) async { return Future.forEach(providers, (p) async { switch (p.providerId) { case 'facebook.com': - await getFacebookLogin().logOut(); + await facebookLogin.logOut(); break; case 'google.com': await googleSignIn.signOut(); From 044921a0888529d2772a05fb71665949f2ed37ac Mon Sep 17 00:00:00 2001 From: Curly Date: Tue, 31 Dec 2019 17:16:14 +0000 Subject: [PATCH 5/5] Anonymoius login and icon tweaks --- CHANGELOG.md | 3 ++ README.md | 4 +-- lib/l10n/translations.dart | 2 +- lib/utils.dart | 67 +++++++++++++++++++------------------- pubspec.yaml | 2 +- 5 files changed, 41 insertions(+), 37 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c952315..013a4aa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,6 @@ +## [1.0.10] - 31/12/2019 +* allow guest login + ## [1.0.9] - 30/12/2019 * update dependencies diff --git a/README.md b/README.md index 0ad924b..63839b2 100644 --- a/README.md +++ b/README.md @@ -5,10 +5,10 @@ Fork of https://pub.dartlang.org/packages/flutter_firebase_ui -Old package wasnt being maintained so i created this one to update. +Old package wasn't being maintained so I created this one to update. firebase_ui is a library that helps you to quickly implement firebase authentication. -It provides UI for the common identity providers like Facebook, Google, Twitter and email. +It provides UI for the common identity providers like Facebook, Google, Twitter and email. Note: this plugin use firebase_auth you must configure it as describe [here](https://pub.dartlang.org/packages/firebase_auth). diff --git a/lib/l10n/translations.dart b/lib/l10n/translations.dart index 00d8422..6edcf8a 100644 --- a/lib/l10n/translations.dart +++ b/lib/l10n/translations.dart @@ -223,7 +223,7 @@ Sign in with $providerName to continue.'''; String get signInTwitter => r'Sign in with Twitter'; @override - String get signInGuest => r"Continue as guest"; + String get signInGuest => r"Continue as a guest"; } // ignore: camel_case_types diff --git a/lib/utils.dart b/lib/utils.dart index a677bf2..6017f38 100644 --- a/lib/utils.dart +++ b/lib/utils.dart @@ -1,12 +1,11 @@ import 'dart:async'; import 'package:firebase_auth/firebase_auth.dart'; +import 'package:firebase_ui/l10n/localization.dart'; import 'package:flutter/material.dart'; import 'package:flutter_facebook_login/flutter_facebook_login.dart'; import 'package:google_sign_in/google_sign_in.dart'; -import 'package:firebase_ui/l10n/localization.dart'; - enum ProvidersTypes { email, google, facebook, twitter, guest, phone } final GoogleSignIn googleSignIn = new GoogleSignIn(); @@ -28,13 +27,15 @@ class ButtonDescription extends StatelessWidget { final Color labelColor; final Color color; final String logo; + final IconData icon; final String name; final VoidCallback onSelected; const ButtonDescription( - {@required this.logo, - @required this.label, + {@required this.label, @required this.name, + this.logo, + this.icon, this.onSelected, this.labelColor = Colors.grey, this.color = Colors.white}); @@ -44,6 +45,7 @@ class ButtonDescription extends StatelessWidget { Color labelColor, Color color, String logo, + IconData icon, String name, VoidCallback onSelected, }) { @@ -52,6 +54,7 @@ class ButtonDescription extends StatelessWidget { labelColor: labelColor ?? this.labelColor, color: color ?? this.color, logo: logo ?? this.logo, + icon: icon ?? this.icon, name: name ?? this.name, onSelected: onSelected ?? this.onSelected); } @@ -64,23 +67,22 @@ class ButtonDescription extends StatelessWidget { child: new Row( children: [ new Container( - padding: const EdgeInsets.fromLTRB(16.0, 16.0, 32.0, 16.0), - child: new Image.asset('assets/$logo', package: 'firebase_ui')), + padding: const EdgeInsets.fromLTRB(16.0, 16.0, 32.0, 16.0), + child: icon != null ? Icon(icon, color: labelColor, size: 30 ) : Image.asset('assets/$logo', package: 'firebase_ui'), + ), new Expanded( child: new Text( label, style: new TextStyle(color: labelColor), ), - ) + ), ], ), onPressed: _onSelected); } } -Map providersDefinitions( - BuildContext context) => - { +Map providersDefinitions(BuildContext context) => { ProvidersTypes.facebook: new ButtonDescription( color: const Color.fromRGBO(59, 87, 157, 1.0), logo: "fb-logo.png", @@ -92,7 +94,7 @@ Map providersDefinitions( logo: "go-logo.png", label: FFULocalizations.of(context).signInGoogle, name: "Google", - labelColor: Colors.grey), + labelColor: Colors.black54), ProvidersTypes.email: new ButtonDescription( color: const Color.fromRGBO(219, 68, 55, 1.0), logo: "email-logo.png", @@ -107,39 +109,38 @@ Map providersDefinitions( labelColor: Colors.white), ProvidersTypes.guest: new ButtonDescription( color: const Color.fromRGBO(244, 180, 0, 1.0), - logo: "twitter-logo.png", + icon: Icons.person, label: FFULocalizations.of(context).signInGuest, name: "guest", labelColor: Colors.white), }; -Future showErrorDialog(BuildContext context, String message, - {String title}) { +Future showErrorDialog(BuildContext context, String message, {String title}) { return showDialog( context: context, barrierDismissible: false, // user must tap button! builder: (BuildContext context) => new AlertDialog( - title: title != null ? new Text(title) : null, - content: new SingleChildScrollView( - child: new ListBody( - children: [ - new Text(message ?? FFULocalizations.of(context).errorOccurred), - ], - ), - ), - actions: [ - new FlatButton( - child: new Row( - children: [ - new Text(FFULocalizations.of(context).cancelButtonLabel), - ], - ), - onPressed: () { - Navigator.of(context).pop(); - }, - ), + title: title != null ? new Text(title) : null, + content: new SingleChildScrollView( + child: new ListBody( + children: [ + new Text(message ?? FFULocalizations.of(context).errorOccurred), ], ), + ), + actions: [ + new FlatButton( + child: new Row( + children: [ + new Text(FFULocalizations.of(context).cancelButtonLabel), + ], + ), + onPressed: () { + Navigator.of(context).pop(); + }, + ), + ], + ), ); } diff --git a/pubspec.yaml b/pubspec.yaml index ef175c1..7c0cad9 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,6 +1,6 @@ name: firebase_ui description: Firebase auth UI, dart package to mimic the firebaseUI(Google,Facebook,Twitter,Email supported) -version: 1.0.9 +version: 1.0.10 author: Nicholas Bowler homepage: https://github.com/Maliffic/firebase_ui