summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--icu/src/main/java/com/ibm/icu4jni/text/RuleBasedBreakIterator.java7
-rw-r--r--icu/src/main/java/com/ibm/icu4jni/util/LocaleData.java13
-rw-r--r--luni/src/main/java/java/util/GregorianCalendar.java6
-rw-r--r--text/src/main/java/java/text/Bidi.java4
-rw-r--r--text/src/main/java/java/text/Collator.java35
5 files changed, 24 insertions, 41 deletions
diff --git a/icu/src/main/java/com/ibm/icu4jni/text/RuleBasedBreakIterator.java b/icu/src/main/java/com/ibm/icu4jni/text/RuleBasedBreakIterator.java
index 4d38f2b..e532ac4 100644
--- a/icu/src/main/java/com/ibm/icu4jni/text/RuleBasedBreakIterator.java
+++ b/icu/src/main/java/com/ibm/icu4jni/text/RuleBasedBreakIterator.java
@@ -58,7 +58,12 @@ public class RuleBasedBreakIterator extends BreakIterator {
return result && iter.equals(this.charIter);
}
-
+
+ @Override
+ public int hashCode() {
+ return 42; // No-one uses RuleBasedBreakIterator as a hash key.
+ }
+
@Override
public int current() {
return NativeBreakIterator.currentImpl(this.addr);
diff --git a/icu/src/main/java/com/ibm/icu4jni/util/LocaleData.java b/icu/src/main/java/com/ibm/icu4jni/util/LocaleData.java
index 24d3323..87f9bc2 100644
--- a/icu/src/main/java/com/ibm/icu4jni/util/LocaleData.java
+++ b/icu/src/main/java/com/ibm/icu4jni/util/LocaleData.java
@@ -17,6 +17,7 @@
package com.ibm.icu4jni.util;
import java.text.DateFormat;
+import java.util.Arrays;
/**
* Passes locale-specific from ICU native code to Java.
@@ -66,12 +67,12 @@ public class LocaleData {
return "LocaleData[" +
"firstDayOfWeek=" + firstDayOfWeek + "," +
"minimalDaysInFirstWeek=" + minimalDaysInFirstWeek + "," +
- "amPm=" + amPm + "," +
- "eras=" + eras + "," +
- "longMonthNames=" + longMonthNames + "," +
- "shortMonthNames=" + shortMonthNames + "," +
- "longWeekdayNames=" + longWeekdayNames + "," +
- "shortWeekdayNames=" + shortWeekdayNames + "," +
+ "amPm=" + Arrays.toString(amPm) + "," +
+ "eras=" + Arrays.toString(eras) + "," +
+ "longMonthNames=" + Arrays.toString(longMonthNames) + "," +
+ "shortMonthNames=" + Arrays.toString(shortMonthNames) + "," +
+ "longWeekdayNames=" + Arrays.toString(longWeekdayNames) + "," +
+ "shortWeekdayNames=" + Arrays.toString(shortWeekdayNames) + "," +
"fullTimeFormat=" + fullTimeFormat + "," +
"longTimeFormat=" + longTimeFormat + "," +
"mediumTimeFormat=" + mediumTimeFormat + "," +
diff --git a/luni/src/main/java/java/util/GregorianCalendar.java b/luni/src/main/java/java/util/GregorianCalendar.java
index 6547d85..18a10ad 100644
--- a/luni/src/main/java/java/util/GregorianCalendar.java
+++ b/luni/src/main/java/java/util/GregorianCalendar.java
@@ -993,6 +993,12 @@ public class GregorianCalendar extends Calendar {
*/
@Override
public boolean equals(Object object) {
+ if (!(object instanceof GregorianCalendar)) {
+ return false;
+ }
+ if (object == this) {
+ return true;
+ }
return super.equals(object)
&& gregorianCutover == ((GregorianCalendar) object).gregorianCutover;
}
diff --git a/text/src/main/java/java/text/Bidi.java b/text/src/main/java/java/text/Bidi.java
index 7939dea..9195a0f 100644
--- a/text/src/main/java/java/text/Bidi.java
+++ b/text/src/main/java/java/text/Bidi.java
@@ -641,8 +641,8 @@ public final class Bidi {
public String toString() {
// BEGIN android-changed
return super.toString()
- + "[direction: " + direction + " baselevel: " + baseLevel //$NON-NLS-1$ //$NON-NLS-2$
- + " length: " + length + " runs: " + (unidirectional ? "null" : runs.toString()) + "]"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
+ + "[direction: " + direction + " baseLevel: " + baseLevel
+ + " length: " + length + " runs: " + Arrays.toString(runs) + "]";
// END android-changed
}
}
diff --git a/text/src/main/java/java/text/Collator.java b/text/src/main/java/java/text/Collator.java
index e954b8b..f324231 100644
--- a/text/src/main/java/java/text/Collator.java
+++ b/text/src/main/java/java/text/Collator.java
@@ -157,29 +157,6 @@ public abstract class Collator implements Comparator<Object>, Cloneable {
*/
public static final int IDENTICAL = 3;
- private static int CACHE_SIZE;
-
- static {
- // CACHE_SIZE includes key and value, so needs to be double
- String cacheSize = AccessController
- .doPrivileged(new PrivilegedAction<String>() {
- public String run() {
- return System.getProperty("collator.cache"); //$NON-NLS-1$
- }
- });
- if (cacheSize != null) {
- try {
- CACHE_SIZE = Integer.parseInt(cacheSize);
- } catch (NumberFormatException e) {
- CACHE_SIZE = 6;
- }
- } else {
- CACHE_SIZE = 6;
- }
- }
-
- private static Vector<Collator> cache = new Vector<Collator>(CACHE_SIZE);
-
// Wrapper class of ICU4JNI Collator
com.ibm.icu4jni.text.Collator icuColl;
@@ -332,15 +309,9 @@ public abstract class Collator implements Comparator<Object>, Cloneable {
* @return the collator for {@code locale}.
*/
public static Collator getInstance(Locale locale) {
- String key = locale.toString();
- for (int i = cache.size() - 1; i >= 0; i -= 2) {
- if (cache.elementAt(i).equals(key)) {
- return (Collator) (cache.elementAt(i - 1)).clone();
- }
- }
-
- return new RuleBasedCollator(com.ibm.icu4jni.text.Collator
- .getInstance(locale));
+ // BEGIN android-changed: removed non-functional cache.
+ return new RuleBasedCollator(com.ibm.icu4jni.text.Collator.getInstance(locale));
+ // END android-changed
}
/**