From a45bf643bd953a1ad5153237a332bacaadb065f7 Mon Sep 17 00:00:00 2001 From: Yabin Huang Date: Wed, 29 Sep 2021 15:58:02 -0700 Subject: Restore focus inside the LazyLayoutView properly Bug: 197590804 Test: manual Change-Id: I427c4f68b81fa4d0089e9bc5e4c2ff78c7da9655 --- src/com/android/car/media/MediaActivityController.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/com/android/car/media/MediaActivityController.java b/src/com/android/car/media/MediaActivityController.java index deda8e1..9811945 100644 --- a/src/com/android/car/media/MediaActivityController.java +++ b/src/com/android/car/media/MediaActivityController.java @@ -448,6 +448,10 @@ public class MediaActivityController extends ViewControllerBase { if (carUiRecyclerView != null && carUiRecyclerView instanceof LazyLayoutView && !carUiRecyclerView.getView().hasFocus() && !carUiRecyclerView.getView().isInTouchMode()) { + // Park the focus on the FocusParkingView to ensure that it can restore focus inside + // the LazyLayoutView successfully later. + mFpv.performAccessibilityAction(ACTION_FOCUS, null); + LazyLayoutView lazyLayoutView = (LazyLayoutView) carUiRecyclerView; com.android.car.ui.utils.ViewUtils.initFocus(lazyLayoutView); } -- cgit v1.2.3