OSDN Git Service

am ad435ba7: Merge "Send tab selection event from ScrollingTabContainerView." into...
authorSvetoslav Ganov <svetoslavganov@google.com>
Tue, 16 Apr 2013 21:45:38 +0000 (14:45 -0700)
committerAndroid Git Automerger <android-git-automerger@android.com>
Tue, 16 Apr 2013 21:45:38 +0000 (14:45 -0700)
* commit 'ad435ba7fff45b8a15ebda08f88767511935a5d7':
  Send tab selection event from ScrollingTabContainerView.

core/java/com/android/internal/widget/ScrollingTabContainerView.java

index 04931e7..fa29e6e 100644 (file)
@@ -31,6 +31,8 @@ import android.view.Gravity;
 import android.view.View;
 import android.view.ViewGroup;
 import android.view.ViewParent;
+import android.view.accessibility.AccessibilityEvent;
+import android.view.accessibility.AccessibilityNodeInfo;
 import android.view.animation.DecelerateInterpolator;
 import android.widget.AdapterView;
 import android.widget.BaseAdapter;
@@ -381,6 +383,29 @@ public class ScrollingTabContainerView extends HorizontalScrollView
         }
 
         @Override
+        public void setSelected(boolean selected) {
+            final boolean changed = (isSelected() != selected);
+            super.setSelected(selected);
+            if (changed && selected) {
+                sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_SELECTED);
+            }
+        }
+
+        @Override
+        public void onInitializeAccessibilityEvent(AccessibilityEvent event) {
+            super.onInitializeAccessibilityEvent(event);
+            // This view masquerades as an action bar tab.
+            event.setClassName(ActionBar.Tab.class.getName());
+        }
+
+        @Override
+        public void onInitializeAccessibilityNodeInfo(AccessibilityNodeInfo info) {
+            super.onInitializeAccessibilityNodeInfo(info);
+            // This view masquerades as an action bar tab.
+            info.setClassName(ActionBar.Tab.class.getName());
+        }
+
+        @Override
         public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
             super.onMeasure(widthMeasureSpec, heightMeasureSpec);