]> gitweb.fperrin.net Git - Dictionary.git/blobdiff - src/com/hughes/android/dictionary/IsoUtils.java
Fix issues noted by lint tools.
[Dictionary.git] / src / com / hughes / android / dictionary / IsoUtils.java
index 4cafedc11bee6f049a95b4f42da22a8ee94d2dc4..6ca5003ba1f5d07d3a8525015f4add3e13d86cce 100644 (file)
@@ -35,8 +35,8 @@ public enum IsoUtils {
 
     // 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,
@@ -185,14 +185,12 @@ public enum IsoUtils {
         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));
         }
     }
@@ -216,7 +214,7 @@ public enum IsoUtils {
         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;
@@ -234,4 +232,25 @@ public enum IsoUtils {
         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;
+    }
 }