diff --git a/core/java/android/net/Uri.java b/core/java/android/net/Uri.java index 08bd67e3951ae..a490f73b75c8d 100644 --- a/core/java/android/net/Uri.java +++ b/core/java/android/net/Uri.java @@ -104,6 +104,18 @@ public abstract class Uri implements Parcelable, Comparable { /** 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 { /** 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. diff --git a/tests/AndroidTests/run_test.sh b/tests/AndroidTests/run_test.sh index 6c3710a1a2e4a..bc06b7e906bbe 100755 --- a/tests/AndroidTests/run_test.sh +++ b/tests/AndroidTests/run_test.sh @@ -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:data/app/AndroidTests.apk \ +adb shell exec dalvikvm -Xbootclasspath:$bpath -cp /system/app/AndroidTests.apk:/data/app/com.android.unit_tests.apk:/data/app/AndroidTests.apk \ com.android.internal.util.WithFramework junit.textui.TestRunner $* diff --git a/tests/AndroidTests/src/com/android/unit_tests/UriTest.java b/tests/AndroidTests/src/com/android/unit_tests/UriTest.java index 130beeb3d9893..e9d3cda43773a 100644 --- a/tests/AndroidTests/src/com/android/unit_tests/UriTest.java +++ b/tests/AndroidTests/src/com/android/unit_tests/UriTest.java @@ -499,4 +499,8 @@ public class UriTest extends TestCase { assertEquals(uriString, uri.toString()); } + + public void testEmptyToStringNotNull() { + assertNotNull(Uri.EMPTY.toString()); + } }