diff options
author | Elliott Hughes <enh@google.com> | 2011-01-13 16:23:08 -0800 |
---|---|---|
committer | Elliott Hughes <enh@google.com> | 2011-01-13 17:36:23 -0800 |
commit | fb0ec0e650bf8be35acb0d47da0311a7c446aa33 (patch) | |
tree | b5803eda5892295108e04736abb13f9cb8e71b2a /luni/src | |
parent | d2c2ba1d2bcb5e3697012794f2273880b6c7337d (diff) | |
download | libcore-fb0ec0e650bf8be35acb0d47da0311a7c446aa33.zip libcore-fb0ec0e650bf8be35acb0d47da0311a7c446aa33.tar.gz libcore-fb0ec0e650bf8be35acb0d47da0311a7c446aa33.tar.bz2 |
Remove useless android-changed comments.
I've changed useful ones to regular comments or TODOs, as appropriate.
I've left ones in code like java.util.concurrent where we really are
tracking an upstream source, making the change markers useful.
I've left a handful of others where I intend to actually investigate
the implied TODOs before deciding how to resolve them.
Change-Id: Iaf71059b818596351cf8ee5a3cf3c85586051fa6
Diffstat (limited to 'luni/src')
120 files changed, 129 insertions, 909 deletions
diff --git a/luni/src/main/java/java/io/BufferedInputStream.java b/luni/src/main/java/java/io/BufferedInputStream.java index bfd18cf..d45595b 100644 --- a/luni/src/main/java/java/io/BufferedInputStream.java +++ b/luni/src/main/java/java/io/BufferedInputStream.java @@ -343,19 +343,12 @@ public class BufferedInputStream extends FilterInputStream { */ @Override public synchronized void reset() throws IOException { - // BEGIN android-changed - /* - * These exceptions get thrown in some "normalish" circumstances, - * so it is preferable to avoid loading up the whole big set of - * messages just for these cases. - */ if (buf == null) { throw new IOException("Stream is closed"); } if (-1 == markpos) { throw new IOException("Mark has been invalidated."); } - // END android-changed pos = markpos; } diff --git a/luni/src/main/java/java/io/BufferedReader.java b/luni/src/main/java/java/io/BufferedReader.java index 0d77735..bc6b9a6 100644 --- a/luni/src/main/java/java/io/BufferedReader.java +++ b/luni/src/main/java/java/io/BufferedReader.java @@ -359,9 +359,6 @@ public class BufferedReader extends Reader { } for (int charPos = pos; charPos < end; charPos++) { char ch = buf[charPos]; - // BEGIN android-note - // a switch statement may be more efficient - // END android-note if (ch > '\r') { continue; } diff --git a/luni/src/main/java/java/io/ByteArrayInputStream.java b/luni/src/main/java/java/io/ByteArrayInputStream.java index 642ba01..0a8c453 100644 --- a/luni/src/main/java/java/io/ByteArrayInputStream.java +++ b/luni/src/main/java/java/io/ByteArrayInputStream.java @@ -73,9 +73,6 @@ public class ByteArrayInputStream extends InputStream { * the number of bytes available for streaming. */ public ByteArrayInputStream(byte[] buf, int offset, int length) { - // BEGIN android-note - // changed array notation to be consistent with the rest of harmony - // END android-note this.buf = buf; pos = offset; mark = offset; diff --git a/luni/src/main/java/java/io/CharArrayWriter.java b/luni/src/main/java/java/io/CharArrayWriter.java index ea5e10e..eda56f7 100644 --- a/luni/src/main/java/java/io/CharArrayWriter.java +++ b/luni/src/main/java/java/io/CharArrayWriter.java @@ -206,16 +206,9 @@ public class CharArrayWriter extends Writer { if (str == null) { throw new NullPointerException("str == null"); } - // avoid int overflow - // BEGIN android-changed - // Exception priorities (in case of multiple errors) differ from - // RI, but are spec-compliant. - // removed redundant check, used (offset | count) < 0 - // instead of (offset < 0) || (count < 0) to safe one operation if ((offset | count) < 0 || offset > str.length() - count) { throw new StringIndexOutOfBoundsException(str, offset, count); } - // END android-changed synchronized (lock) { expand(count); str.getChars(offset, offset + count, buf, this.count); diff --git a/luni/src/main/java/java/io/File.java b/luni/src/main/java/java/io/File.java index 88af6d8..a026214 100644 --- a/luni/src/main/java/java/io/File.java +++ b/luni/src/main/java/java/io/File.java @@ -15,16 +15,6 @@ * limitations under the License. */ -// BEGIN android-note -// We've dropped Windows support, except where it's exposed: we still support -// non-Unix separators in serialized File objects, for example, but we don't -// have any code for UNC paths or case-insensitivity. -// We've also changed the JNI interface to better match what the Java actually wants. -// (The JNI implementation is also much simpler.) -// Some methods have been rewritten to reduce unnecessary allocation. -// Some duplication has been factored out. -// END android-note - package java.io; import java.net.URI; diff --git a/luni/src/main/java/java/io/FileDescriptor.java b/luni/src/main/java/java/io/FileDescriptor.java index cfda96f..e118a3e 100644 --- a/luni/src/main/java/java/io/FileDescriptor.java +++ b/luni/src/main/java/java/io/FileDescriptor.java @@ -52,14 +52,11 @@ public final class FileDescriptor { */ public static final FileDescriptor err = new FileDescriptor(); - // BEGIN android-changed - // file descriptors are only int on android /** - * Represents a link to any underlying OS resources for this FileDescriptor. + * The Unix file descriptor backing this FileDescriptor. * A value of -1 indicates that this FileDescriptor is invalid. */ int descriptor = -1; - // END android-changed boolean readOnly = false; diff --git a/luni/src/main/java/java/io/FileFilter.java b/luni/src/main/java/java/io/FileFilter.java index 5638dd9..da36fa8 100644 --- a/luni/src/main/java/java/io/FileFilter.java +++ b/luni/src/main/java/java/io/FileFilter.java @@ -15,10 +15,6 @@ * limitations under the License. */ -// BEGIN android-note -// the abstract modifier of the interface was removed. -// END android-note - package java.io; /** diff --git a/luni/src/main/java/java/io/FilterOutputStream.java b/luni/src/main/java/java/io/FilterOutputStream.java index 24adf87..5f293b1 100644 --- a/luni/src/main/java/java/io/FilterOutputStream.java +++ b/luni/src/main/java/java/io/FilterOutputStream.java @@ -100,9 +100,6 @@ public class FilterOutputStream extends OutputStream { */ @Override public void write(byte[] buffer) throws IOException { - // BEGIN android-note - // changed array notation to be consistent with the rest of harmony - // END android-note write(buffer, 0, buffer.length); } diff --git a/luni/src/main/java/java/io/FilterWriter.java b/luni/src/main/java/java/io/FilterWriter.java index cd48f64..820fe4f 100644 --- a/luni/src/main/java/java/io/FilterWriter.java +++ b/luni/src/main/java/java/io/FilterWriter.java @@ -88,9 +88,6 @@ public abstract class FilterWriter extends Writer { */ @Override public void write(char[] buffer, int offset, int count) throws IOException { - // BEGIN android-note - // changed array notation to be consistent with the rest of harmony - // END android-note synchronized (lock) { out.write(buffer, offset, count); } diff --git a/luni/src/main/java/java/io/InputStream.java b/luni/src/main/java/java/io/InputStream.java index 182bf95..f2b4bfa 100644 --- a/luni/src/main/java/java/io/InputStream.java +++ b/luni/src/main/java/java/io/InputStream.java @@ -152,9 +152,6 @@ public abstract class InputStream extends Object implements Closeable { * if this stream is closed or another IOException occurs. */ public int read(byte[] b) throws IOException { - // BEGIN android-note - // changed array notation to be consistent with the rest of harmony - // END android-note return read(b, 0, b.length); } diff --git a/luni/src/main/java/java/io/InputStreamReader.java b/luni/src/main/java/java/io/InputStreamReader.java index 28091e3..e691713 100644 --- a/luni/src/main/java/java/io/InputStreamReader.java +++ b/luni/src/main/java/java/io/InputStreamReader.java @@ -138,11 +138,9 @@ public class InputStreamReader extends Reader { @Override public void close() throws IOException { synchronized (lock) { - // BEGIN android-added if (decoder != null) { decoder.reset(); } - // END android-added decoder = null; if (in != null) { in.close(); diff --git a/luni/src/main/java/java/io/ObjectInputStream.java b/luni/src/main/java/java/io/ObjectInputStream.java index ede02ac..38b7db6 100644 --- a/luni/src/main/java/java/io/ObjectInputStream.java +++ b/luni/src/main/java/java/io/ObjectInputStream.java @@ -17,11 +17,6 @@ package java.io; -// BEGIN android-note -// Harmony uses ObjectAccessors to access fields through JNI. Android has not -// yet migrated that API. As a consequence, there's a lot of changes here... -// END android-note - import dalvik.system.VMStack; import java.io.EmulatedFields.ObjectSlot; import java.lang.reflect.Array; @@ -51,9 +46,7 @@ import libcore.base.EmptyArray; */ public class ObjectInputStream extends InputStream implements ObjectInput, ObjectStreamConstants { - // BEGIN android-note - // this is non-static to avoid sync contention. Would static be faster? - // END android-note + // TODO: this is non-static to avoid sync contention. Would static be faster? private InputStream emptyStream = new ByteArrayInputStream(EmptyArray.BYTE); // To put into objectsRead when reading unsharedObject @@ -124,10 +117,6 @@ public class ObjectInputStream extends InputStream implements ObjectInput, Objec PRIMITIVE_CLASSES.put("void", void.class); } - // BEGIN android-removed - // private ObjectAccessor accessor = AccessorFactory.getObjectAccessor(); - // END android-removed - // Internal type used to keep track of validators & corresponding priority static class InputValidationDesc { ObjectInputValidation validator; @@ -1165,13 +1154,11 @@ public class ObjectInputStream extends InputStream implements ObjectInput, Objec } if (fieldDesc != null) { if (toSet != null) { - // BEGIN android-changed // Get the field type from the local field rather than // from the stream's supplied data. That's the field // we'll be setting, so that's the one that needs to be // validated. Class<?> fieldType = localFieldDesc.getTypeInternal(); - // END android-added Class<?> valueType = toSet.getClass(); if (!fieldType.isAssignableFrom(valueType)) { throw new ClassCastException(classDesc.getName() + "." + fieldName + " - " + fieldType + " not compatible with " + valueType); @@ -1786,10 +1773,7 @@ public class ObjectInputStream extends InputStream implements ObjectInput, Objec throws IOException, ClassNotFoundException { // TODO: This method is opportunity for performance enhancement // We can cache the classloader and recently used interfaces. - // BEGIN android-changed - // ClassLoader loader = VM.getNonBootstrapClassLoader(); ClassLoader loader = ClassLoader.getSystemClassLoader(); - // END android-changed Class<?>[] interfaces = new Class<?>[interfaceNames.length]; for (int i = 0; i < interfaceNames.length; i++) { interfaces[i] = Class.forName(interfaceNames[i], false, loader); @@ -2026,9 +2010,7 @@ public class ObjectInputStream extends InputStream implements ObjectInput, Objec // original/outside caller if (++nestedLevels == 1) { // Remember the caller's class loader - // BEGIN android-changed callerClassLoader = getClosestUserClassLoader(); - // END android-changed } result = readNonPrimitiveContent(unshared); @@ -2065,11 +2047,8 @@ public class ObjectInputStream extends InputStream implements ObjectInput, Objec return result; } - // BEGIN android-added - private static final ClassLoader bootstrapLoader - = Object.class.getClassLoader(); - private static final ClassLoader systemLoader - = ClassLoader.getSystemClassLoader(); + private static final ClassLoader bootstrapLoader = Object.class.getClassLoader(); + private static final ClassLoader systemLoader = ClassLoader.getSystemClassLoader(); /** * Searches up the call stack to find the closest user-defined class loader. @@ -2087,7 +2066,6 @@ public class ObjectInputStream extends InputStream implements ObjectInput, Objec } return null; } - // END android-added /** * Method to be overridden by subclasses to read the next object from the diff --git a/luni/src/main/java/java/io/ObjectOutputStream.java b/luni/src/main/java/java/io/ObjectOutputStream.java index 3337e6e..30a4c9e 100644 --- a/luni/src/main/java/java/io/ObjectOutputStream.java +++ b/luni/src/main/java/java/io/ObjectOutputStream.java @@ -114,11 +114,6 @@ public class ObjectOutputStream extends OutputStream implements ObjectOutput, Ob */ private boolean subclassOverridingImplementation; - - // BEGIN android-removed - // private ObjectAccessor accessor = AccessorFactory.getObjectAccessor(); - // END android-removed - /* * Descriptor for java.lang.reflect.Proxy */ diff --git a/luni/src/main/java/java/io/ObjectStreamField.java b/luni/src/main/java/java/io/ObjectStreamField.java index 3ae34e6..3b389d1 100644 --- a/luni/src/main/java/java/io/ObjectStreamField.java +++ b/luni/src/main/java/java/io/ObjectStreamField.java @@ -159,9 +159,7 @@ public class ObjectStreamField implements Comparable<Object> { * * @return A Class object representing the type of the field */ - // BEGIN android-note // Changed from private to default visibility for usage in ObjectStreamClass - // END android-note /* package */ Class<?> getTypeInternal() { if (type instanceof WeakReference) { return (Class<?>) ((WeakReference<?>) type).get(); diff --git a/luni/src/main/java/java/io/OutputStream.java b/luni/src/main/java/java/io/OutputStream.java index 95f6102..5b40b44 100644 --- a/luni/src/main/java/java/io/OutputStream.java +++ b/luni/src/main/java/java/io/OutputStream.java @@ -76,9 +76,6 @@ public abstract class OutputStream implements Closeable, Flushable { * if an error occurs while writing to this stream. */ public void write(byte[] buffer) throws IOException { - // BEGIN android-note - // changed array notation to be consistent with the rest of harmony - // END android-note write(buffer, 0, buffer.length); } diff --git a/luni/src/main/java/java/io/PipedOutputStream.java b/luni/src/main/java/java/io/PipedOutputStream.java index 6df3fa2..4fa70fa 100644 --- a/luni/src/main/java/java/io/PipedOutputStream.java +++ b/luni/src/main/java/java/io/PipedOutputStream.java @@ -15,12 +15,6 @@ * limitations under the License. */ -// BEGIN android-note -// We've made several changes including: -// - avoid shallow concurrency problems -// - improved consistency with PipedWriter -// END android-note - package java.io; /** diff --git a/luni/src/main/java/java/io/PrintWriter.java b/luni/src/main/java/java/io/PrintWriter.java index bd0fd20..0c9c8fb 100644 --- a/luni/src/main/java/java/io/PrintWriter.java +++ b/luni/src/main/java/java/io/PrintWriter.java @@ -619,9 +619,6 @@ public class PrintWriter extends Writer { */ @Override public void write(char[] buf) { - // BEGIN android-note - // changed array notation to be consistent with the rest of harmony - // END android-note write(buf, 0, buf.length); } @@ -644,9 +641,6 @@ public class PrintWriter extends Writer { */ @Override public void write(char[] buf, int offset, int count) { - // BEGIN android-note - // changed array notation to be consistent with the rest of harmony - // END android-note doWrite(buf, offset, count); } @@ -666,9 +660,6 @@ public class PrintWriter extends Writer { } private final void doWrite(char[] buf, int offset, int count) { - // BEGIN android-note - // changed array notation to be consistent with the rest of harmony - // END android-note synchronized (lock) { if (out != null) { try { diff --git a/luni/src/main/java/java/io/Reader.java b/luni/src/main/java/java/io/Reader.java index 82f3ac5..8c37436 100644 --- a/luni/src/main/java/java/io/Reader.java +++ b/luni/src/main/java/java/io/Reader.java @@ -143,9 +143,6 @@ public abstract class Reader implements Readable, Closeable { * if this reader is closed or some other I/O error occurs. */ public int read(char[] buf) throws IOException { - // BEGIN android-note - // changed array notation to be consistent with the rest of harmony - // END android-note return read(buf, 0, buf.length); } @@ -167,11 +164,7 @@ public abstract class Reader implements Readable, Closeable { * @throws IOException * if this reader is closed or some other I/O error occurs. */ - public abstract int read(char[] buf, int offset, int count) - throws IOException; - // BEGIN android-note - // changed array notation to be consistent with the rest of harmony - // END android-note + public abstract int read(char[] buf, int offset, int count) throws IOException; /** * Indicates whether this reader is ready to be read without blocking. diff --git a/luni/src/main/java/java/io/Writer.java b/luni/src/main/java/java/io/Writer.java index d1ff429..a766137 100644 --- a/luni/src/main/java/java/io/Writer.java +++ b/luni/src/main/java/java/io/Writer.java @@ -92,9 +92,6 @@ public abstract class Writer implements Appendable, Closeable, Flushable { * if this writer is closed or another I/O error occurs. */ public void write(char[] buf) throws IOException { - // BEGIN android-note - // changed array notation to be consistent with the rest of harmony - // END android-note write(buf, 0, buf.length); } @@ -114,11 +111,7 @@ public abstract class Writer implements Appendable, Closeable, Flushable { * @throws IOException * if this writer is closed or another I/O error occurs. */ - public abstract void write(char[] buf, int offset, int count) - throws IOException; - // BEGIN android-note - // changed array notation to be consistent with the rest of harmony - // END android-note + public abstract void write(char[] buf, int offset, int count) throws IOException; /** * Writes one character to the target. Only the two least significant bytes diff --git a/luni/src/main/java/java/lang/AbstractStringBuilder.java b/luni/src/main/java/java/lang/AbstractStringBuilder.java index 5fe059f..b711342 100644 --- a/luni/src/main/java/java/lang/AbstractStringBuilder.java +++ b/luni/src/main/java/java/lang/AbstractStringBuilder.java @@ -86,9 +86,7 @@ abstract class AbstractStringBuilder { count = string.length(); shared = false; value = new char[count + INITIAL_CAPACITY]; - // BEGIN android-changed string._getChars(0, count, value, 0); - // END android-changed } private void enlargeBuffer(int min) { @@ -355,9 +353,7 @@ abstract class AbstractStringBuilder { int min = string.length(); if (min != 0) { move(min, index); - // BEGIN android-changed string._getChars(0, min, value, index); - // END android-changed count += min; } } else { @@ -434,9 +430,7 @@ abstract class AbstractStringBuilder { value = value.clone(); shared = false; } - // BEGIN android-changed string._getChars(0, stringLength, value, start); - // END android-changed count -= diff; return; } diff --git a/luni/src/main/java/java/lang/Character.java b/luni/src/main/java/java/lang/Character.java index 0caabba..f7701c8 100644 --- a/luni/src/main/java/java/lang/Character.java +++ b/luni/src/main/java/java/lang/Character.java @@ -2694,9 +2694,7 @@ public final class Character implements Serializable, Comparable<Character> { * {@code false} otherwise. */ public static boolean isJavaIdentifierPart(char c) { - // BEGIN android-changed return isJavaIdentifierPart((int) c); - // END android-changed } /** @@ -2709,8 +2707,7 @@ public final class Character implements Serializable, Comparable<Character> { * {@code false} otherwise. */ public static boolean isJavaIdentifierPart(int codePoint) { - // BEGIN android-changed: use precomputed bitmasks for the ASCII range. - // Optimized case for ASCII + // Use precomputed bitmasks to optimize the ASCII range. if (codePoint < 64) { return (0x3ff00100fffc1ffL & (1L << codePoint)) != 0; } else if (codePoint < 128) { @@ -2723,7 +2720,6 @@ public final class Character implements Serializable, Comparable<Character> { || type == COMBINING_SPACING_MARK || type == NON_SPACING_MARK || (codePoint >= 0 && codePoint <= 8) || (codePoint >= 0xe && codePoint <= 0x1b) || (codePoint >= 0x7f && codePoint <= 0x9f) || type == FORMAT; - // END android-changed } /** @@ -2736,9 +2732,7 @@ public final class Character implements Serializable, Comparable<Character> { * identifier; {@code false} otherwise. */ public static boolean isJavaIdentifierStart(char c) { - // BEGIN android-changed return isJavaIdentifierStart((int) c); - // END android-changed } /** @@ -2751,8 +2745,7 @@ public final class Character implements Serializable, Comparable<Character> { * identifier; {@code false} otherwise. */ public static boolean isJavaIdentifierStart(int codePoint) { - // BEGIN android-changed: use precomputed bitmasks for the ASCII range. - // Optimized case for ASCII + // Use precomputed bitmasks to optimize the ASCII range. if (codePoint < 64) { return (codePoint == '$'); // There's only one character in this range. } else if (codePoint < 128) { @@ -2761,7 +2754,6 @@ public final class Character implements Serializable, Comparable<Character> { int type = getType(codePoint); return (type >= UPPERCASE_LETTER && type <= OTHER_LETTER) || type == CURRENCY_SYMBOL || type == CONNECTOR_PUNCTUATION || type == LETTER_NUMBER; - // END android-changed } /** diff --git a/luni/src/main/java/java/lang/Class.java b/luni/src/main/java/java/lang/Class.java index 95266a8..0182370 100644 --- a/luni/src/main/java/java/lang/Class.java +++ b/luni/src/main/java/java/lang/Class.java @@ -574,7 +574,6 @@ public final class Class<T> implements Serializable, AnnotatedElement, GenericDe } } - // BEGIN android-changed StringBuilder sb = new StringBuilder(); sb.append(getSimpleName()); sb.append('('); @@ -590,7 +589,6 @@ public final class Class<T> implements Serializable, AnnotatedElement, GenericDe } sb.append(')'); throw new NoSuchMethodException(sb.toString()); - // END android-changed } /** diff --git a/luni/src/main/java/java/lang/ClassLoader.java b/luni/src/main/java/java/lang/ClassLoader.java index c7278e2..01d7198 100644 --- a/luni/src/main/java/java/lang/ClassLoader.java +++ b/luni/src/main/java/java/lang/ClassLoader.java @@ -64,19 +64,16 @@ import java.util.Map; */ public abstract class ClassLoader { - // BEGIN android-note - /* + /** + * The 'System' ClassLoader - the one that is responsible for loading + * classes from the classpath. It is not equal to the bootstrap class loader - + * that one handles the built-in classes. + * * Because of a potential class initialization race between ClassLoader and * java.lang.System, reproducible when using JDWP with "suspend=y", we defer * creation of the system class loader until first use. We use a static * inner class to get synchronization at init time without having to sync on * every access. - */ - // END android-note - /** - * The 'System' ClassLoader - the one that is responsible for loading - * classes from the classpath. It is not equal to the bootstrap class loader - - * that one handles the built-in classes. * * @see #getSystemClassLoader() */ diff --git a/luni/src/main/java/java/lang/InheritableThreadLocal.java b/luni/src/main/java/java/lang/InheritableThreadLocal.java index 7e12ac2..772c61b 100644 --- a/luni/src/main/java/java/lang/InheritableThreadLocal.java +++ b/luni/src/main/java/java/lang/InheritableThreadLocal.java @@ -51,7 +51,6 @@ public class InheritableThreadLocal<T> extends ThreadLocal<T> { return parentValue; } - // BEGIN android-added @Override Values values(Thread current) { return current.inheritableValues; @@ -61,5 +60,4 @@ public class InheritableThreadLocal<T> extends ThreadLocal<T> { Values initializeValues(Thread current) { return current.inheritableValues = new Values(); } - // END android-added } diff --git a/luni/src/main/java/java/lang/Runtime.java b/luni/src/main/java/java/lang/Runtime.java index 5729d75..893ebfb 100644 --- a/luni/src/main/java/java/lang/Runtime.java +++ b/luni/src/main/java/java/lang/Runtime.java @@ -169,9 +169,8 @@ public class Runtime { * if the requested program can not be executed. */ public Process exec(String[] progArray, String[] envp, File directory) throws IOException { - // BEGIN android-changed: push responsibility for argument checking into ProcessManager + // ProcessManager is responsible for all argument checking. return ProcessManager.getInstance().exec(progArray, envp, directory, false); - // END android-changed } /** diff --git a/luni/src/main/java/java/lang/SecurityManager.java b/luni/src/main/java/java/lang/SecurityManager.java index 1db0b7f..9b85514 100644 --- a/luni/src/main/java/java/lang/SecurityManager.java +++ b/luni/src/main/java/java/lang/SecurityManager.java @@ -17,8 +17,6 @@ package java.lang; -// BEGIN android-added - import dalvik.system.VMStack; import java.io.File; import java.io.FileDescriptor; diff --git a/luni/src/main/java/java/lang/StackTraceElement.java b/luni/src/main/java/java/lang/StackTraceElement.java index a899a92..78579f8 100644 --- a/luni/src/main/java/java/lang/StackTraceElement.java +++ b/luni/src/main/java/java/lang/StackTraceElement.java @@ -30,9 +30,7 @@ public final class StackTraceElement implements Serializable { private static final long serialVersionUID = 6992337162326171013L; - // BEGIN android-added private static final int NATIVE_LINE_NUMBER = -2; - // END android-added String declaringClass; @@ -200,9 +198,7 @@ public final class StackTraceElement implements Serializable { * executing is a native method; {@code false} otherwise. */ public boolean isNativeMethod() { - // BEGIN android-changed return lineNumber == NATIVE_LINE_NUMBER; - // END android-changed } @Override diff --git a/luni/src/main/java/java/lang/String.java b/luni/src/main/java/java/lang/String.java index 3e4464c..517e481 100644 --- a/luni/src/main/java/java/lang/String.java +++ b/luni/src/main/java/java/lang/String.java @@ -772,11 +772,9 @@ outer: } if (object instanceof String) { String s = (String) object; - // BEGIN android-changed int hashCode1 = hashCode; int hashCode2 = s.hashCode; - if (count != s.count - || (hashCode1 != hashCode2 && hashCode1 != 0 && hashCode2 != 0)) { + if (count != s.count || (hashCode1 != hashCode2 && hashCode1 != 0 && hashCode2 != 0)) { return false; } // inline 'return regionMatches(0, s, 0, count)' @@ -790,7 +788,6 @@ outer: } } return true; - // END android-changed } return false; } @@ -1009,7 +1006,6 @@ outer: } private int fastIndexOf(int c, int start) { - // BEGIN android-changed int _count = count; if (start < _count) { if (start < 0) { @@ -1025,7 +1021,6 @@ outer: } } return -1; - // END android-changed } private int indexOfSupplementary(int c, int start) { @@ -1050,7 +1045,6 @@ outer: * if {@code string} is {@code null}. */ public int indexOf(String string) { - // BEGIN android-changed int start = 0; int subCount = string.count; int _count = count; @@ -1079,7 +1073,6 @@ outer: } } return start < _count ? start : _count; - // END android-changed } /** @@ -1097,7 +1090,6 @@ outer: * if {@code subString} is {@code null}. */ public int indexOf(String subString, int start) { - // BEGIN android-changed if (start < 0) { start = 0; } @@ -1128,7 +1120,6 @@ outer: } } return start < _count ? start : _count; - // END android-changed } /** @@ -1164,7 +1155,6 @@ outer: if (c > 0xffff) { return lastIndexOfSupplementary(c, Integer.MAX_VALUE); } - // BEGIN android-changed int _count = count; int _offset = offset; char[] _value = value; @@ -1174,7 +1164,6 @@ outer: } } return -1; - // END android-changed } /** @@ -1193,7 +1182,6 @@ outer: if (c > 0xffff) { return lastIndexOfSupplementary(c, start); } - // BEGIN android-changed int _count = count; int _offset = offset; char[] _value = value; @@ -1208,7 +1196,6 @@ outer: } } return -1; - // END android-changed } private int lastIndexOfSupplementary(int c, int start) { @@ -1324,7 +1311,6 @@ outer: return true; } int o1 = offset + thisStart, o2 = string.offset + start; - // BEGIN android-changed char[] value1 = value; char[] value2 = string.value; for (int i = 0; i < length; ++i) { @@ -1332,7 +1318,6 @@ outer: return false; } } - // END android-changed return true; } diff --git a/luni/src/main/java/java/lang/ref/ReferenceQueue.java b/luni/src/main/java/java/lang/ref/ReferenceQueue.java index ac6d695..b59d4f5 100644 --- a/luni/src/main/java/java/lang/ref/ReferenceQueue.java +++ b/luni/src/main/java/java/lang/ref/ReferenceQueue.java @@ -15,10 +15,6 @@ * limitations under the License. */ -// BEGIN android-note -// This implementation is quite different from Harmony. Changes are not marked. -// END android-note - package java.lang.ref; /** diff --git a/luni/src/main/java/java/lang/reflect/Field.java b/luni/src/main/java/java/lang/reflect/Field.java index 1d2726c..8877cc5 100644 --- a/luni/src/main/java/java/lang/reflect/Field.java +++ b/luni/src/main/java/java/lang/reflect/Field.java @@ -517,9 +517,7 @@ public final class Field extends AccessibleObject implements Member { */ @Override public int hashCode() { - // BEGIN android-changed return name.hashCode() ^ getDeclaringClass().getName().hashCode(); - // END android-changed } /** diff --git a/luni/src/main/java/java/lang/reflect/Proxy.java b/luni/src/main/java/java/lang/reflect/Proxy.java index 92b04f6..a24514d 100644 --- a/luni/src/main/java/java/lang/reflect/Proxy.java +++ b/luni/src/main/java/java/lang/reflect/Proxy.java @@ -23,10 +23,6 @@ import java.util.HashMap; import java.util.Map; import java.util.WeakHashMap; -// BEGIN android-removed -// import org.apache.harmony.luni.internal.reflect.ProxyClassFile; -// END android-removed - /** * {@code Proxy} defines methods for creating dynamic proxy classes and instances. * A proxy class implements a declared set of interfaces and delegates method @@ -91,9 +87,6 @@ public class Proxy implements Serializable { */ public static Class<?> getProxyClass(ClassLoader loader, Class<?>... interfaces) throws IllegalArgumentException { - // BEGIN android-note - // Changed parameter to be closer to the RI - // END android-note // check that interfaces are a valid array of visible interfaces if (interfaces == null) { throw new NullPointerException(); @@ -165,21 +158,13 @@ public class Proxy implements Serializable { if (commonPackageName != null && commonPackageName.length() > 0) { nextClassName = commonPackageName + "." + nextClassName; } - // BEGIN android-changed - // byte[] classFileBytes = ProxyClassFile.generateBytes( - // nextClassName, interfaces); - // newClass = defineClassImpl(loader, nextClassName.replace('.', - // '/'), classFileBytes); if (loader == null) { loader = ClassLoader.getSystemClassLoader(); } - newClass = generateProxy(nextClassName.replace('.', '/'), - interfaces, loader); - // END android-changed + newClass = generateProxy(nextClassName.replace('.', '/'), interfaces, loader); // Need a weak reference to the class so it can // be unloaded if the class loader is discarded - interfaceCache.put(interfaceKey, new WeakReference<Class<?>>( - newClass)); + interfaceCache.put(interfaceKey, new WeakReference<Class<?>>(newClass)); synchronized (proxyCache) { // the value is unused proxyCache.put(newClass, ""); @@ -282,9 +267,6 @@ public class Proxy implements Serializable { throw new IllegalArgumentException("not a proxy instance"); } - // BEGIN android-changed - //private static native Class<?> defineClassImpl(ClassLoader classLoader, - // String className, byte[] classFileBytes); native private static Class generateProxy(String name, Class[] interfaces, ClassLoader loader); @@ -293,6 +275,4 @@ public class Proxy implements Serializable { * There is no implementation. */ native private static void constructorPrototype(InvocationHandler h); - // END android-changed - } diff --git a/luni/src/main/java/java/math/BigDecimal.java b/luni/src/main/java/java/math/BigDecimal.java index dd3fb84..0ef3bf5 100644 --- a/luni/src/main/java/java/math/BigDecimal.java +++ b/luni/src/main/java/java/math/BigDecimal.java @@ -514,12 +514,10 @@ public class BigDecimal extends Number implements Comparable<BigDecimal>, Serial if(bitLength < 64) { smallValue = mantissa << (-scale); } else { - // BEGIN android-changed BigInt bi = new BigInt(); bi.putLongInt(mantissa); bi.shift(-scale); intVal = new BigInteger(bi); - // END android-changed } scale = 0; } else if (scale > 0) { @@ -809,7 +807,6 @@ public class BigDecimal extends Number implements Comparable<BigDecimal>, Serial } private static BigDecimal addAndMult10(BigDecimal thisValue,BigDecimal augend, int diffScale) { - // BEGIN android-changed if(diffScale < MathUtils.LONG_POWERS_OF_TEN.length && Math.max(thisValue.bitLength,augend.bitLength+LONG_POWERS_OF_TEN_BIT_LENGTH[diffScale])+1<64) { return valueOf(thisValue.smallValue+augend.smallValue*MathUtils.LONG_POWERS_OF_TEN[diffScale],thisValue.scale); @@ -818,7 +815,6 @@ public class BigDecimal extends Number implements Comparable<BigDecimal>, Serial bi.add(thisValue.getUnscaledValue().getBigInt()); return new BigDecimal(new BigInteger(bi), thisValue.scale); } - // END android-changed } /** @@ -1742,11 +1738,9 @@ public class BigDecimal extends Number implements Comparable<BigDecimal>, Serial * @return {@code abs(this)} */ public BigDecimal abs(MathContext mc) { - // BEGIN android-changed BigDecimal result = abs(); result.inplaceRound(mc); return result; - // END android-changed } /** @@ -1771,11 +1765,9 @@ public class BigDecimal extends Number implements Comparable<BigDecimal>, Serial * @return {@code -this} */ public BigDecimal negate(MathContext mc) { - // BEGIN android-changed BigDecimal result = negate(); result.inplaceRound(mc); return result; - // END android-changed } /** @@ -2100,10 +2092,9 @@ public class BigDecimal extends Number implements Comparable<BigDecimal>, Serial long newScale = scale; if (isZero()) { - // BEGIN android-changed: preserve RI compatibility, so BigDecimal.equals (which checks + // Preserve RI compatibility, so BigDecimal.equals (which checks // value *and* scale) continues to work. return this; - // END android-changed } BigInteger strippedBI = getUnscaledValue(); BigInteger[] quotAndRem; @@ -2751,11 +2742,9 @@ public class BigDecimal extends Number implements Comparable<BigDecimal>, Serial */ private void inplaceRound(MathContext mc) { int mcPrecision = mc.getPrecision(); - // BEGIN android-changed if (approxPrecision() < mcPrecision || mcPrecision == 0) { return; } - // END android-changed int discardedPrecision = precision() - mcPrecision; // If no rounding is necessary it returns immediately if ((discardedPrecision <= 0)) { @@ -2925,11 +2914,9 @@ public class BigDecimal extends Number implements Comparable<BigDecimal>, Serial * @return an approximation of {@code precision()} value */ private int approxPrecision() { - // BEGIN android-changed return precision > 0 ? precision : (int) ((this.bitLength - 1) * LOG10_2) + 1; - // END android-changed } private static int safeLongToInt(long longValue) { diff --git a/luni/src/main/java/java/math/BigInteger.java b/luni/src/main/java/java/math/BigInteger.java index e75c8f2..cd56afa 100644 --- a/luni/src/main/java/java/math/BigInteger.java +++ b/luni/src/main/java/java/math/BigInteger.java @@ -15,12 +15,6 @@ * limitations under the License. */ -// BEGIN android-note -// Since the original Harmony Code of the BigInteger class was strongly modified, -// in order to use the more efficient OpenSSL BIGNUM implementation, -// no android-modification-tags were placed, at all. -// END android-note - package java.math; import java.io.IOException; diff --git a/luni/src/main/java/java/math/MathContext.java b/luni/src/main/java/java/math/MathContext.java index e07ba97..1455b5c 100644 --- a/luni/src/main/java/java/math/MathContext.java +++ b/luni/src/main/java/java/math/MathContext.java @@ -173,9 +173,7 @@ public final class MathContext implements Serializable { if (digit == -1) { throw new IllegalArgumentException("Bad string format"); } - // BEGIN android-changed this.precision = digit; - // END android-changed i++; do { diff --git a/luni/src/main/java/java/math/Multiplication.java b/luni/src/main/java/java/math/Multiplication.java index babca06..98cabee 100644 --- a/luni/src/main/java/java/math/Multiplication.java +++ b/luni/src/main/java/java/math/Multiplication.java @@ -79,8 +79,7 @@ class Multiplication { } } - // BEGIN android-note - // The method multiply has been removed in favor of using OpenSSL BIGNUM + // BEGIN android-note: multiply has been removed in favor of using OpenSSL BIGNUM // END android-note /** diff --git a/luni/src/main/java/java/math/Primality.java b/luni/src/main/java/java/math/Primality.java index fa7e67a..eacc893 100644 --- a/luni/src/main/java/java/math/Primality.java +++ b/luni/src/main/java/java/math/Primality.java @@ -15,12 +15,6 @@ * limitations under the License. */ -// BEGIN android-note -// Since the original Harmony Code of the BigInteger class was strongly modified, -// in order to use the more efficient OpenSSL BIGNUM implementation, -// no android-modification-tags were placed, at all. -// END android-note - package java.math; import java.util.Arrays; diff --git a/luni/src/main/java/java/nio/FileChannelImpl.java b/luni/src/main/java/java/nio/FileChannelImpl.java index c8efc97..3bca1b1 100644 --- a/luni/src/main/java/java/nio/FileChannelImpl.java +++ b/luni/src/main/java/java/nio/FileChannelImpl.java @@ -514,7 +514,6 @@ abstract class FileChannelImpl extends FileChannel { int[] handles = new int[length]; int[] offsets = new int[length]; int[] lengths = new int[length]; - // BEGIN android-changed // list of allocated direct ByteBuffers to prevent them from being GC-ed ByteBuffer[] allocatedBufs = new ByteBuffer[length]; @@ -534,7 +533,6 @@ abstract class FileChannelImpl extends FileChannel { handles[i] = NioUtils.getDirectBufferAddress(buffer); lengths[i] = buffer.remaining(); } - // END android-changed long bytesWritten = 0; boolean completed = false; diff --git a/luni/src/main/java/java/nio/IntBuffer.java b/luni/src/main/java/java/nio/IntBuffer.java index 3e1d9a3..9cc05ff 100644 --- a/luni/src/main/java/java/nio/IntBuffer.java +++ b/luni/src/main/java/java/nio/IntBuffer.java @@ -146,7 +146,6 @@ public abstract class IntBuffer extends Buffer implements Comparable<IntBuffer> : otherBuffer.remaining(); int thisPos = position; int otherPos = otherBuffer.position; - // BEGIN android-changed int thisInt, otherInt; while (compareRemaining > 0) { thisInt = get(thisPos); @@ -158,7 +157,6 @@ public abstract class IntBuffer extends Buffer implements Comparable<IntBuffer> otherPos++; compareRemaining--; } - // END android-changed return remaining() - otherBuffer.remaining(); } diff --git a/luni/src/main/java/java/nio/LongBuffer.java b/luni/src/main/java/java/nio/LongBuffer.java index 3b4be66..27edd2e 100644 --- a/luni/src/main/java/java/nio/LongBuffer.java +++ b/luni/src/main/java/java/nio/LongBuffer.java @@ -148,7 +148,6 @@ public abstract class LongBuffer extends Buffer implements : otherBuffer.remaining(); int thisPos = position; int otherPos = otherBuffer.position; - // BEGIN android-changed long thisLong, otherLong; while (compareRemaining > 0) { thisLong = get(thisPos); @@ -160,7 +159,6 @@ public abstract class LongBuffer extends Buffer implements otherPos++; compareRemaining--; } - // END android-changed return remaining() - otherBuffer.remaining(); } diff --git a/luni/src/main/java/java/nio/SocketChannelImpl.java b/luni/src/main/java/java/nio/SocketChannelImpl.java index 560f17d..0a8b8b4 100644 --- a/luni/src/main/java/java/nio/SocketChannelImpl.java +++ b/luni/src/main/java/java/nio/SocketChannelImpl.java @@ -346,11 +346,8 @@ class SocketChannelImpl extends SocketChannel implements FileDescriptorHandler { int offset = target.position(); int length = target.remaining(); if (target.isDirect()) { - // BEGIN android-changed - // changed address from long to int int address = NioUtils.getDirectBufferAddress(target); readCount = Platform.NETWORK.readDirect(fd, address + offset, length); - // END android-changed } else { // target is assured to have array. byte[] array = target.array(); @@ -711,9 +708,7 @@ class SocketChannelImpl extends SocketChannel implements FileDescriptorHandler { } ByteBuffer buf = ByteBuffer.allocate(1); int result = channel.read(buf); - // BEGIN android-changed: input was already consumed - return (-1 == result) ? result : buf.get(0) & 0xFF; - // END android-changed + return (result == -1) ? result : (buf.get(0) & 0xff); } @Override diff --git a/luni/src/main/java/java/security/AccessControlContext.java b/luni/src/main/java/java/security/AccessControlContext.java index 288bc2c..0da6fd5 100644 --- a/luni/src/main/java/java/security/AccessControlContext.java +++ b/luni/src/main/java/java/security/AccessControlContext.java @@ -171,12 +171,10 @@ public final class AccessControlContext { .matchSubset(that.context, context))) { return false; } - // BEGIN android-changed if (combiner != null) { return combiner.equals(that.combiner); } return that.combiner == null; - // END android-changed } return false; } diff --git a/luni/src/main/java/java/security/KeyStore.java b/luni/src/main/java/java/security/KeyStore.java index 29c88a0..7e91083 100644 --- a/luni/src/main/java/java/security/KeyStore.java +++ b/luni/src/main/java/java/security/KeyStore.java @@ -247,9 +247,7 @@ public class KeyStore { throws KeyStoreException, NoSuchAlgorithmException, UnrecoverableKeyException { if (!isInit) { - // BEGIN android-changed throwNotInitialized(); - // END android-changed } return implSpi.engineGetKey(alias, password); } @@ -264,12 +262,9 @@ public class KeyStore { * @throws KeyStoreException * if this {@code KeyStore} is not initialized. */ - public final Certificate[] getCertificateChain(String alias) - throws KeyStoreException { + public final Certificate[] getCertificateChain(String alias) throws KeyStoreException { if (!isInit) { - // BEGIN android-changed throwNotInitialized(); - // END android-changed } return implSpi.engineGetCertificateChain(alias); } @@ -284,12 +279,9 @@ public class KeyStore { * @throws KeyStoreException * if this {@code KeyStore} is not initialized. */ - public final Certificate getCertificate(String alias) - throws KeyStoreException { + public final Certificate getCertificate(String alias) throws KeyStoreException { if (!isInit) { - // BEGIN android-changed throwNotInitialized(); - // END android-changed } return implSpi.engineGetCertificate(alias); } @@ -306,9 +298,7 @@ public class KeyStore { */ public final Date getCreationDate(String alias) throws KeyStoreException { if (!isInit) { - // BEGIN android-changed throwNotInitialized(); - // END android-changed } return implSpi.engineGetCreationDate(alias); } @@ -337,9 +327,7 @@ public class KeyStore { public final void setKeyEntry(String alias, Key key, char[] password, Certificate[] chain) throws KeyStoreException { if (!isInit) { - // BEGIN android-changed throwNotInitialized(); - // END android-changed } // Certificate chain is required for PrivateKey @@ -376,9 +364,7 @@ public class KeyStore { public final void setKeyEntry(String alias, byte[] key, Certificate[] chain) throws KeyStoreException { if (!isInit) { - // BEGIN android-changed throwNotInitialized(); - // END android-changed } implSpi.engineSetKeyEntry(alias, key, chain); } @@ -399,12 +385,9 @@ public class KeyStore { * @throws NullPointerException * if {@code alias} is {@code null}. */ - public final void setCertificateEntry(String alias, Certificate cert) - throws KeyStoreException { + public final void setCertificateEntry(String alias, Certificate cert) throws KeyStoreException { if (!isInit) { - // BEGIN android-changed throwNotInitialized(); - // END android-changed } implSpi.engineSetCertificateEntry(alias, cert); } @@ -421,9 +404,7 @@ public class KeyStore { */ public final void deleteEntry(String alias) throws KeyStoreException { if (!isInit) { - // BEGIN android-changed throwNotInitialized(); - // END android-changed } implSpi.engineDeleteEntry(alias); } @@ -439,9 +420,7 @@ public class KeyStore { */ public final Enumeration<String> aliases() throws KeyStoreException { if (!isInit) { - // BEGIN android-changed throwNotInitialized(); - // END android-changed } return implSpi.engineAliases(); } @@ -457,9 +436,7 @@ public class KeyStore { */ public final boolean containsAlias(String alias) throws KeyStoreException { if (!isInit) { - // BEGIN android-changed throwNotInitialized(); - // END android-changed } return implSpi.engineContainsAlias(alias); } @@ -473,9 +450,7 @@ public class KeyStore { */ public final int size() throws KeyStoreException { if (!isInit) { - // BEGIN android-changed throwNotInitialized(); - // END android-changed } return implSpi.engineSize(); } @@ -492,9 +467,7 @@ public class KeyStore { */ public final boolean isKeyEntry(String alias) throws KeyStoreException { if (!isInit) { - // BEGIN android-changed throwNotInitialized(); - // END android-changed } return implSpi.engineIsKeyEntry(alias); } @@ -510,12 +483,9 @@ public class KeyStore { * @throws KeyStoreException * if this {@code KeyStore} is not initialized. */ - public final boolean isCertificateEntry(String alias) - throws KeyStoreException { + public final boolean isCertificateEntry(String alias) throws KeyStoreException { if (!isInit) { - // BEGIN android-changed throwNotInitialized(); - // END android-changed } return implSpi.engineIsCertificateEntry(alias); } @@ -531,12 +501,9 @@ public class KeyStore { * @throws KeyStoreException * if this {@code KeyStore} is not initialized. */ - public final String getCertificateAlias(Certificate cert) - throws KeyStoreException { + public final String getCertificateAlias(Certificate cert) throws KeyStoreException { if (!isInit) { - // BEGIN android-changed throwNotInitialized(); - // END android-changed } return implSpi.engineGetCertificateAlias(cert); } @@ -561,12 +528,9 @@ public class KeyStore { * this {@code KeyStore}. */ public final void store(OutputStream stream, char[] password) - throws KeyStoreException, IOException, NoSuchAlgorithmException, - CertificateException { + throws KeyStoreException, IOException, NoSuchAlgorithmException, CertificateException { if (!isInit) { - // BEGIN android-changed throwNotInitialized(); - // END android-changed } //Just delegate stream and password to implSpi @@ -595,9 +559,7 @@ public class KeyStore { public final void store(LoadStoreParameter param) throws KeyStoreException, IOException, NoSuchAlgorithmException, CertificateException { if (!isInit) { - // BEGIN android-changed throwNotInitialized(); - // END android-changed } implSpi.engineStore(param); } @@ -672,15 +634,12 @@ public class KeyStore { * if {@code alias} is {@code null}. */ public final Entry getEntry(String alias, ProtectionParameter param) - throws NoSuchAlgorithmException, UnrecoverableEntryException, - KeyStoreException { + throws NoSuchAlgorithmException, UnrecoverableEntryException, KeyStoreException { if (alias == null) { throw new NullPointerException("alias == null"); } if (!isInit) { - // BEGIN android-changed throwNotInitialized(); - // END android-changed } return implSpi.engineGetEntry(alias, param); } @@ -707,9 +666,7 @@ public class KeyStore { public final void setEntry(String alias, Entry entry, ProtectionParameter param) throws KeyStoreException { if (!isInit) { - // BEGIN android-changed throwNotInitialized(); - // END android-changed } if (alias == null) { throw new NullPointerException("alias == null"); @@ -744,9 +701,7 @@ public class KeyStore { } if (!isInit) { - // BEGIN android-changed throwNotInitialized(); - // END android-changed } return implSpi.engineEntryInstanceOf(alias, entryClass); } diff --git a/luni/src/main/java/java/security/Provider.java b/luni/src/main/java/java/security/Provider.java index 5016858..2de3751 100644 --- a/luni/src/main/java/java/security/Provider.java +++ b/luni/src/main/java/java/security/Provider.java @@ -165,9 +165,7 @@ public abstract class Provider extends Properties { if (propertyAliasTable != null) { propertyAliasTable.clear(); } - // BEGIN android-changed changedProperties = null; - // END android-changed putProviderInfo(); if (providerNumber != -1) { // if registered then refresh Services @@ -287,11 +285,9 @@ public abstract class Provider extends Properties { } if (changedProperties != null && changedProperties.remove(key) == null) { removeFromPropertyServiceTable(key); - // BEGIN android-added if (changedProperties.size() == 0) { changedProperties = null; } - // END android-added } return super.remove(key); } @@ -680,9 +676,7 @@ public abstract class Provider extends Properties { } if (o != null) { s = (Provider.Service) o; - // BEGIN android-changed s.addAlias(aliasName); - // END android-changed if (propertyAliasTable == null) { propertyAliasTable = new TwoKeyHashMap<String, String, Service>(256); } @@ -721,11 +715,9 @@ public abstract class Provider extends Properties { s = (Provider.Service) o; s.className = value; } else { - // BEGIN android-changed s = new Provider.Service(this, serviceName, algorithm, value, Collections.<String>emptyList(), Collections.<String,String>emptyMap()); - // END android-changed if (propertyServiceTable == null) { propertyServiceTable = new TwoKeyHashMap<String, String, Service>(128); } @@ -745,9 +737,7 @@ public abstract class Provider extends Properties { } if (o != null) { s = (Provider.Service) o; - // BEGIN android-changed s.putAttribute(attribute, value); - // END android-changed } else { String className = (String) changedProperties .get(serviceName + "." + algorithm); @@ -765,9 +755,7 @@ public abstract class Provider extends Properties { } } servicesChanged(); - // BEGIN android-changed changedProperties = null; - // END android-changed } private void servicesChanged() { @@ -869,16 +857,13 @@ public abstract class Provider extends Properties { this.type = type; this.algorithm = algorithm; this.className = className; - // BEGIN android-changed this.aliases = ((aliases != null) && (aliases.size() == 0)) ? Collections.<String>emptyList() : aliases; this.attributes = ((attributes != null) && (attributes.size() == 0)) ? Collections.<String,String>emptyMap() : attributes; - // END android-changed } - // BEGIN android-added /** * Adds an alias. * @@ -903,7 +888,6 @@ public abstract class Provider extends Properties { } attributes.put(name, value); } - // END android-added /** * Returns the type of this {@code Service}. For example {@code diff --git a/luni/src/main/java/java/security/cert/CertPath.java b/luni/src/main/java/java/security/cert/CertPath.java index dda778f..4e6bef4 100644 --- a/luni/src/main/java/java/security/cert/CertPath.java +++ b/luni/src/main/java/java/security/cert/CertPath.java @@ -116,15 +116,12 @@ public abstract class CertPath implements Serializable { sb.append(getCertificates().size()); sb.append(": [\n"); int n=1; - // BEGIN android-changed - for (Iterator<? extends Certificate> i=getCertificates().iterator(); - i.hasNext(); n++) { + for (Iterator<? extends Certificate> i=getCertificates().iterator(); i.hasNext(); n++) { sb.append("---------------certificate "); sb.append(n); sb.append("---------------\n"); sb.append(((Certificate)i.next()).toString()); } - // END android-changed sb.append("\n]"); return sb.toString(); } diff --git a/luni/src/main/java/java/security/cert/PKIXCertPathChecker.java b/luni/src/main/java/java/security/cert/PKIXCertPathChecker.java index 0991cd5..869efb5 100644 --- a/luni/src/main/java/java/security/cert/PKIXCertPathChecker.java +++ b/luni/src/main/java/java/security/cert/PKIXCertPathChecker.java @@ -55,7 +55,7 @@ public abstract class PKIXCertPathChecker implements Cloneable { try { return super.clone(); } catch (CloneNotSupportedException e) { - throw new AssertionError(e); // android-changed + throw new AssertionError(e); } } diff --git a/luni/src/main/java/java/security/cert/PKIXCertPathValidatorResult.java b/luni/src/main/java/java/security/cert/PKIXCertPathValidatorResult.java index e3bdca6..99f26a2 100644 --- a/luni/src/main/java/java/security/cert/PKIXCertPathValidatorResult.java +++ b/luni/src/main/java/java/security/cert/PKIXCertPathValidatorResult.java @@ -96,7 +96,7 @@ public class PKIXCertPathValidatorResult implements CertPathValidatorResult { try { return super.clone(); } catch (CloneNotSupportedException e) { - throw new AssertionError(e); // android-changed + throw new AssertionError(e); } } diff --git a/luni/src/main/java/java/security/cert/PKIXParameters.java b/luni/src/main/java/java/security/cert/PKIXParameters.java index 2e9d4a2..7ca9443 100644 --- a/luni/src/main/java/java/security/cert/PKIXParameters.java +++ b/luni/src/main/java/java/security/cert/PKIXParameters.java @@ -534,7 +534,7 @@ public class PKIXParameters implements CertPathParameters { } return ret; } catch (CloneNotSupportedException e) { - throw new AssertionError(e); // android-changed + throw new AssertionError(e); } } diff --git a/luni/src/main/java/java/security/cert/X509CertSelector.java b/luni/src/main/java/java/security/cert/X509CertSelector.java index 144e213..2571715 100644 --- a/luni/src/main/java/java/security/cert/X509CertSelector.java +++ b/luni/src/main/java/java/security/cert/X509CertSelector.java @@ -756,7 +756,7 @@ public class X509CertSelector implements CertSelector { System.arraycopy(arr_neim, 0, neim, 0, arr_neim.length); } List list = new ArrayList(2); - list.add(Integer.valueOf(tag)); // android-changed + list.add(tag); list.add(neim); result.add(list); } diff --git a/luni/src/main/java/java/sql/DriverManager.java b/luni/src/main/java/java/sql/DriverManager.java index c3bef62..3dc0ed3 100644 --- a/luni/src/main/java/java/sql/DriverManager.java +++ b/luni/src/main/java/java/sql/DriverManager.java @@ -221,23 +221,17 @@ public class DriverManager { * if there is any kind of problem accessing the database. */ public static Driver getDriver(String url) throws SQLException { - // BEGIN android-changed ClassLoader callerClassLoader = VMStack.getCallingClassLoader(); - // END android-changed - synchronized (theDrivers) { /* * Loop over the drivers in the DriverSet checking to see if one * does understand the supplied URL - return the first driver which * does understand the URL */ - Iterator<Driver> theIterator = theDrivers.iterator(); - while (theIterator.hasNext()) { - Driver theDriver = theIterator.next(); - if (theDriver.acceptsURL(url) - && DriverManager.isClassFromClassLoader(theDriver, - callerClassLoader)) { - return theDriver; + for (Driver driver : theDrivers) { + if (driver.acceptsURL(url) && + DriverManager.isClassFromClassLoader(driver, callerClassLoader)) { + return driver; } } } diff --git a/luni/src/main/java/java/text/AttributedString.java b/luni/src/main/java/java/text/AttributedString.java index 1495dc5..1335067 100644 --- a/luni/src/main/java/java/text/AttributedString.java +++ b/luni/src/main/java/java/text/AttributedString.java @@ -105,7 +105,7 @@ public class AttributedString { } return clone; } catch (CloneNotSupportedException e) { - throw new AssertionError(e); // android-changed + throw new AssertionError(e); } } @@ -506,15 +506,9 @@ public class AttributedString { */ public AttributedString(AttributedCharacterIterator iterator, int start, int end, AttributedCharacterIterator.Attribute[] attributes) { - // BEGIN android-removed - // this(iterator, start, end, new HashSet<Attribute>(Arrays - // .asList(attributes))); - // END android-removed - // BEGIN android-added this(iterator, start, end, (attributes == null ? new HashSet<Attribute>() : new HashSet<Attribute>(Arrays.asList(attributes)))); - // END android-added } /** diff --git a/luni/src/main/java/java/text/BreakIterator.java b/luni/src/main/java/java/text/BreakIterator.java index ccc484c..4d10b51 100644 --- a/luni/src/main/java/java/text/BreakIterator.java +++ b/luni/src/main/java/java/text/BreakIterator.java @@ -490,7 +490,7 @@ public abstract class BreakIterator implements Cloneable { cloned.wrapped = (NativeBreakIterator) wrapped.clone(); return cloned; } catch (CloneNotSupportedException e) { - throw new AssertionError(e); // android-changed + throw new AssertionError(e); } } } diff --git a/luni/src/main/java/java/text/Collator.java b/luni/src/main/java/java/text/Collator.java index 689fcb7..0fa8c71 100644 --- a/luni/src/main/java/java/text/Collator.java +++ b/luni/src/main/java/java/text/Collator.java @@ -172,7 +172,7 @@ public abstract class Collator implements Comparator<Object>, Cloneable { clone.icuColl = (RuleBasedCollatorICU) icuColl.clone(); return clone; } catch (CloneNotSupportedException e) { - throw new AssertionError(e); // android-changed + throw new AssertionError(e); } } diff --git a/luni/src/main/java/java/text/DecimalFormat.java b/luni/src/main/java/java/text/DecimalFormat.java index a837b42..32c2bb6 100644 --- a/luni/src/main/java/java/text/DecimalFormat.java +++ b/luni/src/main/java/java/text/DecimalFormat.java @@ -884,30 +884,6 @@ public class DecimalFormat extends NumberFormat { if (number == null) { return null; } - // BEGIN android-removed - // if (this.isParseBigDecimal()) { - // if (number instanceof Long) { - // return new BigDecimal(number.longValue()); - // } - // if ((number instanceof Double) && !((Double) number).isInfinite() - // && !((Double) number).isNaN()) { - // - // return new BigDecimal(number.doubleValue()); - // } - // if (number instanceof BigInteger) { - // return new BigDecimal(number.doubleValue()); - // } - // if (number instanceof com.ibm.icu.math.BigDecimal) { - // return new BigDecimal(number.toString()); - // } - // return number; - // } - // if ((number instanceof com.ibm.icu.math.BigDecimal) - // || (number instanceof BigInteger)) { - // return new Double(number.doubleValue()); - // } - // END android-removed - // BEGIN android-added if (this.isParseBigDecimal()) { if (number instanceof Long) { return new BigDecimal(number.longValue()); @@ -925,10 +901,8 @@ public class DecimalFormat extends NumberFormat { if ((number instanceof BigDecimal) || (number instanceof BigInteger)) { return new Double(number.doubleValue()); } - // END android-added - if (this.isParseIntegerOnly() && number.equals(NEGATIVE_ZERO_DOUBLE)) { - return Long.valueOf(0); // android-changed + return Long.valueOf(0); } return number; @@ -942,10 +916,9 @@ public class DecimalFormat extends NumberFormat { */ public void setDecimalFormatSymbols(DecimalFormatSymbols value) { if (value != null) { - // BEGIN android-changed: the Java object is canonical, and we copy down to native code. + // The Java object is canonical, and we copy down to native code. this.symbols = (DecimalFormatSymbols) value.clone(); dform.setDecimalFormatSymbols(this.symbols); - // END android-changed } } @@ -959,9 +932,7 @@ public class DecimalFormat extends NumberFormat { */ @Override public void setCurrency(Currency currency) { - // BEGIN android-changed dform.setCurrency(Currency.getInstance(currency.getCurrencyCode())); - // END android-changed symbols.setCurrency(currency); } @@ -1195,11 +1166,8 @@ public class DecimalFormat extends NumberFormat { fields.put("negSuffixPattern", (String) null); fields.put("multiplier", dform.getMultiplier()); fields.put("groupingSize", (byte) dform.getGroupingSize()); - // BEGIN android-added fields.put("groupingUsed", dform.isGroupingUsed()); - // END android-added - fields.put("decimalSeparatorAlwaysShown", dform - .isDecimalSeparatorAlwaysShown()); + fields.put("decimalSeparatorAlwaysShown", dform.isDecimalSeparatorAlwaysShown()); fields.put("parseBigDecimal", dform.isParseBigDecimal()); fields.put("roundingMode", roundingMode); fields.put("symbols", symbols); @@ -1225,7 +1193,6 @@ public class DecimalFormat extends NumberFormat { * if some class of serialized objects or fields cannot be found */ private void readObject(ObjectInputStream stream) throws IOException, ClassNotFoundException { - // BEGIN android-changed ObjectInputStream.GetField fields = stream.readFields(); this.symbols = (DecimalFormatSymbols) fields.get("symbols", null); @@ -1245,7 +1212,7 @@ public class DecimalFormat extends NumberFormat { final int minimumIntegerDigits = fields.get("minimumIntegerDigits", 309); final int maximumFractionDigits = fields.get("maximumFractionDigits", 340); final int minimumFractionDigits = fields.get("minimumFractionDigits", 340); - // BEGIN android-changed: tell ICU what we want, then ask it what we can have, and then + // Tell ICU what we want, then ask it what we can have, and then // set that in our Java object. This isn't RI-compatible, but then very little of our // behavior in this area is, and it's not obvious how we can second-guess ICU (or tell // it to just do exactly what we ask). We only need to do this with maximumIntegerDigits @@ -1264,7 +1231,6 @@ public class DecimalFormat extends NumberFormat { setMaximumFractionDigits(super.getMaximumFractionDigits()); setMinimumFractionDigits(super.getMinimumFractionDigits()); } - // END android-changed } /** diff --git a/luni/src/main/java/java/text/Format.java b/luni/src/main/java/java/text/Format.java index 65c4363..e83b060 100644 --- a/luni/src/main/java/java/text/Format.java +++ b/luni/src/main/java/java/text/Format.java @@ -76,7 +76,7 @@ public abstract class Format implements Serializable, Cloneable { try { return super.clone(); } catch (CloneNotSupportedException e) { - throw new AssertionError(e); // android-changed + throw new AssertionError(e); } } diff --git a/luni/src/main/java/java/text/MessageFormat.java b/luni/src/main/java/java/text/MessageFormat.java index 0ea22bc..6295233 100644 --- a/luni/src/main/java/java/text/MessageFormat.java +++ b/luni/src/main/java/java/text/MessageFormat.java @@ -1004,9 +1004,7 @@ public class MessageFormat extends Format { .getTimeInstance(dateStyle, locale); case 2: // number if (ch == '}') { - // BEGIN android-changed return NumberFormat.getInstance(locale); - // END android-changed } int numberStyle = match(string, position, true, new String[] { "currency", "percent", "integer" }); @@ -1072,16 +1070,6 @@ public class MessageFormat extends Format { this.locale = locale; for (int i = 0; i <= maxOffset; i++) { Format format = formats[i]; - // BEGIN android-removed - //if (format instanceof DecimalFormat) { - // formats[i] = new DecimalFormat(((DecimalFormat) format) - // .toPattern(), new DecimalFormatSymbols(locale)); - //} else if (format instanceof SimpleDateFormat) { - // formats[i] = new SimpleDateFormat(((SimpleDateFormat) format) - // .toPattern(), locale); - //} - // END android-removed - // BEGIN android-added // java specification undefined for null argument, change into // a more tolerant implementation if (format instanceof DecimalFormat) { @@ -1099,7 +1087,6 @@ public class MessageFormat extends Format { formats[i] = null; } } - // END android-added } } diff --git a/luni/src/main/java/java/text/NumberFormat.java b/luni/src/main/java/java/text/NumberFormat.java index 3b64224..7f16e5d 100644 --- a/luni/src/main/java/java/text/NumberFormat.java +++ b/luni/src/main/java/java/text/NumberFormat.java @@ -403,11 +403,9 @@ public abstract class NumberFormat extends Format { return getNumberInstance(locale); } - // BEGIN android-added private static NumberFormat getInstance(String pattern, Locale locale) { return new DecimalFormat(pattern, locale); } - // END android-added /** * Returns the maximum number of fraction digits that are printed when diff --git a/luni/src/main/java/java/text/StringCharacterIterator.java b/luni/src/main/java/java/text/StringCharacterIterator.java index 8b0e2b7..13c3543 100644 --- a/luni/src/main/java/java/text/StringCharacterIterator.java +++ b/luni/src/main/java/java/text/StringCharacterIterator.java @@ -105,7 +105,7 @@ public final class StringCharacterIterator implements CharacterIterator { try { return super.clone(); } catch (CloneNotSupportedException e) { - throw new AssertionError(e); // android-changed + throw new AssertionError(e); } } diff --git a/luni/src/main/java/java/util/ArrayList.java b/luni/src/main/java/java/util/ArrayList.java index f632077..70a88bf 100644 --- a/luni/src/main/java/java/util/ArrayList.java +++ b/luni/src/main/java/java/util/ArrayList.java @@ -15,10 +15,6 @@ * limitations under the License. */ -// BEGIN android-note -// New implementation: simpler and faster than Harmony implementation. -// BEGIN android-note - package java.util; import java.io.IOException; diff --git a/luni/src/main/java/java/util/Arrays.java b/luni/src/main/java/java/util/Arrays.java index 8d27f49..481afa0 100644 --- a/luni/src/main/java/java/util/Arrays.java +++ b/luni/src/main/java/java/util/Arrays.java @@ -26,15 +26,6 @@ import java.lang.reflect.Array; * @since 1.2 */ public class Arrays { - // BEGIN android-changed - // Replaced Bentely-McIlroy-based sort w/ DualPivotQuicksort - // BEGIN android-changed - - // BEGIN android-removed - /* Specifies when to switch to insertion sort */ - // private static final int SIMPLE_LENGTH = 7; - // END android-removed - private static class ArrayList<E> extends AbstractList<E> implements List<E>, Serializable, RandomAccess { @@ -1944,7 +1935,7 @@ public class Arrays { * {@code ((Comparable)first).compareTo(Second)}. * If not, you are better off deleting ComparableTimSort to eliminate the * code duplication. In other words, the commented out code below - * is the preferable implementation for sorting arrays of comparbles if it + * is the preferable implementation for sorting arrays of Comparables if it * offers sufficient performance. */ @@ -1952,10 +1943,9 @@ public class Arrays { // * A comparator that implements the natural order of a group of // * mutually comparable elements. Using this comparator saves us // * from duplicating most of the code in this file (one version for -// * commparables, one for explicit comparators). +// * Comparables, one for explicit comparators). // */ -// private static final Comparator<Object> NATURAL_ORDER = -// new Comparator<Object>() { +// private static final Comparator<Object> NATURAL_ORDER = new Comparator<Object>() { // @SuppressWarnings("unchecked") // public int compare(Object first, Object second) { // return ((Comparable<Object>)first).compareTo(second); @@ -1983,9 +1973,7 @@ public class Arrays { * @see #sort(Object[], int, int) */ public static void sort(Object[] array) { - // BEGIN android-changed ComparableTimSort.sort(array); - // END android-changed } /** @@ -2009,54 +1997,8 @@ public class Arrays { * if {@code start < 0} or {@code end > array.length}. */ public static void sort(Object[] array, int start, int end) { - // BEGIN android-changed ComparableTimSort.sort(array, start, end); - // END android-changed - } - - // BEGIN android-removed - /* - private static void sort(int start, int end, Object[] array) { - ... - } - private static void swap(int a, int b, Object[] arr) { - ... - } - private static void mergeSort(Object[] in, Object[] out, int start, - int end) { - ... - } - private static void mergeSort(Object[] in, Object[] out, int start, - int end, Comparator c) { - ... } - private static int find(Object[] arr, Comparable val, int bnd, int l, int r) { - ... - } - private static int find(Object[] arr, Object val, int bnd, int l, int r, - Comparator c) { - ... - } - private static int medChar(int a, int b, int c, String[] arr, int id) { - ... - } - private static int charAt(String str, int i) { - ... - } - private static void copySwap(Object[] src, int from, Object[] dst, int to, - int len) { - ... - } - private static void stableStringSort(String[] arr, int start, - int end) { - ... - } - private static void stableStringSort(String[] arr, String[] src, - String[] dst, int start, int end, int chId) { - ... - } - */ - // END android-removed /** * Sorts the specified range in the array using the specified {@code Comparator}. @@ -2079,11 +2021,8 @@ public class Arrays { * @throws ArrayIndexOutOfBoundsException * if {@code start < 0} or {@code end > array.length}. */ - public static <T> void sort(T[] array, int start, int end, - Comparator<? super T> comparator) { - // BEGIN android-changed + public static <T> void sort(T[] array, int start, int end, Comparator<? super T> comparator) { TimSort.sort(array, start, end, comparator); - // END android-changed } /** @@ -2099,9 +2038,7 @@ public class Arrays { * using the {@code Comparator}. */ public static <T> void sort(T[] array, Comparator<? super T> comparator) { - // BEGIN android-changed TimSort.sort(array, comparator); - // END android-changed } /** @@ -2123,7 +2060,7 @@ public class Arrays { if (array.length == 0) { return "[]"; } - StringBuilder sb = new StringBuilder(array.length * 7); // android-changed + StringBuilder sb = new StringBuilder(array.length * 7); sb.append('['); sb.append(array[0]); for (int i = 1; i < array.length; i++) { @@ -2153,7 +2090,7 @@ public class Arrays { if (array.length == 0) { return "[]"; } - StringBuilder sb = new StringBuilder(array.length * 6); // android-changed + StringBuilder sb = new StringBuilder(array.length * 6); sb.append('['); sb.append(array[0]); for (int i = 1; i < array.length; i++) { @@ -2183,7 +2120,7 @@ public class Arrays { if (array.length == 0) { return "[]"; } - StringBuilder sb = new StringBuilder(array.length * 3); // android-changed + StringBuilder sb = new StringBuilder(array.length * 3); sb.append('['); sb.append(array[0]); for (int i = 1; i < array.length; i++) { @@ -2213,7 +2150,7 @@ public class Arrays { if (array.length == 0) { return "[]"; } - StringBuilder sb = new StringBuilder(array.length * 7); // android-changed + StringBuilder sb = new StringBuilder(array.length * 7); sb.append('['); sb.append(array[0]); for (int i = 1; i < array.length; i++) { @@ -2243,7 +2180,7 @@ public class Arrays { if (array.length == 0) { return "[]"; } - StringBuilder sb = new StringBuilder(array.length * 7); // android-changed + StringBuilder sb = new StringBuilder(array.length * 7); sb.append('['); sb.append(array[0]); for (int i = 1; i < array.length; i++) { @@ -2273,7 +2210,7 @@ public class Arrays { if (array.length == 0) { return "[]"; } - StringBuilder sb = new StringBuilder(array.length * 6); // android-changed + StringBuilder sb = new StringBuilder(array.length * 6); sb.append('['); sb.append(array[0]); for (int i = 1; i < array.length; i++) { @@ -2303,7 +2240,7 @@ public class Arrays { if (array.length == 0) { return "[]"; } - StringBuilder sb = new StringBuilder(array.length * 6); // android-changed + StringBuilder sb = new StringBuilder(array.length * 6); sb.append('['); sb.append(array[0]); for (int i = 1; i < array.length; i++) { @@ -2333,7 +2270,7 @@ public class Arrays { if (array.length == 0) { return "[]"; } - StringBuilder sb = new StringBuilder(array.length * 6); // android-changed + StringBuilder sb = new StringBuilder(array.length * 6); sb.append('['); sb.append(array[0]); for (int i = 1; i < array.length; i++) { @@ -2363,7 +2300,7 @@ public class Arrays { if (array.length == 0) { return "[]"; } - StringBuilder sb = new StringBuilder(array.length * 7); // android-changed + StringBuilder sb = new StringBuilder(array.length * 7); sb.append('['); sb.append(array[0]); for (int i = 1; i < array.length; i++) { @@ -2397,7 +2334,7 @@ public class Arrays { return "null"; } // delegate this to the recursive method - StringBuilder buf = new StringBuilder(array.length * 9); // android-changed + StringBuilder buf = new StringBuilder(array.length * 9); deepToStringImpl(array, new Object[] { array }, buf); return buf.toString(); } diff --git a/luni/src/main/java/java/util/BitSet.java b/luni/src/main/java/java/util/BitSet.java index bc76b80..1651b7e 100644 --- a/luni/src/main/java/java/util/BitSet.java +++ b/luni/src/main/java/java/util/BitSet.java @@ -128,7 +128,7 @@ public class BitSet implements Serializable, Cloneable { clone.bits = bits.clone(); return clone; } catch (CloneNotSupportedException e) { - throw new AssertionError(e); // android-changed + throw new AssertionError(e); } } diff --git a/luni/src/main/java/java/util/Calendar.java b/luni/src/main/java/java/util/Calendar.java index 4809c26..e375d18 100644 --- a/luni/src/main/java/java/util/Calendar.java +++ b/luni/src/main/java/java/util/Calendar.java @@ -818,7 +818,7 @@ public abstract class Calendar implements Serializable, Cloneable, Comparable<Ca clone.zone = (TimeZone) zone.clone(); return clone; } catch (CloneNotSupportedException e) { - throw new AssertionError(e); // android-changed + throw new AssertionError(e); } } diff --git a/luni/src/main/java/java/util/Collections.java b/luni/src/main/java/java/util/Collections.java index 38005ad..e54ae1b 100644 --- a/luni/src/main/java/java/util/Collections.java +++ b/luni/src/main/java/java/util/Collections.java @@ -1535,9 +1535,6 @@ public class Collections { * be compared to each other using the comparator. */ @SuppressWarnings("unchecked") - // BEGIN android-note - // removed "@param <T> The element type", which is rejected by apicheck - // END android-note public static <T> int binarySearch(List<? extends T> list, T object, Comparator<? super T> comparator) { if (comparator == null) { diff --git a/luni/src/main/java/java/util/Date.java b/luni/src/main/java/java/util/Date.java index c2aa04d..d1cc4c1 100644 --- a/luni/src/main/java/java/util/Date.java +++ b/luni/src/main/java/java/util/Date.java @@ -184,7 +184,7 @@ public class Date implements Serializable, Cloneable, Comparable<Date> { try { return super.clone(); } catch (CloneNotSupportedException e) { - throw new AssertionError(e); // android-changed + throw new AssertionError(e); } } @@ -698,9 +698,7 @@ public class Date implements Serializable, Cloneable, Comparable<Date> { */ @Override public String toString() { - // BEGIN android-changed: fixed to use time zone display names ("PST") - // rather than ids ("America/Los_Angeles"). - // Equivalent to the following one-liner, though that's currently 8x slower + // TODO: equivalent to the following one-liner, though that's currently 8x slower // at 1655us versus 195us... // return new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy").format(d); Calendar cal = new GregorianCalendar(milliseconds); @@ -709,7 +707,6 @@ public class Date implements Serializable, Cloneable, Comparable<Date> { + " " + toTwoDigits(cal.get(Calendar.DAY_OF_MONTH)) + " " + toTwoDigits(cal.get(Calendar.HOUR_OF_DAY)) + ":" + toTwoDigits(cal.get(Calendar.MINUTE)) + ":" + toTwoDigits(cal.get(Calendar.SECOND)) + " " + tz.getDisplayName(tz.inDaylightTime(this), TimeZone.SHORT) + " " + cal.get(Calendar.YEAR); - // END android-changed } private static final String[] dayOfWeekNames = { "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" }; diff --git a/luni/src/main/java/java/util/EnumMap.java b/luni/src/main/java/java/util/EnumMap.java index 5da3b86..482a063 100644 --- a/luni/src/main/java/java/util/EnumMap.java +++ b/luni/src/main/java/java/util/EnumMap.java @@ -477,7 +477,7 @@ public class EnumMap<K extends Enum<K>, V> extends AbstractMap<K, V> implements enumMap.initialization(this); return enumMap; } catch (CloneNotSupportedException e) { - throw new AssertionError(e); // android-changed + throw new AssertionError(e); } } diff --git a/luni/src/main/java/java/util/EnumSet.java b/luni/src/main/java/java/util/EnumSet.java index 1b4723e..1a305c8 100644 --- a/luni/src/main/java/java/util/EnumSet.java +++ b/luni/src/main/java/java/util/EnumSet.java @@ -15,8 +15,6 @@ */ package java.util; -// BEGIN android-added - import java.io.Serializable; import org.apache.harmony.kernel.vm.LangAccess; @@ -25,14 +23,12 @@ import org.apache.harmony.kernel.vm.LangAccess; */ public abstract class EnumSet<E extends Enum<E>> extends AbstractSet<E> implements Cloneable, Serializable { - // BEGIN android-added /* * null-ok; package access to {@code java.lang}, set during * first need. This shouldn't be used directly. Instead, use {@link * SpecialAccess#LANG}, which is guaranteed to be initialized. */ static /*package*/ LangAccess LANG_BOOTSTRAP = null; - // END android-added private static final long serialVersionUID = 1009687484059888093L; @@ -57,13 +53,11 @@ public abstract class EnumSet<E extends Enum<E>> extends AbstractSet<E> if (!elementType.isEnum()) { throw new ClassCastException(elementType.getClass().getName() + " is not an Enum"); } - // BEGIN android-changed E[] enums = SpecialAccess.LANG.getEnumValuesInOrder(elementType); if (enums.length <= 64) { return new MiniEnumSet<E>(elementType, enums); } return new HugeEnumSet<E>(elementType, enums); - // END android-changed } /** diff --git a/luni/src/main/java/java/util/GregorianCalendar.java b/luni/src/main/java/java/util/GregorianCalendar.java index a240708..478e236 100644 --- a/luni/src/main/java/java/util/GregorianCalendar.java +++ b/luni/src/main/java/java/util/GregorianCalendar.java @@ -640,9 +640,7 @@ public class GregorianCalendar extends Calendar { // FIXME: this has to be wrong; useDaylightTime doesn't mean what they think it means! long newTimeAdjusted = newTime; if (timeZone.useDaylightTime()) { - // BEGIN android-changed: removed unnecessary cast int dstSavings = timeZone.getDSTSavings(); - // END android-changed newTimeAdjusted += (dstOffset == 0) ? dstSavings : -dstSavings; } diff --git a/luni/src/main/java/java/util/HashMap.java b/luni/src/main/java/java/util/HashMap.java index 4a4e6f6..87ed131 100644 --- a/luni/src/main/java/java/util/HashMap.java +++ b/luni/src/main/java/java/util/HashMap.java @@ -15,10 +15,6 @@ * limitations under the License. */ -// BEGIN android-note -// Completely different implementation from harmony. Runs much faster. -// BEGIN android-note - package java.util; import java.io.IOException; diff --git a/luni/src/main/java/java/util/HashSet.java b/luni/src/main/java/java/util/HashSet.java index 2df5299..a35fd56 100644 --- a/luni/src/main/java/java/util/HashSet.java +++ b/luni/src/main/java/java/util/HashSet.java @@ -121,7 +121,7 @@ public class HashSet<E> extends AbstractSet<E> implements Set<E>, Cloneable, clone.backingMap = (HashMap<E, HashSet<E>>) backingMap.clone(); return clone; } catch (CloneNotSupportedException e) { - throw new AssertionError(e); // android-changed + throw new AssertionError(e); } } diff --git a/luni/src/main/java/java/util/Hashtable.java b/luni/src/main/java/java/util/Hashtable.java index 03e80a9..e2358c2 100644 --- a/luni/src/main/java/java/util/Hashtable.java +++ b/luni/src/main/java/java/util/Hashtable.java @@ -15,10 +15,6 @@ * limitations under the License. */ -// BEGIN android-note -// Completely different implementation from harmony. Runs much faster. -// BEGIN android-note - package java.util; import java.io.IOException; diff --git a/luni/src/main/java/java/util/HugeEnumSet.java b/luni/src/main/java/java/util/HugeEnumSet.java index 2c6395f..b854372 100644 --- a/luni/src/main/java/java/util/HugeEnumSet.java +++ b/luni/src/main/java/java/util/HugeEnumSet.java @@ -31,12 +31,11 @@ final class HugeEnumSet<E extends Enum<E>> extends EnumSet<E> { private int size; - // BEGIN android-changed /** * Constructs an instance. * * @param elementType non-null; type of the elements - * @param enums non-null; prepopulated array of constants in ordinal + * @param enums non-null; pre-populated array of constants in ordinal * order */ HugeEnumSet(Class<E> elementType, E[] enums) { @@ -44,7 +43,6 @@ final class HugeEnumSet<E extends Enum<E>> extends EnumSet<E> { this.enums = enums; bits = new long[(enums.length + BIT_IN_LONG - 1) / BIT_IN_LONG]; } - // END android-changed private class HugeEnumSetIterator implements Iterator<E> { diff --git a/luni/src/main/java/java/util/IdentityHashMap.java b/luni/src/main/java/java/util/IdentityHashMap.java index 827ffcf..e693f7d 100644 --- a/luni/src/main/java/java/util/IdentityHashMap.java +++ b/luni/src/main/java/java/util/IdentityHashMap.java @@ -761,14 +761,12 @@ public class IdentityHashMap<K, V> extends AbstractMap<K, V> implements @Override public Object clone() { try { - IdentityHashMap<K, V> cloneHashMap = (IdentityHashMap<K, V>) super - .clone(); + IdentityHashMap<K, V> cloneHashMap = (IdentityHashMap<K, V>) super.clone(); cloneHashMap.elementData = newElementArray(elementData.length); - System.arraycopy(elementData, 0, cloneHashMap.elementData, 0, - elementData.length); + System.arraycopy(elementData, 0, cloneHashMap.elementData, 0, elementData.length); return cloneHashMap; } catch (CloneNotSupportedException e) { - throw new AssertionError(e); // android-changed + throw new AssertionError(e); } } diff --git a/luni/src/main/java/java/util/LinkedHashMap.java b/luni/src/main/java/java/util/LinkedHashMap.java index 47d532f..5ee8fae 100644 --- a/luni/src/main/java/java/util/LinkedHashMap.java +++ b/luni/src/main/java/java/util/LinkedHashMap.java @@ -15,10 +15,6 @@ * limitations under the License. */ -// BEGIN android-note -// Completely different implementation from harmony. Runs much faster. -// BEGIN android-note - package java.util; /** diff --git a/luni/src/main/java/java/util/LinkedList.java b/luni/src/main/java/java/util/LinkedList.java index 2d264c2..e54438a 100644 --- a/luni/src/main/java/java/util/LinkedList.java +++ b/luni/src/main/java/java/util/LinkedList.java @@ -469,7 +469,7 @@ public class LinkedList<E> extends AbstractSequentialList<E> implements l.addAll(this); return l; } catch (CloneNotSupportedException e) { - throw new AssertionError(e); // android-changed + throw new AssertionError(e); } } diff --git a/luni/src/main/java/java/util/MapEntry.java b/luni/src/main/java/java/util/MapEntry.java index b84697b..519b1cd 100644 --- a/luni/src/main/java/java/util/MapEntry.java +++ b/luni/src/main/java/java/util/MapEntry.java @@ -43,7 +43,7 @@ class MapEntry<K, V> implements Map.Entry<K, V>, Cloneable { try { return super.clone(); } catch (CloneNotSupportedException e) { - throw new AssertionError(e); // android-changed + throw new AssertionError(e); } } diff --git a/luni/src/main/java/java/util/MiniEnumSet.java b/luni/src/main/java/java/util/MiniEnumSet.java index c4c7364..3876160 100644 --- a/luni/src/main/java/java/util/MiniEnumSet.java +++ b/luni/src/main/java/java/util/MiniEnumSet.java @@ -30,19 +30,17 @@ final class MiniEnumSet<E extends Enum<E>> extends EnumSet<E> { private long bits; - // BEGIN android-changed /** * Constructs an instance. * * @param elementType non-null; type of the elements - * @param enums non-null; prepopulated array of constants in ordinal + * @param enums non-null; pre-populated array of constants in ordinal * order */ MiniEnumSet(Class<E> elementType, E[] enums) { super(elementType); this.enums = enums; } - // END android-changed private class MiniEnumSetIterator implements Iterator<E> { diff --git a/luni/src/main/java/java/util/Scanner.java b/luni/src/main/java/java/util/Scanner.java index 85de1e7..8f889b3 100644 --- a/luni/src/main/java/java/util/Scanner.java +++ b/luni/src/main/java/java/util/Scanner.java @@ -79,20 +79,10 @@ public final class Scanner implements Iterator<String> { private static final Pattern LINE_PATTERN; static { - String terminator = "\n|\r\n|\r|\u0085|\u2028|\u2029"; - - LINE_TERMINATOR = Pattern.compile(terminator); - - // BEGIN android-note - // consider plain old string concatenation for better performance - // END android-note - StringBuilder multiTerminator = new StringBuilder(); - MULTI_LINE_TERMINATOR = Pattern.compile(multiTerminator.append("(") - .append(terminator).append(")+").toString()); - StringBuilder line = new StringBuilder(); - LINE_PATTERN = Pattern.compile(line.append(".*(") - .append(terminator).append(")|.+(") - .append(terminator).append(")?").toString()); + String NL = "\n|\r\n|\r|\u0085|\u2028|\u2029"; + LINE_TERMINATOR = Pattern.compile(NL); + MULTI_LINE_TERMINATOR = Pattern.compile("(" + NL + ")+"); + LINE_PATTERN = Pattern.compile(".*(" + NL + ")|.+(" + NL + ")?"); } // The pattern matches anything. diff --git a/luni/src/main/java/java/util/SimpleTimeZone.java b/luni/src/main/java/java/util/SimpleTimeZone.java index a57ab9a..704fdbd 100644 --- a/luni/src/main/java/java/util/SimpleTimeZone.java +++ b/luni/src/main/java/java/util/SimpleTimeZone.java @@ -74,12 +74,6 @@ public class SimpleTimeZone extends TimeZone { private int dstSavings = 3600000; - // BEGIN android-removed - // private final transient com.ibm.icu.util.TimeZone icuTZ; - // - // private final transient boolean isSimple; - // END android-removed - /** * Constructs a {@code SimpleTimeZone} with the given base time zone offset from GMT * and time zone ID. Timezone IDs can be obtained from @@ -95,16 +89,6 @@ public class SimpleTimeZone extends TimeZone { public SimpleTimeZone(int offset, final String name) { setID(name); rawOffset = offset; - // BEGIN android-removed - // icuTZ = getICUTimeZone(name); - // if (icuTZ instanceof com.ibm.icu.util.SimpleTimeZone) { - // isSimple = true; - // icuTZ.setRawOffset(offset); - // } else { - // isSimple = false; - // } - // useDaylight = icuTZ.useDaylightTime(); - // END android-removed } /** @@ -228,33 +212,15 @@ public class SimpleTimeZone extends TimeZone { public SimpleTimeZone(int offset, String name, int startMonth, int startDay, int startDayOfWeek, int startTime, int endMonth, int endDay, int endDayOfWeek, int endTime, int daylightSavings) { - // BEGIN android-changed - // icuTZ = getICUTimeZone(name); - // if (icuTZ instanceof com.ibm.icu.util.SimpleTimeZone) { - // isSimple = true; - // com.ibm.icu.util.SimpleTimeZone tz = (com.ibm.icu.util.SimpleTimeZone)icuTZ; - // tz.setRawOffset(offset); - // tz.setStartRule(startMonth, startDay, startDayOfWeek, startTime); - // tz.setEndRule(endMonth, endDay, endDayOfWeek, endTime); - // tz.setDSTSavings(daylightSavings); - // } else { - // isSimple = false; - // } - // setID(name); - // rawOffset = offset; this(offset, name); - // END android-changed if (daylightSavings <= 0) { throw new IllegalArgumentException("Invalid daylightSavings: " + daylightSavings); } dstSavings = daylightSavings; + // TODO: do we need to set useDaylight is dstSavings != 0? setStartRule(startMonth, startDay, startDayOfWeek, startTime); setEndRule(endMonth, endDay, endDayOfWeek, endTime); - - // BEGIN android-removed - // useDaylight = daylightSavings > 0 || icuTZ.useDaylightTime(); - // END android-removed } /** @@ -375,8 +341,6 @@ public class SimpleTimeZone extends TimeZone { checkDay(month, day); } - // BEGIN android-changed - // return icuTZ.getOffset(era, year, month, day, dayOfWeek, time); if (!useDaylightTime() || era != GregorianCalendar.AD || year < startYear) { return rawOffset; } @@ -495,19 +459,17 @@ public class SimpleTimeZone extends TimeZone { } } return rawOffset + dstSavings; - // END android-changed } @Override public int getOffset(long time) { - // BEGIN android-changed: simplified variant of the ICU4J code. + // Simplified variant of the ICU4J code. if (!useDaylightTime()) { return rawOffset; } int[] fields = Grego.timeToFields(time + rawOffset, null); return getOffset(GregorianCalendar.AD, fields[0], fields[1], fields[2], fields[3], fields[5]); - // END android-changed } @Override @@ -556,9 +518,7 @@ public class SimpleTimeZone extends TimeZone { @Override public boolean inDaylightTime(Date time) { - // BEGIN android-changed: reuse getOffset. return useDaylightTime() && getOffset(time.getTime()) != rawOffset; - // END android-changed } private boolean isLeapYear(int year) { @@ -568,12 +528,10 @@ public class SimpleTimeZone extends TimeZone { return year % 4 == 0; } - // BEGIN android-added private int mod7(int num1) { int rem = num1 % 7; return (num1 < 0 && rem < 0) ? 7 + rem : rem; } - // END android-added /** * Sets the daylight savings offset in milliseconds for this {@code SimpleTimeZone}. @@ -656,12 +614,6 @@ public class SimpleTimeZone extends TimeZone { endDayOfWeek = 0; // Initialize this value for hasSameRules() endTime = time; setEndMode(); - // BEGIN android-removed - // if (isSimple) { - // ((com.ibm.icu.util.SimpleTimeZone) icuTZ).setEndRule(month, - // dayOfMonth, time); - // } - // END android-removed } /** @@ -685,12 +637,6 @@ public class SimpleTimeZone extends TimeZone { endDayOfWeek = dayOfWeek; endTime = time; setEndMode(); - // BEGIN android-removed - // if (isSimple) { - // ((com.ibm.icu.util.SimpleTimeZone) icuTZ).setEndRule(month, day, - // dayOfWeek, time); - // } - // END android-removed } /** @@ -709,19 +655,12 @@ public class SimpleTimeZone extends TimeZone { * @param after * selects the day after or before the day of month. */ - public void setEndRule(int month, int day, int dayOfWeek, int time, - boolean after) { + public void setEndRule(int month, int day, int dayOfWeek, int time, boolean after) { endMonth = month; endDay = after ? day : -day; endDayOfWeek = -dayOfWeek; endTime = time; setEndMode(); - // BEGIN android-removed - // if (isSimple) { - // ((com.ibm.icu.util.SimpleTimeZone) icuTZ).setEndRule(month, day, - // dayOfWeek, time, after); - // } - // END android-removed } /** @@ -733,9 +672,6 @@ public class SimpleTimeZone extends TimeZone { @Override public void setRawOffset(int offset) { rawOffset = offset; - // BEGIN android-removed - // icuTZ.setRawOffset(offset); - // END android-removed } private void setStartMode() { @@ -787,12 +723,6 @@ public class SimpleTimeZone extends TimeZone { startDayOfWeek = 0; // Initialize this value for hasSameRules() startTime = time; setStartMode(); - // BEGIN android-removed - // if (isSimple) { - // ((com.ibm.icu.util.SimpleTimeZone) icuTZ).setStartRule(month, - // dayOfMonth, time); - // } - // END android-removed } /** @@ -816,12 +746,6 @@ public class SimpleTimeZone extends TimeZone { startDayOfWeek = dayOfWeek; startTime = time; setStartMode(); - // BEGIN android-removed - // if (isSimple) { - // ((com.ibm.icu.util.SimpleTimeZone) icuTZ).setStartRule(month, day, - // dayOfWeek, time); - // } - // END android-removed } /** @@ -840,19 +764,12 @@ public class SimpleTimeZone extends TimeZone { * @param after * selects the day after or before the day of month. */ - public void setStartRule(int month, int day, int dayOfWeek, int time, - boolean after) { + public void setStartRule(int month, int day, int dayOfWeek, int time, boolean after) { startMonth = month; startDay = after ? day : -day; startDayOfWeek = -dayOfWeek; startTime = time; setStartMode(); - // BEGIN android-removed - // if (isSimple) { - // ((com.ibm.icu.util.SimpleTimeZone) icuTZ).setStartRule(month, day, - // dayOfWeek, time, after); - // } - // END android-removed } /** diff --git a/luni/src/main/java/java/util/TreeSet.java b/luni/src/main/java/java/util/TreeSet.java index e4f2136..63a51c9 100644 --- a/luni/src/main/java/java/util/TreeSet.java +++ b/luni/src/main/java/java/util/TreeSet.java @@ -163,7 +163,7 @@ public class TreeSet<E> extends AbstractSet<E> implements NavigableSet<E>, } return clone; } catch (CloneNotSupportedException e) { - throw new AssertionError(e); // android-changed + throw new AssertionError(e); } } diff --git a/luni/src/main/java/java/util/Vector.java b/luni/src/main/java/java/util/Vector.java index dcd19f2..5a4224f 100644 --- a/luni/src/main/java/java/util/Vector.java +++ b/luni/src/main/java/java/util/Vector.java @@ -262,7 +262,7 @@ public class Vector<E> extends AbstractList<E> implements List<E>, vector.elementData = elementData.clone(); return vector; } catch (CloneNotSupportedException e) { - throw new AssertionError(e); // android-changed + throw new AssertionError(e); } } diff --git a/luni/src/main/java/java/util/jar/Attributes.java b/luni/src/main/java/java/util/jar/Attributes.java index 9041c26..8f2f9ba 100644 --- a/luni/src/main/java/java/util/jar/Attributes.java +++ b/luni/src/main/java/java/util/jar/Attributes.java @@ -432,7 +432,7 @@ public class Attributes implements Cloneable, Map<Object, Object> { try { clone = (Attributes) super.clone(); } catch (CloneNotSupportedException e) { - throw new AssertionError(e); // android-changed + throw new AssertionError(e); } clone.map = (Map<Object, Object>) ((HashMap) map).clone(); return clone; diff --git a/luni/src/main/java/java/util/logging/Level.java b/luni/src/main/java/java/util/logging/Level.java index ee65166..0818590 100644 --- a/luni/src/main/java/java/util/logging/Level.java +++ b/luni/src/main/java/java/util/logging/Level.java @@ -209,9 +209,7 @@ public class Level implements Serializable { if (resourceBundleName != null) { try { rb = ResourceBundle.getBundle(resourceBundleName, - // BEGIN android-changed Locale.getDefault(), VMStack.getCallingClassLoader()); - // BEGIN android-changed } catch (MissingResourceException e) { rb = null; } diff --git a/luni/src/main/java/java/util/logging/LogManager.java b/luni/src/main/java/java/util/logging/LogManager.java index 375d865..0abc697 100644 --- a/luni/src/main/java/java/util/logging/LogManager.java +++ b/luni/src/main/java/java/util/logging/LogManager.java @@ -17,12 +17,6 @@ package java.util.logging; -// BEGIN android-note -// this file contains cleaned up documentation and style for contribution -// upstream. -// javax.management support (MBeans) has been dropped. -// END android-note - import java.beans.PropertyChangeListener; import java.beans.PropertyChangeSupport; import java.io.BufferedInputStream; @@ -511,7 +505,7 @@ public class LogManager { setLevelRecursively(logger, null); } newParent.children.add(logger); - logger.updateDalvikLogHandler(); // android-only + logger.updateDalvikLogHandler(); } /** diff --git a/luni/src/main/java/java/util/logging/LogRecord.java b/luni/src/main/java/java/util/logging/LogRecord.java index fd34eb4..66cabcc 100644 --- a/luni/src/main/java/java/util/logging/LogRecord.java +++ b/luni/src/main/java/java/util/logging/LogRecord.java @@ -135,7 +135,7 @@ public class LogRecord implements Serializable { private transient Object[] parameters; // If the source method and source class has been initialized - private transient boolean sourceInited; + private transient boolean sourceInitialized; /** * Constructs a {@code LogRecord} object using the supplied the logging @@ -360,8 +360,7 @@ public class LogRecord implements Serializable { * Init the sourceClass and sourceMethod fields. */ private void initSource() { - // BEGIN android-changed - if (sourceInited) { + if (sourceInitialized) { return; } @@ -377,8 +376,7 @@ public class LogRecord implements Serializable { } } - sourceInited = true; - // END android-changed + sourceInitialized = true; } /** @@ -389,7 +387,7 @@ public class LogRecord implements Serializable { * {@code null}. */ public void setSourceClassName(String sourceClassName) { - sourceInited = true; + sourceInitialized = true; this.sourceClassName = sourceClassName; } @@ -411,7 +409,7 @@ public class LogRecord implements Serializable { * {@code null}. */ public void setSourceMethodName(String sourceMethodName) { - sourceInited = true; + sourceInitialized = true; this.sourceMethodName = sourceMethodName; } diff --git a/luni/src/main/java/java/util/logging/Logger.java b/luni/src/main/java/java/util/logging/Logger.java index 54e3a1d..fb4f5d0 100644 --- a/luni/src/main/java/java/util/logging/Logger.java +++ b/luni/src/main/java/java/util/logging/Logger.java @@ -17,13 +17,6 @@ package java.util.logging; -// BEGIN android-note -// this file contains cleaned up documentation and style for contribution -// upstream -// It also contains Android-specific optimizations that aren't appropriate for -// general purpose platforms -// END android-note - import dalvik.system.DalvikLogHandler; import dalvik.system.DalvikLogging; import java.util.ArrayList; @@ -79,7 +72,6 @@ import java.util.concurrent.CopyOnWriteArrayList; */ public class Logger { - // BEGIN android-only /** A handler for use when no handler optimization is possible. */ private static final DalvikLogHandler GENERAL_LOG_HANDLER = new DalvikLogHandler() { public void publish(Logger source, String tag, Level level, String message) { @@ -89,7 +81,6 @@ public class Logger { source.log(record); } }; - // END android-only /** * The name of the global logger. Before using this, see the discussion of how to use @@ -168,7 +159,6 @@ public class Logger { */ final List<Logger> children = new ArrayList<Logger>(); - // BEGIN android-only /** the tag used for optimized logging. Derived from the logger name. */ private final String androidTag; @@ -243,7 +233,6 @@ public class Logger { logger.updateDalvikLogHandler(); } } - // END android-only /** * Constructs a {@code Logger} object with the supplied name and resource @@ -263,10 +252,8 @@ public class Logger { protected Logger(String name, String resourceBundleName) { this.name = name; initResourceBundle(resourceBundleName); - // BEGIN android-only this.androidTag = DalvikLogging.loggerNameToTag(name); updateDalvikLogHandler(); - // END android-only } /** @@ -430,7 +417,7 @@ public class Logger { LogManager.getLogManager().checkAccess(); } this.handlers.add(handler); - updateDalvikLogHandler(); // android-only + updateDalvikLogHandler(); } /** @@ -476,7 +463,7 @@ public class Logger { } } - updateDalvikLogHandler(); // android-only + updateDalvikLogHandler(); } /** @@ -504,7 +491,7 @@ public class Logger { return; } this.handlers.remove(handler); - updateDalvikLogHandler(); // android-only + updateDalvikLogHandler(); } /** @@ -581,7 +568,7 @@ public class Logger { LogManager.getLogManager().checkAccess(); } this.notifyParentHandlers = notifyParentHandlers; - updateDalvikLogHandler(); // android-only + updateDalvikLogHandler(); } /** @@ -942,10 +929,7 @@ public class Logger { if (!internalIsLoggable(logLevel)) { return; } - - // BEGIN android-only dalvikLogHandler.publish(this, androidTag, logLevel, msg); - // END android-only } /** @@ -1364,6 +1348,6 @@ public class Logger { } } - updateDalvikLogHandler(); // android-only + updateDalvikLogHandler(); } } diff --git a/luni/src/main/java/java/util/prefs/XMLParser.java b/luni/src/main/java/java/util/prefs/XMLParser.java index 625a004..938340b 100644 --- a/luni/src/main/java/java/util/prefs/XMLParser.java +++ b/luni/src/main/java/java/util/prefs/XMLParser.java @@ -109,9 +109,7 @@ class XMLParser { */ static { DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); - // BEGIN android-changed factory.setValidating(false); - // END android-changed try { builder = factory.newDocumentBuilder(); } catch (ParserConfigurationException e) { @@ -368,22 +366,12 @@ class XMLParser { } catch (SAXException e) { throw new InvalidPreferencesFormatException(e); } - // BEGIN android-removed - // catch (TransformerException e) { - // throw new InvalidPreferencesFormatException(e); - // } - // END android-removed } private static void loadNode(Preferences prefs, Element node) { - // BEGIN android-note - // removed throw clause for TransformerException - // END android-note // load preferences - // BEGIN android-changed NodeList children = selectNodeList(node, "node"); NodeList entries = selectNodeList(node, "map/entry"); - // END android-changed int childNumber = children.getLength(); Preferences[] prefChildren = new Preferences[childNumber]; int entryNumber = entries.getLength(); @@ -411,7 +399,6 @@ class XMLParser { } } - // BEGIN android-added // TODO dirty implementation of a method from javax.xml.xpath // should be replaced with a call to a good impl of this method private static NodeList selectNodeList(Element documentElement, String string) { @@ -458,7 +445,6 @@ class XMLParser { return result; } - // END android-added /*************************************************************************** * utilities for FilePreferencesImpl, which is default implementation of Linux platform diff --git a/luni/src/main/java/java/util/regex/PatternSyntaxException.java b/luni/src/main/java/java/util/regex/PatternSyntaxException.java index 2bbdb46..a8dec47 100644 --- a/luni/src/main/java/java/util/regex/PatternSyntaxException.java +++ b/luni/src/main/java/java/util/regex/PatternSyntaxException.java @@ -82,13 +82,12 @@ public class PatternSyntaxException extends IllegalArgumentException { /** * Returns a detailed error message for the exception. The message is * potentially multi-line, and it might include a detailed description, the - * original regular expression, and the index at which the error occured. + * original regular expression, and the index at which the error occurred. * * @return the error message. */ @Override public String getMessage() { - // BEGIN android-changed StringBuilder builder = new StringBuilder("Syntax error"); if (desc != null) { @@ -114,7 +113,6 @@ public class PatternSyntaxException extends IllegalArgumentException { } return builder.toString(); - // END android-changed } /** diff --git a/luni/src/main/java/java/util/zip/Inflater.java b/luni/src/main/java/java/util/zip/Inflater.java index 9f430a8..ee10aa7 100644 --- a/luni/src/main/java/java/util/zip/Inflater.java +++ b/luni/src/main/java/java/util/zip/Inflater.java @@ -309,7 +309,6 @@ public class Inflater { private native void setInputImpl(byte[] buf, int offset, int byteCount, long handle); - // BEGIN android-only synchronized int setFileInput(FileDescriptor fd, long offset, int byteCount) { checkOpen(); inRead = 0; @@ -318,7 +317,6 @@ public class Inflater { } private native int setFileInputImpl(FileDescriptor fd, long offset, int byteCount, long handle); - // END android-only private void checkOpen() { if (streamHandle == -1) { diff --git a/luni/src/main/java/java/util/zip/InflaterInputStream.java b/luni/src/main/java/java/util/zip/InflaterInputStream.java index d40ab6a..242e538 100644 --- a/luni/src/main/java/java/util/zip/InflaterInputStream.java +++ b/luni/src/main/java/java/util/zip/InflaterInputStream.java @@ -62,7 +62,7 @@ public class InflaterInputStream extends FilterInputStream { static final int BUF_SIZE = 512; - int nativeEndBufSize = 0; // android-only + int nativeEndBufSize = 0; /** * This is the most basic constructor. You only need to pass the {@code @@ -110,13 +110,11 @@ public class InflaterInputStream extends FilterInputStream { throw new IllegalArgumentException(); } this.inf = inflater; - // BEGIN android-only if (is instanceof ZipFile.RAFStream) { nativeEndBufSize = bsize; } else { buf = new byte[bsize]; } - // END android-only } /** @@ -193,7 +191,6 @@ public class InflaterInputStream extends FilterInputStream { */ protected void fill() throws IOException { checkClosed(); - // BEGIN android-only if (nativeEndBufSize > 0) { ZipFile.RAFStream is = (ZipFile.RAFStream)in; synchronized (is.mSharedRaf) { @@ -207,7 +204,6 @@ public class InflaterInputStream extends FilterInputStream { inf.setInput(buf, 0, len); } } - // END android-only } /** diff --git a/luni/src/main/java/java/util/zip/ZipFile.java b/luni/src/main/java/java/util/zip/ZipFile.java index 7abd6eb..9d389da 100644 --- a/luni/src/main/java/java/util/zip/ZipFile.java +++ b/luni/src/main/java/java/util/zip/ZipFile.java @@ -58,7 +58,7 @@ public class ZipFile implements ZipConstants { * versions of PKZIP recognize this bit for any * compression method.) */ - static final int GPBF_DATA_DESCRIPTOR_FLAG = 1 << 3; // android-added + static final int GPBF_DATA_DESCRIPTOR_FLAG = 1 << 3; /** * General Purpose Bit Flags, Bit 11. @@ -66,7 +66,7 @@ public class ZipFile implements ZipConstants { * the filename and comment fields for this file * must be encoded using UTF-8. */ - static final int GPBF_UTF8_FLAG = 1 << 11; // android-added + static final int GPBF_UTF8_FLAG = 1 << 11; /** * Open ZIP file for read. diff --git a/luni/src/main/java/java/util/zip/ZipOutputStream.java b/luni/src/main/java/java/util/zip/ZipOutputStream.java index d420372..f0c79b2 100644 --- a/luni/src/main/java/java/util/zip/ZipOutputStream.java +++ b/luni/src/main/java/java/util/zip/ZipOutputStream.java @@ -292,7 +292,7 @@ public class ZipOutputStream extends DeflaterOutputStream implements ZipConstant if (currentEntry.getMethod() == -1) { currentEntry.setMethod(compressMethod); } - // BEGIN android-changed + // Local file header. // http://www.pkware.com/documents/casestudies/APPNOTE.TXT int flags = currentEntry.getMethod() == STORED ? 0 : ZipFile.GPBF_DATA_DESCRIPTOR_FLAG; @@ -308,7 +308,6 @@ public class ZipOutputStream extends DeflaterOutputStream implements ZipConstant } writeShort(out, currentEntry.time); writeShort(out, currentEntry.modDate); - // END android-changed if (currentEntry.getMethod() == STORED) { if (currentEntry.size == -1) { diff --git a/luni/src/main/java/javax/crypto/SealedObject.java b/luni/src/main/java/javax/crypto/SealedObject.java index c6f8221..c9c1534 100644 --- a/luni/src/main/java/javax/crypto/SealedObject.java +++ b/luni/src/main/java/javax/crypto/SealedObject.java @@ -146,11 +146,9 @@ public class SealedObject implements Serializable { public final Object getObject(Key key) throws IOException, ClassNotFoundException, NoSuchAlgorithmException, InvalidKeyException { - // BEGIN android-added if (key == null) { throw new InvalidKeyException("key == null"); } - // END android-added try { Cipher cipher = Cipher.getInstance(sealAlg); if ((paramsAlg != null) && (paramsAlg.length() != 0)) { diff --git a/luni/src/main/java/javax/crypto/spec/SecretKeySpec.java b/luni/src/main/java/javax/crypto/spec/SecretKeySpec.java index 99701ff..cb70643 100644 --- a/luni/src/main/java/javax/crypto/spec/SecretKeySpec.java +++ b/luni/src/main/java/javax/crypto/spec/SecretKeySpec.java @@ -98,11 +98,9 @@ public class SecretKeySpec implements SecretKey, KeySpec, Serializable { if (key.length == 0) { throw new IllegalArgumentException("key.length == 0"); } - // BEGIN android-changed if (len < 0 || offset < 0) { throw new ArrayIndexOutOfBoundsException("len < 0 || offset < 0"); } - // END android-changed if (key.length - offset < len) { throw new IllegalArgumentException("key too short"); } diff --git a/luni/src/main/java/javax/net/ssl/SSLSocketFactory.java b/luni/src/main/java/javax/net/ssl/SSLSocketFactory.java index 75f918e..1f3aa42 100644 --- a/luni/src/main/java/javax/net/ssl/SSLSocketFactory.java +++ b/luni/src/main/java/javax/net/ssl/SSLSocketFactory.java @@ -44,9 +44,6 @@ public abstract class SSLSocketFactory extends SocketFactory { */ public static synchronized SocketFactory getDefault() { if (defaultSocketFactory != null) { - // BEGIN android-added - // log("SSLSocketFactory", "Using factory " + defaultSocketFactory, null); - // END android-added return defaultSocketFactory; } if (defaultName == null) { @@ -80,18 +77,13 @@ public abstract class SSLSocketFactory extends SocketFactory { // Use internal implementation defaultSocketFactory = new DefaultSSLSocketFactory("No SSLSocketFactory installed"); } - // BEGIN android-added - // log("SSLSocketFactory", "Using factory " + defaultSocketFactory, null); - // END android-added return defaultSocketFactory; } - // BEGIN android-added @SuppressWarnings("unchecked") private static void log(String tag, String msg, Throwable throwable) { Logger.getLogger(tag).log(Level.INFO, msg, throwable); } - // END android-added /** * Creates a new {@code SSLSocketFactory}. diff --git a/luni/src/main/java/libcore/icu/CharsetDecoderICU.java b/luni/src/main/java/libcore/icu/CharsetDecoderICU.java index 86ba13b..59c46c5 100644 --- a/luni/src/main/java/libcore/icu/CharsetDecoderICU.java +++ b/luni/src/main/java/libcore/icu/CharsetDecoderICU.java @@ -42,10 +42,8 @@ public final class CharsetDecoderICU extends CharsetDecoder { private byte[] input = null; private char[] output= null; - // BEGIN android-added private byte[] allocatedInput = null; private char[] allocatedOutput = null; - // END android-added // These instance variables are always assigned in the methods before being used. This class // is inherently thread-unsafe so we don't have to worry about synchronization. @@ -245,19 +243,15 @@ public final class CharsetDecoderICU extends CharsetDecoder { private int getArray(CharBuffer out) { if (out.hasArray()) { - // BEGIN android-changed: take arrayOffset into account output = out.array(); outEnd = out.arrayOffset() + out.limit(); return out.arrayOffset() + out.position(); - // END android-changed } else { outEnd = out.remaining(); - // BEGIN android-added if (allocatedOutput == null || (outEnd > allocatedOutput.length)) { allocatedOutput = new char[outEnd]; } output = allocatedOutput; - // END android-added //since the new // buffer start position // is 0 @@ -267,19 +261,15 @@ public final class CharsetDecoderICU extends CharsetDecoder { private int getArray(ByteBuffer in) { if (in.hasArray()) { - // BEGIN android-changed: take arrayOffset into account input = in.array(); inEnd = in.arrayOffset() + in.limit(); return in.arrayOffset() + in.position() + savedInputHeldLen;/*exclude the number fo bytes held in previous conversion*/ - // END android-changed } else { inEnd = in.remaining(); - // BEGIN android-added if (allocatedInput == null || (inEnd > allocatedInput.length)) { allocatedInput = new byte[inEnd]; } input = allocatedInput; - // END android-added // save the current position int pos = in.position(); in.get(input,0,inEnd); diff --git a/luni/src/main/java/libcore/icu/CharsetEncoderICU.java b/luni/src/main/java/libcore/icu/CharsetEncoderICU.java index 2855a4c..3b42f85 100644 --- a/luni/src/main/java/libcore/icu/CharsetEncoderICU.java +++ b/luni/src/main/java/libcore/icu/CharsetEncoderICU.java @@ -56,10 +56,8 @@ public final class CharsetEncoderICU extends CharsetEncoder { private char[] input = null; private byte[] output = null; - // BEGIN android-added private char[] allocatedInput = null; private byte[] allocatedOutput = null; - // END android-added // These instance variables are always assigned in the methods before being used. This class // is inherently thread-unsafe so we don't have to worry about synchronization. @@ -212,9 +210,7 @@ public final class CharsetEncoderICU extends CharsetEncoder { data[INPUT_OFFSET] = getArray(in); data[OUTPUT_OFFSET]= getArray(out); data[INPUT_HELD] = 0; - // BEGIN android-added data[INVALID_CHARS] = 0; // Make sure we don't see earlier errors. - // END android added try { /* do the conversion */ @@ -272,19 +268,15 @@ public final class CharsetEncoderICU extends CharsetEncoder { //------------------------------------------ private int getArray(ByteBuffer out) { if (out.hasArray()) { - // BEGIN android-changed: take arrayOffset into account output = out.array(); outEnd = out.arrayOffset() + out.limit(); return out.arrayOffset() + out.position(); - // END android-changed } else { outEnd = out.remaining(); - // BEGIN android-added if (allocatedOutput == null || (outEnd > allocatedOutput.length)) { allocatedOutput = new byte[outEnd]; } output = allocatedOutput; - // END android-added //since the new // buffer start position // is 0 @@ -294,19 +286,15 @@ public final class CharsetEncoderICU extends CharsetEncoder { private int getArray(CharBuffer in) { if (in.hasArray()) { - // BEGIN android-changed: take arrayOffset into account input = in.array(); inEnd = in.arrayOffset() + in.limit(); return in.arrayOffset() + in.position() + savedInputHeldLen;/*exclude the number fo bytes held in previous conversion*/ - // END android-changed } else { inEnd = in.remaining(); - // BEGIN android-added if (allocatedInput == null || (inEnd > allocatedInput.length)) { allocatedInput = new char[inEnd]; } input = allocatedInput; - // END android-added // save the current position int pos = in.position(); in.get(input,0,inEnd); @@ -326,34 +314,15 @@ public final class CharsetEncoderICU extends CharsetEncoder { // array backing the buffer directly and wrote to // it, so just just set the position and return. // This is done to avoid the creation of temp array. - // BEGIN android-changed: take arrayOffset into account out.position(out.position() + data[OUTPUT_OFFSET] - out.arrayOffset()); - // END android-changed } else { out.put(output, 0, data[OUTPUT_OFFSET]); } - // BEGIN android-added // release reference to output array, which may not be ours output = null; - // END android-added } private void setPosition(CharBuffer in){ -// BEGIN android-removed -// // was there input held in the previous invocation of encodeLoop -// // that resulted in output in this invocation? -// if(data[OUTPUT_OFFSET]>0 && savedInputHeldLen>0){ -// int len = in.position() + data[INPUT_OFFSET] + savedInputHeldLen; -// in.position(len); -// savedInputHeldLen = data[INPUT_HELD]; -// }else{ -// in.position(in.position() + data[INPUT_OFFSET] + savedInputHeldLen); -// savedInputHeldLen = data[INPUT_HELD]; -// in.position(in.position() - savedInputHeldLen); -// } -// END android-removed - -// BEGIN android-added // Slightly rewired original code to make it cleaner. Also // added a fix for the problem where input characters got // lost when invalid characters were encountered. Not sure @@ -368,11 +337,8 @@ public final class CharsetEncoderICU extends CharsetEncoder { if(!(data[OUTPUT_OFFSET]>0 && savedInputHeldLen>0)){ in.position(in.position() - savedInputHeldLen); } -// END android-added - // BEGIN android-added // release reference to input array, which may not be ours input = null; - // END android-added } } diff --git a/luni/src/main/java/libcore/icu/CollationElementIteratorICU.java b/luni/src/main/java/libcore/icu/CollationElementIteratorICU.java index 6d85718..05caa0b 100644 --- a/luni/src/main/java/libcore/icu/CollationElementIteratorICU.java +++ b/luni/src/main/java/libcore/icu/CollationElementIteratorICU.java @@ -99,11 +99,9 @@ public final class CollationElementIteratorICU { NativeCollation.setText(address, source); } - // BEGIN android-added public void setText(CharacterIterator source) { NativeCollation.setText(address, source.toString()); } - // END android-added /** * Get the offset of the current source character. diff --git a/luni/src/main/java/org/apache/harmony/luni/platform/IFileSystem.java b/luni/src/main/java/org/apache/harmony/luni/platform/IFileSystem.java index 2100cef..51b7980 100644 --- a/luni/src/main/java/org/apache/harmony/luni/platform/IFileSystem.java +++ b/luni/src/main/java/org/apache/harmony/luni/platform/IFileSystem.java @@ -15,10 +15,6 @@ * limitations under the License. */ -// BEGIN android-note -// address length was changed from long to int for performance reasons. -// END android-note - package org.apache.harmony.luni.platform; import java.io.FileDescriptor; @@ -105,13 +101,6 @@ public interface IFileSystem { public long transfer(int fileHandler, FileDescriptor socketDescriptor, long offset, long count) throws IOException; - // BEGIN android-deleted - // public long ttyAvailable() throws IOException; - // public long ttyRead(byte[] bytes, int offset, int length) throws IOException; - // END android-deleted - - // BEGIN android-added public int ioctlAvailable(FileDescriptor fileDescriptor) throws IOException; - // END android-added } diff --git a/luni/src/main/java/org/apache/harmony/luni/platform/INetworkSystem.java b/luni/src/main/java/org/apache/harmony/luni/platform/INetworkSystem.java index 682ec3a..c073c41 100644 --- a/luni/src/main/java/org/apache/harmony/luni/platform/INetworkSystem.java +++ b/luni/src/main/java/org/apache/harmony/luni/platform/INetworkSystem.java @@ -15,10 +15,6 @@ * limitations under the License. */ -// BEGIN android-note -// address length was changed from long to int for performance reasons. -// END android-note - package org.apache.harmony.luni.platform; import java.io.FileDescriptor; diff --git a/luni/src/main/java/org/apache/harmony/luni/platform/OSFileSystem.java b/luni/src/main/java/org/apache/harmony/luni/platform/OSFileSystem.java index 254cf74..03b3352 100644 --- a/luni/src/main/java/org/apache/harmony/luni/platform/OSFileSystem.java +++ b/luni/src/main/java/org/apache/harmony/luni/platform/OSFileSystem.java @@ -15,10 +15,6 @@ * limitations under the License. */ -// BEGIN android-note -// address length was changed from long to int for performance reasons. -// END android-note - package org.apache.harmony.luni.platform; import java.io.FileDescriptor; diff --git a/luni/src/main/java/org/apache/harmony/luni/util/DeleteOnExit.java b/luni/src/main/java/org/apache/harmony/luni/util/DeleteOnExit.java index ac3275e..8fa04fd 100644 --- a/luni/src/main/java/org/apache/harmony/luni/util/DeleteOnExit.java +++ b/luni/src/main/java/org/apache/harmony/luni/util/DeleteOnExit.java @@ -22,7 +22,6 @@ import java.io.File; import java.util.ArrayList; import java.util.Collections; -// BEGIN android-changed /** * Implements the actual DeleteOnExit mechanism. Is registered as a shutdown * hook in the Runtime, once it is actually being used. @@ -77,4 +76,3 @@ public class DeleteOnExit extends Thread { } } } -// END android-changed diff --git a/luni/src/main/java/org/apache/harmony/security/asn1/ASN1Integer.java b/luni/src/main/java/org/apache/harmony/security/asn1/ASN1Integer.java index 9230bbd..f1f7b7e 100644 --- a/luni/src/main/java/org/apache/harmony/security/asn1/ASN1Integer.java +++ b/luni/src/main/java/org/apache/harmony/security/asn1/ASN1Integer.java @@ -103,7 +103,6 @@ public class ASN1Integer extends ASN1Primitive { out.length = ((byte[]) out.content).length; } -// BEGIN android-changed /** * Converts decoded ASN.1 Integer to int value. * If the object represents an integer value @@ -125,7 +124,6 @@ public class ASN1Integer extends ASN1Primitive { public static BigInteger toBigIntegerValue(Object decoded) { return new BigInteger((byte[]) decoded);//FIXME optimize } -// END android-changed /** * Converts primitive int value to a form most suitable for encoding. diff --git a/luni/src/main/java/org/apache/harmony/security/asn1/ObjectIdentifier.java b/luni/src/main/java/org/apache/harmony/security/asn1/ObjectIdentifier.java index 199f30c..aac75ad 100644 --- a/luni/src/main/java/org/apache/harmony/security/asn1/ObjectIdentifier.java +++ b/luni/src/main/java/org/apache/harmony/security/asn1/ObjectIdentifier.java @@ -247,7 +247,6 @@ public final class ObjectIdentifier { return sb.toString(); } - // BEGIN android-changed /** * Gets ObjectIdentifier (OID) from string representation. * @@ -368,5 +367,4 @@ public final class ObjectIdentifier { return oid; } - // END android-changed } diff --git a/luni/src/main/java/org/apache/harmony/security/fortress/Services.java b/luni/src/main/java/org/apache/harmony/security/fortress/Services.java index 8a2a7dd..d97e0f4 100644 --- a/luni/src/main/java/org/apache/harmony/security/fortress/Services.java +++ b/luni/src/main/java/org/apache/harmony/security/fortress/Services.java @@ -40,16 +40,14 @@ import java.util.Map; public class Services { // The HashMap that contains information about preferred implementations for - // all serviceName.algName in the registered providers - // BEGIN android-changed - // set the initial size to 600 so we don't grow to 1024 by default because + // all serviceName.algName in the registered providers. + // Set the initial size to 600 so we don't grow to 1024 by default because // initialization adds a few entries more than the growth threshold. private static final Map<String, Provider.Service> services = new HashMap<String, Provider.Service>(600); - // save default SecureRandom service as well. - // avoids similar provider/services iteration in SecureRandom constructor + // Save default SecureRandom service as well. + // Avoids similar provider/services iteration in SecureRandom constructor private static Provider.Service secureRandom; - // END android-changed // Need refresh flag private static boolean needRefresh; // = false; diff --git a/luni/src/main/java/org/apache/harmony/security/pkcs7/SignerInfo.java b/luni/src/main/java/org/apache/harmony/security/pkcs7/SignerInfo.java index aa40fdd..f9eda25 100644 --- a/luni/src/main/java/org/apache/harmony/security/pkcs7/SignerInfo.java +++ b/luni/src/main/java/org/apache/harmony/security/pkcs7/SignerInfo.java @@ -77,9 +77,7 @@ public class SignerInfo { ) { this.version = version; this.issuer = ((Name)issuerAndSerialNumber[0]).getX500Principal(); - // BEGIN android-changed this.serialNumber = ASN1Integer.toBigIntegerValue(issuerAndSerialNumber[1]); - // END android-changed this.digestAlgorithm = digestAlgorithm; this.authenticatedAttributes = authenticatedAttributes; this.digestEncryptionAlgorithm = digestEncryptionAlgorithm; diff --git a/luni/src/main/java/org/apache/harmony/security/provider/cert/Cache.java b/luni/src/main/java/org/apache/harmony/security/provider/cert/Cache.java index f3dd402..a2c5b4c 100644 --- a/luni/src/main/java/org/apache/harmony/security/provider/cert/Cache.java +++ b/luni/src/main/java/org/apache/harmony/security/provider/cert/Cache.java @@ -138,25 +138,6 @@ public class Cache { cache = new Object[cache_size]; } - // BEGIN android-removed - // /** - // * Creates the Cache object of size of 900. - // * @param pref_size specifies how many leading/trailing bytes of object's - // * encoded form will be used for hash computation - // */ - // public Cache(int pref_size) { - // this(pref_size, 900); - // } - // - // /** - // * Creates the Cache object of size of 900. - // */ - // public Cache() { - // this(28, 900); - // } - // END android-removed - - // BEGIN android-added /** * Creates the Cache object of size of 9. * @param pref_size specifies how many leading/trailing bytes of object's @@ -172,7 +153,6 @@ public class Cache { public Cache() { this(28, 9); } - // END android-added /** * Returns the hash code for the array. This code is used to @@ -342,4 +322,3 @@ public class Cache { } } - diff --git a/luni/src/main/java/org/apache/harmony/security/provider/crypto/RandomBitsSupplier.java b/luni/src/main/java/org/apache/harmony/security/provider/crypto/RandomBitsSupplier.java index 002a513..3862132 100644 --- a/luni/src/main/java/org/apache/harmony/security/provider/crypto/RandomBitsSupplier.java +++ b/luni/src/main/java/org/apache/harmony/security/provider/crypto/RandomBitsSupplier.java @@ -39,19 +39,20 @@ public class RandomBitsSupplier implements SHA1_Data { /** - * BufferedInputStream to read from device + * InputStream to read from device + * + * Using a BufferedInputStream leads to problems + * on Android in rare cases, since the + * BufferedInputStream's available() issues an + * ioctl(), and the pseudo device doesn't seem + * to like that. Since we're reading bigger + * chunks and not single bytes, the FileInputStream + * shouldn't be slower, so we use that. Same might + * apply to other Linux platforms. + * + * TODO: the above doesn't sound true. */ - // BEGIN android-changed - // Using a BufferedInputStream leads to problems - // on Android in rare cases, since the - // BufferedInputStream's available() issues an - // iotcl(), and the pseudo device doesn't seem - // to like that. Since we're reading bigger - // chunks and not single bytes, the FileInputStream - // shouldn't be slower, so we use that. Same might - // apply to other Linux platforms. - private static FileInputStream bis = null; - // END android-changed + private static FileInputStream fis = null; /** * File to connect to device @@ -73,9 +74,7 @@ public class RandomBitsSupplier implements SHA1_Data { try { File file = new File(deviceName); if (file.canRead()) { - // BEGIN android-modified - bis = new FileInputStream(file); - // END android-modified + fis = new FileInputStream(file); randomFile = file; serviceAvailable = true; } @@ -109,7 +108,7 @@ public class RandomBitsSupplier implements SHA1_Data { try { for ( ; ; ) { - bytesRead = bis.read(bytes, offset, numBytes-total); + bytesRead = fis.read(bytes, offset, numBytes-total); // the below case should not occur because /dev/random or /dev/urandom is a special file @@ -147,7 +146,6 @@ public class RandomBitsSupplier implements SHA1_Data { * InvalidArgumentException - if numBytes <= 0 */ public static byte[] getRandomBits(int numBytes) { - if (numBytes <= 0) { throw new IllegalArgumentException(Integer.toString(numBytes)); } @@ -158,8 +156,6 @@ public class RandomBitsSupplier implements SHA1_Data { throw new ProviderException("ATTENTION: service is not available : no random devices"); } - // BEGIN android-changed return getUnixDeviceRandom(numBytes); - // END android-changed } } diff --git a/luni/src/main/java/org/apache/harmony/security/utils/AlgNameMapper.java b/luni/src/main/java/org/apache/harmony/security/utils/AlgNameMapper.java index c818d1d..9ad5373 100644 --- a/luni/src/main/java/org/apache/harmony/security/utils/AlgNameMapper.java +++ b/luni/src/main/java/org/apache/harmony/security/utils/AlgNameMapper.java @@ -187,9 +187,7 @@ public class AlgNameMapper { * @return 'true' if parameter represents OID */ public static boolean isOID(String alias) { - // BEGIN android-changed return ObjectIdentifier.isOID(normalize(alias)); - // END android-changed } /** diff --git a/luni/src/main/java/org/apache/harmony/security/utils/JarUtils.java b/luni/src/main/java/org/apache/harmony/security/utils/JarUtils.java index 9013eba..35f69c9 100644 --- a/luni/src/main/java/org/apache/harmony/security/utils/JarUtils.java +++ b/luni/src/main/java/org/apache/harmony/security/utils/JarUtils.java @@ -120,13 +120,8 @@ public class JarUtils { String alg = null; if (da != null && dea != null) { alg = da + "with" + dea; - try{ - // BEGIN android-removed - // sig = OpenSSLSignature.getInstance(alg); - // END android-removed - // BEGIN android-added + try { sig = OpenSSLSignature.getInstance(alg); - // END android-removed } catch (NoSuchAlgorithmException e) {} } if (sig == null) { @@ -134,13 +129,8 @@ public class JarUtils { if (alg == null) { return null; } - try{ - // BEGIN android-removed - // sig = OpenSSLSignature.getInstance(alg); - // END android-removed - // BEGIN android-added + try { sig = OpenSSLSignature.getInstance(alg); - // END android-removed } catch (NoSuchAlgorithmException e) { return null; } diff --git a/luni/src/main/java/org/apache/harmony/security/x501/AttributeTypeAndValue.java b/luni/src/main/java/org/apache/harmony/security/x501/AttributeTypeAndValue.java index fc1f23b..eca8817 100644 --- a/luni/src/main/java/org/apache/harmony/security/x501/AttributeTypeAndValue.java +++ b/luni/src/main/java/org/apache/harmony/security/x501/AttributeTypeAndValue.java @@ -325,15 +325,13 @@ public class AttributeTypeAndValue { if (X500Principal.CANONICAL.equals(attrFormat)) { // only PrintableString and UTF8String in string format // all others are output in hex format - // BEGIN android-changed - // no hex for teletex; see bug 2102191 + // no hex for teletex; see http://b/2102191 int tag = value.getTag(); if (!ASN1StringType.UTF8STRING.checkTag(tag) && !ASN1StringType.PRINTABLESTRING.checkTag(tag) && !ASN1StringType.TELETEXSTRING.checkTag(tag)) { hexFormat = true; } - // END android-changed } } else { diff --git a/luni/src/main/java/org/apache/harmony/security/x509/GeneralName.java b/luni/src/main/java/org/apache/harmony/security/x509/GeneralName.java index d52fe89..5bd6a24 100644 --- a/luni/src/main/java/org/apache/harmony/security/x509/GeneralName.java +++ b/luni/src/main/java/org/apache/harmony/security/x509/GeneralName.java @@ -459,7 +459,7 @@ public class GeneralName { */ public List getAsList() { ArrayList result = new ArrayList(); - result.add(Integer.valueOf(tag)); // android-changed + result.add(tag); switch (tag) { case OTHER_NAME: result.add(((OtherName) name).getEncoded()); diff --git a/luni/src/main/java/org/apache/harmony/xnet/provider/jsse/ClientHandshakeImpl.java b/luni/src/main/java/org/apache/harmony/xnet/provider/jsse/ClientHandshakeImpl.java index a09914e..1f1d789 100644 --- a/luni/src/main/java/org/apache/harmony/xnet/provider/jsse/ClientHandshakeImpl.java +++ b/luni/src/main/java/org/apache/harmony/xnet/provider/jsse/ClientHandshakeImpl.java @@ -86,13 +86,11 @@ public class ClientHandshakeImpl extends HandshakeProtocol { } else if (parameters.getEnableSessionCreation()){ isResuming = false; session = new SSLSessionImpl(parameters.getSecureRandom()); - // BEGIN android-added if (engineOwner != null) { session.setPeer(engineOwner.getPeerHost(), engineOwner.getPeerPort()); } else { session.setPeer(socketOwner.getInetAddress().getHostName(), socketOwner.getPort()); } - // END android-added session.protocol = ProtocolVersion.getLatestVersion(parameters.getEnabledProtocols()); recordProtocol.setVersion(session.protocol.version); } else { @@ -109,13 +107,11 @@ public class ClientHandshakeImpl extends HandshakeProtocol { if (parameters.getEnableSessionCreation()){ isResuming = false; session = new SSLSessionImpl(parameters.getSecureRandom()); - // BEGIN android-added if (engineOwner != null) { session.setPeer(engineOwner.getPeerHost(), engineOwner.getPeerPort()); } else { session.setPeer(socketOwner.getInetAddress().getHostName(), socketOwner.getPort()); } - // END android-added session.protocol = ProtocolVersion.getLatestVersion(parameters.getEnabledProtocols()); recordProtocol.setVersion(session.protocol.version); startSession(); @@ -133,9 +129,7 @@ public class ClientHandshakeImpl extends HandshakeProtocol { if (isResuming) { cipher_suites = new CipherSuite[] { session.cipherSuite }; } else { - // BEGIN android-changed cipher_suites = parameters.getEnabledCipherSuitesMember(); - // END android-changed } clientHello = new ClientHello(parameters.getSecureRandom(), session.protocol.version, session.id, cipher_suites); @@ -215,9 +209,7 @@ public class ClientHandshakeImpl extends HandshakeProtocol { } //check cipher_suite - // BEGIN android-changed CipherSuite[] enabledSuites = parameters.getEnabledCipherSuitesMember(); - // END android-changed find: { for (int i = 0; i < enabledSuites.length; i++) { if (serverHello.cipher_suite.equals(enabledSuites[i])) { @@ -304,9 +296,7 @@ public class ClientHandshakeImpl extends HandshakeProtocol { serverFinished = new Finished(io_stream, length); verifyFinished(serverFinished.getData()); session.lastAccessedTime = System.currentTimeMillis(); - // BEGIN android-added session.context = parameters.getClientSessionContext(); - // END android-added parameters.getClientSessionContext().putSession(session); if (isResuming) { sendChangeCipherSpec(); @@ -578,7 +568,6 @@ public class ClientHandshakeImpl extends HandshakeProtocol { return null; // starts new session } - // BEGIN android-changed ClientSessionContext context = parameters.getClientSessionContext(); SSLSessionImpl session = (SSLSessionImpl) context.getSession(host, port); @@ -586,7 +575,6 @@ public class ClientHandshakeImpl extends HandshakeProtocol { session = (SSLSessionImpl) session.clone(); } return session; - // END android-changed } } diff --git a/luni/src/main/java/org/apache/harmony/xnet/provider/jsse/KeyManagerImpl.java b/luni/src/main/java/org/apache/harmony/xnet/provider/jsse/KeyManagerImpl.java index 8278ae9..830fd77 100644 --- a/luni/src/main/java/org/apache/harmony/xnet/provider/jsse/KeyManagerImpl.java +++ b/luni/src/main/java/org/apache/harmony/xnet/provider/jsse/KeyManagerImpl.java @@ -96,11 +96,9 @@ public class KeyManagerImpl extends X509ExtendedKeyManager { } public X509Certificate[] getCertificateChain(String alias) { - // BEGIN android-changed if (alias == null) { return null; } - // END android-changed if (hash.containsKey(alias)) { Certificate[] certs = hash.get(alias).getCertificateChain(); if (certs[0] instanceof X509Certificate) { @@ -124,11 +122,9 @@ public class KeyManagerImpl extends X509ExtendedKeyManager { } public PrivateKey getPrivateKey(String alias) { - // BEGIN android-changed if (alias == null) { return null; } - // END android-changed if (hash.containsKey(alias)) { return hash.get(alias).getPrivateKey(); } diff --git a/luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSocketImpl.java b/luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSocketImpl.java index edad7dc..dfad63e 100644 --- a/luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSocketImpl.java +++ b/luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSocketImpl.java @@ -100,9 +100,7 @@ public class OpenSSLSocketImpl */ private int timeoutMilliseconds = 0; - // BEGIN android-added private int handshakeTimeoutMilliseconds = -1; // -1 = same as timeout; 0 = infinite - // END android-added private String wrappedHost; private int wrappedPort; @@ -472,13 +470,11 @@ public class OpenSSLSocketImpl NativeCrypto.SSL_MODE_HANDSHAKE_CUTTHROUGH); } - // BEGIN android-added // Temporarily use a different timeout for the handshake process int savedTimeoutMilliseconds = getSoTimeout(); if (handshakeTimeoutMilliseconds >= 0) { setSoTimeout(handshakeTimeoutMilliseconds); } - // END android-added int sslSessionNativePointer; try { @@ -524,12 +520,10 @@ public class OpenSSLSocketImpl + getInetAddress().getHostName() + "."); } - // BEGIN android-added // Restore the original timeout now that the handshake is complete if (handshakeTimeoutMilliseconds >= 0) { setSoTimeout(savedTimeoutMilliseconds); } - // END android-added // if not, notifyHandshakeCompletedListeners later in handshakeCompleted() callback if (handshakeCompleted) { @@ -1184,7 +1178,6 @@ public class OpenSSLSocketImpl return timeoutMilliseconds; } - // BEGIN android-added /** * Set the handshake timeout on this socket. This timeout is specified in * milliseconds and will be used only during the handshake process. @@ -1194,7 +1187,6 @@ public class OpenSSLSocketImpl public void setHandshakeTimeout(int timeoutMilliseconds) throws SocketException { this.handshakeTimeoutMilliseconds = timeoutMilliseconds; } - // END android-added /** * Closes the SSL socket. Once closed, a socket is not available for further diff --git a/luni/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLContextImpl.java b/luni/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLContextImpl.java index e09230b..0e1e130 100644 --- a/luni/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLContextImpl.java +++ b/luni/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLContextImpl.java @@ -28,11 +28,6 @@ import javax.net.ssl.SSLServerSocketFactory; import javax.net.ssl.SSLSocketFactory; import javax.net.ssl.TrustManager; -// BEGIN android-note -// Modified heavily during SSLSessionContext refactoring. Added support for -// persistent session caches. -// END android-note - /** * Implementation of SSLContext service provider interface. */ diff --git a/luni/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLInputStream.java b/luni/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLInputStream.java index 2e62e44..2a6c5d6 100644 --- a/luni/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLInputStream.java +++ b/luni/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLInputStream.java @@ -78,11 +78,9 @@ public abstract class SSLInputStream extends InputStream { * Reads and returns uint64 value. */ public long readUint64() throws IOException { - // BEGIN android-changed long hi = readUint32(); long lo = readUint32(); return (hi << 32) | lo; - // END android-changed } /** diff --git a/luni/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLParametersImpl.java b/luni/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLParametersImpl.java index 405e5dd..fdad872 100644 --- a/luni/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLParametersImpl.java +++ b/luni/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLParametersImpl.java @@ -33,7 +33,7 @@ import javax.net.ssl.X509KeyManager; import javax.net.ssl.X509TrustManager; /** - * The instances of this class incapsulate all the info + * The instances of this class encapsulate all the info * about enabled cipher suites and protocols, * as well as the information about client/server mode of * ssl socket, whether it require/want client authentication or not, @@ -53,12 +53,10 @@ public class SSLParametersImpl implements Cloneable { // client session context contains the set of reusable // client-side SSL sessions -// BEGIN android-changed private final ClientSessionContext clientSessionContext; // server session context contains the set of reusable // server-side SSL sessions private final ServerSessionContext serverSessionContext; -// END android-changed // source of authentication keys private X509KeyManager keyManager; // source of authentication trust decisions @@ -67,9 +65,7 @@ public class SSLParametersImpl implements Cloneable { private SecureRandom secureRandom; // cipher suites available for SSL connection - // BEGIN android-changed private CipherSuite[] enabledCipherSuites; - // END android-changed // string representations of available cipher suites private String[] enabledCipherSuiteNames = null; @@ -85,14 +81,12 @@ public class SSLParametersImpl implements Cloneable { // if the peer with this parameters allowed to cteate new SSL session private boolean enable_session_creation = true; -// BEGIN android-changed protected CipherSuite[] getEnabledCipherSuitesMember() { if (enabledCipherSuites == null) { this.enabledCipherSuites = CipherSuite.DEFAULT_CIPHER_SUITES; } return enabledCipherSuites; } -// END android-changed /** * Initializes the parameters. Naturally this constructor is used @@ -103,13 +97,11 @@ public class SSLParametersImpl implements Cloneable { * SecureRandom)} for more information */ protected SSLParametersImpl(KeyManager[] kms, TrustManager[] tms, -// BEGIN android-changed SecureRandom sr, ClientSessionContext clientSessionContext, ServerSessionContext serverSessionContext) throws KeyManagementException { this.serverSessionContext = serverSessionContext; this.clientSessionContext = clientSessionContext; -// END android-changed // It's not described by the spec of SSLContext what should happen // if the arrays of length 0 are specified. This implementation @@ -150,7 +142,7 @@ public class SSLParametersImpl implements Cloneable { // null, we don't replace it by a new instance. The native code below // then directly accesses /dev/urandom. Not the most elegant solution, // but faster than going through the SecureRandom object. - secureRandom = sr; + secureRandom = sr; // END android-added } @@ -170,18 +162,14 @@ public class SSLParametersImpl implements Cloneable { /** * @return server session context */ -// BEGIN android-changed protected ServerSessionContext getServerSessionContext() { -// END android-changed return serverSessionContext; } /** * @return client session context */ -// BEGIN android-changed protected ClientSessionContext getClientSessionContext() { -// END android-changed return clientSessionContext; } @@ -215,23 +203,19 @@ public class SSLParametersImpl implements Cloneable { return secureRandom; } - // BEGIN android-added /** * @return the secure random member reference, even it is null */ protected SecureRandom getSecureRandomMember() { return secureRandom; } - // END android-added /** * @return the names of enabled cipher suites */ protected String[] getEnabledCipherSuites() { if (enabledCipherSuiteNames == null) { - // BEGIN android-added CipherSuite[] enabledCipherSuites = getEnabledCipherSuitesMember(); - // END android-added enabledCipherSuiteNames = new String[enabledCipherSuites.length]; for (int i = 0; i< enabledCipherSuites.length; i++) { enabledCipherSuiteNames[i] = enabledCipherSuites[i].getName(); @@ -364,13 +348,11 @@ public class SSLParametersImpl implements Cloneable { */ @Override protected Object clone() { -// BEGIN android-changed try { return super.clone(); } catch (CloneNotSupportedException e) { throw new AssertionError(e); } -// END android-changed } private static X509KeyManager getDefaultKeyManager() { diff --git a/luni/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLSessionImpl.java b/luni/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLSessionImpl.java index f03cd3e..2e2ea7c 100644 --- a/luni/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLSessionImpl.java +++ b/luni/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLSessionImpl.java @@ -121,9 +121,7 @@ public class SSLSessionImpl implements SSLSession, Cloneable { /** * Context of the session */ -// BEGIN android-changed SSLSessionContext context; -// END android-changed /** * certificates were sent to the peer diff --git a/luni/src/main/java/org/apache/harmony/xnet/provider/jsse/ServerHandshakeImpl.java b/luni/src/main/java/org/apache/harmony/xnet/provider/jsse/ServerHandshakeImpl.java index f9df058..7961cdc 100644 --- a/luni/src/main/java/org/apache/harmony/xnet/provider/jsse/ServerHandshakeImpl.java +++ b/luni/src/main/java/org/apache/harmony/xnet/provider/jsse/ServerHandshakeImpl.java @@ -264,9 +264,7 @@ public class ServerHandshakeImpl extends HandshakeProtocol { clientFinished = new Finished(io_stream, length); verifyFinished(clientFinished.getData()); - // BEGIN android-added session.context = parameters.getServerSessionContext(); - // END android-added parameters.getServerSessionContext().putSession(session); if (!isResuming) { sendChangeCipherSpec(); @@ -402,13 +400,11 @@ public class ServerHandshakeImpl extends HandshakeProtocol { "SSL Session may not be created"); } session = new SSLSessionImpl(cipher_suite, parameters.getSecureRandom()); - // BEGIN android-added if (engineOwner != null) { session.setPeer(engineOwner.getPeerHost(), engineOwner.getPeerPort()); } else { session.setPeer(socketOwner.getInetAddress().getHostName(), socketOwner.getPort()); } - // END android-added } recordProtocol.setVersion(clientHello.client_version); @@ -635,13 +631,11 @@ public class ServerHandshakeImpl extends HandshakeProtocol { if (!clientSuite.supported) { continue; } - // BEGIN android-changed for (CipherSuite enabledCipherSuite : parameters.getEnabledCipherSuitesMember()) { if (clientSuite.equals(enabledCipherSuite)) { return clientSuite; } } - // END android-changed } return null; } diff --git a/luni/src/main/java/org/apache/harmony/xnet/provider/jsse/TrustManagerFactoryImpl.java b/luni/src/main/java/org/apache/harmony/xnet/provider/jsse/TrustManagerFactoryImpl.java index e4aae6f..6778be9 100644 --- a/luni/src/main/java/org/apache/harmony/xnet/provider/jsse/TrustManagerFactoryImpl.java +++ b/luni/src/main/java/org/apache/harmony/xnet/provider/jsse/TrustManagerFactoryImpl.java @@ -51,16 +51,10 @@ public class TrustManagerFactoryImpl extends TrustManagerFactorySpi { if (ks != null) { keyStore = ks; } else { - // BEGIN android-added if (System.getProperty("javax.net.ssl.trustStore") == null) { - String file = System.getProperty("java.home") - + java.io.File.separator + "etc" + java.io.File.separator - + "security" + java.io.File.separator - + "cacerts.bks"; - - System.setProperty("javax.net.ssl.trustStore", file); + String filename = System.getProperty("java.home") + "/etc/security/cacerts.bks"; + System.setProperty("javax.net.ssl.trustStore", filename); } - // END android-added keyStore = KeyStore.getInstance(KeyStore.getDefaultType()); String keyStoreName = System.getProperty("javax.net.ssl.trustStore"); String keyStorePwd = null; diff --git a/luni/src/main/java/org/xml/sax/ext/Attributes2Impl.java b/luni/src/main/java/org/xml/sax/ext/Attributes2Impl.java index b3ec94a..9492218 100644 --- a/luni/src/main/java/org/xml/sax/ext/Attributes2Impl.java +++ b/luni/src/main/java/org/xml/sax/ext/Attributes2Impl.java @@ -37,18 +37,16 @@ import libcore.base.EmptyArray; */ public class Attributes2Impl extends AttributesImpl implements Attributes2 { - private boolean declared []; - private boolean specified []; + private boolean[] declared; + private boolean[] specified; /** * Construct a new, empty Attributes2Impl object. */ public Attributes2Impl () { - // BEGIN android-added declared = EmptyArray.BOOLEAN; specified = EmptyArray.BOOLEAN; - // END android-added } @@ -246,12 +244,8 @@ public class Attributes2Impl extends AttributesImpl implements Attributes2 int length = getLength (); - // BEGIN android-changed if (length > specified.length) { - // END android-changed - boolean newFlags []; - - newFlags = new boolean [length]; + boolean[] newFlags = new boolean [length]; System.arraycopy (declared, 0, newFlags, 0, declared.length); declared = newFlags; |