Switch DateUtils and Time over to using the CLDR for all week and month names.

(cherry-pick of 99c406e42ba154584070ca7ec100e8be7ff8a800.)

Conflicts:

	core/res/res/values-fa/donottranslate-cldr.xml
	core/res/res/values/public.xml

Bug: 6811501
Change-Id: I2ad9608ae34804e02c6b0271197e96611df12b0a
diff --git a/core/jni/android_text_format_Time.cpp b/core/jni/android_text_format_Time.cpp
index bb09421..aa2c5f39 100644
--- a/core/jni/android_text_format_Time.cpp
+++ b/core/jni/android_text_format_Time.cpp
@@ -239,31 +239,36 @@
         jobjectArray ja;
         ja = (jobjectArray) env->GetStaticObjectField(timeClass, g_shortMonthsField);
         for (int i = 0; i < 12; i++) {
+            // Calendar.JANUARY == 0.
             js_mon[i] = (jstring) env->NewGlobalRef(env->GetObjectArrayElement(ja, i));
             locale.mon[i] = env->GetStringUTFChars(js_mon[i], NULL);
         }
 
         ja = (jobjectArray) env->GetStaticObjectField(timeClass, g_longMonthsField);
         for (int i = 0; i < 12; i++) {
+            // Calendar.JANUARY == 0.
             js_month[i] = (jstring) env->NewGlobalRef(env->GetObjectArrayElement(ja, i));
             locale.month[i] = env->GetStringUTFChars(js_month[i], NULL);
         }
 
         ja = (jobjectArray) env->GetStaticObjectField(timeClass, g_longStandaloneMonthsField);
         for (int i = 0; i < 12; i++) {
+            // Calendar.JANUARY == 0.
             js_standalone_month[i] = (jstring) env->NewGlobalRef(env->GetObjectArrayElement(ja, i));
             locale.standalone_month[i] = env->GetStringUTFChars(js_standalone_month[i], NULL);
         }
 
         ja = (jobjectArray) env->GetStaticObjectField(timeClass, g_shortWeekdaysField);
         for (int i = 0; i < 7; i++) {
-            js_wday[i] = (jstring) env->NewGlobalRef(env->GetObjectArrayElement(ja, i));
+            // Calendar.SUNDAY == 1, and there's an empty string in element 0.
+            js_wday[i] = (jstring) env->NewGlobalRef(env->GetObjectArrayElement(ja, i + 1));
             locale.wday[i] = env->GetStringUTFChars(js_wday[i], NULL);
         }
 
         ja = (jobjectArray) env->GetStaticObjectField(timeClass, g_longWeekdaysField);
         for (int i = 0; i < 7; i++) {
-            js_weekday[i] = (jstring) env->NewGlobalRef(env->GetObjectArrayElement(ja, i));
+            // Calendar.SUNDAY == 1, and there's an empty string in element 0.
+            js_weekday[i] = (jstring) env->NewGlobalRef(env->GetObjectArrayElement(ja, i + 1));
             locale.weekday[i] = env->GetStringUTFChars(js_weekday[i], NULL);
         }