summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xcore/java/android/widget/DatePickerCalendarDelegate.java12
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() {