Add rotary encoder input source

Devices which have rotating encoders for input devices can mark
their MotionEvents as belonging to SOURCE_ROTARY_ENCODER. This is better
than mapping such input events to pre-existing input sources, which may
result is conflation regarding the expected behaviour of these older input
sources.

Events emanating from this input soruce will be accessible to the View
hierarchy via onGenericMotionEvent().

We also introduce a new axis constant, AXIS_SCROLL, for axis movements
that aren't strictly vertical or horizontal.

Bug: 18707397
Change-Id: I1ad9af7c87b97d2c98b58b71cab2b780d0c86ec3
2 files changed