History log of /frameworks/base/core/java/android/widget/HorizontalScrollView.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
9b24e5c53a04d764acca4f0f865575f0bec5583a 05-Apr-2017 Adam Powell <adamp@google.com> Don't crash when passing null to requestChildFocus

Add null checks to ScrollView and HorizontalScrollView for checking
the revealOnFocusHint. This should never happen in code called by
the framework, but some apps were hitting it.

Bug: 36379645
Test: none
Change-Id: I220eb88d82126ff08f47a7c2a7fbdddebf07de81
/frameworks/base/core/java/android/widget/HorizontalScrollView.java
f830652e978ce3eb85528bca81bbdfff2c09cd4a 23-Mar-2017 Aaron Whyte <awhyte@google.com> Split scroll factor into a 2d float.

Test: Existing unit tests, manual sanity check.
BUG=35764483

Change-Id: If6ac121452698747e1f8bc9d4ec0111bb881d4d4
(cherry picked from commit e9956c5c65ecd3aaf7390c10d135749e5adfb344)
/frameworks/base/core/java/android/widget/HorizontalScrollView.java
20ad07358175f116896b9c86d50d6ce4038a66d8 18-Aug-2016 Ned Burns <pixel@google.com> Add rotary encoder support to scrolling containers

Change-Id: I1b7a2a60ac9864f2639af81fff810db601b2fbd4
/frameworks/base/core/java/android/widget/HorizontalScrollView.java
2fe301db7555bccf53e465436d4cb7442c803df3 16-Aug-2016 Adam Powell <adamp@google.com> Focus behavior for scroll containers in watch mode

Change default scrolling containers not to request a reveal (parent
scroll) on focus, and to be focusable in touch mode. This helps watch
devices with other input mechanisms that rely on view focus.

Since there's no attribute for the reveal on focus hint, set that in
code. Set focusable in touch mode on the default styles for
ScrollView/HorizontalScrollView. AbsListView already sets this
historically anyway.

Change-Id: I74760f6d523874127da6f6134f0461cc59ce189a
/frameworks/base/core/java/android/widget/HorizontalScrollView.java
115a6f4d779c451692d75d2c0a638648d36b9867 22-Mar-2016 Yigit Boyar <yboyar@google.com> Multiple fixes in ScrollView and HorizontalScrollView

* Fixes a bug in HSV where it was not using unspecified measurement hint
* Fixed a bug in SV where it was ignoring padding and margin when
specifying measurement hint.
* Fixes a bug in both where padding/margin were not taken into account
when re-mausing for fill viewport.
* Fixes a bug in both where the ViewGroup's padding was ignored when
measureChild is called.

Bug: 27602908
Change-Id: I15cb942e0fc2ef39c753ff35d36e1d007f4e05a8
/frameworks/base/core/java/android/widget/HorizontalScrollView.java
d85bc5074dc1211fdb1c6799d9321af54ac5a32f 21-Jan-2016 Keisuke Kuroyanagi <ksk@google.com> Make scroll bar mouse draggable.

This is for Views that have special mouse dragging handling. e.g.
TextView invokes text selection on mouse dragging, so it cannot be
scrolled by mouse dragging.
This provides such Views or ViewGroups a last resort to scroll as we
don't assume that all devices have touch panel, touch pad, or mouse
wheel.

Bug: 20016455

Change-Id: I68a13258a50b5e4ea681b2576da6000a0bb3fa65
/frameworks/base/core/java/android/widget/HorizontalScrollView.java
a3aa6d827860a27217b147aca6baf44fe14d1db3 03-Jun-2015 Adam Powell <adamp@google.com> Properly restore RTL state in HorizontalScrollView

Fix an incorrect unparceling of the previous saved state in
HorizontalScrollView. Remove an unneeded field in the saved state by
storing scroll offset from start instead of scrollX + isRtl.

Bug 20666194

Change-Id: I1ec45b3e3bd0846b5f659356df7ff94f42e61055
/frameworks/base/core/java/android/widget/HorizontalScrollView.java
94a6d15ede149189bba9e5f474ed853c98230e75 06-May-2015 Siva Velusamy <vsiva@google.com> Use new hierarchy viewer protocol in all View subclasses

A previous CL introduced a new way of encoding view properties for
use by heirarchy viewer. This CL updates all views using the old
@ExportedProperty annotation to use this new method. The older
mechanism will be removed in a subsequent CL.

Change-Id: I6cc23b90cd9da1c6ce89b4caffe54874db203452
/frameworks/base/core/java/android/widget/HorizontalScrollView.java
ac6ffce1711b84682521e6c2e55865c60929fd88 27-Apr-2015 Maxim Bogatov <maximbogatov@google.com> Add accessibility actions for scrolling in different directions

b/20157498

