aboutsummaryrefslogtreecommitdiff
path: root/src/com/android/tv/menu/MenuView.java
diff options
context:
space:
mode:
authorNick Chalko <nchalko@google.com>2016-08-31 16:00:31 -0700
committerNick Chalko <nchalko@google.com>2016-09-07 05:38:33 -0700
commit65fda1eaa94968bb55d5ded10dcb0b3f37fb05f2 (patch)
treeffc8e4c5a71c130d3782bf03e674f9d77ca77f72 /src/com/android/tv/menu/MenuView.java
parentad819718f80e796cf039f96537b5c8cd127c042b (diff)
downloadTV-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.java23
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;