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);
}