profile
viewpoint
Andrea Bizzotto bizz84 http://bizz84.github.io London http://bizz84.github.io iOS & Flutter Developer. Blogger. codingwithflutter.com taps.io/PixelPicker castplayerapp.com ecobuddyapp.com

create barnchbizz84/firebase_auth_demo_flutter

branch : update-dependencies

created branch time in 17 hours

issue openedroughike/flutter_facebook_login

FBSDKCoreKit cocoapods issues with latest version 3

After updating my Flutter project to version 3.0.0, I'm no longer able to build on iOS.

Error:

    [!] CocoaPods could not find compatible versions for pod "FBSDKCoreKit":
      In Podfile:
        FBSDKCoreKit (= 4.39.1)
        flutter_facebook_login (from `.symlinks/plugins/flutter_facebook_login/ios`) was resolved to 0.0.1, which depends on
          FBSDKCoreKit (~> 5.5)
    Specs satisfying the `FBSDKCoreKit (= 4.39.1), FBSDKCoreKit (~> 5.5)` dependency were found, but they required a higher minimum deployment target.

This is even with setting a minimum deployment target of 11.0 both in the Podfile, and in the Xcode project settings.

flutter doctor:

Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, v1.9.1+hotfix.4, on Mac OS X 10.14.4 18E226, locale en-GB)
 
[✓] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
[✓] Xcode - develop for iOS and macOS (Xcode 10.2)
[✓] Android Studio (version 3.5)
[✓] VS Code (version 1.39.1)
[✓] Connected device (3 available)

• No issues found!

pod --version is 1.8.3

Already run pod repo update prior to building the app.

None of this is a problem with version 2.x.

created time in 17 hours

create barnchbizz84/firebase_auth_demo_flutter

branch : multiple-flavors

created branch time in 2 days

push eventbizz84/firebase_auth_demo_flutter

bizz84

commit sha 3521329e9b58c7a959b1f459b27666be3230e7e6

Tentative fix for navigation call using deactivated widget context

view details

push time in 3 days

created tagbizz84/firebase_auth_demo_flutter

tag0.0.9+2

Reference Authentication Flow with Flutter & Firebase

created time in 6 days

push eventbizz84/firebase_auth_demo_flutter

bizz84

commit sha b927ace35427867b2e73928cc96f7d4ea9e1ebbb

Update changelog. Version 0.0.9+2

view details

push time in 6 days

push eventbizz84/firebase_auth_demo_flutter

Andrea Bizzotto

commit sha 83fa4e9aa5fdf135765955f61fd8c0540bd5c785

