summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXin Li <delphij@google.com>2022-04-01 20:32:41 +0000
committerXin Li <delphij@google.com>2022-04-01 20:32:41 +0000
commit88f0f7ade35c2179b65194b16058de9161fdfada (patch)
tree4bbf7b0ea5012c4204a344213ecc3d52539a1702
parent432b1d6ccbff2600f5ee9e2599627ab5d28835ce (diff)
parentfdda79589b18b0415ec05faf7a112a096a0b85bc (diff)
downloadMedia-88f0f7ade35c2179b65194b16058de9161fdfada.tar.gz
Merge Android 12 QPR3 ab/8391262
Bug: 226662282 Merged-In: I82840ca0ac39ac303f58845738d9ec99cd589404 Change-Id: I511b60170ebbc3b595a40d0f0c65e031ccec6e43
-rw-r--r--src/com/android/car/media/MediaActivity.java4
-rw-r--r--src/com/android/car/media/MediaActivityController.java9
2 files changed, 5 insertions, 8 deletions
diff --git a/src/com/android/car/media/MediaActivity.java b/src/com/android/car/media/MediaActivity.java
index b437a1a..591285a 100644
--- a/src/com/android/car/media/MediaActivity.java
+++ b/src/com/android/car/media/MediaActivity.java
@@ -426,10 +426,6 @@ public class MediaActivity extends FragmentActivity implements MediaActivityCont
break;
case BROWSING:
if (oldMode == Mode.PLAYBACK) {
- // When switching from PLAYBACK mode to BROWSING mode, if a CarUiRecyclerView
- // shows up and it's in rotary mode, restore focus in the CarUiRecyclerView.
- mMediaActivityController.restoreFocusInCurrentNode();
-
ViewUtils.hideViewAnimated(mErrorContainer, 0);
ViewUtils.showViewAnimated(mBrowseContainer, 0);
animateOutPlaybackContainer(fadeOutDuration);
diff --git a/src/com/android/car/media/MediaActivityController.java b/src/com/android/car/media/MediaActivityController.java
index a29b40d..9882e70 100644
--- a/src/com/android/car/media/MediaActivityController.java
+++ b/src/com/android/car/media/MediaActivityController.java
@@ -406,6 +406,7 @@ public class MediaActivityController extends ViewControllerBase {
updateAppBar();
}
+ @NonNull
private BrowseViewController getControllerForItem(@NonNull MediaItemMetadata item) {
BrowseViewController controller = mBrowseViewControllersByNode.get(item);
if (controller == null) {
@@ -438,15 +439,15 @@ public class MediaActivityController extends ViewControllerBase {
}
// If the current node has a CarUiRecyclerView and it's in rotary mode, restore focus in it.
- void restoreFocusInCurrentNode() {
+ // Should remain private and definitely NOT be called from MediaActivity#changeModeInternal
+ // as the controller isn't ready to show the browse data of the new media source (it hasn't
+ // connected to it (b/217159531).
+ private void restoreFocusInCurrentNode() {
MediaItemMetadata currentNode = getCurrentMediaItem();
if (currentNode == null) {
return;
}
BrowseViewController controller = getControllerForItem(currentNode);
- if (controller == null) {
- return;
- }
CarUiRecyclerView carUiRecyclerView =
controller.getContent().findViewById(R.id.browse_list);
if (carUiRecyclerView != null && carUiRecyclerView instanceof LazyLayoutView