ACTION_SCROLL_UP, ACTION_SCROLL_DOWN, ACTION_SCROLL_LEFT and ACTION_SCROLL_RIGHT
actionos were added in addition to ACTION_SCROLL_FORWARD/BACKWARD

Change-Id: I8d5182a8add32085a354b280496b3d38ec79be32
/frameworks/base/core/java/android/widget/HorizontalScrollView.java
08c7116ab9cd04ad6dd3c04aa1017237e7f409ac 28-Feb-2015 John Spurlock <jspurlock@google.com> Remove unused imports in frameworks/base.

Change-Id: I031443de83f93eb57a98863001826671b18f3b17
/frameworks/base/core/java/android/widget/HorizontalScrollView.java
a7bb6fbeab933326d58aa806d8194b7b13239d34 04-Feb-2015 Dianne Hackborn <hackbod@google.com> First quick implementation of auto assist data.

Introduce new AssistData class that contains all data
the framework automatically generates for assist. Currently
populated with a very simple tree structure representing
the app's view hierarchy.

Reworked how we populate the class name for accessibility
info, so this is provided through a new method call on View
that subclasses can override. This method is also used
to populate the class name in AssistData.

Change-Id: Ibd0acdc8354727d4291473283b5e4b70894905dc
/frameworks/base/core/java/android/widget/HorizontalScrollView.java
4c05c4c216505dde1d9f088cfdb36d2512bcb4fd 28-Jan-2015 Alan Viverette <alanv@google.com> Fix fallout from merging e5743753 conflicts

Change-Id: Iad16381bdf925a05e2ec609c3a5442c2a0354be9
/frameworks/base/core/java/android/widget/HorizontalScrollView.java
a54956a0bc611b1e9b3914edc7a604b59688f6b7 08-Jan-2015 Alan Viverette <alanv@google.com> Fix accessibility delegation

Ensures that delegate code is run last. Previously, calling the super
method from an accessibility delegate set on a widget would only run
code in the widget's parent. Next, the delegate code would run. Finally,
the widget's code would run. As a result, the widget code would override
any data supplied by the delegate.

By moving all overridden code to internal methods, we ensure that the
call chain for super includes the widget's parent code followed by the
widget's code. The delegate code will always run last.

BUG: 17641433
Change-Id: Ib9d403156c1fc4fb04f65f3c126d1277a44b3740
/frameworks/base/core/java/android/widget/HorizontalScrollView.java
b3fa2787eabd2be6d7780e215db0d9a5904ba47c 05-Dec-2014 Svet Ganov <svetoslavganov@google.com> When accessibility on cannot click on a view covered by a HorizontalScrollView

In accessibility mode we send down and up events activate a view. We will later
switch to accessibility actions but for now as a bridge-gap we compute a point on
the screen where to click for activating the view. The heuristic we use has edge
cases such as a view that handles all touch events but does not have any listeners.
In this case we do not ignore the target view's area covered by a view that handles
all touch events. As a result we click on the wrong target. While we cannot solve
this generically, in the case of standard components such as HorizontalScrollView
we can.

bug:18612258

Change-Id: If8482aac0d0ea53c5c90367d099d1b8d3a4559ed
/frameworks/base/core/java/android/widget/HorizontalScrollView.java
c501db9f44f7967961f0ba61a0b3b63055ac1190 08-May-2014 Adam Powell <adamp@google.com> New, inkier EdgeEffect visual style

Remove the two-part gradient and edge glow and replace it with a
circular ink-like style instead. This now follows the theme color
palette so that it can be more in tune with the app's overall visual
design.

Add API to EdgeEffect to specify a horizontal displacement for the
effect. This lets the larger middle section follow relevant touch
points.

Fix a bug that caused EdgeEffect pulls to stutter in ListView/GridView
as a result of some annoying state-fluttering.

Change-Id: Ief144b06bd9d3dbe85d3154585a703fa552b0808
/frameworks/base/core/java/android/widget/HorizontalScrollView.java
617feb99a06e7ffb3894e86a286bf30e085f321a 10-Sep-2013 Alan Viverette <alanv@google.com> Add View constructor that supplies a default style resource

Also updates the constructor of every class that extends View.

BUG: 10676369
Change-Id: Ifaf27bf82028d180afa4931c0e906df88d858ac3
/frameworks/base/core/java/android/widget/HorizontalScrollView.java
7a46dde1ae56a85fcb5cdac91173424b6355bf3c 17-Jul-2013 Chet Haase <chet@google.com> Changed name of recent hasLayout() method to isLaidOut()

This new method on view reflects whether the view has been laid out
at least once since it was attached. hasLayout() seems too vague for that
meaning; every View that has a parent has a layout (since we use container,
parent, and layout interchangeably). The new version of the method
is closer to the actual meaning.

