diff options
| -rw-r--r-- | AconfigFlags.bp | 9 | ||||
| -rw-r--r-- | core/java/android/text/format/DateIntervalFormat.java | 11 | ||||
| -rw-r--r-- | core/tests/coretests/src/android/text/format/DateIntervalFormatTest.java | 9 |
3 files changed, 29 insertions, 0 deletions
diff --git a/AconfigFlags.bp b/AconfigFlags.bp index d62cba910673..4f58f6867f9b 100644 --- a/AconfigFlags.bp +++ b/AconfigFlags.bp @@ -98,6 +98,7 @@ aconfig_declarations_group { "framework-jobscheduler-job.flags-aconfig-java", "framework_graphics_flags_java_lib", "hwui_flags_java_lib", + "libcore_exported_aconfig_flags_lib", "power_flags_lib", "sdk_sandbox_flags_lib", "surfaceflinger_flags_java_lib", @@ -140,6 +141,14 @@ java_aconfig_library { 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 java_aconfig_library { name: "telecom_flags_core_java_lib", diff --git a/core/java/android/text/format/DateIntervalFormat.java b/core/java/android/text/format/DateIntervalFormat.java index e8236fda42b6..8dea3228eb0c 100644 --- a/core/java/android/text/format/DateIntervalFormat.java +++ b/core/java/android/text/format/DateIntervalFormat.java @@ -26,6 +26,7 @@ import android.icu.util.ULocale; import android.util.LruCache; import com.android.internal.annotations.VisibleForTesting; +import com.android.libcore.Flags; import java.text.FieldPosition; import java.util.TimeZone; @@ -123,4 +124,14 @@ public final class DateIntervalFormat { && c.get(Calendar.SECOND) == 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(); + } } diff --git a/core/tests/coretests/src/android/text/format/DateIntervalFormatTest.java b/core/tests/coretests/src/android/text/format/DateIntervalFormatTest.java index 71c068d7ad46..9750de386271 100644 --- a/core/tests/coretests/src/android/text/format/DateIntervalFormatTest.java +++ b/core/tests/coretests/src/android/text/format/DateIntervalFormatTest.java @@ -35,6 +35,7 @@ import static android.text.format.DateUtils.FORMAT_SHOW_YEAR; import static android.text.format.DateUtils.FORMAT_UTC; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; import android.icu.util.Calendar; import android.icu.util.TimeZone; @@ -683,4 +684,12 @@ public class DateIntervalFormatTest { assertEquals("February 27\u2009\u2013\u2009March 1, 2004", 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)); + } } |