diff options
author | RoboErik <epastern@google.com> | 2011-08-26 14:30:10 -0700 |
---|---|---|
committer | RoboErik <epastern@google.com> | 2011-08-26 14:36:56 -0700 |
commit | f9cb58df1deab65ad426d7997fe3e3fdfeef2850 (patch) | |
tree | 77dbbe7c306cf445368872e65ca772fa068cd995 | |
parent | 6cc51adc0015c3ce59c48cc80482cc344ab9e4aa (diff) | |
download | android_packages_apps_Calendar-f9cb58df1deab65ad426d7997fe3e3fdfeef2850.tar.gz android_packages_apps_Calendar-f9cb58df1deab65ad426d7997fe3e3fdfeef2850.tar.bz2 android_packages_apps_Calendar-f9cb58df1deab65ad426d7997fe3e3fdfeef2850.zip |
b/5216482 Add state to calendar visibility accessibility events
Change-Id: I6972ba13c498d75d1a8036309455e6a86368da8a
-rw-r--r-- | res/layout/mini_calendar_item.xml | 7 | ||||
-rw-r--r-- | src/com/android/calendar/month/MonthWeekEventsView.java | 17 | ||||
-rw-r--r-- | src/com/android/calendar/selectcalendars/SelectCalendarsSimpleAdapter.java | 4 |
3 files changed, 25 insertions, 3 deletions
diff --git a/res/layout/mini_calendar_item.xml b/res/layout/mini_calendar_item.xml index 9ac0ea90..1a5989bd 100644 --- a/res/layout/mini_calendar_item.xml +++ b/res/layout/mini_calendar_item.xml @@ -58,4 +58,11 @@ android:visibility="gone" /> + <!-- This is here to provide selection info for accessibility events --> + <CheckBox + android:id="@+id/visible_check_box" + android:layout_width="0dip" + android:layout_height="0dip" + android:visibility="invisible" /> + </RelativeLayout> diff --git a/src/com/android/calendar/month/MonthWeekEventsView.java b/src/com/android/calendar/month/MonthWeekEventsView.java index 40cd4e72..2f2d464d 100644 --- a/src/com/android/calendar/month/MonthWeekEventsView.java +++ b/src/com/android/calendar/month/MonthWeekEventsView.java @@ -19,6 +19,8 @@ package com.android.calendar.month; import com.android.calendar.Event; import com.android.calendar.R; import com.android.calendar.Utils; + +import android.app.Service; import android.content.Context; import android.content.res.Configuration; import android.content.res.Resources; @@ -38,6 +40,7 @@ import android.text.format.Time; import android.util.Log; import android.view.MotionEvent; import android.view.accessibility.AccessibilityEvent; +import android.view.accessibility.AccessibilityManager; import java.util.ArrayList; import java.util.Arrays; @@ -746,12 +749,20 @@ public class MonthWeekEventsView extends SimpleWeekView { @Override public boolean onHoverEvent(MotionEvent event) { + Context context = getContext(); + AccessibilityManager am = (AccessibilityManager) context + .getSystemService(Service.ACCESSIBILITY_SERVICE); + // only send accessibility events if accessibility and exploration are + // on. + if (!am.isEnabled() || !am.isTouchExplorationEnabled()) { + return super.onHoverEvent(event); + } if (event.getAction() != MotionEvent.ACTION_HOVER_EXIT) { Time hover = getDayFromLocation(event.getX()); if (hover != null && (mLastHoverTime == null || Time.compare(hover, mLastHoverTime) != 0)) { Long millis = hover.toMillis(true); - String date = Utils.formatDateRange(getContext(), millis, millis, + String date = Utils.formatDateRange(context, millis, millis, DateUtils.FORMAT_SHOW_DATE); AccessibilityEvent accessEvent = AccessibilityEvent .obtain(AccessibilityEvent.TYPE_NOTIFICATION_STATE_CHANGED); @@ -767,11 +778,11 @@ public class MonthWeekEventsView extends SimpleWeekView { int flags = DateUtils.FORMAT_SHOW_DATE | DateUtils.FORMAT_SHOW_YEAR; if (!e.allDay) { flags |= DateUtils.FORMAT_SHOW_TIME; - if (DateFormat.is24HourFormat(getContext())) { + if (DateFormat.is24HourFormat(context)) { flags |= DateUtils.FORMAT_24HOUR; } } - text.add(Utils.formatDateRange(getContext(), e.startMillis, e.endMillis, + text.add(Utils.formatDateRange(context, e.startMillis, e.endMillis, flags) + ". "); } } diff --git a/src/com/android/calendar/selectcalendars/SelectCalendarsSimpleAdapter.java b/src/com/android/calendar/selectcalendars/SelectCalendarsSimpleAdapter.java index bddfc771..e42af628 100644 --- a/src/com/android/calendar/selectcalendars/SelectCalendarsSimpleAdapter.java +++ b/src/com/android/calendar/selectcalendars/SelectCalendarsSimpleAdapter.java @@ -273,6 +273,10 @@ public class SelectCalendarsSimpleAdapter extends BaseAdapter implements ListAda newParams.height = NORMAL_ITEM_HEIGHT; } view.setLayoutParams(newParams); + CheckBox visibleCheckBox = (CheckBox) view.findViewById(R.id.visible_check_box); + if (visibleCheckBox != null) { + visibleCheckBox.setChecked(selected); + } } view.invalidate(); return view; |