diff options
| -rwxr-xr-x | core/java/android/widget/DatePickerCalendarDelegate.java | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/core/java/android/widget/DatePickerCalendarDelegate.java b/core/java/android/widget/DatePickerCalendarDelegate.java index 2fd52b5f1230..af22ec7bc755 100755 --- a/core/java/android/widget/DatePickerCalendarDelegate.java +++ b/core/java/android/widget/DatePickerCalendarDelegate.java @@ -65,6 +65,8 @@ class DatePickerCalendarDelegate extends DatePicker.AbstractDatePickerDelegate { private SimpleDateFormat mYearFormat; private SimpleDateFormat mMonthDayFormat; + private SimpleDateFormat mAccessibilityEventFormat; + // Top-level container. private ViewGroup mContainer; @@ -307,6 +309,9 @@ class DatePickerCalendarDelegate extends DatePicker.AbstractDatePickerDelegate { mMonthDayFormat.setContext(DisplayContext.CAPITALIZATION_FOR_STANDALONE); mYearFormat = new SimpleDateFormat("y", locale); + // Clear out the lazily-initialized accessibility event formatter. + mAccessibilityEventFormat = null; + // Update the header text. onCurrentDateChanged(false); } @@ -586,7 +591,12 @@ class DatePickerCalendarDelegate extends DatePicker.AbstractDatePickerDelegate { @Override public void onPopulateAccessibilityEvent(AccessibilityEvent event) { - event.getText().add(mCurrentDate.getTime().toString()); + if (mAccessibilityEventFormat == null) { + final String pattern = DateFormat.getBestDateTimePattern(mCurrentLocale, "EMMMMdy"); + mAccessibilityEventFormat = new SimpleDateFormat(pattern); + } + final CharSequence text = mAccessibilityEventFormat.format(mCurrentDate.getTime()); + event.getText().add(text); } public CharSequence getAccessibilityClassName() { |