From fc67e05b7cb017f9da56c2e9abb4478c5e95fc79 Mon Sep 17 00:00:00 2001 From: Vinh Le Date: Fri, 21 Aug 2020 03:15:49 +0700 Subject: [PATCH] fix datetime order pattern for vi-vn locale (#228) * fix order pattern * remove comment string before getOrderedWheels * Update .gitignore * Delete gradle-wrapper.properties * Delete Utils.java * Revert "Delete Utils.java" This reverts commit 97acf132f6b88a25c95966da3509ef6599929249. Co-authored-by: Vinh Le Co-authored-by: Henning Hall --- .../java/com/henninghall/date_picker/DerivedData.java | 9 ++++++--- .../src/main/java/com/henninghall/date_picker/Utils.java | 2 -- examples/detox/e2e/tests/displayText.spec.js | 3 +++ 3 files changed, 9 insertions(+), 5 deletions(-) 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 ') })