private void setupLanguageSelector()

in sample/app/src/main/java/com/whatsapp/stringpacks/sample/MainActivity.java [56:84]


  private void setupLanguageSelector() {
    Spinner spinner = findViewById(R.id.language_spinner);
    // TODO: display language full name instead of language code
    String[] langCodes = getResources().getStringArray(R.array.language_tags);
    languageCodes.addAll(Arrays.asList(langCodes));
    languageCodes.add(0, getDeviceLanguageItem());
    adapter = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item);
    adapter.addAll(languageCodes);
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spinner.setAdapter(adapter);

    spinner.setOnItemSelectedListener(
        new AdapterView.OnItemSelectedListener() {
          public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {
            String language;
            if (pos == 0) {
              Locale locale =
                  StringPackUtils.getLocaleFromConfiguration(
                      getApplicationContext().getResources().getConfiguration());
              language = locale.getLanguage();
            } else {
              language = parent.getItemAtPosition(pos).toString();
            }
            changeLanguage(language);
          }

          public void onNothingSelected(AdapterView<?> parent) {}
        });
  }