Change-Id: I519745739b6a6317faeb077aa61f994025cf81f3
/frameworks/base/core/java/android/widget/HorizontalScrollView.java
1cc0a6514f3f1865d93bdf12cd01002ab4099ed0 19-Jun-2013 Fabrice Di Meglio <fdimeglio@google.com> Merge "Fix potential NPE if there is no child in HorizontalScrollView"
f2fb76cc23e18f7b15f7244e6352d024b5008f38 18-Jun-2013 Fabrice Di Meglio <fdimeglio@google.com> Fix potential NPE if there is no child in HorizontalScrollView

- related to the previous change for saving the scroll position
- also related to bug #9463581 NPE observed while launching News&Weather app from all apps tray

Change-Id: I9f2f8a246e793eefa1cf510e15a56a1058fb9c18
/frameworks/base/core/java/android/widget/HorizontalScrollView.java
90f339a5a343f82c3c32e4467c54ded94a1807a1 14-Jun-2013 Adam Powell <adamp@google.com> Don't save ScrollView/HorizontalScrollView saved state for old apps

Older apps may have given IDs to ScrollViews and views of a different
class in layouts that vary by configuration. Now that ScrollViews save
state this causes ClassCastExceptions when trying to restore instance
state.

Only save new instance state for ScrollView/HorizontalScrollView for
apps targeting post-API 18.

Change-Id: Icaa095cd20bef35dddc225a17c5a8e30b3faea02
/frameworks/base/core/java/android/widget/HorizontalScrollView.java
fafe88c3d983f1578e096af69ab8420c846b237e 13-Jun-2013 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #9302365 HorizontalScrollView is not RTL aware

- follow up for cleaning the state

Change-Id: I850d0da5ff8813d1c7a6f2277bddba1b8ccc07ec
/frameworks/base/core/java/android/widget/HorizontalScrollView.java
c4d712237cba31d0f34c6b96ea3533d4a8e1f028 12-Jun-2013 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #9302365 HorizontalScrollView is not RTL aware

- make FrameLayout capable of forcing a Gravity.LEFT (when there will be
only one child with Gravity.RIGHT and wider than its parent like for
HorizontalScrollView)
- fix onLayout() so that it is forcing Gravity.LEFT if needed and
setting correctly the initial mScrollX
- also add restore/save from an instance state (by saving if the layout
is RTL and the scroll position)

Change-Id: Ida7ff4654c6a54a1696c2575af46f044dd1aabc8
/frameworks/base/core/java/android/widget/HorizontalScrollView.java
cb25bd8c2b41fad0f65114c42d8f6e732645dd96 04-Jun-2013 Alan Viverette <alanv@google.com> Prevent scroll views from sending duplicate onScrollChanged events.

Moves the call to onScrollChanged from onTouchEvent into onOverScrolled,
which ensures only one of scrollTo or onScrollChanged will be called in
a single execution.

Bug: 7584549
Change-Id: Ibccd98a30835efad75eb41bcdd4b136e1b8e0ddd
/frameworks/base/core/java/android/widget/HorizontalScrollView.java
0dc291eef630cbc3c4479fff8c549567ac980f87 21-Feb-2011 Johan Rosengren <johan.rosengren@sonyericsson.com> Protecting more views from (bad) MotionEvents

When handling MotionEvents, the method findPointerIndex can return -1
if the current pointer id can't be translated to a pointer index.
Some views are not handling this, which will lead to an out-of-
index crash. In 2585e9b there were checks added, this change adds
some more.

Change-Id: I93ce2420afd83a06b689a1ed35ead7d170cd68f1
/frameworks/base/core/java/android/widget/HorizontalScrollView.java
15279cfc566aee7f860ebfdfe9d4a6fbc0497362 03-Jul-2012 Scott Main <smain@google.com> docs: fix document issue 27549

Change-Id: I17995fd70978657a46ccfc77fa2ae84c56a05255
/frameworks/base/core/java/android/widget/HorizontalScrollView.java
fb1e80a247221ee7e8f5c5deba04812021d9d07e 17-May-2012 Svetoslav Ganov <svetoslavganov@google.com> Exposing some accessiblity actions only for enabled views.

1. Some accessibility actions should not be performed on disabled
views. For example, scrolling should not be permitted while
accessibility focus should be. Made a quick pass over the
actions we expose now.

Change-Id: I36626dfbc0d2f480309a910f58f1de64e9e05675
/frameworks/base/core/java/android/widget/HorizontalScrollView.java
48d1586f4065fc9ab97a679da1e4f7c327c943f2 15-May-2012 Svetoslav Ganov <svetoslavganov@google.com> Add accessibility scroll support to some widgets.

1. Added support for accessibility scroll action to
some widgets that are scrollable.

2. Making the super call when handling an accessibility
action in the views to call super first to allow
an accessibility delegate to intercept the call.

