diff options
author | Nick Chalko <nchalko@google.com> | 2016-08-31 16:00:31 -0700 |
---|---|---|
committer | Nick Chalko <nchalko@google.com> | 2016-09-07 05:38:33 -0700 |
commit | 65fda1eaa94968bb55d5ded10dcb0b3f37fb05f2 (patch) | |
tree | ffc8e4c5a71c130d3782bf03e674f9d77ca77f72 /src/com/android/tv/menu/MenuView.java | |
parent | ad819718f80e796cf039f96537b5c8cd127c042b (diff) | |
download | TV-65fda1eaa94968bb55d5ded10dcb0b3f37fb05f2.tar.gz |
Sync to ub-tv-dev at http://ag/1415258
Bug: 30970843
Change-Id: I0aa43094d103de28956a3d9b56a594ea46a20543
Diffstat (limited to 'src/com/android/tv/menu/MenuView.java')
-rw-r--r-- | src/com/android/tv/menu/MenuView.java | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/com/android/tv/menu/MenuView.java b/src/com/android/tv/menu/MenuView.java index e012dfca..4c612520 100644 --- a/src/com/android/tv/menu/MenuView.java +++ b/src/com/android/tv/menu/MenuView.java @@ -89,6 +89,7 @@ public class MenuView extends FrameLayout implements IMenuView { private MenuRowView createMenuRowView(MenuRow row) { MenuRowView view = (MenuRowView) mLayoutInflater.inflate(row.getLayoutResId(), this, false); view.onBind(row); + row.setMenuRowView(view); return view; } @@ -160,6 +161,19 @@ public class MenuView extends FrameLayout implements IMenuView { } @Override + public boolean update(String rowId, boolean menuActive) { + if (menuActive) { + MenuRow row = getMenuRow(rowId); + if (row != null) { + row.update(); + mLayoutManager.onMenuRowUpdated(); + return true; + } + } + return false; + } + + @Override protected boolean onRequestFocusInDescendants(int direction, Rect previouslyFocusedRect) { int selectedPosition = mLayoutManager.getSelectedPosition(); // When the menu shows up, the selected row should have focus. @@ -183,6 +197,15 @@ public class MenuView extends FrameLayout implements IMenuView { } } + private MenuRow getMenuRow(String rowId) { + for (MenuRow item : mMenuRows) { + if (rowId.equals(item.getId())) { + return item; + } + } + return null; + } + private int getItemPosition(String rowIdToSelect) { if (rowIdToSelect == null) { return -1; |