diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java
index 88aafdc..4725bd4 100755
--- a/core/java/android/provider/Settings.java
+++ b/core/java/android/provider/Settings.java
@@ -3484,7 +3484,7 @@
 
         /** @hide */
         public static final Validator TIME_12_24_VALIDATOR =
-                new DiscreteValueValidator(new String[] {"12", "24"});
+                new DiscreteValueValidator(new String[] {"12", "24", null});
 
         /**
          * Date format string
diff --git a/core/java/android/text/format/DateFormat.java b/core/java/android/text/format/DateFormat.java
index 34fe07b..de2dcce 100755
--- a/core/java/android/text/format/DateFormat.java
+++ b/core/java/android/text/format/DateFormat.java
@@ -16,6 +16,7 @@
 
 package android.text.format;
 
+import android.annotation.NonNull;
 import android.content.Context;
 import android.os.UserHandle;
 import android.provider.Settings;
@@ -183,8 +184,17 @@
             return value.equals("24");
         }
 
-        final Locale locale = context.getResources().getConfiguration().locale;
+        return is24HourLocale(context.getResources().getConfiguration().locale);
+    }
 
+    /**
+     * Returns true if the specified locale uses a 24-hour time format by default, ignoring user
+     * settings.
+     * @param locale the locale to check
+     * @return true if the locale uses a 24 hour time format by default, false otherwise
+     * @hide
+     */
+    public static boolean is24HourLocale(@NonNull Locale locale) {
         synchronized (sLocaleLock) {
             if (sIs24HourLocale != null && sIs24HourLocale.equals(locale)) {
                 return sIs24Hour;
diff --git a/core/tests/coretests/src/android/text/format/DateFormatTest.java b/core/tests/coretests/src/android/text/format/DateFormatTest.java
index 15c86f0..0f08d18 100644
--- a/core/tests/coretests/src/android/text/format/DateFormatTest.java
+++ b/core/tests/coretests/src/android/text/format/DateFormatTest.java
@@ -25,6 +25,8 @@
 import org.junit.Test;
 import org.junit.runner.RunWith;
 
+import java.util.Locale;
+
 @SmallTest
 @RunWith(AndroidJUnit4.class)
 public class DateFormatTest {
@@ -44,4 +46,10 @@
 
         assertFalse(DateFormat.hasDesignator("hh:mm 'yyyy'", DateFormat.YEAR));
     }
+
+    @Test
+    public void testIs24HourLocale() {
+        assertFalse(DateFormat.is24HourLocale(Locale.US));
+        assertTrue(DateFormat.is24HourLocale(Locale.GERMANY));
+    }
 }
