summaryrefslogtreecommitdiff
path: root/icu4j
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2024-06-10 22:09:52 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2024-06-10 22:09:52 +0000
commita52610f3233a25880079aaaf7cb8ece4a1393074 (patch)
tree7173bfcd7d67b7c345b94bb63f3c086b595d8a81 /icu4j
parent0a2508724a8c2bd17311ffee89541936f3a30f59 (diff)
parentb23bafbcbc2a0106693d38ca53e7d49a7660851d (diff)
downloadicu-a52610f3233a25880079aaaf7cb8ece4a1393074.tar.gz
Snap for 11949379 from b23bafbcbc2a0106693d38ca53e7d49a7660851d to build-tools-release
Change-Id: Id5daf9076cc45605c0364ab1fcd845bc9e3aa9d1
Diffstat (limited to 'icu4j')
-rw-r--r--icu4j/Android.bp7
-rw-r--r--icu4j/main/core/src/main/java/com/ibm/icu/impl/ICUBinary.java9
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() &&