OSDN Git Service

Properly announcing HUN state for talkback
authorSelim Cinek <cinek@google.com>
Mon, 8 Sep 2014 16:32:00 +0000 (18:32 +0200)
committerSelim Cinek <cinek@google.com>
Tue, 9 Sep 2014 10:27:50 +0000 (12:27 +0200)
Bug: 17067870
Bug: 16652871
Change-Id: I5d33166eaab31e3ac58d75653c0f80fab23718c2

packages/SystemUI/src/com/android/systemui/statusbar/policy/HeadsUpNotificationView.java

index b2009c3..7f155a1 100644 (file)
@@ -28,6 +28,7 @@ import android.view.ViewConfiguration;
 import android.view.ViewGroup;
 import android.view.ViewOutlineProvider;
 import android.view.ViewTreeObserver;
+import android.view.accessibility.AccessibilityEvent;
 import android.widget.FrameLayout;
 
 import com.android.systemui.ExpandHelper;
@@ -111,6 +112,7 @@ public class HeadsUpNotificationView extends FrameLayout implements SwipeHelper.
             mContentHolder.setVisibility(View.VISIBLE);
             mContentHolder.setAlpha(mMaxAlpha);
             mContentHolder.addView(mHeadsUp.row);
+            sendAccessibilityEvent(AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED);
 
             mSwipeHelper.snapChild(mContentHolder, 1f);
             mStartTouchTime = System.currentTimeMillis() + mTouchSensitivityDelay;
@@ -126,6 +128,14 @@ public class HeadsUpNotificationView extends FrameLayout implements SwipeHelper.
         return true;
     }
 
+    @Override
+    protected void onVisibilityChanged(View changedView, int visibility) {
+        super.onVisibilityChanged(changedView, visibility);
+        if (changedView.getVisibility() == VISIBLE) {
+            sendAccessibilityEvent(AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED);
+        }
+    }
+
     public boolean isShowing(String key) {
         return mHeadsUp != null && mHeadsUp.key.equals(key);
     }