diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2022-04-28 16:08:59 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2022-04-28 16:08:59 +0000 |
commit | fa2bd40659ffdc134cf70ccd766c8c9735d1f72f (patch) | |
tree | 5e6e393b2123114d919c401c5df2e78adb9ab92f | |
parent | ad54369656a1ec8ee788de52479a56d1ac425897 (diff) | |
parent | 48d07ea784a36cc36b7adfde81f290d418c48d4c (diff) | |
download | TV-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.java | 3 | ||||
-rw-r--r-- | src/com/android/tv/menu/MenuView.java | 7 |
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); |