diff --git a/lib/main.dart b/lib/main.dart index 8c01e6f69..972c8866c 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -81,7 +81,7 @@ void main({bool isTesting = false}) async { ..addAll(createStoreGroupsMiddleware()) ..addAll(createStorePersistenceMiddleware()) //..addAll(isTesting || kReleaseMode - ..addAll(isTesting + ..addAll(isTesting // TODO remove this ? [] : [ LoggingMiddleware.printer( diff --git a/lib/redux/app/app_state.dart b/lib/redux/app/app_state.dart index 735d50b0e..5e66d096d 100644 --- a/lib/redux/app/app_state.dart +++ b/lib/redux/app/app_state.dart @@ -811,7 +811,7 @@ abstract class AppState implements Built { '\nis Large: ${(company?.isLarge ?? false) ? 'Yes' : 'No'}' '\nCompany: $companyUpdated${userCompanyState.isStale ? ' [S]' : ''}' '\nStatic: $staticUpdated${staticState.isStale ? ' [S]' : ''}' - '\nPassword $passwordUpdated${authState.hasRecentlyEnteredPassword ? '' : ' [S]'}' + '\nPassword: $passwordUpdated${authState.hasRecentlyEnteredPassword ? '' : ' [S]'}' '\n'; } } diff --git a/lib/utils/dialogs.dart b/lib/utils/dialogs.dart index c83e90669..8edbc88f3 100644 --- a/lib/utils/dialogs.dart +++ b/lib/utils/dialogs.dart @@ -106,6 +106,12 @@ void passwordCallback({ bool alwaysRequire = false, }) { final state = StoreProvider.of(context).state; + print( + '## hasRecentlyEnteredPassword: ${state.authState.hasRecentlyEnteredPassword}'); + print('## oauthProvider.isNotEmpty: ${state.user.oauthProvider.isNotEmpty}'); + print( + '## company.oauthPasswordRequired: ${state.company.oauthPasswordRequired}'); + if (state.authState.hasRecentlyEnteredPassword && !alwaysRequire) { callback(null, null); } else { @@ -125,7 +131,7 @@ void passwordCallback({ }, ); } - }); + }, isSilent: true); } else { showDialog( context: context, diff --git a/lib/utils/oauth.dart b/lib/utils/oauth.dart index e2b2e509e..b38988dff 100644 --- a/lib/utils/oauth.dart +++ b/lib/utils/oauth.dart @@ -9,8 +9,11 @@ final GoogleSignIn _googleSignIn = GoogleSignIn( ], ); -void googleSignIn(Function(String, String, String) callback) async { - final account = await _googleSignIn.signIn(); +void googleSignIn(Function(String, String, String) callback, + {bool isSilent = false}) async { + final account = await (isSilent + ? _googleSignIn.signInSilently() + : _googleSignIn.signIn()); if (account != null) { account.authentication.then((GoogleSignInAuthentication value) { callback(value.idToken, value.accessToken, value.serverAuthCode); diff --git a/lib/utils/oauth.dart.foss b/lib/utils/oauth.dart.foss index 433cca202..f510de3d2 100644 --- a/lib/utils/oauth.dart.foss +++ b/lib/utils/oauth.dart.foss @@ -1,3 +1,3 @@ -void googleSignIn(Function(String, String, String) callback) async {} +void googleSignIn(Function(String, String, String) callback, {bool isSilent = false}) async {} void googleSignUp(Function(String, String, String) callback) async {}