Only update loading state ValueNotifier when authentication calls fail. (#41) This is to prevent exceptions when updating the ValueNotifier after the parent widget is disposed following a successful sign in.

view details

push time in 6 days

PR merged bizz84/firebase_auth_demo_flutter

Only update loading state ValueNotifier when authentication calls fail

This is to prevent exceptions when updating the ValueNotifier after the parent widget is disposed following a successful sign in.

+17 -11

0 comment

4 changed files

bizz84

pr closed time in 6 days

PR opened bizz84/firebase_auth_demo_flutter

Only update loading state ValueNotifier when authentication calls fail

This is to prevent exceptions when updating the ValueNotifier after the parent widget is disposed following a successful sign in.

+17 -11

0 comment

4 changed files

pr created time in 6 days

push eventbizz84/firebase_auth_demo_flutter

bizz84

commit sha cef659545b9d50316ec377fabc1124b058864668

Add link to instructions for downloading GoogleService-Info.plist

view details

bizz84

commit sha 34856625e9798f1cf1e47012b3b9c0729c53dc1a

Update links to Firebase docs. Update License

view details

push time in 9 days

push eventbizz84/firebase_auth_demo_flutter

bizz84

commit sha 3d20998c77d100f11d8d4a2ecdff1d27398e2c96

Rename AuthWidget -> AuthWidgetBuilder, LandingPage -> AuthWidget

view details

push time in 9 days

push eventbizz84/firebase_auth_demo_flutter

bizz84

commit sha d4df66f86622922e6ba5850091d80c1dec085c77

Update Sketch file

view details

push time in 10 days

issue closedbizz84/firebase_auth_demo_flutter

Google SignIn do not Work

error Exception has occurred. PlatformException (PlatformException(sign_in_failed, com.google.android.gms.common.api.ApiException: 12500: , null))

please resolve this problem

closed time in 10 days

SaputraGo

issue commentbizz84/firebase_auth_demo_flutter

Google SignIn do not Work

@SaputraGo I'm closing this but feel free to open a new issue if you still have problems.

SaputraGo

comment created time in 10 days

issue closedbizz84/firebase_auth_demo_flutter

App crashes when I click close from google sign in

I am trying to get the 'Sign in aborted by user.' dialog box to show when I close the Google Sign In. Right now when I click close the app crashes and this is what appears:

Exception has occurred.

PlatformException (PlatformException(sign_in_canceled, com.google.GIDSignIn, The user canceled the sign-in flow.))

The line appears on the following line of code in the Auth.dart file:

GoogleSignInAccount googleUser = await googleSignIn.signIn();

Just to test the functionality of the dialog box, I changed the if statement in auth.dart from:

if (googleUser != null)

to

if (googleUser == null)

This results in the dialog box appearing. So throwing the PlatformException must be working correctly. It seems like the problem is that the app crashes before the program checks if the user is null.

I have even tried directly catching the error like this:

GoogleSignInAccount googleUser;
      try {
        googleUser = await googleSignIn.signIn();
      } catch (e) {
        throw PlatformException(
          code: "ERROR_ABORTED_BY_USER",
          message: 'Sign in aborted by user.',
          );
      }

I think that googleSignIn.signIn() might be returning an exception instead of null, but I have the same version as the videos.

closed time in 10 days

springfitnesstechnology

issue commentbizz84/firebase_auth_demo_flutter

App crashes when I click close from google sign in

Closing this - feel free to reopen if there are still issues.

springfitnesstechnology

comment created time in 10 days

issue closedbizz84/firebase_auth_demo_flutter

User Information after signing in.

Thank you for sharing this amazing repo.

Just a quick request/question.

  • How do I show user information after signing in?

closed time in 10 days

rxxxxxxb

issue commentbizz84/firebase_auth_demo_flutter

User Information after signing in.

@urbanmania see #39 which moves the auth StreamBuilder above the MaterialApp. This should fix any problems with Providers not found.

rxxxxxxb

comment created time in 10 days

issue closedbizz84/firebase_auth_demo_flutter

how do you add multiple provider

Hello, Thanks for the article... How do you add multiple provider,,, Suppose , I have another provider name shopping that I also need down stream...

Thanks

closed time in 10 days

premtemp1

issue closedbizz84/firebase_auth_demo_flutter

How to handle StreamBuilder rebuilds resulting from navigation?

Thanks for a great demo! I'm running into an issue trying to incorporate navigation after the user has successfully logged in.

Problem

When I call Navigator.push(context, <any_route>) it causes the LandingPage widget tree to be rebuilt, which then recreates the StreamBuilder<User>. Upon successful login, I changed your code to return an AuthenticatedLandingPage widget instead of HomePage so I can load the user's profile before displaying the home page. Unfortunately, every time I navigate it reloads their profile due to the rebuilding.

Question

Do you have any established best practices for dealing with loading data like this after logging in? I know the build method can be called at anytime it just seems like using StreamBuilder inside of build results in lots of recreations of the User stream (and any subsequent data streams dependent on the User like in my case UserProfile).

Code

// LandingPage.dart

class LandingPage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return StreamBuilder<FirebaseUser>(
      stream: FirebaseAuth.instance.onAuthStateChanged,
      builder: (context, snapshot) {
        if (snapshot.connectionState == ConnectionState.active) {
          if (!snapshot.hasData) {
            return AuthSplashPage();
          }
          
          final user = snapshot.data;
          return Provider<FirebaseUser>.value(
            value: user,
            child: const AuthenticatedLandingPage(),
          );
        }

        return _loadingScreen("Authenticating");
      },
    );
  }
}

