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

Commit 2ffbc05d authored by Victor Chang's avatar Victor Chang
Browse files

Export libcore aconfig flags to frameworks-minus-apex bootclasspath

The DateIntervalFormatTest.testIsLibcoreVFlagEnabled() doesn't pass in AOSP today, even though `printflags` shows `core_libraries/com.android.libcore.v_apis: READ_ONLY + ENABLED (/apex/com.android.art)`. So try to submit it in internal main instead.

Bug: 349108429
Test: atest FrameworksCoreTests:android.text.format.DateIntervalFormatTest
Flag: EXEMPT Add exported flag lib
Change-Id: I6244a615ae3d1c82bcf367c6e06994741c0553bb
parent 77b2e9ab
Loading
Loading
Loading
Loading
+9 −0
Original line number Original line Diff line number Diff line
@@ -98,6 +98,7 @@ aconfig_declarations_group {
        "framework-jobscheduler-job.flags-aconfig-java",
        "framework-jobscheduler-job.flags-aconfig-java",
        "framework_graphics_flags_java_lib",
        "framework_graphics_flags_java_lib",
        "hwui_flags_java_lib",
        "hwui_flags_java_lib",
        "libcore_exported_aconfig_flags_lib",
        "power_flags_lib",
        "power_flags_lib",
        "sdk_sandbox_flags_lib",
        "sdk_sandbox_flags_lib",
        "surfaceflinger_flags_java_lib",
        "surfaceflinger_flags_java_lib",
@@ -140,6 +141,14 @@ java_aconfig_library {
    defaults: ["framework-minus-apex-aconfig-java-defaults"],
    defaults: ["framework-minus-apex-aconfig-java-defaults"],
}
}


// Core Libraries / libcore
java_aconfig_library {
    name: "libcore_exported_aconfig_flags_lib",
    aconfig_declarations: "libcore-aconfig-flags",
    mode: "exported",
    defaults: ["framework-minus-apex-aconfig-java-defaults"],
}

// Telecom
// Telecom
java_aconfig_library {
java_aconfig_library {
    name: "telecom_flags_core_java_lib",
    name: "telecom_flags_core_java_lib",
+11 −0
Original line number Original line Diff line number Diff line
@@ -26,6 +26,7 @@ import android.icu.util.ULocale;
import android.util.LruCache;
import android.util.LruCache;


import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.annotations.VisibleForTesting;
import com.android.libcore.Flags;


import java.text.FieldPosition;
import java.text.FieldPosition;
import java.util.TimeZone;
import java.util.TimeZone;
@@ -123,4 +124,14 @@ public final class DateIntervalFormat {
                && c.get(Calendar.SECOND) == 0
                && c.get(Calendar.SECOND) == 0
                && c.get(Calendar.MILLISECOND) == 0;
                && c.get(Calendar.MILLISECOND) == 0;
    }
    }


    @VisibleForTesting(visibility = PACKAGE)
    public static boolean isLibcoreVFlagEnabled() {
        // Note that the Flags class is expected to be jarjar-ed in the build-time.
        // See go/repackage_flags
        // The full-qualified name should be like
        // com.android.internal.hidden_from_bootclasspath.com.android.libcore.Flags
        return Flags.vApis();
    }
}
}
+9 −0
Original line number Original line Diff line number Diff line
@@ -35,6 +35,7 @@ import static android.text.format.DateUtils.FORMAT_SHOW_YEAR;
import static android.text.format.DateUtils.FORMAT_UTC;
import static android.text.format.DateUtils.FORMAT_UTC;


import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;


import android.icu.util.Calendar;
import android.icu.util.Calendar;
import android.icu.util.TimeZone;
import android.icu.util.TimeZone;
@@ -683,4 +684,12 @@ public class DateIntervalFormatTest {
        assertEquals("February 27\u2009\u2013\u2009March 1, 2004",
        assertEquals("February 27\u2009\u2013\u2009March 1, 2004",
                fmt.apply(1077840000000L, 1078185600000L));
                fmt.apply(1077840000000L, 1078185600000L));
    }
    }

    @Test
    public void testIsLibcoreVFlagEnabled() {
        // This flag has been fully ramped. It should never be false.
        assertTrue(DateIntervalFormat.isLibcoreVFlagEnabled());
        // Call a Android V API in libcore.
        assertEquals("\ud840\udc2b", Character.toString(0x2002B));
    }
}
}