// Useful:
// http://www.loc.gov/standards/iso639-2/php/code_list.php
- private final Map<String, LanguageResources> isoCodeToResources = new HashMap<String, LanguageResources>();
- private IsoUtils() {
+ private final Map<String, LanguageResources> isoCodeToResources = new HashMap<>();
+ IsoUtils() {
isoCodeToResources.put("AF", new LanguageResources("Afrikaans", R.string.AF,
R.drawable.flag_of_south_africa));
isoCodeToResources.put("SQ", new LanguageResources("Albanian", R.string.SQ,
isoCodeToResources.put("LO", new LanguageResources("Lao", R.string.LO,
R.drawable.flag_of_laos));
isoCodeToResources.put("ML", new LanguageResources("Malayalam", R.string.ML));
- isoCodeToResources.put("SL", new LanguageResources("Slovenian", R.string.SL,
- R.drawable.flag_of_slovenia));
isoCodeToResources.put("TA", new LanguageResources("Tamil", R.string.TA));
isoCodeToResources.put("SH", new LanguageResources("Serbo-Croatian", R.string.SH));
isoCodeToResources.put("SD", new LanguageResources("Sindhi", R.string.SD));
// Hack to allow lower-case ISO codes to work:
- for (final String isoCode : new ArrayList<String>(isoCodeToResources.keySet())) {
+ for (final String isoCode : new ArrayList<>(isoCodeToResources.keySet())) {
isoCodeToResources.put(isoCode.toLowerCase(), isoCodeToResources.get(isoCode));
}
}
return lang;
}
- public View createButton(final Context context, final DictionaryInfo dictionaryInfo,
+ public View createButton(final Context context,
final IndexInfo indexInfo, int size) {
LanguageResources languageResources = isoCodeToResources.get(indexInfo.shortName);
View result;
result.setLayoutParams(new LinearLayout.LayoutParams(size, size * 2 / 3));
return result;
}
+
+ public View setupButton(Button textButton, ImageButton imageButton,
+ final IndexInfo indexInfo) {
+ LanguageResources languageResources = isoCodeToResources.get(indexInfo.shortName);
+ View result;
+
+ if (languageResources == null || languageResources.flagId <= 0) {
+ textButton.setText(indexInfo.shortName);
+ textButton.setVisibility(View.VISIBLE);
+ imageButton.setVisibility(View.GONE);
+ result = textButton;
+ } else {
+ imageButton.setImageResource(languageResources.flagId);
+ imageButton.setScaleType(ImageView.ScaleType.FIT_CENTER);
+ textButton.setVisibility(View.GONE);
+ imageButton.setVisibility(View.VISIBLE);
+ result = imageButton;
+ }
+ // Assume dimensions have been set before in Layout
+ return result;
+ }
}