summaryrefslogtreecommitdiff
path: root/core/java/android/widget/DatePicker.java
diff options
context:
space:
mode:
authorSvetoslav Ganov <svetoslavganov@google.com>2011-01-27 17:40:13 -0800
committerSvetoslav Ganov <svetoslavganov@google.com>2011-01-27 17:50:14 -0800
commit8a2a89588c3889b999a8fffa2d7c7a5c3ce25eb8 (patch)
treea2b799b75d10dcb2b6e72305bed58d59473aa7e9 /core/java/android/widget/DatePicker.java
parent64a2c359aeda59e4bc43d48f31ade919e918ea26 (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.java12
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());
}