I'm using Firebase and when I use await GoogleSignIn.signIn() a modal shadow shows on top of my app blocking user interaction until if finishes its business.
If it's the first time and the user need to fill or pick a credential (email account) that's understandable.
But once the user has registered it's very annoying to open the app and have to wait for it to finish before interacting with the app. My code is all async and nothing from my part is blocking the user interaction.
Everything works well in the background when using other login methods like passwordless login. But when I use GoogleSignIn, it just throws this modal shadow on top of my app and blocks user interaction.
Am I doing something wrong? Maybe I shouldn't be calling GoogleSignIn.signIn() every time the app is opened after the user has already registered? Or is it just as it's supposed to be?
It takes about a second to finish his business but it's enough to annoy and it can take longer depending on the network connectivity. And if the connection fails, it takes about 5 seconds to give up and throw the error.
The way my app is designed there's no reason to hold the user until he has logged in. He can even use my app offline so I'd really like to change this behavior.
EDIT Here's my sign in code:
final GoogleSignInAccount googleUser = await _googleSignIn.signIn();
final GoogleSignInAuthentication googleAuth = await googleUser.authentication;
final AuthCredential credential = GoogleAuthProvider.credential(
accessToken: googleAuth.accessToken,
idToken: googleAuth.idToken,
);
user = (await FirebaseAuth.instance.signInWithCredential(credential)).user;