Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 454c3f3c authored by satok's avatar satok Committed by Android Git Automerger
Browse files

am 795fc1a4: Do not merge. Fix the list of supported languages

* commit '795fc1a4':
  Do not merge. Fix the list of supported languages
parents 72e9cd10 795fc1a4
Loading
Loading
Loading
Loading
+42 −33
Original line number Original line Diff line number Diff line
@@ -36,10 +36,20 @@ public class InputLanguageSelection extends PreferenceActivity {


    private String mSelectedLanguages;
    private String mSelectedLanguages;
    private ArrayList<Loc> mAvailableLanguages = new ArrayList<Loc>();
    private ArrayList<Loc> mAvailableLanguages = new ArrayList<Loc>();
    private static final String[] BLACKLIST_LANGUAGES = {

        "ko", "ja", "zh", "el"
    private static final String[] WHITELIST_LANGUAGES = {
        "cs", "da", "de", "en_GB", "en_US", "es", "es_US", "fr", "it", "nb", "nl", "pl", "pt", "ru"
    };
    };


    private static boolean isWhitelisted(String lang) {
        for (String s : WHITELIST_LANGUAGES) {
            if (s.equalsIgnoreCase(lang)) {
                return true;
            }
        }
        return false;
    }

    private static class Loc implements Comparable<Object> {
    private static class Loc implements Comparable<Object> {
        static Collator sCollator = Collator.getInstance();
        static Collator sCollator = Collator.getInstance();


@@ -157,13 +167,20 @@ public class InputLanguageSelection extends PreferenceActivity {
        for (int i = 0 ; i < origSize; i++ ) {
        for (int i = 0 ; i < origSize; i++ ) {
            String s = locales[i];
            String s = locales[i];
            int len = s.length();
            int len = s.length();
            final Locale l;
            final String language;
            if (len == 5) {
            if (len == 5) {
                String language = s.substring(0, 2);
                language = s.substring(0, 2);
                String country = s.substring(3, 5);
                String country = s.substring(3, 5);
                Locale l = new Locale(language, country);
                l = new Locale(language, country);

            } else if (len == 2) {
                language = s;
                l = new Locale(language);
            } else {
                continue;
            }
            // Exclude languages that are not relevant to LatinIME
            // Exclude languages that are not relevant to LatinIME
                if (arrayContains(BLACKLIST_LANGUAGES, language)) continue;
            if (!isWhitelisted(s)) continue;


            if (finalSize == 0) {
            if (finalSize == 0) {
                preprocess[finalSize++] =
                preprocess[finalSize++] =
@@ -189,17 +206,9 @@ public class InputLanguageSelection extends PreferenceActivity {
                }
                }
            }
            }
        }
        }
        }
        for (int i = 0; i < finalSize ; i++) {
        for (int i = 0; i < finalSize ; i++) {
            uniqueLocales.add(preprocess[i]);
            uniqueLocales.add(preprocess[i]);
        }
        }
        return uniqueLocales;
        return uniqueLocales;
    }
    }

    private boolean arrayContains(String[] array, String value) {
        for (int i = 0; i < array.length; i++) {
            if (array[i].equalsIgnoreCase(value)) return true;
        }
        return false;
    }
}
}