setLocale method

Future<void> setLocale(
  1. Locale locale
)

Sets a new language and saves it in SharedPreferences

It ensures that language is either 'en' or 'es' and after updating _locale, notifyListeners is called to update depending widgets

Implementation

Future<void> setLocale(Locale locale) async {
  if (!['en', 'es'].contains(locale.languageCode)) return;
  _locale = locale;
  notifyListeners();
  final prefs = await SharedPreferences.getInstance();
  await prefs.setString('language', locale.languageCode);
}