diff options
| -rw-r--r-- | services/core/java/com/android/server/hdmi/HdmiControlService.java | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/hdmi/HdmiControlService.java b/services/core/java/com/android/server/hdmi/HdmiControlService.java index c8c662387d16..d5f8eadcf805 100644 --- a/services/core/java/com/android/server/hdmi/HdmiControlService.java +++ b/services/core/java/com/android/server/hdmi/HdmiControlService.java @@ -143,6 +143,10 @@ public class HdmiControlService extends SystemService { private static final String TAG = "HdmiControlService"; private static final Locale HONG_KONG = new Locale("zh", "HK"); private static final Locale MACAU = new Locale("zh", "MO"); + private static final String TAIWAN_HantLanguageTag = "zh-Hant-TW"; + private static final String HONG_KONG_HantLanguageTag = "zh-Hant-HK"; + private static final String HONG_KONG_YUE_HantLanguageTag = "yue-Hant-HK"; + private static final String MACAU_HantLanguageTag = "zh-Hant-MO"; private static final Map<String, String> sTerminologyToBibliographicMap = createsTerminologyToBibliographicMap(); @@ -173,7 +177,11 @@ public class HdmiControlService extends SystemService { } @VisibleForTesting static String localeToMenuLanguage(Locale locale) { - if (locale.equals(Locale.TAIWAN) || locale.equals(HONG_KONG) || locale.equals(MACAU)) { + if (locale.equals(Locale.TAIWAN) || locale.equals(HONG_KONG) || locale.equals(MACAU) || + locale.toLanguageTag().equals(TAIWAN_HantLanguageTag) || + locale.toLanguageTag().equals(HONG_KONG_HantLanguageTag) || + locale.toLanguageTag().equals(HONG_KONG_YUE_HantLanguageTag) || + locale.toLanguageTag().equals(MACAU_HantLanguageTag)) { // Android always returns "zho" for all Chinese variants. // Use "bibliographic" code defined in CEC639-2 for traditional // Chinese used in Taiwan/Hong Kong/Macau. |