summaryrefslogtreecommitdiff
path: root/icu4j
AgeCommit message (Collapse)Author
2024-03-20Regenerate tz-related data filesVictor Chang
Data files updated using: system/timezone/update-tzdata.py Test: n/a Change-Id: I2bbdaacf5ad4a40410ac9f881683b89b74c996e4
2024-03-20Regenerated binary data files with Android CLDR patchesVictor Chang
Binary data files updated using: tools/updateicudata.py Test: n/a Change-Id: Iac462d4c859708caca32b2072b0f38c243e87d75
2024-03-20Regenerated source data files with Android CLDR patchesVictor Chang
Source data files updated using: tools/updatecldrdata.py Test: n/a Change-Id: Ia42a4d9206c5175fb243d9b501941897c503411f
2024-03-20Update icu4j/Android.bp and icu4j srcgenVictor Chang
ICU 74 has changed the directory structures. The .bp file needs to be updated. Test: tools/srcgen/generate_android_icu4j.sh Change-Id: I38568786e96adfbc7e3020d04dd6f81731fac6e7
2024-03-20Remove unused ↵Victor Chang
icu4j/main/tests/core/src/com/ibm/icu/dev/test/serializable/data/.gitignore Test: n/a Change-Id: Ib69dafc3b822fa4873a3e0755aa45f76e8fa756a
2024-03-20Cherry-pick: Update Android ICU data from 2023a to 2023d.Almaz Mingaleev
This change is associated with tzdb 2023d changes in system/timezone. zic.c change is cherry-pick of https://github.com/unicode-org/icu/commit/a837e0d. Otherwise compilation with newer clang version fails. It does not affect system image. keyTypeData.txt is not part of tzdata module nor it's listed in the ICU guidelines [1]. Confirmed with ICU team that it is safe to ship TZDB update w/o this keyTypeData change. keyTypeData.txt is also the reason why .dat file is changed. Bug: 318333787 Test: see system/timezone [1] https://unicode-org.github.io/icu/userguide/datetime/timezone/#updating-the-time-zone-data ICU-22620 tz2023d updates (cherry picked from commit dc7014fda6d6f08b3ddf468bddd62548c8c6263f) ICU-22221 rebase CLDR 43-beta4 import onto latest maint/maint-73 (new… (cherry picked from commit 2c584abf7e4143731f90fa317481e2fb0890ffa5) Change-Id: I8adab75f668a99e2257149ecfc2e6302bbaa541e
2024-03-20Android patch: Enable ML phrase breakingAllen Su
It was first introduced in UDC QPR1. http://ag/23443796 Test: atest CtsIcuTestCases Change-Id: Ie3f895e4e024660f1c4152fa518ab64a22afc17a
2024-03-19Android patch: Soft removal of Calendar.BASE_FIELD_COUNTVictor Chang
The field has been deprecated since API level 26. This CL should remove the field from the SDK, and we expect no one uses the field in the runtime, as javac normally inlines the value in the build time before this change. ICU 74 has updated the value, and thus the value needs to be removed from the Android SDK. Test: n/a Change-Id: I94d23c8d870a1167c37372728dc48f45af618bef
2024-03-19Android-patch: Fix ICUServiceThreadTest flakinessVictor Chang
Sometimes getVisibleIDs() method returns a null reference which might happend because of inaccurate concurrent access. This CL attempts to fix this ICUServiceThreadTest flakiness. Bug: 129457872 Bug: 303614430 Test: cts-tradefed run commandAndExit cts-dev -m CtsIcuTestCases -t android.icu.dev.test.util.ICUServiceTest Change-Id: I210e9306f9cde3987b82551574700ea079a66db2
2024-03-19Android patch: Fix TestCharset#TestSurrogateBehaviorVictor Chang
Android ICU4J doesn't have com.ibm.icu.charset or android.icu.charset. It's safe to ignore this test. Bug: 260054150 Test: cd external/icu/icu4j && atest --host-unit-test-only Change-Id: I416fffb15168d7dfe2bdf3fefdcab50909fc9bc8
2024-03-19Android patch: Keep UnicodeSetIterator non-finalVictor Chang
Upstream commit: https://github.com/unicode-org/icu/commit/ae3f2ae7ca12ca316827b6973f7360bf3044f1e2 ICU 70 made UnicodeSetIterator final. However, it breaks the ABI stability on Android. Thus, we revert the change on Android. Bug: 202948901 Test: m droid Change-Id: I249361445d4d9fb079ef18cb183e4ed1191615c5
2024-03-19Android patch: Keep the char version of 5 UCharacter methodsVictor Chang
Context: https://unicode-org.atlassian.net/browse/ICU-21655 ICU 70 widened the 5 UCharacter methods from char to int and removed the char version. Android has to be ABI stable and keep existing Android app working without re-compilation. Thus, we add the methods back as an Android patch. Bug: 202948901 Test: m droid Change-Id: I59e457a1a8cfacca97250ff10ef4e100206cb3cc
2024-03-19Android patch: Add options argument to CorePlatformApi ↵Victor Chang
DateTimePatternGenerator#getBestPattern Bug: 184018008 Test: n/a Change-Id: I6d8fced1452a791ad0c6a45c65196395113992de
2024-03-19Android patch: Allow duplicated fields in DateTimePatternGeneratorVictor Chang
The original patch can be found at https://r.android.com/1458480 A skeleton, e.g. "jmma", is mapped into "ahmma" internally by #mapSkeletonMetacharacters, and thus the internal skeleton has duplicated fields "a". This is a regression when we moved the implementation of android.text.format.DateFormat#getBestPattern() from udatpg_getBestPattern in ICU4C to ICU4j DateTimePatternGenerator in the CL https://r.android.com/1355735. The expected pattern generated from skeleton of "jmma" is "h:mm a". Bug: 170233598 Test: n/a Change-Id: I56b50d466c9a3c0a95c8ecc41c98f75a8f4bb2b9
2024-03-19Android patch: Add @IntraCoreApi in DateFormatSymbols required by ↵Victor Chang
libcore.icu.LocaleData The original patch can be found: https://r.android.com/1250480 Bug: 138994281 Test: m droid Change-Id: I3ed0c397e2eb971a577e4a3aee6e95a277106743
2024-03-19Android patch: ICU4J loads ICU data without using the ↵Victor Chang
android.icu.impl.ICUBinary.dataPath property This CL alone does not remove the property yet, because it provides the replacement to set ICU4J data directories. The prebuilts and libcore need to be updated to remove the property. Pros: 1. The data directories are currently visible to app, but it's not intended, because the data files and file format are the internal implementation details. 2. having a recursive dependency between the ART module and the I18N module can be avoided, and the relationship simplified, by no longer relying on system properties to initialize ICU4J. Otherwise, ART modules needs to ask the I18N module where the files are, so it can set a system property, which tells the I18N module how to initialize. Instead, lazily generate the list of data directories when ICUBinary class is initialized. 3. Can remove the @IntraCoreApi TimeZoneDataFiles.generateIcuDataPath() in the CL after the ART prebuilts is updated. Cons: 1. Maintain a large patch in ICU4J. Note: - TimeZoneDataFiles is removed from timezone-host target because it's not used, and avoid new dependency on AndroidDataFiles. The original CL was introduced in Android S: https://r.android.com/1481478 The CL title was amended in ICU 69 upgrade. The CL is then updated in ICU 72 upgrade to reduce the patch. https://r.android.com/2111605 https://r.android.com/2292322 Bug: 171979766 Bug: 139480281 Test: ant core (using the upstream icu4j build system) Test: ./updatecldrdata.py Test: m droid cts Test: CtsIcuTestCases Change-Id: I7a920c1d1bc4a88c105ecf08a382b593092862ae
2024-03-19Android patch: Fix localized quarters used in java.timeVictor Chang
Resource alias wasn't handled correctly in the old implementation in DateTimeTextProvider, for example, the wide standalone quarter for Q1 in the locale *agq* should be localized to "kɨbâ kɨ 1", instead of "Q1" provided by the ROOT resources. And it replaces the ICUResourceBundle usage with the new APIs, because ICUResourceBundle should not exposed as @IntraCoreApi. Bug: 139480281 Bug: 170717042 Test: ExtendedDateFormatSymbolsTest Test: atest CtsLibcoreOjTestCases Change-Id: I0b64c717ccdf698c3f84a052df05817a7a896b57
2024-03-19Android patch: Add DecimalFormatSymbols#getLocalizedPatternSeparator for ↵Victor Chang
libcore bridge The patch was modified in ICU 70 to increase the index. The patch for ICU 69 can be found at https://r.android.com/c/1802386/1 Bug: 144560585 Test: m droid Change-Id: I72ae1d0b240307735fe385c8acb5a9838bf216a8
2024-03-19Android patch: JapaneseCalendar.CURRENT_ERA should not depend on system timeVictor Chang
Cherry-picked from http://r.android.com/954859 Test: n/a Change-Id: I79135162125972e42f140601c0a4c9c0c7c230f1
2024-03-19Android patch: ICU-13295: Apostrophe in pattern bugVictor Chang
This is a temporary workaround until the issue has been fixed upstream: https://unicode-org.atlassian.net/browse/ICU-13295 This change was introduced in Android for ICU 59: https://android.googlesource.com/platform/external/icu/+/6f91254 https://android.googlesource.com/platform/external/icu/+/a765635 https://android.googlesource.com/platform/external/icu/+/c98207c (cherry picked from commit 9b607c4e580bebd23ad9c2873227c5de7afc5279) Test: n/a Change-Id: I064a84f3999084bff0653025afecf6629c8a25d9
2024-03-19Android patch: CLDR data: Force default Gregorian calendar.Victor Chang
This change was introduced in Android by this patch: https://android.googlesource.com/platform/external/icu/+/b844b3e And then amended by the ICU 52 upgrade: https://android.googlesource.com/platform/external/icu/+/59d709d And then amended for ICU 55: https://android.googlesource.com/platform/external/icu/+/fafa8ad And then amended for ICU 58: https://android.googlesource.com/platform/external/icu/+/047edd2 And then amended for ICU 64, updating test expectaiotns for DateIntervalFormatTest and removing obsolete th_TH_TRADIOTIONAL locale from IBMCalendarTest since it is now equivalent to th_TH. Amended in ICU 69 by adding a new patch on ICU4C tests from Android S: https://r.android.com/1640799 Amended in ICU 70 to update the formatted string in dtfmtst.cpp The patch in ICU 69 can be found at https://r.android.com/1802266 Test: n/a Change-Id: I936d53108dd035a3d024a33742872310f82bbb27
2024-03-19Android patch: CLDR data: Skip tests for the XA/XB pseudo locales.Victor Chang
In ICU 68, icu4c/source/data/icu-config.xml is removed. This CL adds pseudo locales used in some tests and excludes them from com.ibm.icu.dev.test.format.DateTimeGeneratorTest#testJjMapping because they are not real locales. https://android.googlesource.com/platform/external/icu/+/338b5d35fdb86a9c4cb0ed59a67416693a0fe1e4 In ICU 74, LocaleDataTest.java and cldrtest.c are also patched. https://r.android.com/3000472 Test: n/a Change-Id: Ic5eed3844191fca4e221d0c3c2661483e2bda95f
2024-03-19Android patch: CLDR data: Replace nb with no.Victor Chang
This change was introduced in Android by the ICU51.1 upgrade: https://android.googlesource.com/platform/external/icu/+/8393335 And then amended for ICU 57: https://android.googlesource.com/platform/external/icu/+/7dbcff1 And then amended for ICU 68: Amend the test data in cloctst.c These changes have been proposed, but not yet made, to CLDR: https://unicode.org/cldr/trac/ticket/2698 Test: n/a Change-Id: I2dfd989683d013c18c89e6469da2ef28f4e41d4a
2024-03-19Android patch: Skip charset tests that fail with customized data.Victor Chang
Suppression of ICU4C test failures was added by the ICU 51 upgrade: https://android.googlesource.com/platform/external/icu/+/8393335 Suppression of ICU4J test failures was added for ICU 55: https://android.googlesource.com/platform/external/icu/+/3db47ed It was then partially reverted for the O release: https://android.googlesource.com/platform/external/icu/+/b48a108 (cherry picked from commit 630aab079a3a1393e8535367ec7ec86822646437) Test: n/a Change-Id: I78d8c896400e73ac19a379e0de3ed0ce7de1a726
2024-03-19Android patch: Add --omitCollationRules to genrb.Victor Chang
This change was introduced in Android by the ICU 54.1 upgrade: https://android.googlesource.com/platform/external/icu/+/f9878a2 Changing ICU4J test errors into warnings was introduced for ICU 55: https://android.googlesource.com/platform/external/icu/+/0543b35 Changing ICU4C test errors into log messages is new for ICU 57. https://android.googlesource.com/platform/external/icu/+/805390a In ICU 64 build system has changed, migrating from Makefile to python script when performing various data transformations, so that patch now patches BUILDRULES.py and adds '--omitCollationRules' option there. Test: n/a Change-Id: I4b75936aa31111434c6b46bfb354e6842e9d22a9
2024-03-19Android patch: Add Calendar.getDateTimeFormatString used by java.time via ↵Victor Chang
libcore bridge Add Calendar.getDateTimeFormatString needed by java.time. It tends to expose functionality that most end user code will not need, but allows access to ICU internal data or functionality that should be shared between ICU and java.time. - Add method to Calendar to get localized pattern string. This change was introduced in Android for the O release: https://android.googlesource.com/platform/external/icu/+/22b47ef It was then amended to remove DateFormatSymbols(ULocale, String) constructor in ICU 69, because no one is using it. https://r.android.com/q/I1d65bca1c301b5e13e265062c9eeab1196edb516 The implementation of Calendar.getDateTimeFormatString() is updated to match the new upstream internal changes. https://r.android.com/2292158 Test: n/a Change-Id: Id79ebf4cbe164ea5f4aee1c686f01d7ebec6e9e3
2024-03-19Copy ICU release-74-2 into aosp/icu-stagingVictor Chang
Copy the files with the following commands: find icu4j/ -type f,d ! -regex ".*/\(Android.mk\|Android.bp\|adjust_icudt_path.mk\|liblayout-jarjar-rules.txt\|.gitignore\|AndroidTest.xml\)" -delete find icu4c/ -type f,d ! -regex ".*/\(Android.mk\|Android.bp\|.gitignore\|AndroidTest.xml\)" -delete cp -r ${UPSTREAM_ICU_GIT}/icu4j . cp -r ${UPSTREAM_ICU_GIT}/icu4c . git checkout HEAD -- icu4c/.gitignore icu4j/.gitignore rm -r tools/cldr cp -r ${UPSTREAM_ICU_GIT}/tools/cldr tools/cldr Test: n/a Change-Id: Ie2e5e1aab314506ac7f1e5869eeede39c46cb21f
2024-03-08Android patch: Soft removal of Calendar.BASE_FIELD_COUNTVictor Chang
The field has been deprecated since API level 26. This CL should remove the field from the SDK, and we expect no one uses the field in the runtime, as javac normally inlines the value in the build time before this change. Bug: 312171264 Test: m droid Change-Id: I674da9c7f01ee1839bd9b06aaa3fb657cb001869
2024-03-08Deprecate UnicodeSet.CASEVictor Chang
The constant is deprecated in ICU 73. Bug: 312171264 Test: m droid Change-Id: Id7a8c698ad1c89bea1a9577f094e3863137d7d57
2024-02-12Update Android ICU data from 2023d to 2024a.Almaz Mingaleev
This change is associated with tzdb 2024a changes in system/timezone. Bug: 324855630 Test: see system/timezone ICU-22659 tzdata2024a updates in ICU repo (cherry picked from commit 1240c3c014eae0b1798d59ec7e14dcd1eb681990) Change-Id: Ifed5f071725d0c1960ce186623ad4c966c5f8fdd Merged-In: Ifed5f071725d0c1960ce186623ad4c966c5f8fdd
2024-02-05Merge "Update Android ICU data from 2023a to 2023d." into mainAlmaz Mingaleev
2024-02-05Update Android ICU data from 2023a to 2023d.Almaz Mingaleev
This change is associated with tzdb 2023d changes in system/timezone. zic.c change is cherry-pick of https://github.com/unicode-org/icu/commit/a837e0d. Otherwise compilation with newer clang version fails. It does not affect system image. keyTypeData.txt is not part of tzdata module nor it's listed in the ICU guidelines [1]. Confirmed with ICU team that it is safe to ship TZDB update w/o this keyTypeData change. keyTypeData.txt is also the reason why .dat file is changed. Bug: 318333787 Test: see system/timezone [1] https://unicode-org.github.io/icu/userguide/datetime/timezone/#updating-the-time-zone-data ICU-22620 tz2023d updates (cherry picked from commit dc7014fda6d6f08b3ddf468bddd62548c8c6263f) ICU-22221 rebase CLDR 43-beta4 import onto latest maint/maint-73 (new… (cherry picked from commit 2c584abf7e4143731f90fa317481e2fb0890ffa5) Change-Id: Iaa6859d792626a0f5b3ce1b92521b380421c52ab Merged-In: Iaa6859d792626a0f5b3ce1b92521b380421c52ab
2024-01-25[DON'T BLOCK] Test ownership migration rulesAditya Choudhary
This CL is created as a best effort to migrate test targets to the new android ownership model. If you find incorrect or unnecessary attribution in this CL, please create a separate CL to fix that. For more details please refer to the link below, <add g3 doc link> Bug: 304529413 Test: N/A Change-Id: I212fb14046b40f28c91ea5ae25a78a98fd226b26
2024-01-16Android patch: Avoid leaking the Unicode 15.1 changesVictor Chang
Revert the patch in the COUNT constant and patch the UnicodeBlock constructor instead. The patch can be reverted once ICU 74 lands in AOSP. Fix: 320357773 Fix: 320357460 Test: atest CtsIcuTestCases Change-Id: I8c9a7bdde8773becd47f2c5cd40fa086fc1a141f
2024-01-15Merge "Cherry-pick: ICU-22404 Unicode 15.1 ICU4J APIs" into mainVictor Chang
2024-01-15Cherry-pick: ICU-22404 Unicode 15.1 ICU4J APIsVictor Chang
Cherry-pick Unicode 15.1 APIs from upstream maint-74 branch. The list of new @stable APIs can be found at https://htmlpreview.github.io/?https://github.com/unicode-org/icu/blob/maint/maint-74/icu4j/APIChangeReport.html Bug: 312171264 Test: m droid Change-Id: I4f02097a863e236c05420b0ee62a4d4be75dc221
2024-01-12Merge "Remove @FlaggedApi from icu4j/ and fix updateicudata.py" into mainTreehugger Robot
2024-01-12Remove @FlaggedApi from icu4j/ and fix updateicudata.pyVictor Chang
Fix: 319263689 Test: tools/updateicudata.py Test: m droid Change-Id: I41617aae60747a499b83f7cb2a7b1bfe96e2d341
2024-01-11Regenerate es-*.txt files.Almaz Mingaleev
updateicudata.py is not very stable and occasionally changes these files. They were updated by accident in aosp/2292332. Used updatecldrdata.py followed by updateicudata.py. Bug: 250538979 Test: m Change-Id: I20c79baccad74e37a025ad8fbf3a478acceb63a8
2024-01-02Android patch: Mark ICU 73 and 74 APIs @stable and @FlaggedApiVictor Chang
The list comes from the upstream API reports: https://htmlpreview.github.io/?https://github.com/unicode-org/icu/blob/maint/maint-73/icu4j/APIChangeReport.html https://htmlpreview.github.io/?https://github.com/unicode-org/icu/blob/maint/maint-74/icu4j/APIChangeReport.html The Unicode 15.1 APIs are not in the aosp/main branch. Will need to cherry-pick the APIs from the upstream first. Bug: 312171264 Test: m droid Change-Id: I792f4cfb691e498bcbce1e44ff5ec82aed117368
2024-01-02Avoid linking aconfig library staticallyVictor Chang
the aconfig library isn't used in the runtime, but only for @FlaggedApi in the compiled time. @FlaggedApi is a source-only annotation. Bug: 312171264 Test: m core-icu4j icu4j Change-Id: I2578ac1962abf2304e48987b644cc8d5927f1f1a
2023-10-06Merge "Android-patch: Fix ICUServiceThreadTest flakiness" into main am: ↵Treehugger Robot
51042905f0 am: 0597ca1b60 Original change: https://android-review.googlesource.com/c/platform/external/icu/+/2774890 Change-Id: Ifb752a569d63458f5c0c7b94e1eee0be8af3e49a Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-06Android-patch: Fix ICUServiceThreadTest flakinessVictor Chang
Sometimes getVisibleIDs() method returns a null reference which might happend because of inaccurate concurrent access. This CL attempts to fix this ICUServiceThreadTest flakiness. Bug: 129457872 Bug: 303614430 Test: cts-tradefed run commandAndExit cts-dev -m CtsIcuTestCases -t android.icu.dev.test.util.ICUServiceTest Change-Id: Ia802465eca7a4fbc25abb11b090abfb4b2fef451
2023-09-22Android patch: Update ULocaleCollationTest.TestNameList() not to check ↵Victor Chang
nameInSelf am: c9d896b2fc am: 8bc2fd63d5 Original change: https://googleplex-android-review.googlesource.com/c/platform/external/icu/+/24831471 Change-Id: Ied08cea592e9608d4a87ca40fddac7721567f048 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-22Android patch: Update ULocaleCollationTest.TestNameList() not to check ↵Victor Chang
nameInSelf The display locale in this test is french, and checking the nameInSelf , i.e. the name of the modified locale, seems to be unnecessary and causes test failures when the locale data is updated. Bug: 300310487 Test: atest CtsIcuTestCases:android.icu.dev.test.util.ULocaleCollationTest Ignore-AOSP-First: will merge after AOSP push Change-Id: Ie6fd69e9bf3c80f766c404c7f358abfadd1552f7
2023-08-08icu4j_calendar_astronomer: sdk vers = core_currentLiz Kammer
icu4j_calendar_astronomer does not require access to Android SDK apis, limit to only the core APIs. Test: m icu4j_calendar_astronomer Test: CI Change-Id: I7c1cde153b419f9d5940383ea83fd0102a43728f
2023-08-04Change sdk_version to core_currentLiz Kammer
icu4j does not require access to Android SDK apis, limit to only the core APIs. Test: external/icu/icu4j $ mma Test: CI Change-Id: I639de2156d47507255dacd8be1653274b1fa4451
2023-08-02Merge "Regenerate ICU data due to CLDR-5321" into mainVictor Chang
2023-08-02Regenerate ICU data due to CLDR-5321Victor Chang
Bug: 286990222 Test: atest CtsIcuTestCases Change-Id: Ibb89fdbce3c8371fa6f29bbedeffee456107f6ca
2023-07-27Enable ML phrase breakingAllen Su
Ignore-AOSP-First: verification Bug: 219529457 Test: atest CtsIcuTestCases (cherry picked from commit 057ff88e93892db6ca6f2f3dc34e671be9c4f0a4) (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:e80f41cd3090fd6cdf70c47eb50909df4fff5398) Merged-In: Ibd15d842d20d29f0235f27fa8f81873752a452a1 Change-Id: Ibd15d842d20d29f0235f27fa8f81873752a452a1