History log of /packages/apps/DocumentsUI/src/com/android/documentsui/dirlist/UserInputHandler.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
ca2de66ce1ab13c37cdb69cfc52e7a99774ecbca 27-May-2017 Jon Mann <jonmann@google.com> Remove focusableInTouchMode

Bug: 38138366
Test: verified
Change-Id: I1f1b7638a1b0a0d2ef8e4a77c123888e8a803a7b
/packages/apps/DocumentsUI/src/com/android/documentsui/dirlist/UserInputHandler.java
551a2a1d6e005d092a42ce178da55c61028b4cdc 06-May-2017 Jon Mann <jonmann@google.com> Merge "Allow focus from mouse click" into arc-apps
ed895580275101312d7d6fa6ebf78b79b4905a1e 28-Apr-2017 Jon Mann <jonmann@google.com> Allow focus from mouse click

Test: added unit tests and updated existing tests
Bug: 32839582
Change-Id: I5526429be3cbdd10a812db06f87c06e839b3da68
/packages/apps/DocumentsUI/src/com/android/documentsui/dirlist/UserInputHandler.java
11a2c1338f07cc0afd60e7ac6ea6ba505b80dadb 04-May-2017 Ben Lin <linben@google.com> Disable vibration on actionMode start; make it perform on long press.

Test: Updated tests.
Bug: 37922078
Change-Id: I98d806bfd7accdff6fdfb84b1b0d81979f293abe
/packages/apps/DocumentsUI/src/com/android/documentsui/dirlist/UserInputHandler.java
d22cc1852ed3e028a37d713e41c57286d2e4c9f2 15-Mar-2017 Tomasz Mikolajewski <mtomasz@google.com> Fix viewing files in archives by mouse.

Test: Manual tested and partly unit tested.
Bug: 36098427

Change-Id: I5e8e6715249d545a21b97cbc2e525f470451ab87
/packages/apps/DocumentsUI/src/com/android/documentsui/dirlist/UserInputHandler.java
f88bc0b6f1945db1eb11afcfb15bc2c08b13ba9f 09-Feb-2017 Ben Lin <linben@google.com> Better event handling when coming from a trackpad.

Trackpad introduces some interesting behavior. For example, on a regular
two finger scroll, the following sequence of events happens:

ACTION_DOWN
ACTION_POINTER_DOWN
ACTION_MOVE
...
ACTION_MOVE
ACTION_POINTER_UP
ACTION_UP

Since our band selection always assume only ACTION_UP events happen
after ACTION_MOVE and nothing else, our assetion breaks due to a
ACTION_POINTER_UP inbetween. Actively checking this now works.
Futhermore, BandController#shouldStart() should not just return false if
it's secondary click, but rather return false if it's anything that's
not-primary (ie. tertinery, or even no-button clicks).

We also want to scroll for two-finger scrolling, while not scrolling
when mouse dragging. We can check for PointerCount() to disambiguate the
two behaviors.

Bug: 34889365
Change-Id: Ibd20639607201d9534855b2f224763f5aaff19f9
/packages/apps/DocumentsUI/src/com/android/documentsui/dirlist/UserInputHandler.java
f085da0311b87dc1d06975f3fdf48f26a37a2d14 20-Dec-2016 Ben Lin <linben@google.com> Fix broken unit test done by ag/1729776, and added unit test.

Bug: 33740063
Change-Id: I7f87502e390b02eff1b016f24161f4250969d4c2
/packages/apps/DocumentsUI/src/com/android/documentsui/dirlist/UserInputHandler.java
b62d4e5804d807703697ad7eeb85131a35ce4ab4 19-Dec-2016 Ben Lin <linben@google.com> Don't handle key events given to DocHolders of Message type.

This also fixed an issue regarding toggling focus between roots and
dirList.

Bug: 33740063
Change-Id: I020c3a1c02cdc74b3ba3a13ff0455aff393303e9
/packages/apps/DocumentsUI/src/com/android/documentsui/dirlist/UserInputHandler.java
30535bce902104c97bbf70783d684ee673cb7637 04-Nov-2016 Steve McKay <smckay@google.com> Don't log verbose stuff by default.

Bug: 32633923

Verbose logging can be enabled using: adb shell setprop log.tag.Documents VERBOSE

Change-Id: I03a5d4dae54a023d8b1b000bc7ea8e34ffe1035f
/packages/apps/DocumentsUI/src/com/android/documentsui/dirlist/UserInputHandler.java
75b7b9039cf0efcb188e916c6f510328bfe099a8 02-Nov-2016 Ben Lin <linben@google.com> Let focused item also act as a starting anchor for range selection.

