From c98ac18f89aba452459c1b49ed247026c4eb1542 Mon Sep 17 00:00:00 2001 From: Raphael Kim Date: Thu, 2 Apr 2020 15:42:52 -0700 Subject: [PATCH] Optimize!!! --- .../predictions/models/LanguageType.java | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/core/src/main/java/com/amplifyframework/predictions/models/LanguageType.java b/core/src/main/java/com/amplifyframework/predictions/models/LanguageType.java index 1739e2cdcc..c8c3b0426a 100644 --- a/core/src/main/java/com/amplifyframework/predictions/models/LanguageType.java +++ b/core/src/main/java/com/amplifyframework/predictions/models/LanguageType.java @@ -145,6 +145,36 @@ public enum LanguageType { * @return An enum value of matching language code */ public static LanguageType from(String languageCode) { + // Micro-optimization... for fun :) + // https://en.wikipedia.org/wiki/List_of_languages_by_number_of_native_speakers + switch (languageCode) { + case "zh": + return CHINESE_SIMPLIFIED; + case "zh-TW": + return CHINESE_TRADITIONAL; + case "es": + return SPANISH; + case "en": + return ENGLISH; + case "hi": + return HINDI; + case "bn": + return BENGALI; + case "pt": + return PORTUGUESE; + case "ru": + return RUSSIAN; + case "ja": + return JAPANESE; + case "pa": + return PUNJABI; + case "mr": + return MARATHI; + default: + // Move on... your language isn't popular + } + + // Linear-search for rest for (LanguageType language : values()) { if (language.getLanguageCode().equals(languageCode)) { return language;