Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ad94a983 authored by Android (Google) Code Review's avatar Android (Google) Code Review
Browse files

Merge change 6801 into donut

* changes:
  Uri.EMPTY.toString() was returning null due to an initialization order bug. Fixes internal issue #1957015.
parents d48ca22b b8b8f044
Loading
Loading
Loading
Loading
+12 −9
Original line number Diff line number Diff line
@@ -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 −1
Original line number Diff line number Diff line
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 $*
+4 −0
Original line number Diff line number Diff line
@@ -499,4 +499,8 @@ public class UriTest extends TestCase {

        assertEquals(uriString, uri.toString());
    }

    public void testEmptyToStringNotNull() {
        assertNotNull(Uri.EMPTY.toString());
    }
}