bug:5932640

Change-Id: I5eb37d64bf9fba1d5c596981132e0df717e2a18a
/frameworks/base/core/java/android/widget/HorizontalScrollView.java
a1dc761c8322355eb1bb71d3d6c9c603c1d1fc0f 10-May-2012 Svetoslav Ganov <svetoslavganov@google.com> Adding scroll actions to accessibility node info.

1. Scrolling actions are crucial for enabling a gesture based
traversal of the UI and specifically scrollable containers
especially lists and anything backed by an adapter. Since
accessibility focus can land only attached views, it cannot
visit views for adapter items not shown on the screen.
Auto scrolling the list as a result of putting access focus
ot a list item does not work well since the user may get
trapped in a long list. Adding an accessibility node provider
to emit virtual views for one view before the first and one
after the last is complex and suffers the limitation of trapping
the user. Accessibility service need an explicit scroll actions
which may be performed upon an explicit user action. Hence,
the user is informed for the start/end of the visible part of
the list and he makes a deliberate choice to scroll. This will
benefit also people developing Braille devices since they can
scroll the content without telling the user to stop using the
Braille controller and take the device out of his pocket to scroll
and go back to the Braille controller.

NOTE: Without these action large portions of the screen will be
hard to access since users will have to touch and explore to
find and scroll the list.

Change-Id: Iafcf54d4967893205872b3649025a4e347a299ed
/frameworks/base/core/java/android/widget/HorizontalScrollView.java
b3e02c44d57ac18d1debf21044289cf85d0dd672 03-May-2012 Adam Powell <adamp@google.com> Fix nested cross-scrolling for ScrollView/HorizontalScrollView

Bug 6429006

Disallow intercepting touch events for parents of
ScrollView/HorizontalScrollView when scrolling begins. Properly
respect touch slop when the child of a ScrollView does not accept
touch events.

Change-Id: I2ce503ad5104d450829ed58cd2748c9163e020d3
/frameworks/base/core/java/android/widget/HorizontalScrollView.java
df3ae4f3aea3bdce6bb54133c8a07a26bf207c3c 11-Apr-2012 Adam Powell <adamp@google.com> Invalidate for scrolling animations on the animation timer

Change View methods awakenScrollBars and scrollTo to post their
invalidation on the animation timer. Since these are often used in
computeScroll or similar to continue scrolling or flinging it should
not prevent other posted events from being processed before the frame
is actually drawn. (All changes in scroll position, etc. are
immediately reflected after the calls and do not need a draw to
present correct data about scroll position to apps.)

Don't accumulate floating point error while dragging
ScrollView/HorizontalScrollView.

Change-Id: I05b57d75f89a806488e46a8fb79b85d80f56d45d
/frameworks/base/core/java/android/widget/HorizontalScrollView.java
e72cf7341a608402309ce894fc12d050cc7c0e14 20-Mar-2012 Romain Guy <romainguy@google.com> Put back invalidate optimization

Change-Id: I6407e452deb44e50a50632961e960cf0bd39b09d
/frameworks/base/core/java/android/widget/HorizontalScrollView.java
e979e62ac7313b7cffe9b131bb8a99c356068b45 20-Mar-2012 Romain Guy <romainguy@google.com> Code cleanup

Change-Id: I390e92b4a778bd9dcde6535178c1a6b204b29fe4
/frameworks/base/core/java/android/widget/HorizontalScrollView.java
f76a50ce8fdc6aea22cabc77b2977a1a15a79630 09-Mar-2012 Ken Wakasa <kwakasa@google.com> Fix obvious typos under frameworks/base/core

Change-Id: Ia5fc3db1bb51824e7523885553be926bcc42d736
/frameworks/base/core/java/android/widget/HorizontalScrollView.java
8a78fd4d9572dff95432fcc4ba0e87563415b728 17-Jan-2012 Svetoslav Ganov <svetoslavganov@google.com> AccessibilityEvent/AccessibilityNodeInfo class name property should be set to only framework classes.

AccessibilityEvent and AccessibilityNodeInfo have a property className which is set to the source
Java class. This is problematic since leads to leaking private classes which would allow an
accessibility service to load classes from other packages. This is strongly undesirable since
not trusted code can be loaded, and hence executed, in the accessibility service. To address
that the class name is set to the most concrete framework class extended by the info/event
source.

bug:5878943

Change-Id: I7b3114ece8772ea2773f5151e21b8a6f2006882a
/frameworks/base/core/java/android/widget/HorizontalScrollView.java
9edd58e9504cc3f070758e9125c49a72a3642186 29-Oct-2011 Michael Jurka <mikejurka@google.com> HorizontalScrollView should delay child presses

