diff options
author | Nick Chalko <nchalko@google.com> | 2015-11-04 15:15:29 -0800 |
---|---|---|
committer | Nick Chalko <nchalko@google.com> | 2015-11-10 13:59:03 -0800 |
commit | 7d67089aa1e9aa2123c3cd2f386d7019a1544db1 (patch) | |
tree | 6f90c2065a853628dd7704788dd41b787acb6fae /src/com/android/tv/menu/MenuLayoutManager.java | |
parent | 07b043dc3db83d6d20f0e8513b946830ab00e37b (diff) | |
download | TV-7d67089aa1e9aa2123c3cd2f386d7019a1544db1.tar.gz |
Sync to ub-tv-glee at 1.07.007
hash dce17da9f45fc4304787b1898d9915511b1df954
Change-Id: I08ac6fc0123a6653644281155e35c11b71bc5fa0
Diffstat (limited to 'src/com/android/tv/menu/MenuLayoutManager.java')
-rw-r--r-- | src/com/android/tv/menu/MenuLayoutManager.java | 28 |
1 files changed, 15 insertions, 13 deletions
diff --git a/src/com/android/tv/menu/MenuLayoutManager.java b/src/com/android/tv/menu/MenuLayoutManager.java index 187d0e14..265ad840 100644 --- a/src/com/android/tv/menu/MenuLayoutManager.java +++ b/src/com/android/tv/menu/MenuLayoutManager.java @@ -35,6 +35,7 @@ import android.view.ViewGroup.MarginLayoutParams; import android.widget.TextView; import com.android.tv.R; +import com.android.tv.util.SoftPreconditions; import com.android.tv.util.Utils; import java.util.ArrayList; @@ -312,16 +313,16 @@ public class MenuLayoutManager { if (mSelectedPosition == position) { return; } - if (position < 0 || position >= mMenuRowViews.size()) { - String msg = "Invalid position: " + position; - Utils.engThrowElseWarn(TAG, msg, new IllegalArgumentException(msg)); + boolean indexValid = Utils.isIndexValid(mMenuRowViews, position); + SoftPreconditions.checkArgument(indexValid, TAG, "position " + position); + if (!indexValid) { return; } - if (mSelectedPosition >= 0 && mSelectedPosition < mMenuRowViews.size()) { + if (Utils.isIndexValid(mMenuRowViews, mSelectedPosition)) { mMenuRowViews.get(mSelectedPosition).onDeselected(); } mSelectedPosition = position; - if (mSelectedPosition >= 0 && mSelectedPosition < mMenuRowViews.size()) { + if (Utils.isIndexValid(mMenuRowViews, mSelectedPosition)) { mMenuRowViews.get(mSelectedPosition).onSelected(false); } if (mMenuView.getVisibility() == View.VISIBLE) { @@ -348,14 +349,15 @@ public class MenuLayoutManager { if (mSelectedPosition == position) { return; } - if (mSelectedPosition < 0 || mSelectedPosition >= mMenuRowViews.size()) { - String msg = "No previous selection: " + mSelectedPosition; - Utils.engThrowElseWarn(TAG, msg, new IllegalStateException(msg)); + boolean oldIndexValid = Utils.isIndexValid(mMenuRowViews, mSelectedPosition); + SoftPreconditions + .checkState(oldIndexValid, TAG, "No previous selection: " + mSelectedPosition); + if (!oldIndexValid) { return; } - if (position < 0 || position >= mMenuRowViews.size()) { - String msg = "Invalid position: " + position; - Utils.engThrowElseWarn(TAG, msg, new IllegalArgumentException(msg)); + boolean newIndexValid = Utils.isIndexValid(mMenuRowViews, position); + SoftPreconditions.checkArgument(newIndexValid, TAG, "position " + position); + if (!newIndexValid) { return; } if (mAnimatorSet != null) { @@ -629,8 +631,8 @@ public class MenuLayoutManager { if (mMenuView.getVisibility() != View.VISIBLE) { int count = mMenuRowViews.size(); for (int i = 0; i < count; ++i) { - mMenuRowViews.get(i).setVisibility(mMenuRows.get(i).isVisible() ? View.VISIBLE - : View.GONE); + mMenuRowViews.get(i) + .setVisibility(mMenuRows.get(i).isVisible() ? View.VISIBLE : View.GONE); } return; } |