class AuthenticatedLandingPage extends StatelessWidget {
  const AuthenticatedLandingPage();

  @override
  Widget build(BuildContext context) {
    // this gets rebuilt every time we navigate in the app
    final user = Provider.of<FirebaseUser>(context);
    final userService = Provider.of<UserService>(context);

    return StreamBuilder<UserProfile>(
      stream: userService.streamProfile(user.uid), // calls Firestore.instance.collection("user_profile").document(user.uid).snapshots()
      builder: (context, snapshot) {
        if (snapshot.connectionState == ConnectionState.active) {
          if (!snapshot.hasData) {
            return OnboardingSplashPage();
          }

          final profile = snapshot.data;
          return Provider<UserProfile>.value(
            value: profile,
            child: const HomePage(),
          );
        }

        return _loadingScreen("Loading profile");
      },
    );
  }
}

Thanks!

closed time in 10 days

narciero

issue commentbizz84/firebase_auth_demo_flutter

How to handle StreamBuilder rebuilds resulting from navigation?

@narciero Take a look at the latest changes: #39.

With this setup, the auth state StreamBuilder has been moved above the MaterialApp, and I no longer see the rebuilds. I have tested that this works when pushing a new route, as well as showing the on-screen keyboard.

Closing - but let me know if you have more questions

narciero

comment created time in 10 days

created tagbizz84/firebase_auth_demo_flutter

tag0.0.9+1

Reference Authentication Flow with Flutter & Firebase

created time in 10 days

push eventbizz84/firebase_auth_demo_flutter

Andrea Bizzotto

commit sha 67856188009ab6b2a71994504c2cbe2ed0e47d89

