Fixed bug where a method was being called on the parameter of the constructor and not the instance variable causing it to sometimes call on null

This commit is contained in:
Mariano Uvalle 2019-03-08 22:00:21 -06:00
parent 888c26283f
commit 79b3f98812
4 changed files with 8 additions and 5 deletions

View file

@ -8,6 +8,8 @@ import '../models/summary_model.dart';
import '../models/user_model.dart'; import '../models/user_model.dart';
class AuthService { class AuthService {
final _googleSignInProvider = GoogleSignInProvider();
final _firestoreProvider = FirestoreProvider();
final _user = BehaviorSubject<FirebaseUser>(); final _user = BehaviorSubject<FirebaseUser>();
Observable<FirebaseUser> get userStream => _user.stream; Observable<FirebaseUser> get userStream => _user.stream;
@ -16,9 +18,6 @@ class AuthService {
_googleSignInProvider.onAuthStateChange.pipe(_user); _googleSignInProvider.onAuthStateChange.pipe(_user);
} }
final _googleSignInProvider = GoogleSignInProvider();
final _firestoreProvider = FirestoreProvider();
Future<void> googleLoginAndSignup() async { Future<void> googleLoginAndSignup() async {
final user = await _googleSignInProvider.signIn(); final user = await _googleSignInProvider.signIn();

View file

@ -16,7 +16,7 @@ class FirestoreProvider {
FirestoreProvider([Firestore firestore]) FirestoreProvider([Firestore firestore])
: _firestore = firestore ?? Firestore.instance { : _firestore = firestore ?? Firestore.instance {
firestore.settings(timestampsInSnapshotsEnabled: true); _firestore.settings(timestampsInSnapshotsEnabled: true);
} }
//-----------------------User related operations------------------------------ //-----------------------User related operations------------------------------

View file

@ -1,10 +1,13 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:font_awesome_flutter/font_awesome_flutter.dart'; import 'package:font_awesome_flutter/font_awesome_flutter.dart';
import '../resources/authService.dart';
import '../widgets/logo.dart'; import '../widgets/logo.dart';
import '../widgets/gradient_button.dart'; import '../widgets/gradient_button.dart';
class LoginScreen extends StatelessWidget { class LoginScreen extends StatelessWidget {
final AuthService _authService = authService;
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
body: Container( body: Container(
@ -20,6 +23,7 @@ class LoginScreen extends StatelessWidget {
Expanded( Expanded(
child: Center( child: Center(
child: GradientButton( child: GradientButton(
onTap: _authService.googleLoginAndSignup(),
height: 50, height: 50,
width: 310, width: 310,
radius: 25, radius: 25,

View file

@ -7,7 +7,7 @@ class GradientButton extends StatelessWidget {
final Widget child; final Widget child;
final double height; final double height;
final double width; final double width;
final VoidCallback onTap; final onTap;
GradientButton({ GradientButton({
this.radius = 4, this.radius = 4,
@required this.child, @required this.child,