resolveResourceContent method

Future<ResourceContent?> resolveResourceContent()

Resolves the Uri with the desired locale code and available URIs.

Implementation

Future<ResourceContent?> resolveResourceContent() async {
  var defaultLocale = IntlLocale.getDefaultLocale() ?? 'en';
  var localesSequence = getPossibleLocalesSequence(defaultLocale);

  for (var locale in localesSequence) {
    var uri = replaceLocale(uriLocalePattern, mainUri, locale);

    var resourceContent = _cached(ResourceContent.fromURI(uri));

    if (resourceContent != null) {
      await resourceContent.getContent();

      if (resourceContent.isLoaded && !resourceContent.isLoadedWithError) {
        return resourceContent;
      }
    }
  }

  return null;
}