Merge change 6801 into donut
* changes: Uri.EMPTY.toString() was returning null due to an initialization order bug. Fixes internal issue #1957015.
This commit is contained in:
@@ -104,6 +104,18 @@ public abstract class Uri implements Parcelable, Comparable<Uri> {
|
||||
/** Log tag. */
|
||||
private static final String LOG = Uri.class.getSimpleName();
|
||||
|
||||
/**
|
||||
* NOTE: EMPTY accesses this field during its own initialization, so this
|
||||
* field *must* be initialized first, or else EMPTY will see a null value!
|
||||
*
|
||||
* Placeholder for strings which haven't been cached. This enables us
|
||||
* to cache null. We intentionally create a new String instance so we can
|
||||
* compare its identity and there is no chance we will confuse it with
|
||||
* user data.
|
||||
*/
|
||||
@SuppressWarnings("RedundantStringConstructorCall")
|
||||
private static final String NOT_CACHED = new String("NOT CACHED");
|
||||
|
||||
/**
|
||||
* The empty URI, equivalent to "".
|
||||
*/
|
||||
@@ -349,15 +361,6 @@ public abstract class Uri implements Parcelable, Comparable<Uri> {
|
||||
/** Placeholder value for an index which hasn't been calculated yet. */
|
||||
private final static int NOT_CALCULATED = -2;
|
||||
|
||||
/**
|
||||
* Placeholder for strings which haven't been cached. This enables us
|
||||
* to cache null. We intentionally create a new String instance so we can
|
||||
* compare its identity and there is no chance we will confuse it with
|
||||
* user data.
|
||||
*/
|
||||
@SuppressWarnings("RedundantStringConstructorCall")
|
||||
private static final String NOT_CACHED = new String("NOT CACHED");
|
||||
|
||||
/**
|
||||
* Error message presented when a user tries to treat an opaque URI as
|
||||
* hierarchical.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
framework=/system/framework
|
||||
bpath=$framework/core.jar:$framework/ext.jar:$framework/framework.jar:$framework/android.test.runner.jar
|
||||
adb shell exec dalvikvm -Xbootclasspath:$bpath -cp system/app/AndroidTests.apk \
|
||||
adb shell exec dalvikvm -Xbootclasspath:$bpath -cp /system/app/AndroidTests.apk:/data/app/com.android.unit_tests.apk \
|
||||
com.android.internal.util.WithFramework junit.textui.TestRunner $*
|
||||
|
||||
@@ -499,4 +499,8 @@ public class UriTest extends TestCase {
|
||||
|
||||
assertEquals(uriString, uri.toString());
|
||||
}
|
||||
|
||||
public void testEmptyToStringNotNull() {
|
||||
assertNotNull(Uri.EMPTY.toString());
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user