Bug: 31991343
Change-Id: Id59cc99a61550cd4a13feb508f13889a8598a3c9
/packages/apps/DocumentsUI/src/com/android/documentsui/dirlist/UserInputHandler.java
aa66c43df01033ccb957bfd1d513945676866f4c 12-Oct-2016 Ben Lin <linben@google.com> Bunch of papercuts.

- Alt+Backspace now acts as delete.
- Alt+Left-click now acts as right click.
- Clicking Share no longer clears selection.
- Middle click does nothing (no longer acts like primary click)

Bug: 31991398
Bug: 31988739
Bug: 31991827
Bug: 31992756
Change-Id: Ic86a65bb2d1e94a8a7fb140bff624483632e84fb
/packages/apps/DocumentsUI/src/com/android/documentsui/dirlist/UserInputHandler.java
bd9f05aa36bf19d8b34d0d73a59e9bd65d3d26eb 10-Oct-2016 Steve McKay <smckay@google.com> Move full delete logic into ActionHandler.

Was spread across DirectoryFragment and UserInputHandlers.
Drop "android" test package in favor of the generic "testing".
Add an interface for ActionModeController (ActionModeAddons), so can be tested.
Moved ActionModeHandler out of dirlist ../up d dir.

Change-Id: Id915519656f163d3c413fe5d440d866c3ce4e2ca
/packages/apps/DocumentsUI/src/com/android/documentsui/dirlist/UserInputHandler.java
4f78ba643270b9d84da1952d8e408220b25ec6fd 05-Oct-2016 Steve McKay <smckay@google.com> Move selection to selection pkg, make activity scoped.

Move all other selection related classes to selection pkg.

Change-Id: I57a3964fada55b0f4d073f05a7833455235221b9
/packages/apps/DocumentsUI/src/com/android/documentsui/dirlist/UserInputHandler.java
41d7e22b9539e651a69e5f505eca1fff096155c6 27-Sep-2016 Ben Lin <linben@google.com> Moving focus around with arrow key should de-select everything.

Bug: 31772316
Change-Id: I49816459bb07be2dc25f3ddc77f58a169dcd0cbe
/packages/apps/DocumentsUI/src/com/android/documentsui/dirlist/UserInputHandler.java
739f94ba0dc9be264d9596dac551fd63082d2fdd 22-Sep-2016 Steve McKay <smckay@google.com> ActionHandler stage 2.

Extract interface, dropping any Activity typed param.
Introduce AbstractActionHandler, depends *only* on concrete Activity.
Make only subclasses know about ManageActivity and PickActivity.
Distribute functionality accordingly.
Pull openInNewWindow into ActivityHandler...
update different cases to all send a stac....
and update launching code to handle a stack with just a root.
Add an almost pointless test for openInNewWindow (but the test harness is in place).

Change-Id: I729ee0c06d3de0c05c0bea118533dd1c1f274783
/packages/apps/DocumentsUI/src/com/android/documentsui/dirlist/UserInputHandler.java
6d20d190bc576bea1da48f79d868a5f383d3458b 22-Sep-2016 Steve McKay <smckay@google.com> Move open,view,preview support into ActionHandler.

....out of FragmentTuner.

Change-Id: If5565cd4b3c034ea247f0c168a4c0bde2703ed27
/packages/apps/DocumentsUI/src/com/android/documentsui/dirlist/UserInputHandler.java
17b761eb2f837d3ac079c07fc33877d6049c3cba 21-Sep-2016 Steve McKay <smckay@google.com> Add support for quick viewing files with spacebar.

Make FocusManager an activity owned object.
Include WRITE permission when building quick view intent.
Only send APKs to Downloads managed flow....
Don't do anything w/ partial files.

Change-Id: I03f2d61f852cf11fd928fc592e47aca933eb72d2
/packages/apps/DocumentsUI/src/com/android/documentsui/dirlist/UserInputHandler.java
2d6caf33ee0d4b851f610dd746b129f9809ca3a0 20-Sep-2016 Ben Lin <linben@google.com> Crash fixes for Gesture selection in Picker mode.

- Prevent Gesture selection from starting if multiple selection is not
allowed.
- Prevent startRange getting called on longPress if the item is not
selectable.

Bug: 31440944
Bug: 31439376
Change-Id: I7ccf54378698c5cc5c70284592d40be4441921d9
/packages/apps/DocumentsUI/src/com/android/documentsui/dirlist/UserInputHandler.java
990f76ea83a249cd8fc3c797e40626b94cd7945c 16-Sep-2016 Steve McKay <smckay@google.com> Lifetime of FragmentTuners scoped to activity.

