public static void overrideCustomLanguage()

in sample/app/src/main/java/com/whatsapp/stringpacks/sample/LocaleUtil.java [20:48]


  public static void overrideCustomLanguage(Context context, String languageTag) {
    String language = languageTag;
    String country = "";
    int dashIndex = languageTag.indexOf('-');
    if (dashIndex > 0) {
      language = languageTag.substring(0, dashIndex);
      country = languageTag.substring(dashIndex + 1);
    }
    final Locale newLocale = new Locale(language, country);
    final Context overriddenContext;

    if (UPDATE_CONFIGURATION_WORKS) {
      // On API < 26, we modify the existing Context directly.
      final Resources res = context.getResources();
      final Configuration config = res.getConfiguration();

      config.locale = new Locale(language, country);
      res.updateConfiguration(config, res.getDisplayMetrics());

      overriddenContext = context;
    } else {
      final Configuration config = new Configuration();
      config.setLocale(newLocale);

      overriddenContext = context.createConfigurationContext(config);
    }

    StringPacks.getInstance().setUp(overriddenContext);
  }