Add AuthWidget above MaterialApp (#39) * Add Database setup sample code * Add AuthWidget above MaterialApp. Used to create user-dependent objects that need to be accessible by all widgets. * Remove Database class. Cleanup & documentation * Add AuthWidget tests * Update documenttion, remove some tests * Updated widget tree * Replace BehaviorSubject with PublishSubject in FirebaseEmailLinkHandler (avoids duplicate alerts showing when the auth state changes) * Update expectations order in tests * Update CHANGELOG. Version 0.0.9+1

view details

push time in 10 days

PR merged bizz84/firebase_auth_demo_flutter

Add AuthWidget above MaterialApp

This is used to create user-bound providers if there is a signed-in user.

Solves the problem of providers that are not accessible inside pushed routes.

TODO

  • [x] Add AuthWidget class
  • [x] Add tests
  • [x] Update architecture diagrams
  • [x] Test StreamBuilder rebuilds not called when pushing routes (see #32)
  • [x] Update FirebaseEmailLinkHandler to use PublishSubject instead of BehaviorSubject to avoid duplicate alerts when the auth state changes. Updated tests
+214 -137

0 comment

11 changed files

bizz84

pr closed time in 10 days

push eventbizz84/firebase_auth_demo_flutter

bizz84

commit sha 7299e9b464aa82f64c3f72c958f569cf001f08cf

Update CHANGELOG. Version 0.0.9+1

view details

push time in 10 days

push eventbizz84/firebase_auth_demo_flutter

bizz84

commit sha fc09095794f0147c0a02bdbf5bc3dcb6428e7f78

Replace BehaviorSubject with PublishSubject in FirebaseEmailLinkHandler (avoids duplicate alerts showing when the auth state changes)

view details

bizz84

commit sha 8443d5dc9c4fda0516878a6246a41372f7eb0112

Update expectations order in tests

view details

push time in 10 days

push eventbizz84/firebase_auth_demo_flutter

bizz84

commit sha b0f8f031ae58ed4901bc6759d7ebca2d355d3583

Updated widget tree

view details

push time in 10 days

PR opened bizz84/firebase_auth_demo_flutter

Add AuthWidget above MaterialApp

This is used to create user-bound providers if there is a signed-in user.

Solves the problem of providers that are not accessible inside pushed routes.

TODO

  • [x] Add AuthWidget class
  • [x] Add tests
  • [ ] Update architecture diagrams
+157 -108

0 comment

5 changed files

pr created time in 10 days

create barnchbizz84/firebase_auth_demo_flutter

branch : auth-widget

created branch time in 10 days

push eventbizz84/firebase_auth_demo_flutter

bizz84

commit sha fc76e88164692141ec15c836fee44166a7f1d68f

Add AuthWidget above MaterialApp. Used to create user-dependent objects that need to be accessible by all widgets.

view details

push time in 11 days

issue commentbizz84/image-picker-demo-flutter

Missing plugin Exception

Thanks for contributing everyone!

Mounikareddymouni

comment created time in 11 days

issue closedbizz84/image-picker-demo-flutter

Missing plugin Exception

MissingPluginException(No implementation found for method pickImage on channel com.musevisions.flutter/imagePicker)

closed time in 11 days

Mounikareddymouni

issue commentbizz84/image-picker-demo-flutter

Missing plugin Exception

@shadyshrif done. Please note that this was an example project to show how to use platform channels, so it was deliberately not using the official image picker plugin.

Mounikareddymouni

comment created time in 11 days

push eventbizz84/image-picker-demo-flutter

Shady Sherif

commit sha 3335366a62a03ed510c3d47063501b6d1dff012e

using image_picker package

view details

Shady Sherif

commit sha 9d2d6cf99641b2b6945950ecf42602a5e53cc121

update gradle version to 3.2.0

view details

Shady Sherif

commit sha 82ff0790c49b03ae64d871e4bc81fdbb4b5b1f89

update ios required perissions

view details

Shady Sherif

commit sha 9c1508c51baf11a296e946d72281c54baa485fdb

stop using channels and use the image_picker package instead

view details

Andrea Bizzotto

commit sha b5dc035922a5c24072af69c67b94d8109083af3c

Merge pull request #5 from shadyshrif/master Solving the Missing plugin Exception by using package image_picker instead of the current channels

view details

push time in 11 days

PR merged bizz84/image-picker-demo-flutter

Solving the Missing plugin Exception by using package image_picker instead of the current channels

The current channels cause expectation: Missing plugin Exception #3

I added a dependency to package image_picker and solved the issue. I test it on Android and IOS

+21 -14

0 comment

7 changed files

shadyshrif

pr closed time in 11 days

create barnchbizz84/firebase_auth_demo_flutter

branch : firestore-database-example

created branch time in 12 days

push eventbizz84/firebase_auth_demo_flutter

bizz84

commit sha 0e4b6821192eb6cabcc188498a0460172b4a5abf

Add simple EmailPasswordSignInModel test

view details

push time in 12 days

pull request commentbizz84/SwiftyStoreKit

New video tutorial

<!-- 0 Errors 1 Warning: Please target PRs to <code>dev... 0 Messages 0 Markdowns --> <table> <thead> <tr> <th width="50"></th> <th width="100%" data-danger-table="true" data-kind="Warning"> 1 Warning </th> </tr> </thead> <tbody> <tr> <td>:warning:</td> <td data-sticky="false">Please target PRs to <code>develop</code> branch</td> </tr> </tbody> </table>

<p align="right" data-meta="generated_by_danger"> Generated by :no_entry_sign: <a href="https://danger.systems/">Danger</a> </p>

rebeloper

comment created time in 13 days

push eventbizz84/firebase_auth_demo_flutter

bizz84

commit sha b902659e7b4686887648d0d70c22210c1d8e7ca2

Add sylph configuration file for testing on AWS device farm

view details

push time in 15 days

push eventbizz84/bottom_bar_fab_flutter

bizz84

commit sha 83bf324b576ac9ca5e50c5bd2d8457d9d05bd5ef

Update xcode project

view details

bizz84

commit sha 49c60a72137038aa56838b95f9282956a873fabf

Update pubspec.lock

view details

push time in 16 days

push eventbizz84/slivers_demo_flutter

bizz84

commit sha 706778d7ea7af61f0ac3bb109e85f5ecf95f203b

Add poster and link to second YouTube video

view details

push time in 17 days

pull request commentbizz84/SwiftyStoreKit

Fix/fetch product concurrency

<!-- 0 Errors 2 Warnings: Please target PRs to <code>dev... 0 Messages 0 Markdowns --> <table> <thead> <tr> <th width="50"></th> <th width="100%" data-danger-table="true" data-kind="Warning"> 2 Warnings </th> </tr> </thead> <tbody> <tr> <td>:warning:</td> <td data-sticky="false">Please target PRs to <code>develop</code> branch</td> </tr> <tr> <td>:warning:</td> <td data-sticky="false">No CHANGELOG changes made</td> </tr> </tbody> </table>

<p align="right" data-meta="generated_by_danger"> Generated by :no_entry_sign: <a href="https://danger.systems/">Danger</a> </p>

cipolleschi

comment created time in 17 days

push eventbizz84/firebase_auth_demo_flutter

bizz84

commit sha e55fd73c8d2a920e3f5b92e31e1925ebdb94c734

Replace hard-coded constant key

view details

push time in 17 days

push eventbizz84/firebase_auth_demo_flutter

Andrea Bizzotto

commit sha cf97f46c2b1225f8f56a477e294fd64d1df07375

Add sign-in/sign-out integration tests with Flutter driver (#37) * Add basic flutter_driver setup * Basic driver test passing * Cleanup * Cleanup * Cleanup auth service type injection in AuthServiceAdapter * Remove delays * Fix compile errors * Remove empty test file

view details

push time in 17 days

push eventbizz84/firebase_auth_demo_flutter

bizz84

commit sha f4ec7c88296344835d82e6203feaa3bced72e0cb

Fix compile errors

view details

bizz84

commit sha 9961cead6d1cfbbb8fbadac39c4cc86ac6e6ccaf

Remove empty test file

view details

push time in 18 days

create barnchbizz84/firebase_auth_demo_flutter

branch : integration_tests

created branch time in 18 days

push eventbizz84/firebase_auth_demo_flutter

bizz84

commit sha 6dd1e38a06757121d965afd7772f92067c91e2cc

Add build badge

view details

push time in 20 days

push eventbizz84/firebase_auth_demo_flutter

push time in 20 days

push eventbizz84/firebase_auth_demo_flutter

bizz84

commit sha 9a6840952b16369bae6b81ba05bad591f90a5866

Add encrypted GoogleService-Info.enc file

view details

push time in 20 days

push eventbizz84/flight_co2_calculator_flutter

bizz84

commit sha 8b6ebc25ecfdc467a58893ad2a14d41493a3f052

Updated all dependencies

view details

push time in 21 days

issue commentbizz84/firebase_auth_demo_flutter

'archivedDataWithRootObject:requiringSecureCoding:error:'

@yasinarik A couple of things worth noting:

  • Your pod repo may be updated. Have you tried running pod repo update?
  • You're running on Xcode 9.4.1. Have you tried updating to Xcode 10 or 11?

Let me know if any of these fixes your problem.

yasinarik

comment created time in 23 days

issue commentbizz84/firebase_auth_demo_flutter

How to handle StreamBuilder rebuilds resulting from navigation?

@narciero thanks for mentioning this.

I have encountered this problem in various projects, however I haven't found a good solution yet. One idea worth exploring is to convert the LandingPage into a StatefulWidget that holds a subscription to the onAuthStateChanged stream.

This way, a local FirebaseUser variable can be stored and updated when the user changes. And this may reduce unnecessary StreamBuilder rebuilds.

NOTE: I'm mentioning this as something worth exploring - I haven't tested it in practice.

narciero

comment created time in 23 days

pull request commentbizz84/firebase_auth_demo_flutter

Update README for googleservice.json

@srihamat thank you very much for contributing. Merged.

srihamat

comment created time in 23 days

issue closedbizz84/firebase_auth_demo_flutter

Where can the google-services.json be downloaded?

You mention in the readme, that we have to download and install a google-services.json, but you don't mention, where it can be downloaded. Could you add that info, please? Thank you!

Reason: I think that somebody, who comes to this site directly and does not know about Firebase or your course or whatever, should get all information needed to be well-informed what to do. In this case it would help to make things very clear, when sth like "Download google-services.json from your firebase account that is needed for this project."

This is even helpful for people, who already worked through your tutorial and come back to it sometimes later. Thank you!

closed time in 23 days

rowild

push eventbizz84/firebase_auth_demo_flutter

Apisak Srihamat

commit sha a3afc773ad281c6cdeecd30a50fecf92ff02a295

Update README (#36) Added how to setup firebase (googleservice.json)

view details

push time in 23 days

issue commentbizz84/firebase_auth_demo_flutter

Where can the google-services.json be downloaded?

Thanks all for contributing to this. I have now merged this to master.

rowild

comment created time in 23 days

PR merged bizz84/firebase_auth_demo_flutter

Update README for googleservice.json

Added how to setup firebase (googleservice.json) Ref: https://github.com/bizz84/firebase_auth_demo_flutter/issues/34

+2 -2

0 comment

1 changed file

srihamat

pr closed time in 23 days

push eventbizz84/slivers_demo_flutter

bizz84

commit sha b05c9cd16ea3f1c45e28dce9c494e56d6053ae01

Update README

view details

bizz84

commit sha 73da44890bd1b0d0bbc4c22fb8d4f1496cf13c18

Update SliversBasicPage

view details

push time in 23 days

PublicEvent

push eventbizz84/slivers_demo_flutter

bizz84

commit sha d94c34271af6d36b3b47b208be6dc8a59bdc5ce5

Add link to YouYube video

view details

push time in 24 days

push eventbizz84/firebase_auth_demo_flutter

bizz84

commit sha 8f8cc0dfcab50aa4edec0adec8746509ffda367d

Use the new FocusScopeNode in the email & password page

view details

push time in a month

created tagbizz84/firebase_auth_demo_flutter

tag0.0.8+3

Reference Authentication Flow with Flutter & Firebase

created time in a month

push eventbizz84/firebase_auth_demo_flutter

bizz84

commit sha 763e2b7de2c68a7b846548c75cbf8041861414af

Show camera image icon when avatar is not loaded. Version 0.0.8+2

view details

push time in a month

created tagbizz84/firebase_auth_demo_flutter

tag0.0.8+2

Reference Authentication Flow with Flutter & Firebase

created time in a month

created tagbizz84/firebase_auth_demo_flutter

tag0.0.7

Reference Authentication Flow with Flutter & Firebase

created time in a month

created tagbizz84/firebase_auth_demo_flutter

tag0.0.8

Reference Authentication Flow with Flutter & Firebase

created time in a month

push eventbizz84/image-picker-demo-flutter

bizz84

commit sha fca1b5b308319bb37258482e6045083d4a8d3c67

Fix for iOS code

view details

push time in a month

push eventbizz84/image-picker-demo-flutter

bizz84

commit sha 5a3148a6066a78fb54b4da3f48b4b933352e1aec

Update project

view details

push time in a month

create barnchbizz84/time_tracker_flutter_course

branch : 25.38-complete-bloc-tests

created branch time in a month

create barnchbizz84/time_tracker_flutter_course

branch : 25.36-setup-bloc-test

created branch time in a month

create barnchbizz84/time_tracker_flutter_course

branch : 25.34-mock-value-notifier

created branch time in a month

create barnchbizz84/time_tracker_flutter_course

branch : 25.32-testing-navigation

created branch time in a month

create barnchbizz84/time_tracker_flutter_course

branch : 25.26-stub-mock-objects

created branch time in a month

create barnchbizz84/time_tracker_flutter_course

branch : 25.21-add-another-test

created branch time in a month

create barnchbizz84/time_tracker_flutter_course

branch : 25.18-install-mockito

created branch time in a month

create barnchbizz84/time_tracker_flutter_course

branch : 25.15-finders-and-matchers

created branch time in a month

create barnchbizz84/time_tracker_flutter_course

branch : 25.13-complete-job-tests

created branch time in a month

create barnchbizz84/time_tracker_flutter_course

branch : 25.11-start-job-tests

created branch time in a month

more