diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2024-06-10 22:09:52 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2024-06-10 22:09:52 +0000 |
commit | a52610f3233a25880079aaaf7cb8ece4a1393074 (patch) | |
tree | 7173bfcd7d67b7c345b94bb63f3c086b595d8a81 /icu4j | |
parent | 0a2508724a8c2bd17311ffee89541936f3a30f59 (diff) | |
parent | b23bafbcbc2a0106693d38ca53e7d49a7660851d (diff) | |
download | icu-a52610f3233a25880079aaaf7cb8ece4a1393074.tar.gz |
Snap for 11949379 from b23bafbcbc2a0106693d38ca53e7d49a7660851d to build-tools-release
Change-Id: Id5daf9076cc45605c0364ab1fcd845bc9e3aa9d1
Diffstat (limited to 'icu4j')
-rw-r--r-- | icu4j/Android.bp | 7 | ||||
-rw-r--r-- | icu4j/main/core/src/main/java/com/ibm/icu/impl/ICUBinary.java | 9 |
2 files changed, 12 insertions, 4 deletions
diff --git a/icu4j/Android.bp b/icu4j/Android.bp index 1d72474c9..cdca9e263 100644 --- a/icu4j/Android.bp +++ b/icu4j/Android.bp @@ -69,6 +69,7 @@ java_library { "//external/robolectric-shadows/shadows/framework", "//external/robolectric/robolectric", "//external/robolectric/shadows/framework", + "//frameworks/base/ravenwood:__subpackages__", "//system/timezone/input_tools/android/telephonylookup_generator", "//system/timezone/input_tools/android/tzlookup_generator", ], @@ -152,13 +153,14 @@ java_import { jars: ["main/shared/data/testdata.jar"], } -// LayoutLib (frameworks/layoutlib) and robolectric need JarJar'd versions of -// the icudata and icutzdata, so add rules for it. +// LayoutLib (frameworks/layoutlib), ravewnwood and robolectric need +// JarJar'd versions of the icudata and icutzdata, so add rules for it. java_library { name: "icu4j-icudata-jarjar", visibility: [ "//external/robolectric-shadows", "//external/robolectric", + "//frameworks/base/ravenwood:__subpackages__", "//frameworks/layoutlib", ], defaults: ["icu4j-defaults"], @@ -171,6 +173,7 @@ java_library { visibility: [ "//external/robolectric-shadows", "//external/robolectric", + "//frameworks/base/ravenwood:__subpackages__", "//frameworks/layoutlib", ], defaults: ["icu4j-defaults"], diff --git a/icu4j/main/core/src/main/java/com/ibm/icu/impl/ICUBinary.java b/icu4j/main/core/src/main/java/com/ibm/icu/impl/ICUBinary.java index bd4e8de89..69f61fa4b 100644 --- a/icu4j/main/core/src/main/java/com/ibm/icu/impl/ICUBinary.java +++ b/icu4j/main/core/src/main/java/com/ibm/icu/impl/ICUBinary.java @@ -221,11 +221,15 @@ public final class ICUBinary { abstract void addBaseNamesInFolder(String folder, String suffix, Set<String> names); } + // BEGIN Android-changed: Map file only once during ICUBinary initialization. Attempt to fix + // some apps not seeing metazones.res file. See b/339899412. private static final class SingleDataFile extends DataFile { + private final ByteBuffer bytes; private final File path; SingleDataFile(String item, File path) { super(item); + this.bytes = mapFile(path); this.path = path; } @Override @@ -236,12 +240,13 @@ public final class ICUBinary { @Override ByteBuffer getData(String requestedPath) { if (requestedPath.equals(itemPath)) { - return mapFile(path); + return bytes.duplicate(); } else { return null; } } - + // END Android-changed: Map file only once during ICUBinary initialization. Attempt to fix + // some apps not seeing metazones.res files in b/339899412. @Override void addBaseNamesInFolder(String folder, String suffix, Set<String> names) { if (itemPath.length() > folder.length() + suffix.length() && |