diff options
| author | Svetoslav Ganov <svetoslavganov@google.com> | 2011-01-27 17:40:13 -0800 |
|---|---|---|
| committer | Svetoslav Ganov <svetoslavganov@google.com> | 2011-01-27 17:50:14 -0800 |
| commit | 8a2a89588c3889b999a8fffa2d7c7a5c3ce25eb8 (patch) | |
| tree | a2b799b75d10dcb2b6e72305bed58d59473aa7e9 /core/java/android/widget/DatePicker.java | |
| parent | 64a2c359aeda59e4bc43d48f31ade919e918ea26 (diff) | |
Accessibility support to NumberPicker, DatePicker, and TimePicker
bug:3400707
Change-Id: I0d4b10e9c744e7221a9a7a74081bcee351abbaf2
Diffstat (limited to 'core/java/android/widget/DatePicker.java')
| -rw-r--r-- | core/java/android/widget/DatePicker.java | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/core/java/android/widget/DatePicker.java b/core/java/android/widget/DatePicker.java index 72935723fb29..4a34b45e57d3 100644 --- a/core/java/android/widget/DatePicker.java +++ b/core/java/android/widget/DatePicker.java @@ -30,6 +30,7 @@ import android.util.AttributeSet; import android.util.Log; import android.util.SparseArray; import android.view.LayoutInflater; +import android.view.accessibility.AccessibilityEvent; import android.widget.NumberPicker.OnValueChangeListener; import java.text.ParseException; @@ -353,6 +354,16 @@ public class DatePicker extends FrameLayout { return mIsEnabled; } + @Override + public boolean dispatchPopulateAccessibilityEvent(AccessibilityEvent event) { + int flags = DateUtils.FORMAT_SHOW_DATE | DateUtils.FORMAT_SHOW_WEEKDAY + | DateUtils.FORMAT_SHOW_YEAR; + String selectedDateUtterance = DateUtils.formatDateTime(mContext, + mCurrentDate.getTimeInMillis(), flags); + event.getText().add(selectedDateUtterance); + return true; + } + /** * Gets whether the {@link CalendarView} is shown. * @@ -641,6 +652,7 @@ public class DatePicker extends FrameLayout { * Notifies the listener, if such, for a change in the selected date. */ private void notifyDateChanged() { + sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_SELECTED); if (mOnDateChangedListener != null) { mOnDateChangedListener.onDateChanged(this, getYear(), getMonth(), getDayOfMonth()); } |
