Replace selection interfaces w/ abstract classes.
Decouple selection tests from DocumentsUI package.
Bug: 64847011
Test: Passing.
Change-Id: Ic3ae145921aecbd0bca2bb673e9a522409e6fdbe
diff --git a/tests/unit/com/android/documentsui/DocsSelectionHelperTest.java b/tests/unit/com/android/documentsui/DocsSelectionHelperTest.java
index a1d8778..845a5da 100644
--- a/tests/unit/com/android/documentsui/DocsSelectionHelperTest.java
+++ b/tests/unit/com/android/documentsui/DocsSelectionHelperTest.java
@@ -104,7 +104,7 @@
assertEquals(count, mCreated.size());
}
- private static final class TestSelectionManager implements SelectionHelper {
+ private static final class TestSelectionManager extends SelectionHelper {
private boolean mCleared;
private Map<String, Boolean> mSelected = new HashMap<>();
diff --git a/tests/unit/com/android/documentsui/dirlist/DragScrollListenerTest.java b/tests/unit/com/android/documentsui/dirlist/DragScrollListenerTest.java
index 01a24b5..b8b8a4b 100644
--- a/tests/unit/com/android/documentsui/dirlist/DragScrollListenerTest.java
+++ b/tests/unit/com/android/documentsui/dirlist/DragScrollListenerTest.java
@@ -24,17 +24,14 @@
import android.view.View;
import com.android.documentsui.ItemDragListener;
-import com.android.documentsui.selection.addons.ViewAutoScroller.Callbacks;
+import com.android.documentsui.selection.addons.ViewAutoScroller.ScrollerCallbacks;
import com.android.documentsui.testing.DragEvents;
-import com.android.documentsui.testing.TestTimer;
import com.android.documentsui.testing.Views;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
-import java.util.Timer;
-
@RunWith(AndroidJUnit4.class)
@SmallTest
public class DragScrollListenerTest {
@@ -204,7 +201,7 @@
public void onDragEnded() {}
}
- private class TestScrollActionDelegate implements Callbacks {
+ private class TestScrollActionDelegate extends ScrollerCallbacks {
private int mDy;
diff --git a/tests/unit/com/android/documentsui/selection/DefaultSelectionHelperTest.java b/tests/unit/com/android/documentsui/selection/DefaultSelectionHelperTest.java
index 5726135..301d9c9 100644
--- a/tests/unit/com/android/documentsui/selection/DefaultSelectionHelperTest.java
+++ b/tests/unit/com/android/documentsui/selection/DefaultSelectionHelperTest.java
@@ -21,8 +21,6 @@
import android.support.test.runner.AndroidJUnit4;
import android.util.SparseBooleanArray;
-import com.android.documentsui.dirlist.TestData;
-import com.android.documentsui.dirlist.TestDocumentsAdapter;
import com.android.documentsui.selection.SelectionHelper.SelectionPredicate;
import org.junit.Before;
@@ -38,18 +36,21 @@
@SmallTest
public class DefaultSelectionHelperTest {
- private static final List<String> ITEMS = TestData.create(100);
-
- private final Set<String> mIgnored = new HashSet<>();
- private TestDocumentsAdapter mAdapter;
- private DefaultSelectionHelper mManager;
+ private List<String> mItems;
+ private Set<String> mIgnored;
+ private TestAdapter mAdapter;
+ private DefaultSelectionHelper mHelper;
private TestSelectionObserver mListener;
private SelectionProbe mSelection;
@Before
public void setUp() throws Exception {
+ mIgnored = new HashSet<>();
+ mItems = TestAdapter.createItemList(100);
mListener = new TestSelectionObserver();
- mAdapter = new TestDocumentsAdapter(ITEMS);
+ mAdapter = new TestAdapter();
+ mAdapter.updateTestModelIds(mItems);
+
SelectionPredicate canSelect = new SelectionPredicate() {
@Override
@@ -62,34 +63,38 @@
throw new UnsupportedOperationException("Not implemented.");
}
};
- mManager = new DefaultSelectionHelper(
- DefaultSelectionHelper.MODE_MULTIPLE, mAdapter, mAdapter, canSelect);
- mManager.addObserver(mListener);
+ mHelper = new DefaultSelectionHelper(
+ DefaultSelectionHelper.MODE_MULTIPLE,
+ mAdapter,
+ new TestStableIdProvider(mAdapter),
+ canSelect);
- mSelection = new SelectionProbe(mManager, mListener);
+ mHelper.addObserver(mListener);
+
+ mSelection = new SelectionProbe(mHelper, mListener);
mIgnored.clear();
}
@Test
public void testSelect() {
- mManager.select(ITEMS.get(7));
+ mHelper.select(mItems.get(7));
mSelection.assertSelection(7);
}
@Test
public void testDeselect() {
- mManager.select(ITEMS.get(7));
- mManager.deselect(ITEMS.get(7));
+ mHelper.select(mItems.get(7));
+ mHelper.deselect(mItems.get(7));
mSelection.assertNoSelection();
}
@Test
public void testSelection_DoNothingOnUnselectableItem() {
- mIgnored.add(ITEMS.get(7));
- boolean selected = mManager.select(ITEMS.get(7));
+ mIgnored.add(mItems.get(7));
+ boolean selected = mHelper.select(mItems.get(7));
assertFalse(selected);
mSelection.assertNoSelection();
@@ -97,7 +102,7 @@
@Test
public void testSelect_NotifiesListenersOfChange() {
- mManager.select(ITEMS.get(7));
+ mHelper.select(mItems.get(7));
mListener.assertSelectionChanged();
}
@@ -105,57 +110,57 @@
@Test
public void testSelect_NotifiesAdapterOfSelect() {
- mManager.select(ITEMS.get(7));
+ mHelper.select(mItems.get(7));
- mAdapter.assertSelectionChanged(7);
+ mAdapter.assertNotifiedOfSelectionChange(7);
}
@Test
public void testSelect_NotifiesAdapterOfDeselect() {
- mManager.select(ITEMS.get(7));
- mAdapter.resetSelectionChanged();
- mManager.deselect(ITEMS.get(7));
- mAdapter.assertSelectionChanged(7);
+ mHelper.select(mItems.get(7));
+ mAdapter.resetSelectionNotifications();
+ mHelper.deselect(mItems.get(7));
+ mAdapter.assertNotifiedOfSelectionChange(7);
}
@Test
public void testDeselect_NotifiesSelectionChanged() {
- mManager.select(ITEMS.get(7));
- mManager.deselect(ITEMS.get(7));
+ mHelper.select(mItems.get(7));
+ mHelper.deselect(mItems.get(7));
mListener.assertSelectionChanged();
}
@Test
public void testSelection_PersistsOnUpdate() {
- mManager.select(ITEMS.get(7));
- mAdapter.updateTestModelIds(ITEMS);
+ mHelper.select(mItems.get(7));
+ mAdapter.updateTestModelIds(mItems);
mSelection.assertSelection(7);
}
@Test
public void testSelection_IntersectsWithNewDataSet() {
- mManager.select(ITEMS.get(99));
- mManager.select(ITEMS.get(7));
+ mHelper.select(mItems.get(99));
+ mHelper.select(mItems.get(7));
- mAdapter.updateTestModelIds(TestData.create(50));
+ mAdapter.updateTestModelIds(TestAdapter.createItemList(50));
mSelection.assertSelection(7);
}
@Test
public void testSetItemsSelected() {
- mManager.setItemsSelected(getStringIds(6, 7, 8), true);
+ mHelper.setItemsSelected(getStringIds(6, 7, 8), true);
mSelection.assertRangeSelected(6, 8);
}
@Test
public void testSetItemsSelected_SkipUnselectableItem() {
- mIgnored.add(ITEMS.get(7));
+ mIgnored.add(mItems.get(7));
- mManager.setItemsSelected(getStringIds(6, 7, 8), true);
+ mHelper.setItemsSelected(getStringIds(6, 7, 8), true);
mSelection.assertSelected(6);
mSelection.assertNotSelected(7);
@@ -164,17 +169,17 @@
@Test
public void testRangeSelection() {
- mManager.startRange(15);
- mManager.extendRange(19);
+ mHelper.startRange(15);
+ mHelper.extendRange(19);
mSelection.assertRangeSelection(15, 19);
}
@Test
public void testRangeSelection_SkipUnselectableItem() {
- mIgnored.add(ITEMS.get(17));
+ mIgnored.add(mItems.get(17));
- mManager.startRange(15);
- mManager.extendRange(19);
+ mHelper.startRange(15);
+ mHelper.extendRange(19);
mSelection.assertRangeSelected(15, 16);
mSelection.assertNotSelected(17);
@@ -183,35 +188,35 @@
@Test
public void testRangeSelection_snapExpand() {
- mManager.startRange(15);
- mManager.extendRange(19);
- mManager.extendRange(27);
+ mHelper.startRange(15);
+ mHelper.extendRange(19);
+ mHelper.extendRange(27);
mSelection.assertRangeSelection(15, 27);
}
@Test
public void testRangeSelection_snapContract() {
- mManager.startRange(15);
- mManager.extendRange(27);
- mManager.extendRange(19);
+ mHelper.startRange(15);
+ mHelper.extendRange(27);
+ mHelper.extendRange(19);
mSelection.assertRangeSelection(15, 19);
}
@Test
public void testRangeSelection_snapInvert() {
- mManager.startRange(15);
- mManager.extendRange(27);
- mManager.extendRange(3);
+ mHelper.startRange(15);
+ mHelper.extendRange(27);
+ mHelper.extendRange(3);
mSelection.assertRangeSelection(3, 15);
}
@Test
public void testRangeSelection_multiple() {
- mManager.startRange(15);
- mManager.extendRange(27);
- mManager.endRange();
- mManager.startRange(42);
- mManager.extendRange(57);
+ mHelper.startRange(15);
+ mHelper.extendRange(27);
+ mHelper.endRange();
+ mHelper.startRange(42);
+ mHelper.extendRange(57);
mSelection.assertSelectionSize(29);
mSelection.assertRangeSelected(15, 27);
mSelection.assertRangeSelected(42, 57);
@@ -219,21 +224,21 @@
@Test
public void testProvisionalRangeSelection() {
- mManager.startRange(13);
- mManager.extendProvisionalRange(15);
+ mHelper.startRange(13);
+ mHelper.extendProvisionalRange(15);
mSelection.assertRangeSelection(13, 15);
- mManager.getSelection().mergeProvisionalSelection();
- mManager.endRange();
+ mHelper.getSelection().mergeProvisionalSelection();
+ mHelper.endRange();
mSelection.assertSelectionSize(3);
}
@Test
public void testProvisionalRangeSelection_endEarly() {
- mManager.startRange(13);
- mManager.extendProvisionalRange(15);
+ mHelper.startRange(13);
+ mHelper.extendProvisionalRange(15);
mSelection.assertRangeSelection(13, 15);
- mManager.endRange();
+ mHelper.endRange();
// If we end range selection prematurely for provision selection, nothing should be selected
// except the first item
mSelection.assertSelectionSize(1);
@@ -241,24 +246,24 @@
@Test
public void testProvisionalRangeSelection_snapExpand() {
- mManager.startRange(13);
- mManager.extendProvisionalRange(15);
+ mHelper.startRange(13);
+ mHelper.extendProvisionalRange(15);
mSelection.assertRangeSelection(13, 15);
- mManager.getSelection().mergeProvisionalSelection();
- mManager.extendRange(18);
+ mHelper.getSelection().mergeProvisionalSelection();
+ mHelper.extendRange(18);
mSelection.assertRangeSelection(13, 18);
}
@Test
public void testCombinationRangeSelection_IntersectsOldSelection() {
- mManager.startRange(13);
- mManager.extendRange(15);
+ mHelper.startRange(13);
+ mHelper.extendRange(15);
mSelection.assertRangeSelection(13, 15);
- mManager.startRange(11);
- mManager.extendProvisionalRange(18);
+ mHelper.startRange(11);
+ mHelper.extendProvisionalRange(18);
mSelection.assertRangeSelected(11, 18);
- mManager.endRange();
+ mHelper.endRange();
mSelection.assertRangeSelected(13, 15);
mSelection.assertRangeSelected(11, 11);
mSelection.assertSelectionSize(4);
@@ -266,12 +271,12 @@
@Test
public void testProvisionalSelection() {
- Selection s = mManager.getSelection();
+ Selection s = mHelper.getSelection();
mSelection.assertNoSelection();
// Mimicking band selection case -- BandController notifies item callback by itself.
- mListener.onItemStateChanged(ITEMS.get(1), true);
- mListener.onItemStateChanged(ITEMS.get(2), true);
+ mListener.onItemStateChanged(mItems.get(1), true);
+ mListener.onItemStateChanged(mItems.get(2), true);
SparseBooleanArray provisional = new SparseBooleanArray();
provisional.append(1, true);
@@ -282,22 +287,22 @@
@Test
public void testProvisionalSelection_Replace() {
- Selection s = mManager.getSelection();
+ Selection s = mHelper.getSelection();
// Mimicking band selection case -- BandController notifies item callback by itself.
- mListener.onItemStateChanged(ITEMS.get(1), true);
- mListener.onItemStateChanged(ITEMS.get(2), true);
+ mListener.onItemStateChanged(mItems.get(1), true);
+ mListener.onItemStateChanged(mItems.get(2), true);
SparseBooleanArray provisional = new SparseBooleanArray();
provisional.append(1, true);
provisional.append(2, true);
s.setProvisionalSelection(getItemIds(provisional));
- mListener.onItemStateChanged(ITEMS.get(1), false);
- mListener.onItemStateChanged(ITEMS.get(2), false);
+ mListener.onItemStateChanged(mItems.get(1), false);
+ mListener.onItemStateChanged(mItems.get(2), false);
provisional.clear();
- mListener.onItemStateChanged(ITEMS.get(3), true);
- mListener.onItemStateChanged(ITEMS.get(4), true);
+ mListener.onItemStateChanged(mItems.get(3), true);
+ mListener.onItemStateChanged(mItems.get(4), true);
provisional.append(3, true);
provisional.append(4, true);
s.setProvisionalSelection(getItemIds(provisional));
@@ -306,21 +311,21 @@
@Test
public void testProvisionalSelection_IntersectsExistingProvisionalSelection() {
- Selection s = mManager.getSelection();
+ Selection s = mHelper.getSelection();
// Mimicking band selection case -- BandController notifies item callback by itself.
- mListener.onItemStateChanged(ITEMS.get(1), true);
- mListener.onItemStateChanged(ITEMS.get(2), true);
+ mListener.onItemStateChanged(mItems.get(1), true);
+ mListener.onItemStateChanged(mItems.get(2), true);
SparseBooleanArray provisional = new SparseBooleanArray();
provisional.append(1, true);
provisional.append(2, true);
s.setProvisionalSelection(getItemIds(provisional));
- mListener.onItemStateChanged(ITEMS.get(1), false);
- mListener.onItemStateChanged(ITEMS.get(2), false);
+ mListener.onItemStateChanged(mItems.get(1), false);
+ mListener.onItemStateChanged(mItems.get(2), false);
provisional.clear();
- mListener.onItemStateChanged(ITEMS.get(1), true);
+ mListener.onItemStateChanged(mItems.get(1), true);
provisional.append(1, true);
s.setProvisionalSelection(getItemIds(provisional));
mSelection.assertSelection(1);
@@ -328,11 +333,11 @@
@Test
public void testProvisionalSelection_Apply() {
- Selection s = mManager.getSelection();
+ Selection s = mHelper.getSelection();
// Mimicking band selection case -- BandController notifies item callback by itself.
- mListener.onItemStateChanged(ITEMS.get(1), true);
- mListener.onItemStateChanged(ITEMS.get(2), true);
+ mListener.onItemStateChanged(mItems.get(1), true);
+ mListener.onItemStateChanged(mItems.get(2), true);
SparseBooleanArray provisional = new SparseBooleanArray();
provisional.append(1, true);
provisional.append(2, true);
@@ -344,9 +349,9 @@
@Test
public void testProvisionalSelection_Cancel() {
- mManager.select(ITEMS.get(1));
- mManager.select(ITEMS.get(2));
- Selection s = mManager.getSelection();
+ mHelper.select(mItems.get(1));
+ mHelper.select(mItems.get(2));
+ Selection s = mHelper.getSelection();
SparseBooleanArray provisional = new SparseBooleanArray();
provisional.append(3, true);
@@ -360,12 +365,12 @@
@Test
public void testProvisionalSelection_IntersectsAppliedSelection() {
- mManager.select(ITEMS.get(1));
- mManager.select(ITEMS.get(2));
- Selection s = mManager.getSelection();
+ mHelper.select(mItems.get(1));
+ mHelper.select(mItems.get(2));
+ Selection s = mHelper.getSelection();
// Mimicking band selection case -- BandController notifies item callback by itself.
- mListener.onItemStateChanged(ITEMS.get(3), true);
+ mListener.onItemStateChanged(mItems.get(3), true);
SparseBooleanArray provisional = new SparseBooleanArray();
provisional.append(2, true);
provisional.append(3, true);
@@ -373,21 +378,21 @@
mSelection.assertSelection(1, 2, 3);
}
- private static Set<String> getItemIds(SparseBooleanArray selection) {
+ private Set<String> getItemIds(SparseBooleanArray selection) {
Set<String> ids = new HashSet<>();
int count = selection.size();
for (int i = 0; i < count; ++i) {
- ids.add(ITEMS.get(selection.keyAt(i)));
+ ids.add(mItems.get(selection.keyAt(i)));
}
return ids;
}
- private static Iterable<String> getStringIds(int... ids) {
+ private Iterable<String> getStringIds(int... ids) {
List<String> stringIds = new ArrayList<>(ids.length);
for (int id : ids) {
- stringIds.add(ITEMS.get(id));
+ stringIds.add(mItems.get(id));
}
return stringIds;
}
diff --git a/tests/unit/com/android/documentsui/selection/DefaultSelectionHelper_SingleSelectTest.java b/tests/unit/com/android/documentsui/selection/DefaultSelectionHelper_SingleSelectTest.java
index f1a1062..7f19ff4 100644
--- a/tests/unit/com/android/documentsui/selection/DefaultSelectionHelper_SingleSelectTest.java
+++ b/tests/unit/com/android/documentsui/selection/DefaultSelectionHelper_SingleSelectTest.java
@@ -21,9 +21,6 @@
import android.support.test.filters.SmallTest;
import android.support.test.runner.AndroidJUnit4;
-import com.android.documentsui.dirlist.TestData;
-import com.android.documentsui.testing.SelectionHelpers;
-
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -34,36 +31,44 @@
@SmallTest
public class DefaultSelectionHelper_SingleSelectTest {
- private static final List<String> ITEMS = TestData.create(100);
-
- private SelectionHelper mManager;
+ private List<String> mItems;
+ private SelectionHelper mHelper;
private TestSelectionObserver mListener;
private SelectionProbe mSelection;
@Before
public void setUp() throws Exception {
+ mItems = TestAdapter.createItemList(100);
mListener = new TestSelectionObserver();
- mManager = SelectionHelpers.createTestInstance(ITEMS, DefaultSelectionHelper.MODE_SINGLE);
- mManager.addObserver(mListener);
+ TestAdapter adapter = new TestAdapter();
+ adapter.updateTestModelIds(mItems);
- mSelection = new SelectionProbe(mManager);
+ mHelper = new DefaultSelectionHelper(
+ DefaultSelectionHelper.MODE_SINGLE,
+ adapter,
+ new TestStableIdProvider(adapter),
+ SelectionPredicates.CAN_SET_ANYTHING);
+
+ mHelper.addObserver(mListener);
+
+ mSelection = new SelectionProbe(mHelper);
}
@Test
public void testSimpleSelect() {
- mManager.select(ITEMS.get(3));
- mManager.select(ITEMS.get(4));
+ mHelper.select(mItems.get(3));
+ mHelper.select(mItems.get(4));
mListener.assertSelectionChanged();
mSelection.assertSelection(4);
}
@Test
public void testRangeSelectionNotEstablished() {
- mManager.select(ITEMS.get(3));
+ mHelper.select(mItems.get(3));
mListener.reset();
try {
- mManager.extendRange(10);
+ mHelper.extendRange(10);
fail("Should have thrown.");
} catch (Exception expected) {}
diff --git a/tests/unit/com/android/documentsui/selection/addons/BandSelectionHelperTest.java b/tests/unit/com/android/documentsui/selection/addons/BandSelectionHelperTest.java
index 25d2bf9..b15f657 100644
--- a/tests/unit/com/android/documentsui/selection/addons/BandSelectionHelperTest.java
+++ b/tests/unit/com/android/documentsui/selection/addons/BandSelectionHelperTest.java
@@ -26,11 +26,12 @@
import android.support.v7.widget.RecyclerView.OnScrollListener;
import android.view.MotionEvent;
-import com.android.documentsui.dirlist.TestData;
-import com.android.documentsui.dirlist.TestDocumentsAdapter;
-import com.android.documentsui.selection.addons.BandSelectionHelper;
-import com.android.documentsui.selection.addons.ContentLock;
-import com.android.documentsui.testing.SelectionHelpers;
+import com.android.documentsui.selection.DefaultSelectionHelper;
+import com.android.documentsui.selection.SelectionHelper;
+import com.android.documentsui.selection.SelectionPredicates;
+import com.android.documentsui.selection.TestAdapter;
+import com.android.documentsui.selection.TestStableIdProvider;
+import com.android.documentsui.selection.addons.BandSelectionHelper.BandHost;
import com.android.documentsui.testing.TestEvents.Builder;
import org.junit.Before;
@@ -44,32 +45,41 @@
@SmallTest
public class BandSelectionHelperTest {
- private static final List<String> ITEMS = TestData.create(10);
+ private List<String> mItems;
private BandSelectionHelper mBandController;
private boolean mIsActive;
private Builder mStartBuilder;
private Builder mStopBuilder;
private MotionEvent mStartEvent;
private MotionEvent mStopEvent;
- private TestSelectionHost mSelectionHost;
+ private TestBandHost mBandHost;
@Before
public void setup() throws Exception {
+ mItems = TestAdapter.createItemList(10);
mIsActive = false;
- TestDocumentsAdapter adapter = new TestDocumentsAdapter(ITEMS);
- mSelectionHost = new TestSelectionHost();
+ TestAdapter adapter = new TestAdapter();
+ adapter.updateTestModelIds(mItems);
+ mBandHost = new TestBandHost();
+
+ SelectionHelper helper = new DefaultSelectionHelper(
+ DefaultSelectionHelper.MODE_SINGLE,
+ adapter,
+ new TestStableIdProvider(adapter),
+ SelectionPredicates.CAN_SET_ANYTHING);
+
mBandController = new BandSelectionHelper(
- mSelectionHost,
- adapter, // adapter
- adapter, // stableIds
- SelectionHelpers.createTestInstance(ITEMS),
- SelectionHelpers.CAN_SET_ANYTHING,
+ mBandHost,
+ adapter,
+ new TestStableIdProvider(adapter),
+ helper,
+ SelectionPredicates.CAN_SET_ANYTHING,
new ContentLock()) {
- @Override
- public boolean isActive() {
- return mIsActive;
- }
- };
+ @Override
+ public boolean isActive() {
+ return mIsActive;
+ }
+ };
mStartBuilder = new Builder().mouse().primary().action(MotionEvent.ACTION_MOVE);
mStopBuilder = new Builder().mouse().action(MotionEvent.ACTION_UP);
@@ -108,7 +118,7 @@
@Test
public void testBadStart_RespectsCanInitiateBand() {
- mSelectionHost.mCanInitiateBand = false;
+ mBandHost.mCanInitiateBand = false;
assertFalse(mBandController.shouldStart(mStartEvent));
}
@@ -138,13 +148,21 @@
@Test
public void testBadStart_NoItems() {
- TestDocumentsAdapter emptyAdapter = new TestDocumentsAdapter(Collections.EMPTY_LIST);
+ TestAdapter emptyAdapter = new TestAdapter();
+ emptyAdapter.updateTestModelIds(Collections.EMPTY_LIST);
+
+ SelectionHelper helper = new DefaultSelectionHelper(
+ DefaultSelectionHelper.MODE_SINGLE,
+ emptyAdapter,
+ new TestStableIdProvider(emptyAdapter),
+ SelectionPredicates.CAN_SET_ANYTHING);
+
mBandController = new BandSelectionHelper(
- new TestSelectionHost(),
+ new TestBandHost(),
emptyAdapter,
- emptyAdapter,
- SelectionHelpers.createTestInstance(ITEMS),
- SelectionHelpers.CAN_SET_ANYTHING,
+ new TestStableIdProvider(emptyAdapter),
+ helper,
+ SelectionPredicates.CAN_SET_ANYTHING,
new ContentLock());
assertFalse(mBandController.shouldStart(mStartEvent));
@@ -201,7 +219,7 @@
mStopBuilder.action(MotionEvent.ACTION_DOWN).touch().build()));
}
- private final class TestSelectionHost implements BandSelectionHelper.SelectionHost {
+ private final class TestBandHost extends BandHost {
private boolean mCanInitiateBand = true;
diff --git a/tests/unit/com/android/documentsui/selection/addons/GridModelTest.java b/tests/unit/com/android/documentsui/selection/addons/GridModelTest.java
index 239ea4d..93576a0 100644
--- a/tests/unit/com/android/documentsui/selection/addons/GridModelTest.java
+++ b/tests/unit/com/android/documentsui/selection/addons/GridModelTest.java
@@ -28,10 +28,10 @@
import android.support.v7.widget.RecyclerView.OnScrollListener;
import android.view.MotionEvent;
-import com.android.documentsui.dirlist.TestDocumentsAdapter;
-import com.android.documentsui.selection.SelectionHelper.SelectionPredicate;
-import com.android.documentsui.selection.addons.BandSelectionHelper;
-import com.android.documentsui.selection.addons.GridModel;
+import com.android.documentsui.selection.SelectionPredicates;
+import com.android.documentsui.selection.TestAdapter;
+import com.android.documentsui.selection.TestStableIdProvider;
+import com.android.documentsui.selection.addons.BandSelectionHelper.BandHost;
import org.junit.After;
import org.junit.Test;
@@ -50,21 +50,10 @@
private static final int VIEW_PADDING_PX = 5;
private static final int CHILD_VIEW_EDGE_PX = 100;
private static final int VIEWPORT_HEIGHT = 500;
- private static final SelectionPredicate CAN_SET_ANYTHING = new SelectionPredicate() {
- @Override
- public boolean canSetStateForId(String id, boolean nextState) {
- return true;
- }
-
- @Override
- public boolean canSetStateAtPosition(int position, boolean nextState) {
- return true;
- }
- };
private GridModel mModel;
private TestHost mHost;
- private TestDocumentsAdapter mAdapter;
+ private TestAdapter mAdapter;
private Set<String> mLastSelection;
private int mViewWidth;
@@ -234,7 +223,7 @@
private void initData(final int numChildren, int numColumns) {
mHost = new TestHost(numChildren, numColumns);
- mAdapter = new TestDocumentsAdapter(new ArrayList<String>()) {
+ mAdapter = new TestAdapter() {
@Override
public String getStableId(int position) {
return Integer.toString(position);
@@ -248,9 +237,13 @@
mViewWidth = VIEW_PADDING_PX + numColumns * (VIEW_PADDING_PX + CHILD_VIEW_EDGE_PX);
- mModel = new GridModel(mHost, mAdapter, CAN_SET_ANYTHING);
+ mModel = new GridModel(
+ mHost,
+ new TestStableIdProvider(mAdapter),
+ SelectionPredicates.CAN_SET_ANYTHING);
+
mModel.addOnSelectionChangedListener(
- new GridModel.OnSelectionChangedListener() {
+ new GridModel.SelectionObserver() {
@Override
public void onSelectionChanged(Set<String> updatedSelection) {
mLastSelection = updatedSelection;
@@ -309,7 +302,7 @@
mHost.mScrollListener.onScrolled(null, 0, dy);
}
- private static final class TestHost implements BandSelectionHelper.SelectionHost {
+ private static final class TestHost extends BandHost {
private final int mNumColumns;
private final int mNumRows;
diff --git a/tests/unit/com/android/documentsui/selection/addons/ViewAutoScrollerTest.java b/tests/unit/com/android/documentsui/selection/addons/ViewAutoScrollerTest.java
index 723c979..5bbcd9b 100644
--- a/tests/unit/com/android/documentsui/selection/addons/ViewAutoScrollerTest.java
+++ b/tests/unit/com/android/documentsui/selection/addons/ViewAutoScrollerTest.java
@@ -24,7 +24,7 @@
import android.support.test.runner.AndroidJUnit4;
import com.android.documentsui.selection.addons.ViewAutoScroller;
-import com.android.documentsui.selection.addons.ViewAutoScroller.Callbacks;
+import com.android.documentsui.selection.addons.ViewAutoScroller.ScrollerCallbacks;
import com.android.documentsui.selection.addons.ViewAutoScroller.ScrollHost;
import org.junit.Before;
@@ -49,7 +49,7 @@
private Point mPoint;
private boolean mActive;
private ScrollHost mHost;
- private Callbacks mCallbacks;
+ private ScrollerCallbacks mCallbacks;
private IntConsumer mScrollAssert;
@Before
@@ -74,7 +74,7 @@
}
};
- mCallbacks = new Callbacks() {
+ mCallbacks = new ScrollerCallbacks() {
@Override
public void scrollBy(int dy) {
mScrollAssert.accept(dy);