Merge "Fix source for PiP hover accessibility events" into oc-dr1-dev

This commit is contained in:
Phil Weaver
2017-08-10 00:13:04 +00:00
committed by Android (Google) Code Review
2 changed files with 21 additions and 0 deletions

View File

@@ -322,6 +322,20 @@ public class AccessibilityRecord {
return getBooleanProperty(PROPERTY_IMPORTANT_FOR_ACCESSIBILITY);
}
/**
* Sets if the source is important for accessibility.
*
* @param importantForAccessibility True if the source is important for accessibility,
* false otherwise.
*
* @throws IllegalStateException If called from an AccessibilityService.
* @hide
*/
public void setImportantForAccessibility(boolean importantForAccessibility) {
enforceNotSealed();
setBooleanProperty(PROPERTY_IMPORTANT_FOR_ACCESSIBILITY, importantForAccessibility);
}
/**
* Gets the number of items that can be visited.
*

View File

@@ -42,6 +42,7 @@ import android.view.ViewConfiguration;
import android.view.accessibility.AccessibilityEvent;
import android.view.accessibility.AccessibilityManager;
import android.view.accessibility.AccessibilityNodeInfo;
import android.view.accessibility.AccessibilityWindowInfo;
import com.android.internal.logging.MetricsLogger;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
@@ -387,7 +388,10 @@ public class PipTouchHandler {
if (!mSendingHoverAccessibilityEvents) {
AccessibilityEvent event = AccessibilityEvent.obtain(
AccessibilityEvent.TYPE_VIEW_HOVER_ENTER);
event.setImportantForAccessibility(true);
event.setSourceNodeId(AccessibilityNodeInfo.ROOT_NODE_ID);
event.setWindowId(
AccessibilityWindowInfo.PICTURE_IN_PICTURE_ACTION_REPLACER_WINDOW_ID);
mAccessibilityManager.sendAccessibilityEvent(event);
mSendingHoverAccessibilityEvents = true;
}
@@ -397,7 +401,10 @@ public class PipTouchHandler {
if (mSendingHoverAccessibilityEvents) {
AccessibilityEvent event = AccessibilityEvent.obtain(
AccessibilityEvent.TYPE_VIEW_HOVER_EXIT);
event.setImportantForAccessibility(true);
event.setSourceNodeId(AccessibilityNodeInfo.ROOT_NODE_ID);
event.setWindowId(
AccessibilityWindowInfo.PICTURE_IN_PICTURE_ACTION_REPLACER_WINDOW_ID);
mAccessibilityManager.sendAccessibilityEvent(event);
mSendingHoverAccessibilityEvents = false;
}