loadAccounts method

Future<void> loadAccounts()

Implementation

Future<void> loadAccounts() async {
  try {
    final defaultUserId = _prefs.getString(_kDefaultUser);
    final accounts = await _pca.loadAccounts();
    if (accounts != null && accounts.isNotEmpty) {
      _accountSubject.add(accounts);
      _currentAccount = accounts.firstWhere(
          (element) => element.identifier == defaultUserId,
          orElse: () => accounts.first);
      _updateStatus(AuthenticationStatus.authenticated);
    } else {
      _updateStatus(AuthenticationStatus.unauthenticated);
      _accountSubject.add(null);
    }
  } catch (e) {
    rethrow;
  }
}