aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2022-04-06 20:39:57 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2022-04-06 20:39:57 +0000
commitcef5ed24e18d9a6003998624e18eef6249893d6b (patch)
tree5e6e393b2123114d919c401c5df2e78adb9ab92f
parent1f5f46034bf1d29dc48f7bb781c2821b3f3ceea9 (diff)
parent64294c580b8b51a403301a92d7205d1fa73ce204 (diff)
downloadTV-android13-qpr1-s1-release.tar.gz
Change-Id: Iac8719ef92a2938a4ac7f3c6f647fda5166cf19b
-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);