Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3b901c4b authored by Svetoslav Ganov's avatar Svetoslav Ganov Committed by Android Git Automerger
Browse files

am bdabdda8: Merge "CheckBoxPreferences do not fire accessibility events" into honeycomb-mr1

* commit 'bdabdda8':
  CheckBoxPreferences do not fire accessibility events
parents 6a20784e bdabdda8
Loading
Loading
Loading
Loading
+12 −2
Original line number Original line Diff line number Diff line
@@ -24,8 +24,10 @@ import android.os.Parcel;
import android.os.Parcelable;
import android.os.Parcelable;
import android.util.AttributeSet;
import android.util.AttributeSet;
import android.view.View;
import android.view.View;
import android.view.ViewGroup;
import android.view.accessibility.AccessibilityEvent;
import android.view.accessibility.AccessibilityEvent;
import android.view.accessibility.AccessibilityManager;
import android.view.accessibility.AccessibilityManager;
import android.widget.CheckBox;
import android.widget.Checkable;
import android.widget.Checkable;
import android.widget.TextView;
import android.widget.TextView;


@@ -90,8 +92,16 @@ public class CheckBoxPreference extends Preference {
                    checkboxView.isEnabled()) {
                    checkboxView.isEnabled()) {
                mSendAccessibilityEventViewClickedType = false;
                mSendAccessibilityEventViewClickedType = false;


                int eventType = AccessibilityEvent.TYPE_VIEW_CLICKED;
                // we send an event on behalf of the check box because in onBind the latter
                checkboxView.sendAccessibilityEventUnchecked(AccessibilityEvent.obtain(eventType));
                // is detached from its parent and such views do not send accessibility events
                AccessibilityEvent event = AccessibilityEvent.obtain(
                        AccessibilityEvent.TYPE_VIEW_CLICKED);
                event.setClassName(checkboxView.getClass().getName());
                event.setPackageName(getContext().getPackageName());
                event.setEnabled(checkboxView.isEnabled());
                event.setContentDescription(checkboxView.getContentDescription());
                event.setChecked(((Checkable) checkboxView).isChecked());
                mAccessibilityManager.sendAccessibilityEvent(event);
            }
            }
        }
        }