From bcb49e50bc7db5cc44b084628094b92145ddb226 Mon Sep 17 00:00:00 2001 From: khanhduytran0 Date: Sat, 21 Nov 2020 16:06:06 +0700 Subject: [PATCH] Fix locale names not shown correctly --- .../java/net/kdt/pojavlaunch/DisplayableLocale.java | 13 +++++++++++++ .../net/kdt/pojavlaunch/PojavLoginActivity.java | 5 ++--- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/net/kdt/pojavlaunch/DisplayableLocale.java b/app/src/main/java/net/kdt/pojavlaunch/DisplayableLocale.java index 19b95000a..66a6372d1 100644 --- a/app/src/main/java/net/kdt/pojavlaunch/DisplayableLocale.java +++ b/app/src/main/java/net/kdt/pojavlaunch/DisplayableLocale.java @@ -5,6 +5,19 @@ public class DisplayableLocale { public final Locale mLocale; public final CharSequence mName; + private static Locale processStringLocale(String locale) { + if (locale.contains("-")) { + String[] split = locale.split("-"); + return new Locale(split[0], split[1]); + } else { + return new Locale(locale); + } + } + + public DisplayableLocale(String locale) { + this(processStringLocale(locale)); + } + public DisplayableLocale(Locale locale) { this(locale, locale.getDisplayName(locale)); } diff --git a/app/src/main/java/net/kdt/pojavlaunch/PojavLoginActivity.java b/app/src/main/java/net/kdt/pojavlaunch/PojavLoginActivity.java index 39bdfe0a5..ed0028b69 100644 --- a/app/src/main/java/net/kdt/pojavlaunch/PojavLoginActivity.java +++ b/app/src/main/java/net/kdt/pojavlaunch/PojavLoginActivity.java @@ -217,8 +217,7 @@ public class PojavLoginActivity extends BaseActivity System.out.println(currFile.getAbsolutePath()); if (currFile.getAbsolutePath().contains("/values-") || currFile.getName().startsWith("values-")) { // TODO use regex(?) - Locale thisLocale = new Locale(currFile.getName().replace("values-", "").replace("-r", "-")); - langAdapter.add(new DisplayableLocale(thisLocale)); + langAdapter.add(new DisplayableLocale(currFile.getName().replace("values-", "").replace("-r", "-"))); } } } catch (IOException e) { @@ -248,7 +247,7 @@ public class PojavLoginActivity extends BaseActivity Locale locale; if (position == 0) { - locale = Locale.getDefault(); + locale = LocaleUtils.DEFAULT_LOCALE; } else if (position == 1) { locale = Locale.ENGLISH; } else {