In Recents in landscape, we were seeing blue flashes when scrolling; generally, almost every scrolling container should be delaying child presses to prevent this problem
/frameworks/base/core/java/android/widget/HorizontalScrollView.java
d9ee72fddb8be40e414a831fb80458dc48699613 06-Oct-2011 Svetoslav Ganov <svetoslavganov@google.com> Fixing errors in position information of scrollable views reported for accessibility.

1. ScrollView/HorizontalScroll view were reporting only the scroll X and Y but
failed to convey the max scroll along X and Y so the position can be determined.

2. WebView was not reporting correctly its scroll position for accessibility.

3. Some descendants of AdapterView were reporting incorrect position information.

4. Updated the accessibility docs with some details about the scroll information.

5. Cleaned up duplicated code.

bug:5412132
bug:5412265

Change-Id: I165e73ecde027dad811425b9f395a3f758c923ba
/frameworks/base/core/java/android/widget/HorizontalScrollView.java
82e236d72ac197d6673d0b4d484fe5f0b9436731 30-Sep-2011 Svetoslav Ganov <svetoslavganov@google.com> The logic for not populating text to some accessibility events is scattered.

1. Some accessibility evenents should not and were not dispatched for
text population but there was no centralized location for enforcing
this - rather the system was firing them in a specific way or there
were conditions in a few places enforcing that. Now this is centralized
and clean.

2. Updated the documentation with some new event types the were lacking.

3. Explicitly stated in the documentaition which events are dispatched to
the sub-tree of the source for text populatation.

bug:5394527

Change-Id: I86e383807d777019ac98b970c7d9d02a2f7afac6
/frameworks/base/core/java/android/widget/HorizontalScrollView.java
f6a6c97062d905be267fcb8f70e6eb06fb7e5ab4 29-Sep-2011 Adam Powell <adamp@google.com> Fix bug 5385274 - tabs in browser can't be scrolled

Fix a regression related to optimizing invalidation in scrolling
views.

Change-Id: I6a39075dc830d78436a274935a904a32084defac
/frameworks/base/core/java/android/widget/HorizontalScrollView.java
e9dbef85d36ce4030dae29af0d80db8d6fd0b972 13-Sep-2011 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #5282141 ScrollView overscroll should not generate invalidations when not needed (ANR textview redraws constantly when touched)

- check if the overscroll range is not 0
- check if we are in the correct overscroll mode
- also udpate HorizontalScrollView the same way

Change-Id: I0bb37f9813a5871eb856914786db5c06de59e4d3
/frameworks/base/core/java/android/widget/HorizontalScrollView.java
89935e41c593a599e8955388b27fb926e60e5e94 31-Aug-2011 Adam Powell <adamp@google.com> Make EdgeEffect public API.

This enables apps to make use of the system's visual edge effect used
during overscroll in 2D content.

Also un-@hide the getCurrVelocity methods from Scroller/OverScroller,
without which it becomes cumbersome to obtain values to pass to the
EdgeEffect#onAbsorb method.

Change-Id: I40e452455f5cb5d45d1fb3687f739fc8eae65560
/frameworks/base/core/java/android/widget/HorizontalScrollView.java
13451a476a1951a19d3cb531c47bf5a51587800a 23-Aug-2011 Michael Jurka <mikejurka@google.com> Track motion events before we decide to start scrolling

Change-Id: I0e2de488c62814982a21b7a7debbf1cd78e5891c
/frameworks/base/core/java/android/widget/HorizontalScrollView.java
a6111377e1edbc5d63fc2a7205d58b2d9c21d978 15-Jul-2011 Jeff Brown <jeffbrown@google.com> Remove edge slop support.

The edge slop feature was added a long time ago for a specific
device that had severe non-linear touch response issues near
the edges of its touch screen. The feature is not useful on
modern hardware that is property calibrated.

Change-Id: I26716cbc7411c31883ddb4bb4ddd981027790d0f
/frameworks/base/core/java/android/widget/HorizontalScrollView.java
a0156177cdc809795dd8bc5a19943dd2b6f82b66 27-Jun-2011 Svetoslav Ganov <svetoslavganov@google.com> Added scroll and text selection change accessibility events.

1. Added scrolling accessibility event to provicde feedback
when a view is scrolled.

Note: We need scroll events for ICS since even though we have
touch exploration the user does not know when something
is scrollable and not feedback is provided while scrolling.

bug:4902097

2. Added a text selection change event to provide feedback
for selection changes including cursor movement.

Note: We need the text selection change events for ICS since
even though the IME supports navigation in text fields
the user receives no feedback for the current selection/
cursor position.

bug:4586186

3. Added a scrollable property to both AccessibilityEvent and
AccessibilityNodeInfo. The info has to describe the source
in terms of all properties that make sense for accessibility
purposes and the event has this property (kinda duplicated)
since clients will aways want to know if the source is
scrollable to provided clue to the user and we want to avoid
pulling the info of the source for every accessibility event.

