- Clean up our LayoutManager code. We actually only need a single
layout manager, since a GridLayoutManager is a LinearLayoutManager,
and list layout is simply grid layout with one column. Make it so.
- Use the layout manager to compute item offsets for one page's worth of
items. Use that to implement page up/page down.
BUG=25195770
Change-Id: I23ddd5fd38532682e7f099b44e188d8c3fec02be
(cherry picked from commit 4d4bf9a21a)
- Pull key handling code out of the MultiSelectManager.
- Tighten up the semantics around range selection:
- Create an API on MultiSelectManager for handling multi-select.
- Make the range selection more opinionated (e.g. more state checks),
to simplify the design and code.
BUG=25195767
Change-Id: I4bbe446ed3059150499db3d28e581b2e68405266
- Remove the gesture detector from the MultiSelectManager, and
consolidate gesture detection and event dispatch logic in
DirectoryFragment.GestureListener.
- Route single-tap events through the DocumentHolder, so that it can
apply view-specific logic, like making a tap on the item's icon
select rather than activate.
- Consolidate event handling logic in the ItemEventListener.
- Add new unit tests for DocumentHandler.
BUG=24326546
Change-Id: Id15cdd11b13e4c063c1baff95aa8ee09c190d6c3
Temporary fix for CTS.
Eventually we'll need to update UiAutomator to support specific input tooltypes.
Bug: 24544391
Change-Id: Ief339d0d35c4305811928e9605b535c7ef230f7b
Fix band selection to not start when crossing off of a grid item into empty space.
This CL also introduces a MotionEvent wrapper class, since MotionEvent
can't be used in tests.
Note that this CL works around several issues with b/23793622.
Bug: 23727363
Change-Id: I010a82db3363d99f2d804db2653a3a25d8cac940
This is required for some of the intent invoked modes when the
"ALLOW_MULTI_SELECT" extra is not present.
Bug: 23155138
Change-Id: Ib92512c7f1c8e906ecca98d69ff727fc865fd53e
Double clicking an item opens it.
BandSelectManager tells MultiSelectManager where its selection begins
so Shift+Click behavior can be complimentary.
BandSelectManager more actively manages selection...so it doesn't
clear existing selection on mouse down.
Change-Id: Ibe65e793e84463d333a19f363dfb0d42c37480e3