diff --git a/android/src/main/java/com/henninghall/date_picker/DerivedData.java b/android/src/main/java/com/henninghall/date_picker/DerivedData.java index 13fb561..fb97fe2 100644 --- a/android/src/main/java/com/henninghall/date_picker/DerivedData.java +++ b/android/src/main/java/com/henninghall/date_picker/DerivedData.java @@ -55,7 +55,10 @@ public class DerivedData { } private ArrayList getOrderedWheels() { - String dateTimePattern = LocaleUtils.getDateTimePattern(state.getLocale()); + String dateTimePatternOld = LocaleUtils.getDateTimePattern(state.getLocale()); + String dateTimePattern = dateTimePatternOld.replaceAll("\\('(.+?)'\\)","\\${$1}") + .replaceAll("'.+?'","") + .replaceAll("\\$\\{(.+?)\\}","('$1')"); ArrayList unorderedTypes = new ArrayList(Arrays.asList(WheelType.values())); ArrayList orderedWheels = new ArrayList<>(); @@ -63,9 +66,9 @@ public class DerivedData { unorderedTypes.remove(WheelType.DAY); orderedWheels.add(WheelType.DAY); - for (char ch : dateTimePattern.toCharArray()){ + for (char c: dateTimePattern.toCharArray()){ try { - WheelType wheelType = Utils.patternCharToWheelType(ch); + WheelType wheelType = Utils.patternCharToWheelType(c); if (unorderedTypes.contains(wheelType)) { unorderedTypes.remove(wheelType); orderedWheels.add(wheelType); diff --git a/android/src/main/java/com/henninghall/date_picker/Utils.java b/android/src/main/java/com/henninghall/date_picker/Utils.java index 1e38a7a..7edc417 100644 --- a/android/src/main/java/com/henninghall/date_picker/Utils.java +++ b/android/src/main/java/com/henninghall/date_picker/Utils.java @@ -85,6 +85,4 @@ public class Utils { default: throw new Exception("Invalid pattern char: " + patternChar); } } - - } diff --git a/examples/detox/e2e/tests/displayText.spec.js b/examples/detox/e2e/tests/displayText.spec.js index b7bc4b8..0981056 100644 --- a/examples/detox/e2e/tests/displayText.spec.js +++ b/examples/detox/e2e/tests/displayText.spec.js @@ -14,6 +14,9 @@ describe('Display text', () => { }) describe('datetime', () => { + it('vi-VN', async () => { + await expectLocaleDateString('vi-VN', 'CN 2 thg 1' + '1200 SA ') + }) it('en-US', async () => { await expectLocaleDateString('en-US', 'Sun Jan 2' + '1200 AM ') })