Change-Id: I232d6825da78e6a12d52125f51320217e6fadb11
/frameworks/base/core/java/android/widget/HorizontalScrollView.java
2243e555b061254f7f0f72ca1d6cd44db6c266fa 08-Mar-2011 Romain Guy <romainguy@google.com> Correctly handle opaque fading views
Bug #3475554

Change-Id: Ia4915ada67046486103dfc6f08e4dac8564f85dd
/frameworks/base/core/java/android/widget/HorizontalScrollView.java
9bc30d31322848d61f518c1db43544988faaba8f 28-Feb-2011 Adam Powell <adamp@google.com> Change behavior of multitouch in scrolling views.

New pointers touching the screen always become the active pointer.

Still to do: allow flings until another pointer moves enough to stop
it. Currently flings will be immediately stopped by the other pointers
still contacting the screen.

Change-Id: Ic1c7bf98dcf40252593cec0ab1f0d524aaeed8e4
/frameworks/base/core/java/android/widget/HorizontalScrollView.java
33bbfd2232ea9eaae9a9d87a05a95a430f09bd83 25-Feb-2011 Jeff Brown <jeffbrown@google.com> Add support for mouse hover and scroll wheel.

Dispatch ACTION_HOVER_MOVE and ACTION_SCROLL through the View
hierarchy as onGenericTouchEvent. Pointer events dispatched
this way are delivered to the view under the pointer. Non-pointer
events continue to be delivered to the focused view.

Added scroll wheel support to AbsListView, ScrollView,
HorizontalScrollView and WebView. Shift+VSCROLL is translated
to HSCROLL as appropriate.

Added logging of new pointer events in PointerLocationView.

Fixed a problem in EventHub when a USB device is removed that
resulted in a long stream of ENODEV errors being logged until INotify
noticed the device was gone.

Note that the new events are not supported by wallpapers at this time
because the wallpaper engine only delivers touch events.

Make all mouse buttons behave identically. (Effectively we only
support one button.)

Change-Id: I9ab445ffb63c813fcb07db6693987b02475f3756
/frameworks/base/core/java/android/widget/HorizontalScrollView.java
2ed2eacd7e0569675410f1e62238b708c5dcc8ac 25-Feb-2011 Gilles Debunne <debunne@google.com> Code clean-up around ScrollView.

Change-Id: Ia110f30279a93c96741e9afbd93ed6231aa97ef1
/frameworks/base/core/java/android/widget/HorizontalScrollView.java
7d86378b0c3a02499a5a9aab35851424ffa57bd8 16-Feb-2011 Adam Powell <adamp@google.com> Fix bug 3362273 - Make overscroll glow appear within padding region

Change-Id: I3c6513ada6bdd192c83f3ff59a2c85717156de22
/frameworks/base/core/java/android/widget/HorizontalScrollView.java
0fd89bf7221431260883cee4597e2db942d799a0 27-Jan-2011 Romain Guy <romainguy@google.com> Optimize invalidate() calls.

Change-Id: I09d99290ca74f96046702bc2604f125a1276ce05
/frameworks/base/core/java/android/widget/HorizontalScrollView.java
daf98e941e140e8739458126640183b9f296a2ab 10-Jan-2011 Chet Haase <chet@google.com> Use optimized display lists for all hwaccelerated rendering

Previously, display lists were used only if hardware acceleration
was enabled for an application (hardwareAccelerated=true) *and* if
setDrawingCacheEnabled(true) was called. This change makes the framework
use display lists for all views in an application if hardware acceleration
is enabled.

In addition, display list renderering has been optimized so that
any view's recreation of its own display list (which is necessary whenever
the visuals of that view change) will not cause any other display list
in its parent hierarchy to change. Instead, when there are any visual
changes in the hierarchy, only those views which need to have new
display list content will recreate their display lists.

This optimization works by caching display list references in each
parent display list (so the container of some child will refer to its
child's display list by a reference to the child's display list). Then when
a view needs to recreate its display list, it will do so inside the same
display list object. This will cause the content to get refreshed, but not
the reference to that content. Then when the view hierarchy is redrawn,
it will automatically pick up the new content from the old reference.

This optimization will not necessarily improve performance when applications
need to update the entire view hierarchy or redraw the entire screen, but it does
show significant improvements when redrawing only a portion of the screen,
especially when the regions that are not refreshed are complex and time-
consuming to redraw.

Change-Id: I68d21cac6a224a05703070ec85253220cb001eb4
/frameworks/base/core/java/android/widget/HorizontalScrollView.java
fb75738ee28839c67bef4abc15d6c7a407c34f55 19-Jan-2011 Jeff Brown <jeffbrown@google.com> Never drag scroll views with no children.