Add support for resetting with new state from directory fragment.
Update Model to use an EventListener.
Eliminate documentPick handling from base activity and directory fragment...
Plum document picking directly from UserInputHandler to FragmentTuner instances.
Add new EventHandler internface (returns void, more semantic meaning that Consumer<T>).
Replace ModelUpdateListener interface with EventHandler.
Make DocumentAdapters return EventHandler<Model.Update> instead of
implementing ModelUpdateListener.
Move Activity specific FragmentTuner impls along side respective activities.

Change-Id: Ia6a5ab00ede685f7418773ed865d8c51e4125330
/packages/apps/DocumentsUI/src/com/android/documentsui/dirlist/UserInputHandler.java
d9caa6ab53aa784acaf241c0ded3c4ae2d342bf8 16-Sep-2016 Steve McKay <smckay@google.com> Move State to base and root stuff to roots.

And move Shared to base.
And lots more to base.

Change-Id: I8b01264a329473c13c59f0cd25a320ba73dbd82d
/packages/apps/DocumentsUI/src/com/android/documentsui/dirlist/UserInputHandler.java
bff980add478a229b6923f6202152fb792104da0 14-Sep-2016 Steve McKay <smckay@google.com> Move event handler to its own file.

Change-Id: If9e14ec381bfb09f5d57a405956612fb17c3ac1b
/packages/apps/DocumentsUI/src/com/android/documentsui/dirlist/UserInputHandler.java
84bd0f13bd02ea26acc937b00c050884dc7546ef 12-Sep-2016 Garfield Tan <xutan@google.com> Refactor SelectionModeListener.

* Move ActionMode logic into a new class ActionModeController
* Move SelectionDetails logic into MultiSelectionController
* Merge canSelect() and onBeforeItemStateChange()
* Add some basic unit tests for selecting unselectable items
* Fix a bug that selects unselectable items using gestural selection
* Convert MultiSelectManagerTests to JUnit4

Change-Id: I14642178ff39e7b990cc9f3fb0d9f40e6309e087
/packages/apps/DocumentsUI/src/com/android/documentsui/dirlist/UserInputHandler.java
1597e94cd38aff853f5773ebdf3bb9dcb7a8091d 09-Sep-2016 Steve McKay <smckay@google.com> Right click selection fiddling into input handler.

Also, went down the rathole on TestEvent and TestInputEvent.
Collapsed the two into one and updated TestEvent to use
attrs from MotionEvent.

Change-Id: I6d652bc6a833bf7e24e92ecebb05d6b0f17dab47
/packages/apps/DocumentsUI/src/com/android/documentsui/dirlist/UserInputHandler.java
bde20e1550e8d0e468e72c2e7a900d41bd3f09a8 09-Sep-2016 Steve McKay <smckay@google.com> UserInputHandler cleanup.

Obtain DocumentDetails directly from Event...fixing stack trace.
Don't try to do stuff in UserIntputHandler on events w/o details.
Don't call TouchDelegate#onLongPress for mouse events.
Don't clear selection when clicking in mime type icon (w/o CTRL).

Bug: 31350922,31381545

Change-Id: Ibc4e5335cdb41569f9863d87f82dafca58659974
/packages/apps/DocumentsUI/src/com/android/documentsui/dirlist/UserInputHandler.java
f0fceb4cd731f70270970279791365cc6f6e4a49 08-Sep-2016 Steve McKay <smckay@google.com> Don't try to drag non-model-backed views.

Refactor DragStartListener to allow test confirmation of the fix.
Move DragShadowBuilder related code into DragShadowBuilder.Factory.
Further de-concrete-couple DragStartListener from handlers.
Give event handling names in DragStartListener a wee bit more explicit meaning.

Bug: 31350922
Change-Id: I5b4ff88b65c40d3ccadcda3338e547b2c5c6ac32
/packages/apps/DocumentsUI/src/com/android/documentsui/dirlist/UserInputHandler.java
64ac117a2d42bc44cd1d742c82fbdc3afa04f762 07-Sep-2016 Ben Lin <linben@google.com> Add CTRL selection support.

Bug: 30230012
Change-Id: I13b65790058cad2dcd995f072477a64ceb31c63c
/packages/apps/DocumentsUI/src/com/android/documentsui/dirlist/UserInputHandler.java
35f99e02f3fa8af21139be216fc57c123779808d 31-Aug-2016 Ben Lin <linben@google.com> Refactor of BandController/DragStarter/GestureDetector.

