aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2022-04-28 16:08:59 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2022-04-28 16:08:59 +0000
commitfa2bd40659ffdc134cf70ccd766c8c9735d1f72f (patch)
tree5e6e393b2123114d919c401c5df2e78adb9ab92f
parentad54369656a1ec8ee788de52479a56d1ac425897 (diff)
parent48d07ea784a36cc36b7adfde81f290d418c48d4c (diff)
downloadTV-android13-frc-adbd-release.tar.gz
Snap for 8512216 from 48d07ea784a36cc36b7adfde81f290d418c48d4c to tm-frc-adbd-releaset_frc_adb_330444000android13-frc-adbd-release
Change-Id: I092cba6e2c07dcf0bffa8601ea5ae569eb78c547
-rw-r--r--src/com/android/tv/menu/MenuRowView.java3
-rw-r--r--src/com/android/tv/menu/MenuView.java7
2 files changed, 9 insertions, 1 deletions
diff --git a/src/com/android/tv/menu/MenuRowView.java b/src/com/android/tv/menu/MenuRowView.java
index e09a4ef0..27554c22 100644
--- a/src/com/android/tv/menu/MenuRowView.java
+++ b/src/com/android/tv/menu/MenuRowView.java
@@ -95,7 +95,8 @@ public abstract class MenuRowView extends LinearLayout {
@Override
public void sendAccessibilityEvent(View host, int eventType) {
super.sendAccessibilityEvent(host, eventType);
- if (eventType == AccessibilityEvent.TYPE_VIEW_ACCESSIBILITY_FOCUSED &&
+ if ((eventType == AccessibilityEvent.TYPE_VIEW_ACCESSIBILITY_FOCUSED ||
+ eventType == AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED) &&
!mRow.isReselected()) {
requestChildFocus();
}
diff --git a/src/com/android/tv/menu/MenuView.java b/src/com/android/tv/menu/MenuView.java
index add4a774..e1a3379c 100644
--- a/src/com/android/tv/menu/MenuView.java
+++ b/src/com/android/tv/menu/MenuView.java
@@ -25,6 +25,8 @@ import android.view.View;
import android.view.ViewParent;
import android.view.ViewTreeObserver.OnGlobalFocusChangeListener;
import android.view.ViewTreeObserver.OnGlobalLayoutListener;
+import android.view.accessibility.AccessibilityEvent;
+import android.view.accessibility.AccessibilityManager;
import android.widget.FrameLayout;
import com.android.tv.menu.Menu.MenuShowReason;
import java.util.ArrayList;
@@ -192,7 +194,12 @@ public class MenuView extends FrameLayout implements IMenuView {
protected boolean onRequestFocusInDescendants(int direction, Rect previouslyFocusedRect) {
int selectedPosition = mLayoutManager.getSelectedPosition();
// When the menu shows up, the selected row should have focus.
+ AccessibilityManager mAccessibilityManager =
+ getContext().getSystemService(AccessibilityManager.class);
if (selectedPosition >= 0 && selectedPosition < mMenuRowViews.size()) {
+ if(mAccessibilityManager.isEnabled())
+ mMenuRowViews.get(selectedPosition)
+ .sendAccessibilityEvent(AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED);
return mMenuRowViews.get(selectedPosition).requestFocus();
}
return super.onRequestFocusInDescendants(direction, previouslyFocusedRect);