Fixes a regression from Froyo. Previously, when a scroll view
had no children, its onTouchEvent would return because the scroll
view would only start dragging if the user touched one of its children.
In Gingerbread, the user can drag from anywhere within the scroll
view, not just by touching a child. However, it makes no sense
to drag a scroll view that has no children so an empty scroll view
should just ignore touches like any other empty view group would.

This change fixes applications that for some reason or other happen
to have empty scroll views in strange places.

Bug: 3246230
Change-Id: Iada6e886e8363e6778f42fc4861de228512d8bed
/frameworks/base/core/java/android/widget/HorizontalScrollView.java
a174d7a0d5475dbae2b48f7359abf1637a882896 07-Jan-2011 Romain Guy <romainguy@google.com> Don't match wrap_content/match_parent children with child count = 1.
Bug #3328711

Change-Id: Ic131f2feecbeec4a7250d47193c9794aa70d22ee
/frameworks/base/core/java/android/widget/HorizontalScrollView.java
b1297f76351795822c64236c4ce27b97d18e5bca 08-Dec-2010 Mindy Pereira <mindyp@google.com> Make horizotnalscrollview and scrollview edgeglows match the new algorithm.

Instead of going past the left and right sides, the glow now
stretches just to the width of the edge and stops.
For horizontalscrollview, instead of going past the top and bottom,
now stretches just to the height and stops.
Change-Id: I0cc9bdef3ab263b16dd32e088c6b64ff5a8809c8
/frameworks/base/core/java/android/widget/HorizontalScrollView.java
4e30d89ceda832300f80bf73f4f58cd2b51bf112 25-Nov-2010 Mindy Pereira <mindyp@google.com> Per designers, update the algorithm for when effect is clipped or stretched.

New algo is:
1) if view width < MIN_WIDTH (currently 300px), clip glow and edge to fit
2) else stretch glow and edge to fill width
3) make alpha and height of edge and glow 30% "more intense"

Change-Id: I8f121bb165a8fb835bc33950dbedd1bc80c5df65
/frameworks/base/core/java/android/widget/HorizontalScrollView.java
637d337b58d8eec6de19230a5dd5ca5581c0478d 25-Aug-2010 Adam Powell <adamp@google.com> Merge overscrolling from gingerbread.

Change-Id: I3eb4413261b38ddd8c609d6153bdfd4ae46c6a0f
/frameworks/base/core/java/android/widget/HorizontalScrollView.java
fdbf484be1eca388553d97a13a9500b98b18b474 16-Aug-2010 Romain Guy <romainguy@google.com> Add documentation for fillViewport.

Change-Id: I34f5418ca33933dc5cf65f4e417d918bce83ab96
/frameworks/base/core/java/android/widget/HorizontalScrollView.java
a0d645cb6980113a624e6e70a7fa9ae5e91bbac8 01-Apr-2010 Adam Powell <adamp@google.com> Fix bug 2562240 and clean up scrollbar behavior

Change-Id: I551803a1c997c9d10e1d004ce14472af6090f432
/frameworks/base/core/java/android/widget/HorizontalScrollView.java
9d32d24dbd8a015c9d5c44ed4901d5a666eb8e7f 30-Mar-2010 Adam Powell <adamp@google.com> Remove overscrolling

Change-Id: I7e9db8d8a9b8ef67f0c0c82bf57c9155b7ebabea
/frameworks/base/core/java/android/widget/HorizontalScrollView.java
6579b0b4ac0e781efab044aaaf3f66447cf5e067 25-Mar-2010 Adam Powell <adamp@google.com> API refactoring for OverScroller.

OverScroller is no longer a child class of Scroller and several
Scroller methods that do not make sense for OverScroller and could
cause misbehaving edge cases have been removed or hidden and
deprecated.

Change-Id: Ie055b607bd3b36c47ab9798d5c9518aef686b474
/frameworks/base/core/java/android/widget/HorizontalScrollView.java
352b978fa8332808ce38c6f52edd04c8dcb9e7e3 24-Mar-2010 Adam Powell <adamp@google.com> Fix some bugs/edge cases in ScrollView/HorizontalScrollView

Handle ACTION_CANCEL, fix edge cases related to grabbing content and
beginning a new scroll during overfling/springback. Will prevent
some cases where a view could get stuck overscrolled.

Change-Id: I7e89d9de9b7dc685d2ea278e6b2bd2c794364204
/frameworks/base/core/java/android/widget/HorizontalScrollView.java
9d0335b1e3a2c70506db2413ac8d8a0f88ba6bec 24-Mar-2010 Adam Powell <adamp@google.com> Fix for bug 2502886 - stupid monkeys.

Plugged a possible edge case with ScrollView/HorizontalScrollView that
could cause this error.