- DragStartHelper refactored into DragStartListener, and has no
dependency on framework class
- BandController setup code with RecyclerView moved to
ListeningGestureDetector
- Bulk of code to start drag (drag shadow, Clipper data, drag
title/icon) moved to DragStartListener
- Remove scrolling ability with gesture if using mouse

Change-Id: I8adf7edee6adcf4db3354df757a95e601397066e
/packages/apps/DocumentsUI/src/com/android/documentsui/dirlist/UserInputHandler.java
95f28fbf3c5c4c0f3e3a646ca4689e5117777ad3 19-Aug-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "[multi-part] Gesture Multi-Select Code polish." into nyc-andromeda-dev
63620cc67782e3a3b7d9ae69d22371e94a92ba73 17-Aug-2016 Ben Lin <linben@google.com> [multi-part] Gesture Multi-Select Code polish.

Using Range for multi-select instead of using own logic. However, this
CL removes the erase feature.

Bug: 30101739
Change-Id: If77bb784a669b88e45d49c5bc92a7f4e64aa55e2
/packages/apps/DocumentsUI/src/com/android/documentsui/dirlist/UserInputHandler.java
05acccb9690292104213db620a70a45c7e04566e 18-Aug-2016 Ben Lin <linben@google.com> Removing assertion for UserInputHandler.

Not always true that onDown is always followed up by a onSingleTapUp.

Bug: 30896489
Change-Id: I3636430079abffdcc0520cad024a55431727d2e4
/packages/apps/DocumentsUI/src/com/android/documentsui/dirlist/UserInputHandler.java
40f4488920f028dd16db31d2dfeb952f36528e9f 04-Aug-2016 Ben Lin <linben@google.com> [multi part] Gesture Multi-Select feature.

Couple of side changes:
1. Moved Long Press event to UserInputHandler level. Removed weird
LongPressListener that was lingering in DirectoryFragment.
2. Set RefreshLayout to never intercept events.

Bug: 30101739
Change-Id: Ib1c90f372850200293c366eb406a861853aee628
/packages/apps/DocumentsUI/src/com/android/documentsui/dirlist/UserInputHandler.java
dbcccd65dab76420084315b962855bf9fc66108d 06-Aug-2016 Ben Lin <linben@google.com> Move Right-click handling into UserInputHandler.

Not sure how I missed this the first try, but there's actually a
onDown() method for GestureDetector. What we can do then is override it,
and then call on rightClick if it's a mouse & a secondary click. This
get rid of a lot of hacky stuff we did.

We still have to keep mAteRightClick so we won't do singleTapUp(), which
is logic for single finger press. Also, we need to catch for right click
still in interceptEvent, so that it doesn't go down into its child views
(Who will try to generate a context menu themselves, and ... things stop
working.)

This also fixes the bug listed below, so now all menus are activated via
ACTION_DOWN only.

Bug: 29548676
Change-Id: I4d4acb3fc1f063379b508bc895c9cf70a2eeb245
/packages/apps/DocumentsUI/src/com/android/documentsui/dirlist/UserInputHandler.java
5fd0cbc1bab1029dada9f5d61ce904f3568d1bc3 09-Aug-2016 Steve McKay <smckay@google.com> Eliminate a cycle in class hierarchy.

Bug: 30441125
Change-Id: I861b9ce90e1b148515d7519d399aae3a3322aced
/packages/apps/DocumentsUI/src/com/android/documentsui/dirlist/UserInputHandler.java
2d1e4a3bb8bd58d2f0c92cbedeafe4ab8b71448e 13-Jul-2016 Steve McKay <smckay@google.com> Addition UserInputHandler test coverage.

Pull event handling logic out of MultiSelectManager into UserInputHandler.
Pull out a couple common test support classes.

Change-Id: I8958fec9cda05f52192a07a682c318e049871a8d
/packages/apps/DocumentsUI/src/com/android/documentsui/dirlist/UserInputHandler.java
74956af50b13b5ffde252a13547c960ba3e9c5b4 01-Jul-2016 Steve McKay <smckay@google.com> Consolidate user input handling in single class.

But separate mouse and touch handling into independent (internal) handlers.
Ensure we don't do band select on right click + drag.

Bug: 29575607, 29548676
Change-Id: I247e3ba002751f2cda010125e0e7b4bdd745ac23
/packages/apps/DocumentsUI/src/com/android/documentsui/dirlist/UserInputHandler.java