List of usage examples for android.view View announceForAccessibility
public void announceForAccessibility(CharSequence text)
From source file:Main.java
/** * Try to speak the specified text, for accessibility. Only available on JB or later. * * @param text Text to announce./*from w w w . jav a 2 s .c o m*/ */ @SuppressLint("NewApi") public static void tryAccessibilityAnnounce(View view, CharSequence text) { if (isJellybeanOrLater() && view != null && text != null) { view.announceForAccessibility(text); } }
From source file:com.appeaser.sublimepickerlibrary.utilities.AccessibilityUtils.java
public static void makeAnnouncement(View view, CharSequence announcement) { if (view == null) return;// w w w. j av a 2s . co m if (SUtils.isApi_16_OrHigher()) { view.announceForAccessibility(announcement); } else { // For API 15 and earlier, we need to construct an accessibility event Context ctx = view.getContext(); AccessibilityManager am = (AccessibilityManager) ctx.getSystemService(Context.ACCESSIBILITY_SERVICE); if (!am.isEnabled()) return; AccessibilityEvent event = AccessibilityEvent .obtain(AccessibilityEvent.TYPE_NOTIFICATION_STATE_CHANGED); AccessibilityRecordCompat arc = AccessibilityEventCompat.asRecord(event); arc.setSource(view); event.setClassName(view.getClass().getName()); event.setPackageName(view.getContext().getPackageName()); event.setEnabled(view.isEnabled()); event.getText().add(announcement); am.sendAccessibilityEvent(event); } }
From source file:com.android.gallery3d.util.AccessibilityUtils.java
public static void makeAnnouncement(View view, CharSequence announcement) { if (view == null) return;//from w w w. jav a2s .com if (ApiHelper.HAS_ANNOUNCE_FOR_ACCESSIBILITY) { view.announceForAccessibility(announcement); } else { // For API 15 and earlier, we need to construct an accessibility event Context ctx = view.getContext(); AccessibilityManager am = (AccessibilityManager) ctx.getSystemService(Context.ACCESSIBILITY_SERVICE); if (!am.isEnabled()) return; AccessibilityEvent event = AccessibilityEvent .obtain(AccessibilityEvent.TYPE_NOTIFICATION_STATE_CHANGED); AccessibilityRecordCompat arc = new AccessibilityRecordCompat(event); arc.setSource(view); event.setClassName(view.getClass().getName()); event.setPackageName(view.getContext().getPackageName()); event.setEnabled(view.isEnabled()); event.getText().add(announcement); am.sendAccessibilityEvent(event); } }
From source file:com.android.fastergallery.util.AccessibilityUtils.java
public static void makeAnnouncement(View view, CharSequence announcement) { if (view == null) return;//from w w w . j av a 2 s.c o m if (ApiHelper.HAS_ANNOUNCE_FOR_ACCESSIBILITY) { view.announceForAccessibility(announcement); } else { // For API 15 and earlier, we need to construct an accessibility // event Context ctx = view.getContext(); AccessibilityManager am = (AccessibilityManager) ctx.getSystemService(Context.ACCESSIBILITY_SERVICE); if (!am.isEnabled()) return; AccessibilityEvent event = AccessibilityEvent .obtain(AccessibilityEvent.TYPE_NOTIFICATION_STATE_CHANGED); AccessibilityRecordCompat arc = new AccessibilityRecordCompat(event); arc.setSource(view); event.setClassName(view.getClass().getName()); event.setPackageName(view.getContext().getPackageName()); event.setEnabled(view.isEnabled()); event.getText().add(announcement); am.sendAccessibilityEvent(event); } }
From source file:com.forrestguice.suntimeswidget.SuntimesUtils.java
/** * @param view the View to trigger the accessibility event * @param msg text that will be read aloud (if accessibility enabled) */// w ww . j av a 2 s . c o m public static void announceForAccessibility(View view, String msg) { if (view == null) return; if (Build.VERSION.SDK_INT >= 16) { view.announceForAccessibility(msg); } //else { // TODO //} }
From source file:com.android.talkback.tutorial.TutorialLessonFragment.java
@Override public void onStart() { super.onStart(); MenuTransformer menuTransformer = mExercise.getContextMenuTransformer(); MenuActionInterceptor menuActionInterceptor = mExercise.getContextMenuActionInterceptor(); TalkBackService service = TalkBackService.getInstance(); if (service != null) { MenuManager menuManager = service.getMenuManager(); menuManager.setMenuTransformer(menuTransformer); menuManager.setMenuActionInterceptor(menuActionInterceptor); }/*from w w w . ja va 2s. c om*/ // We need to post the announcements delayed in order to ensure that the view changed // event gets sent beforehand. This makes the TalkBack speech response flow more logical. Handler handler = new Handler(); handler.postDelayed(new Runnable() { @Override public void run() { View view = getView(); if (view == null) { // Something terrible has happened, e.g. the fragment is gone. return; } view.announceForAccessibility(getTitle()); view.announceForAccessibility(mPage.getSubtitle()); mDescription.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_ACCESSIBILITY_FOCUSED); } }, DELAY_BEFORE_ANNOUNCE_LESSON); mExercise.onInitialized(getActivity()); }
From source file:com.android.deskclock.timer.TimerFragment.java
@Override public void onLeftButtonClick(View view) { final Timer timer = getTimer(); if (timer == null) { return;/*from w w w . j a v a 2 s . c om*/ } if (mAdapter.getCount() > 1) { animateTimerRemove(timer); } else { animateToView(mCreateTimerView, timer); } view.announceForAccessibility(getActivity().getString(R.string.timer_deleted)); }
From source file:com.onyx.deskclock.deskclock.timer.TimerFragment.java
@Override public void onLeftButtonClick(View view) { final Timer timer = getTimer(); if (timer == null) { return;//from w ww . j a v a 2 s.com } if (mAdapter.getCount() > 1) { animateTimerRemove(timer); } else { animateToView(mCreateTimerView, timer); } if (Build.VERSION.SDK_INT >= 16) { view.announceForAccessibility(getActivity().getString(R.string.timer_deleted)); } }
From source file:com.stasbar.knowyourself.timer.TimerFragment.java
public void onStopActivity(View left) { if (mCurrentView == mTimersView) { final Timer timer = getTimer(); if (timer == null) { return; }//from w w w . j a va 2 s . c o m if (mAdapter.getCount() > 1) { animateTimerRemove(timer); } else { animateToView(mCreateTimerView, timer); } left.announceForAccessibility(getActivity().getString(R.string.timer_deleted)); } else if (mCurrentView == mCreateTimerView) { // Clicking the X icon on the timer creation page returns to the timers list. mCreateTimerView.reset(); animateToView(mTimersView, null); left.announceForAccessibility(getActivity().getString(R.string.timer_canceled)); } }
From source file:com.android.deskclock.alarms.dataadapter.ExpandedAlarmViewHolder.java
public ExpandedAlarmViewHolder(View itemView, boolean hasVibrator) { super(itemView); final Context context = itemView.getContext(); mHasVibrator = hasVibrator;//from www . j a v a 2 s . co m mDayOrder = DayOrderUtils.getDayOrder(context); final Resources.Theme theme = context.getTheme(); int[] attrs = new int[] { android.R.attr.selectableItemBackground }; final TypedArray typedArray = theme.obtainStyledAttributes(attrs); final LayerDrawable background = new LayerDrawable( new Drawable[] { ContextCompat.getDrawable(context, R.drawable.alarm_background_expanded), typedArray.getDrawable(0) }); itemView.setBackground(background); typedArray.recycle(); final int firstDay = Utils.getZeroIndexedFirstDayOfWeek(context); delete = (ImageButton) itemView.findViewById(R.id.delete); repeat = (CheckBox) itemView.findViewById(R.id.repeat_onoff); vibrate = (CheckBox) itemView.findViewById(R.id.vibrate_onoff); ringtone = (TextView) itemView.findViewById(R.id.choose_ringtone); editLabel = (TextView) itemView.findViewById(R.id.edit_label); repeatDays = (LinearLayout) itemView.findViewById(R.id.repeat_days); // Build button for each day. LayoutInflater mInflater = LayoutInflater.from(context); for (int i = 0; i < DaysOfWeek.DAYS_IN_A_WEEK; i++) { final CompoundButton dayButton = (CompoundButton) mInflater.inflate(R.layout.day_button, repeatDays, false /* attachToRoot */); dayButton.setText(Utils.getShortWeekday(i, firstDay)); dayButton.setContentDescription(Utils.getLongWeekday(i, firstDay)); repeatDays.addView(dayButton); dayButtons[i] = dayButton; } // Collapse handler itemView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { getItemHolder().collapse(); } }); arrow.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { getItemHolder().collapse(); } }); // Edit time handler clock.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { getAlarmTimeClickHandler().onClockClicked(getItemHolder().item); } }); // Edit label handler editLabel.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { getAlarmTimeClickHandler().onEditLabelClicked(getItemHolder().item); } }); // Vibrator checkbox handler vibrate.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { getAlarmTimeClickHandler().setAlarmVibrationEnabled(getItemHolder().item, ((CheckBox) v).isChecked()); } }); // Ringtone editor handler ringtone.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { getAlarmTimeClickHandler().onRingtoneClicked(getItemHolder().item); } }); // Delete alarm handler delete.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { getAlarmTimeClickHandler().onDeleteClicked(getItemHolder().item); v.announceForAccessibility(context.getString(R.string.alarm_deleted)); } }); // Repeat checkbox handler repeat.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { final boolean checked = ((CheckBox) view).isChecked(); getAlarmTimeClickHandler().setAlarmRepeatEnabled(getItemHolder().item, checked); } }); // Day buttons handler for (int i = 0; i < DaysOfWeek.DAYS_IN_A_WEEK; i++) { final int buttonIndex = i; dayButtons[i].setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { final boolean isChecked = ((CompoundButton) view).isChecked(); getAlarmTimeClickHandler().setDayOfWeekEnabled(getItemHolder().item, isChecked, buttonIndex); } }); } }