Change-Id: I509004189b9f5e536d6213c9fdfff598d9f958ca
/frameworks/base/core/java/android/widget/HorizontalScrollView.java
8a836a8b98557263152a476f614b6e05e19ffc5a 18-Mar-2010 Adam Powell <adamp@google.com> Eliminate haptic feedback when hitting an overscroll barrier due to a fling.

Change-Id: I434ec3edd95a19677ad9dbd1ac5ca3f3f5d091cb
/frameworks/base/core/java/android/widget/HorizontalScrollView.java
8e618e54ef0f009cac15972af9d9a72d6f6b6f94 08-Mar-2010 Romain Guy <romainguy@android.com> Report scroll events from ScrollView and HorizontalScrollView.
Bug #2342763

Also fix typos in TextView.

Change-Id: I58ab906b9bebe562c1a913977e2d6970bfcf3788
/frameworks/base/core/java/android/widget/HorizontalScrollView.java
4cd47702f00a2fd6d6bc16c5398edb884d98bdca 25-Feb-2010 Adam Powell <adamp@google.com> HorizontalScrollView multitouch scroll and only grip on content
AbsListView multitouch scroll and only grip on content
/frameworks/base/core/java/android/widget/HorizontalScrollView.java
a2f91016840bf4f7274577d40f3610e38b77f2ad 16-Feb-2010 Adam Powell <adamp@google.com> Fix for [Horizontal]ScrollView scroll range reporting
/frameworks/base/core/java/android/widget/HorizontalScrollView.java
0b8bb4282a7d1afb24f8c4d5beb2ca4ecc731116 08-Feb-2010 Adam Powell <adamp@google.com> Overscrolling modifications. Overscroll will not allow the user to
scroll content out of view. Scrolling will slow down halfway to the
barrier point. API added in View. AbsListView, ScrollView,
HorizontalScrollView all use this API. Overscrolling uses haptic
feedback. Added scroll barrier pattern to config.xml.
/frameworks/base/core/java/android/widget/HorizontalScrollView.java
f54460576e88d7531b171575d37264dfe0a34f33 29-Jan-2010 Adam Powell <adamp@google.com> Don't bounce programmatic scrolls of ScrollView and HorizontalScrollView.
/frameworks/base/core/java/android/widget/HorizontalScrollView.java
3fc3737ceb0f5c3b086472fb2cf7ebfb089e1bc8 28-Jan-2010 Adam Powell <adamp@google.com> ScrollView and HorizontalScrollView now will spring back if smoothScrollBy scrolls out of bounds. Tweaked bounce physics for OverScroller.
/frameworks/base/core/java/android/widget/HorizontalScrollView.java
17dfce15d5c3e7eae7a3c129019f48e7c5f65063 26-Jan-2010 Adam Powell <adamp@google.com> Added OverScroller and overscroll effects for ScrollView and HorizontalScrollView.
/frameworks/base/core/java/android/widget/HorizontalScrollView.java
f116bf8884b5b58aae261d148003811aa4a7c6e9 28-Sep-2009 Mike Cleron <mcleron@google.com> Fading scrollbars return. But you have to opt in.
/frameworks/base/core/java/android/widget/HorizontalScrollView.java
ef0e9ae0ddbf70f5e30fbfbffe379e3026b9dc13 10-Jul-2009 Romain Guy <romainguy@android.com> Fixes #1972421. Prevents crash in ScrollView/HorizontalScrollView.

Add several checks to make sure there's at least one child.
/frameworks/base/core/java/android/widget/HorizontalScrollView.java
4296fc4d326447875c26a925f12b3935632f13bb 06-Jul-2009 Romain Guy <romainguy@android.com> Fixes #1444844. Set a maximum fling velocity in scrollable views.
/frameworks/base/core/java/android/widget/HorizontalScrollView.java
f83f59f4afcaad063997fae4a49ee56cb0b46782 04-May-2009 Romain Guy <romainguy@android.com> Fixes external #2575 (http://code.google.com/p/android/issues/detail?id=2575). HorizontalScrollView was comparing the measured height of its child to its width.
/frameworks/base/core/java/android/widget/HorizontalScrollView.java
9066cfe9886ac131c34d59ed0e2d287b0e3c0087 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
/frameworks/base/core/java/android/widget/HorizontalScrollView.java
d83a98f4ce9cfa908f5c54bbd70f03eec07e7553 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
/frameworks/base/core/java/android/widget/HorizontalScrollView.java
076357b8567458d4b6dfdcf839ef751634cd2bfb 03-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@132589
/frameworks/base/core/java/android/widget/HorizontalScrollView.java
3dec7d563a2f3e1eb967ce2054a00b6620e3558c 03-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@137055
/frameworks/base/core/java/android/widget/HorizontalScrollView.java
d24b8183b93e781080b2c16c487e60d51c12da31 11-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@130745
/frameworks/base/core/java/android/widget/HorizontalScrollView.java