summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXin Li <delphij@google.com>2022-06-14 16:48:13 -0700
committerXin Li <delphij@google.com>2022-06-14 16:48:13 -0700
commit8666e534a0b568d6647a7f5c518975213519628a (patch)
treee312304a4a955e1835e1faa3a8590a86524178be
parent3a7335815745ea79264872db68299c0923d811d7 (diff)
parent14d20dbada4aeca56b8d6fd398d02c5d9b04dc6b (diff)
downloadMedia-main.tar.gz
Merge Android 12 QPR 3HEADmastermain
Bug: 236045730 Merged-In: I6c4077c0b40dcd8f975e59dca4f3693820ec4fac Change-Id: I38858b525ddf81f3a3e38578660dd37d28c383ab
-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