use of android.util.InternalSelectionView in project android_frameworks_base by crdroidandroid.
the class ScrollingThroughListOfFocusablesTest method testNavigatingUpThroughInternalSelection.
@LargeTest
public void testNavigatingUpThroughInternalSelection() throws Exception {
// get to bottom of second item
for (int i = 0; i < 2; i++) {
for (int j = 0; j < mNumRowsPerItem; j++) {
if (i < 1 || j < mNumRowsPerItem - 1) {
sendKeys(KeyEvent.KEYCODE_DPAD_DOWN);
getInstrumentation().waitForIdleSync();
}
}
}
// (make sure we are at last row of second item)
{
assertEquals(1, mListView.getSelectedItemPosition());
InternalSelectionView view = mActivity.getSelectedView();
assertEquals(mNumRowsPerItem - 1, view.getSelectedRow());
}
// go back up to the top of the second item
for (int i = mNumRowsPerItem - 1; i >= 0; i--) {
assertEquals(1, mListView.getSelectedItemPosition());
InternalSelectionView view = mActivity.getSelectedView();
assertInternallySelectedRowOnScreen(view, i);
// move up to next row
if (i > 0) {
sendKeys(KeyEvent.KEYCODE_DPAD_UP);
getInstrumentation().waitForIdleSync();
}
}
// now we are at top row, should have caused scrolling, and fading edge...
{
assertEquals(1, mListView.getSelectedItemPosition());
InternalSelectionView view = mActivity.getSelectedView();
assertEquals(0, view.getSelectedRow());
view.getDrawingRect(mTempRect);
mListView.offsetDescendantRectToMyCoords(view, mTempRect);
assertEquals("top of selected row should be just below top vertical fading edge", mListView.getVerticalFadingEdgeLength(), view.getTop());
}
// make sure fading edge is the view we expect
{
final InternalSelectionView view = (InternalSelectionView) mListView.getChildAt(0);
assertEquals(mActivity.getLabelForPosition(0), view.getLabel());
}
}
use of android.util.InternalSelectionView in project android_frameworks_base by crdroidandroid.
the class ScrollingThroughListOfFocusablesTest method testScrollingDownInFirstItem.
@MediumTest
public void testScrollingDownInFirstItem() throws Exception {
for (int i = 0; i < mNumRowsPerItem; i++) {
assertEquals(0, mListView.getSelectedItemPosition());
InternalSelectionView view = mActivity.getSelectedView();
assertInternallySelectedRowOnScreen(view, i);
// move to next row
if (i < mNumRowsPerItem - 1) {
sendKeys(KeyEvent.KEYCODE_DPAD_DOWN);
getInstrumentation().waitForIdleSync();
}
}
{
assertEquals(0, mListView.getSelectedItemPosition());
InternalSelectionView view = (InternalSelectionView) mListView.getSelectedView();
// 1 pixel tolerance in case height / 4 is not an even number
final int bottomFadingEdgeTop = mListView.getBottom() - mListView.getVerticalFadingEdgeLength();
assertTrue("bottom of view should be just above fading edge", view.getBottom() == bottomFadingEdgeTop);
}
// make sure fading edge is the expected view
{
assertEquals("should be a second view visible due to the fading edge", 2, mListView.getChildCount());
InternalSelectionView peekingChild = (InternalSelectionView) mListView.getChildAt(1);
assertNotNull(peekingChild);
assertEquals("wrong value for peeking list item", mActivity.getLabelForPosition(1), peekingChild.getLabel());
}
}
use of android.util.InternalSelectionView in project android_frameworks_base by crdroidandroid.
the class ButtonAboveTallInternalSelectionViewTest method testMovingFocusDownToItemTallerThanScreenStillOnScreen.
@MediumTest
public void testMovingFocusDownToItemTallerThanScreenStillOnScreen() {
sendKeys(KeyEvent.KEYCODE_DPAD_DOWN);
getInstrumentation().waitForIdleSync();
final InternalSelectionView isv = getActivity().getIsv();
assertTrue("internal selection view should have taken focus", isv.isFocused());
assertEquals("internal selection view selected row", 0, isv.getSelectedRow());
assertTrue("top of ISV should still be on screen", getActivity().getIsv().getTop() > getActivity().getScrollView().getScrollY());
}
use of android.util.InternalSelectionView in project android_frameworks_base by ParanoidAndroid.
the class ScrollingThroughListOfFocusablesTest method testNoFadingEdgeAtBottomOfLastItem.
@LargeTest
public void testNoFadingEdgeAtBottomOfLastItem() {
// move down to last item
for (int i = 0; i < mNumItems; i++) {
for (int j = 0; j < mNumRowsPerItem; j++) {
if (i < mNumItems - 1 || j < mNumRowsPerItem - 1) {
sendKeys(KeyEvent.KEYCODE_DPAD_DOWN);
getInstrumentation().waitForIdleSync();
}
}
}
assertEquals(mNumItems - 1, mListView.getSelectedItemPosition());
InternalSelectionView view = mActivity.getSelectedView();
assertEquals(mNumRowsPerItem - 1, view.getSelectedRow());
view.getRectForRow(mTempRect, mNumRowsPerItem - 1);
mListView.offsetDescendantRectToMyCoords(view, mTempRect);
assertTrue("bottom of last row of last item should be at " + "the bottom of the list view (no fading edge)", mListView.getBottom() - mListView.getVerticalFadingEdgeLength() < mTempRect.bottom);
}
use of android.util.InternalSelectionView in project android_frameworks_base by ParanoidAndroid.
the class ScrollingThroughListOfFocusablesTest method testScrollingDownInFirstItem.
@MediumTest
public void testScrollingDownInFirstItem() throws Exception {
for (int i = 0; i < mNumRowsPerItem; i++) {
assertEquals(0, mListView.getSelectedItemPosition());
InternalSelectionView view = mActivity.getSelectedView();
assertInternallySelectedRowOnScreen(view, i);
// move to next row
if (i < mNumRowsPerItem - 1) {
sendKeys(KeyEvent.KEYCODE_DPAD_DOWN);
getInstrumentation().waitForIdleSync();
}
}
{
assertEquals(0, mListView.getSelectedItemPosition());
InternalSelectionView view = (InternalSelectionView) mListView.getSelectedView();
// 1 pixel tolerance in case height / 4 is not an even number
final int bottomFadingEdgeTop = mListView.getBottom() - mListView.getVerticalFadingEdgeLength();
assertTrue("bottom of view should be just above fading edge", view.getBottom() == bottomFadingEdgeTop);
}
// make sure fading edge is the expected view
{
assertEquals("should be a second view visible due to the fading edge", 2, mListView.getChildCount());
InternalSelectionView peekingChild = (InternalSelectionView) mListView.getChildAt(1);
assertNotNull(peekingChild);
assertEquals("wrong value for peeking list item", mActivity.getLabelForPosition(1), peekingChild.getLabel());
}
}
Aggregations