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:
parent
888c26283f
commit
79b3f98812
4 changed files with 8 additions and 5 deletions
|
|
@ -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();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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------------------------------
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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,
|
||||||
|
|
|
||||||
|
|
@ -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,
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue