History log of /frameworks/base/core/java/android/widget/ListView.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
27093def8d5b13982b5dd4d949909ecdf7ec2fd6 10-Sep-2012 alanv <alanv@google.com> Check for null ViewRootImpl when saving accessibility focus in ListView.

Bug: 7135071
Change-Id: Ide8b6af38b7f1b9bb809e4f8b1c933cb5ddb5e86
/frameworks/base/core/java/android/widget/ListView.java
30ee76cf05f785bbf819b71954242c835c597ce1 07-Sep-2012 alanv <alanv@google.com> Restore accessibility focus after ListView layout.

Bug: 6439454
Change-Id: Ia61f5153b32c6ce5d18301f74e7e79c86349b987
/frameworks/base/core/java/android/widget/ListView.java
4c359b76f9a030f92a302ba74a528faa170bad4e 25-Jul-2012 Scott Main <smain@google.com> docs: fix a bunch of links from javadocs to api guides
and add some attributes to Spinner and Switch

Change-Id: If015ad000c1a36e19904c132e98ebff1ceaf718b
/frameworks/base/core/java/android/widget/ListView.java
161abf3d44feebb8462f7d0cbee81574d666234b 24-May-2012 Adam Powell <adamp@google.com> Fix a bug with deferred position scrolling in lists while data changes
are pending

Save the pending position scroll until the data change is actually
serviced before posting it to run. This avoids handler loops on
GONE subtrees or when the view is detached.

Bug 6547649

Change-Id: Iab108cfcb7dd11ece703762d311a5f5985f38c3b
/frameworks/base/core/java/android/widget/ListView.java
13b907353f18215b52b5ceda24bbf520d91d72a1 21-May-2012 Romain Guy <romainguy@google.com> Remove unused, obsolete debug code

All these features have either been abandonned and left un-maintained
for years or can be replaced by systrace.

Change-Id: I42e4579a8078744047e5fe08a7a15254970b09bc
/frameworks/base/core/java/android/widget/ListView.java
1fa179ef41c06bd19da70fd9bf95741238791940 13-Apr-2012 Adam Powell <adamp@google.com> Fix some smooth scrolling bugs in lists and update on the animation
timer.

Change-Id: I0cb03c6da204a34c9e942c3953b87287c3d4763d
/frameworks/base/core/java/android/widget/ListView.java
aebd28f729fa28016d70551d0372ab7fcd56ee1a 22-Feb-2012 Adam Powell <adamp@google.com> Fix bug 6048643 - verify ListView layoutparams while tracking stable IDs

Account for adapters that don't inflate item views using the ListView as
a parent.

Unify how AbsListView and subclasses generate layoutparams.

Change-Id: I963a5fcb4d98b721210a4d92d0db307f56acdf59
/frameworks/base/core/java/android/widget/ListView.java
539ee8716b4f81260bab2e9f3dc5d88d81c99985 04-Feb-2012 Adam Powell <adamp@google.com> Add transient state tracking to Views

Transient state is temporary bookkeeping that Views need to perform
that the app should not need to be aware of. Examples include text
selection regions and animation state.

Transient state is a problem for AdapterViews like ListView that do
view recycling. Unless the app takes responsibility for tracking and
restoring transient state as if it were a part of the adapter's data
set, it cannot correctly recycle views. Selections disappear when an
EditText is scrolled out of sight and animations seem to play on the
wrong views.

Views can now flag themselves as having transient state. (As the name
implies, this should be a temporary condition.) If a ViewGroup
contains a child with transient state, that ViewGroup also has
transient state.

AbsListView's recycler now tracks views with transient state
separately. Views with transient state will be retained, and until a
data set change occurs the same view will be reused for that position
instead of calling the adapter's getView() method.

The API to set and check transient state is currently hidden.

Change-Id: Idfd8eaac2c548337686d8d9f98fda4c64be5b8a0
/frameworks/base/core/java/android/widget/ListView.java
2d8b0170bff5076df7a39e6d01e407accec5f779 02-Feb-2012 Adam Powell <adamp@google.com> Fix bug 5339708 - edge case in ListView focus restoration

Some apps have managed to hit this edge case in monkey runs. In
layoutChildren an attempt to findFocus() fails when items are
focusable. When ListView attempts to restore focus to this view,
bad things happen.

Change-Id: Ie8bb1bab847898e342c16fbe3ff1a6153d6f69df
/frameworks/base/core/java/android/widget/ListView.java
0764dee89cc82dd53196cce2865d3cabafed208f 18-Jan-2012 Svetoslav Ganov <svetoslavganov@google.com> Merge "AccessibilityEvent/AccessibilityNodeInfo class name property should be set to only framework classes."
b967392e0170af8cfd8053fd43fcdf8c46f703e9 05-Jan-2012 Adam Cohen <adamcohen@google.com> Hinting RemoteViewsAdapter as to which views are visible

-> This prevents collection widgets from flashing loading
views when they are updated with new content

Change-Id: I1241ff9a09edfd990ad03f76449d18b9359246b4
/frameworks/base/core/java/android/widget/ListView.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/ListView.java
dcce1216b0066f3f9ed1b01a485684e8617e7ea4 01-Nov-2011 Adam Powell <adamp@google.com> Fix bug 5514022 - ListView should not auto-scroll selected item to top
when gaining focus

Change-Id: I9b82cba3d48a211b1d2017d66791bea466938cab
/frameworks/base/core/java/android/widget/ListView.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/ListView.java
a2b986e72c403f0b2ea593884e3135254bb83d30 14-Sep-2011 Adam Powell <adamp@google.com> Bug 5151927 - Monkeys should not play with detached lists.

Don't process ListView key events while detached from a window.

Change-Id: Ibf85e081887d47834a467f9fd2cb6a1e39b4857e
/frameworks/base/core/java/android/widget/ListView.java
247a0f0a16f956c463644f732dacb6c8d0979ba3 13-Sep-2011 Adam Powell <adamp@google.com> Fix bug 5226097 - App compatibility issues around new ListView fixes

Only dispatch change events when headers/footers change if we have an
adapter.

Change-Id: Ic5d68ea214196771d76f6a88186aaf5f8ed4c4cf
/frameworks/base/core/java/android/widget/ListView.java
e1bf486846ce7589727ad84440bd9a2d42751055 03-Sep-2011 Adam Powell <adamp@google.com> Fix bug 5201420 - Appease the monkeys

Make ListView.onFocusChanged more tolerant of missing adapters.

Change-Id: Icae1cfd02fe369d3fd0e3c6531adb973f44f3036
/frameworks/base/core/java/android/widget/ListView.java
4dfbec2665bd5f567d7321f2e88a39e1ab45fdf8 15-Aug-2011 Jeff Brown <jeffbrown@google.com> Find next focus id from inside-out.
Bug: 5165543

This change fixes some problems when the view hierarchy contains
duplicate ids, such as when ListViews contain nested custom views.
If the custom views contain next focused id hints, then the system
should prefer the other views within the ListView item over any
other views outside of the ListView item.

Change-Id: I5653ff6bac0bf9f08bd6ecbe5a3bb22ea47ab566
/frameworks/base/core/java/android/widget/ListView.java
1ea6889136cdad8fc01de0665b3a16a4dcb259fe 01-Aug-2011 Mark Brophy <mbrophy@google.com> Fix exception when a focused item is detached.

When a ListView has itemsCanFocus set, and scrolling moves the currently
focused item off the display, its focus is cleared. This is checked by
calling getDistanceToView().

However, it's possible that the view will have been recycled. If so, it
will have been detached from the parent by calling
ViewGroup.detachViewFromParent. Since this doesn't clear the view's
focus, we'll still try to call getDistanceFromView(), causing an
IllegalArgumentException since the view is not a descendant of the
ListView anymore.

Check whether the view is still a descendant before calling
getDistanceToView(). If it's not, we also need to clear the focus.

Bug: 4556022
Change-Id: Iebee56032223b70d714e2ec3bb7a19093ab5f81c
/frameworks/base/core/java/android/widget/ListView.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/ListView.java
30401328c1026389171d454c934c15875c3f7ff0 13-May-2011 Svetoslav Ganov <svetoslavganov@google.com> Factored out the Accessibility vertical initialization.

1. Accessibility events were filled with data in
dispatchPopulateAccessibilityEvent and
onPopulateAccessibilityEvent. These events have
two axis of population 1) up the class
hierarchy to populate information for the event
source; 2) down the view hierarchy to populated
all the text contained in the source including
its descendants. These two axis of population
were done in on population pass now the populating
the source properties happens in initializeAccessiblityEvent
and the text in onPopulateAccessibilityEvent which
is called from dispatchPopulateAccessiblityEvent.

2. Removed the string description from events fired from
CompoundButton since the event has isChecked()
property and it is responsibility of the clients
to decide what utterrance to use and if to use such
for announcing the checked state.

Change-Id: I5d7f75cf8a87a7a4b3bb7b311e8e642ec9a0faa5
/frameworks/base/core/java/android/widget/ListView.java
c6cc0f8c19d9eccf408a443fa2bf668af261dcd0 12-Apr-2011 Joe Onorato <joeo@google.com> Rename ViewRoot to ViewAncestor.

ViewRoot is about to be a new public class for poking at ViewAncestor.

Change-Id: Ie95d707c6d8bbb48f78d093d7b2667851812a7d5
/frameworks/base/core/java/android/widget/ListView.java
887e1a17eb9b12448f5929791b564565b2665aab 30-Apr-2011 Svetoslav Ganov <svetoslavganov@google.com> Touch exploration - nits

Change-Id: Ie49558e0a81218dbad70c02f81dd7a59b3213d5c
/frameworks/base/core/java/android/widget/ListView.java
736c2756bf3c14ae9fef7255c119057f7a2be1ed 23-Apr-2011 Svetoslav Ganov <svetoslavganov@google.com> Touch exploration feature, event bubling, refactor

1. Added an Input Filter that interprets the touch screen motion
events to perfrom accessibility exploration. One finger explores.
Tapping within a given time and distance slop on the last exlopred
location does click and long press, respectively. Two fingers close
and in the same diretion drag. Multiple finglers or two fingers in
different directions or two fingers too far away are delegated to
the view hierarchy. Non moving fingers "accidentally grabbed the
device for the scrren" are ignored.

2. Added accessibility events for hover enter, hover exit, touch
exoloration gesture start, and end. Accessibility hover events
are fired by the hover pipeline. An accessibility event is
dispatched up the view tree and the topmost view fires it.
Thus predecessors can augment the fired event. An accessibility
event has several records and a predecessor can optionally
modify, delete, and add such to the event.

3. Added onPopulateAccessibilityEvent and refactored the existing
accessibility code to use it.

4. Added API for querying the currently enabled accessibility services
by feedback type.

Change-Id: Iea2258c07ffae9491071825d966dc453b07e5134
/frameworks/base/core/java/android/widget/ListView.java
3fb3d7c4e756bd32d5abde0abca9ab52d559bc84 23-Apr-2011 Adam Powell <adamp@google.com> Revert "Touch exploration feature, event bubling, refactor"

This reverts commit ac84d3ba81f08036308b17e1ab919e43987a3df5.

There seems to be a problem with this API change. Reverting for now to
fix the build.

Change-Id: Ifa7426b080651b59afbcec2d3ede09a3ec49644c
/frameworks/base/core/java/android/widget/ListView.java
ac84d3ba81f08036308b17e1ab919e43987a3df5 05-Apr-2011 Svetoslav Ganov <svetoslavganov@google.com> Touch exploration feature, event bubling, refactor

1. Added an Input Filter that interprets the touch screen motion
events to perfrom accessibility exploration. One finger explores.
Tapping within a given time and distance slop on the last exlopred
location does click and long press, respectively. Two fingers close
and in the same diretion drag. Multiple finglers or two fingers in
different directions or two fingers too far away are delegated to
the view hierarchy. Non moving fingers "accidentally grabbed the
device for the scrren" are ignored.

2. Added accessibility events for hover enter, hover exit, touch
exoloration gesture start, and end. Accessibility hover events
are fired by the hover pipeline. An accessibility event is
dispatched up the view tree and the topmost view fires it.
Thus predecessors can augment the fired event. An accessibility
event has several records and a predecessor can optionally
modify, delete, and add such to the event.

3. Added onPopulateAccessibilityEvent and refactored the existing
accessibility code to use it.

4. Added API for querying the currently enabled accessibility services
by feedback type.

Change-Id: Iec03c6c3fe298de3f14cb6efdbb9b198cd531a0c
/frameworks/base/core/java/android/widget/ListView.java
63f9689627b8fd9b94afd35b1274939c56e5642f 20-Apr-2011 Marco Nelissen <marcone@google.com> Revert recently added check to addFooterView

b/4319206

Change-Id: Ic89b2166bdc7a878ae2983d393a1d01aaa3b7d23
/frameworks/base/core/java/android/widget/ListView.java
22c04a316a482176957fd27285c0fe36e2f3979c 19-Apr-2011 Marco Nelissen <marcone@google.com> Fix bugs in ListView

Make addHeaderView and addFooterView be more consistent with each other: they
now both check that there either is no existing adapter, or that the existing
adapter is a HeaderViewListAdapter, and they both call the DataSetObserver
(previously only addHeaderView would check the adapter, and it would only
check that it was null, while only addFooterView would call the DataSetObserver)
Make removeHeaderView and removeFooterView check that the DataSetObserver
is non-null before using it.

Change-Id: I681b87f70aabca63e664ca8d0c1cfc25530e00b9
/frameworks/base/core/java/android/widget/ListView.java
3ba8f5d675831647e45d0ce11507c85dfb5f753b 08-Mar-2011 Adam Powell <adamp@google.com> Fix bug 4021346 - crash while navigating

Change-Id: Iff60c5f4214c56597f2a1b393982d023866e490e
/frameworks/base/core/java/android/widget/ListView.java
7840055f76f2ba1a0052aee09e578cf9314f5364 03-Mar-2011 Chet Haase <chet@google.com> Fix problem with transparent background on Twitter app

ListViews whose items don't cover their entire content area should not
return true for isOpaque()

Change-Id: I9165c0315a49bb5774bdcd4c1b89c1be0ebfcebf
/frameworks/base/core/java/android/widget/ListView.java
0211a0a10d20ec99bd78905ea9cd2960f7beb4c8 15-Feb-2011 Romain Guy <romainguy@google.com> Gracefully handle drawing caches allocation failure.
Bug #3431451

This bug was causing ListView to not render properly when showing an item
larger than the maximum drawing cache size. ListView relies on the drawing
cache to correctly mask all the background pixels. However, if the cache
is not properly created, the background will show through even though
ListView.isOpaque() == true. This change detects this case and falls
back to the default non opaque behavior.

Change-Id: I30a45e7a03fb7ebb2b12f0e85c075c2901954c44
/frameworks/base/core/java/android/widget/ListView.java
8d6d3b83fb765eefc6fd38de77f1f45d2523ab89 27-Jan-2011 Jeff Brown <jeffbrown@google.com> Fix down arrow in AutoCompleteTextView.

Bug: 3337416
Change-Id: I572d55c973b9adc68765ba02197e84f3558e65bc
/frameworks/base/core/java/android/widget/ListView.java
5d9d03a0234faa3cffd11502f973057045cafe82 24-Jan-2011 Dianne Hackborn <hackbod@google.com> Maybe fix issue #3093599: java.lang.IndexOutOfBoundsException...

...Invalid index 0, size is 0 at
android.app.ActivityThread.performPauseActivity(ActivityThread.java:2326)

It looks like if an arrow key is dispatched between the time the
list view is told its data set has changed and it does the resulting
layout pass, we could try to move the position to a now invalid
index. This may prevent that from happening.

Also put in a better error message if saving state of a fragment
whose target is no longer in the fragment manager.

And fix a bug in PackageManager where we could return a null from
queryIntentActivities().

And add a new API to find out whether a fragment is being removed,
to help fix issue #3306021: NPE at
android.app.AlertDialog.getDefaultDialogTheme(AlertDialog.java)

Next, for new HC apps we can delay committing data to
storage until the activity is stopped.

Finally, use the new multi-threaded AyncTask executor in a few
places, so we don't have worked blocked by long-running tasks from
the application.

Change-Id: I27b2aafedf2e1bf3a2316309889613fa539760f3
/frameworks/base/core/java/android/widget/ListView.java
9456655f93f34a11f4b4696212f2649eed0c35db 06-Jan-2011 Adam Powell <adamp@google.com> Fix a bug that could cause padded lists to draw dividers incorrectly

Change-Id: I6483848c55567f901ac8b1628991de3343bd3f3d
/frameworks/base/core/java/android/widget/ListView.java
4e6319b73c85082e18d1c532b86336ddd1f8cfaa 13-Dec-2010 Jeff Brown <jeffbrown@google.com> Add initial support for TAB navigation.

Bug: 3286652
Change-Id: I813a0318b3b8d9c9bc791ea6a2427be11c08de00
/frameworks/base/core/java/android/widget/ListView.java
fb60386b46d0c6216c765c10bd33ac42ca780917 17-Dec-2010 Adam Cohen <adamcohen@google.com> Addressing issues associated RemoteViewsAdapter's service crashes / disconnects

-See issue: 3052667

Change-Id: I95f1cac3defeadc38ac75453d9d59cd1b3cbcc83
/frameworks/base/core/java/android/widget/ListView.java
189ee18d6c6483ad63cc864267328259e2e00b95 03-Dec-2010 Dianne Hackborn <hackbod@google.com> Implement smarter sizing of WRAP_CONTENT windows.

This extends the view hierarchy's measure pass to allow view to
propagate up to their parent additional information besides just
their measured size. They can now report that their measured width
and/or height should be larger than the size their parent is
limiting them to (even though by definition they need to contrain
their reported measurements to the limits imposed by the parent).

ViewRoot uses this information to determine if it should remeasure
the window with a larger size limit to try to make it fit.

Change-Id: I90af3b7a8ec45d0a5c003fb009857025209d83eb
/frameworks/base/core/java/android/widget/ListView.java
eeb55e673feca137bd0106ca31f9b68509a4ae36 02-Dec-2010 Romain Guy <romainguy@google.com> Don't reset ListView when changing the divider drawable.
Bug #3245172

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

Change-Id: I3eb4413261b38ddd8c609d6153bdfd4ae46c6a0f
/frameworks/base/core/java/android/widget/ListView.java
8c3e0fc84f69e9fe704dc20dd6c2bab1ce43fe93 18-Nov-2010 Adam Powell <adamp@google.com> Fix bug 3207067 - adjust AbsListView content pop-in when clipToPadding=false

Known issue: Dividers are not drawn on top. This should be handled
once overscroll is merged in.

Change-Id: I778703601183f919e7c4345cfc4af6036b4ada4e
/frameworks/base/core/java/android/widget/ListView.java
079e23575024e103358c982152afb7a720ae1a8a 19-Oct-2010 Dianne Hackborn <hackbod@google.com> Add new fade in/out feature for drawable containers.

This is used to allow list view's pressed and activated indicators
to fade in an out, though of course it can be used elsewhere as well.

There is a lot of complexity in supporting this in list view. The
two main things that are being dealt with:

- When recycling views, we need to make sure that the view's drawable
state doesn't get animated from an old row's state. The recycler
now keeps track of which position a view was last in, and if it is
reused at a new position there is a new View/Drawable API to tell
it to jump to its current state instead of animating.

- For the pressed indicator to fade out, we need to keep displaying it
after it is hidden. There are new variables and code to keep track
of this state, and tweaks in various places to be able to remember
the last selected position and continue updating the drawable bounds
as needed.

Change-Id: Ic96aa1a3c05e519665abf3098892ff2cc4f0ef2f
/frameworks/base/core/java/android/widget/ListView.java
707b2f78ccaa09965d7e030fda3a883ce9b75ea8 12-Oct-2010 Romain Guy <romainguy@google.com> Optimize GLSL shaders.

Change-Id: I9a5e01bced63d8da0c61330a543a2b805388a59d
/frameworks/base/core/java/android/widget/ListView.java
95930e13faac8c17dabfaa1478089baa772f091b 04-Oct-2010 Romain Guy <romainguy@google.com> Apply all Canvas transformations to ColorDrawable.

Change-Id: I29252c58224b236d0770ec005da9842990ef2c06
/frameworks/base/core/java/android/widget/ListView.java
d0fa371f276fde32d81c037006941bc93da0bb03 15-Sep-2010 Dianne Hackborn <hackbod@google.com> Add a new "activated" state to View.

Use this in ListView and GridView if the top view is not checkable.

This allows PreferenceActivity to now highlight the current heading
that is being shown.

Change-Id: I0d28aded9a61a42962b4aece420ae4058712d963
/frameworks/base/core/java/android/widget/ListView.java
385a655b8e8bf85024e4f24f1d7f6c2d7d7e900d 21-Aug-2010 Scott Main <smain@google.com> am bb8d314b: am 70c9ffbc: am 11a72482: Merge "docs: add links from widget classes to tutorials" into froyo

Merge commit 'bb8d314b6c5ff9b51af29daa687d66dfd996914f'

* commit 'bb8d314b6c5ff9b51af29daa687d66dfd996914f':
docs: add links from widget classes to tutorials
70c9ffbc838271f0ea27a4780eb146287de53ef6 20-Aug-2010 Scott Main <smain@google.com> am 11a72482: Merge "docs: add links from widget classes to tutorials" into froyo

Merge commit '11a72482a0cdc45ceaf4ca83957e682381455aee' into gingerbread

* commit '11a72482a0cdc45ceaf4ca83957e682381455aee':
docs: add links from widget classes to tutorials
41ec65355bd6ded652769725b276d47c54a0d913 20-Aug-2010 Scott Main <smain@google.com> docs: add links from widget classes to tutorials

Change-Id: I817e885524951853182b0458df4a32dea1614243
/frameworks/base/core/java/android/widget/ListView.java
f343e1ba7e796120eefa917dbf78348feea98e11 14-Aug-2010 Adam Powell <adamp@google.com> Add selection mode support to GridView.

Changed 9.xml to make update-api behave with the API change involved.
Several fields and methods moved from ListView to AbsListView. This
should not break source or binary compatibility.

Change-Id: Icad6e238522b8b7cc5bbc935ad89ac3e015572c1
/frameworks/base/core/java/android/widget/ListView.java
ecb1d5ded9afee63735dc91cfb08ada2c639d237 11-Aug-2010 Konstantin Lopyrev <klopyrev@google.com> resolved conflicts for merge of f00ee0f7 to master

Change-Id: I13b968bde37fad8fffdaa9bb94a0f1da9b2e6e0c
bea95162ca25bd00b0479d93739b6283795c3986 11-Aug-2010 Konstantin Lopyrev <klopyrev@google.com> Categorizing exported view properties.

Change-Id: I79c42019836973d80662c21d195d088ae01537a0
/frameworks/base/core/java/android/widget/ListView.java
8350f7dbc3a62211b2891f35911e4073d24c4cc5 28-Jul-2010 Adam Powell <adamp@google.com> Added CHOICE_MODE_MULTIPLE_MODAL to ListView.

Based on ActionModes, CHOICE_MODE_MULTIPLE_MODAL supports the new
Honeycomb-style selection mode.

Change-Id: I293ea22487db8e081c95e5236f1e053f7dd4ada6
/frameworks/base/core/java/android/widget/ListView.java
499cb9f516062b654952d282f211bee44c31a3c2 16-Jul-2010 Winson Chung <winsonc@google.com> Initial changes to allow collections in widgets.

Change-Id: I3cfa899bae88cd252912cecebc12e93c27a3b7c9
/frameworks/base/core/java/android/widget/ListView.java
179de8a37cb886e61264d2b7efd5bd4f29a5b381 09-Jul-2010 Romain Guy <romainguy@google.com> Avoid unnecessary tests when drawing ListView dividers.

Change-Id: I5f2797ee92f5e3ed01eab0cf7f2acfe436b0c595
/frameworks/base/core/java/android/widget/ListView.java
df36b0579e1e550de3d66a20362717e49b23235c 20-May-2010 Romain Guy <romainguy@android.com> Prevent crash when changing adapter.
Bug #2697842

Change-Id: I3f94c7907c8881145638b9e9307458f1431d7e57
/frameworks/base/core/java/android/widget/ListView.java
82afc7b32b5a22fe5a0f1a98e8fd0873a4b7f9a1 13-May-2010 Romain Guy <romainguy@google.com> Prevent possible leak in AbsListViews.

This change unregisters a list's data observer from the adapter when the list
is detached from the window. The default data observer impl. is a non-static
inner class with a synthesized pointer to the list. Thus if an app keeps
the adapter around the list is also kept around. This can be a problem with
dialogs in particular.

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

Change-Id: I7e9db8d8a9b8ef67f0c0c82bf57c9155b7ebabea
/frameworks/base/core/java/android/widget/ListView.java
84222e04252720cf681032e865db526ce4a612a4 11-Mar-2010 Adam Powell <adamp@google.com> Fix overscroll distance calculation for stack-from-bottom ListViews

Change-Id: Ic8278763586d03c152f7b30b7fdd0b37b0dfc9cb
/frameworks/base/core/java/android/widget/ListView.java
bfb5d4b93bb739a012ecec604473838c1343c88a 11-Mar-2010 Adam Powell <adamp@google.com> Added overscroll headers and footers to ListView.

These let developers set a drawable for the list header and footer
to be drawn above and below list content.

Change-Id: Ideddec854cb0bc11f83efb3c000c217844be82c7
/frameworks/base/core/java/android/widget/ListView.java
463ceff8a44ec2bf67b0394be7f7e70613a55478 09-Mar-2010 Adam Powell <adamp@google.com> Restore old/buggy behavior of ListView.getCheckItemIds() for adapters without stable IDs to support legacy code.

Change-Id: I4c6a15e5a224bc5e84949ceb4df17154a2874d20
/frameworks/base/core/java/android/widget/ListView.java
cb704cd1e05ecd9bbd9bebd16f3b816dcb0c5309 06-Mar-2010 Adam Powell <adamp@google.com> Fixed a regression setting ListView selection mode without an adapter
/frameworks/base/core/java/android/widget/ListView.java
8f1bfe1a7cef702fd74e5405443e9fdb7c5e7556 06-Mar-2010 Adam Powell <adamp@google.com> ListView#getCheckItemIds() deprecated for ListView#getCheckedItemIds().
ListView#getCheckedItemIds() now works more reliably.
/frameworks/base/core/java/android/widget/ListView.java
0bf88594c43ced48d862d122e3e84967b3b63658 02-Mar-2010 Romain Guy <romainguy@android.com> Make sure all list items know they are in a window.
Bug #2476671

If you had a ListView with a layout_height equals to WRAP_CONTENT, you would
get list children with a parent but not attached to the window. This was caused
by the onMeasure() code: that code was obtaining views from the adapter to
measure them and putting them in the recyler for later reuse. Unfortunately
the recycler assumes that views have been attached to the window but detached
from the parent, thus causing much grief. The fix simply forces measured views
to be added to the window the first time they come out of the recycler.

ListView, bow before me for I am your master!
/frameworks/base/core/java/android/widget/ListView.java
176f9fc215194411cf0461a178d77fa57486112b 02-Mar-2010 Gilles Debunne <debunne@google.com> Null pointer tests removed from HeaderViewListAdapter.

The mHeaderViewInfos and mFooterViewInfos lists were sometimes tested for nullity
and sometimes not. Should these values be null, some conditionnal code was actually
flawed in getView() and getItem() because of too strong 'and' conditionnals.

These lists are created upon declaration in ListView and are then shared and hence
cannot be null. Null tests were hence removed. getView() and getItem() get simpler
and work as before.

Change-Id: I279e482730ce6148a559d15a9863afc8f6b67780
/frameworks/base/core/java/android/widget/ListView.java
9bf3c128509de5bd66222943a00acfcd1000cd62 26-Feb-2010 Adam Powell <adamp@google.com> ListView now tries to keep the position containing focused child views on-screen.
/frameworks/base/core/java/android/widget/ListView.java
9c3184cc162ee8c10eabd3f996629a9397a1f551 26-Feb-2010 Romain Guy <romainguy@android.com> Do not recyle headers and footers when measuring the ListView.
Bug #2461893

This was causing headers and footers to be in a wrong state after the first
recycling pass, which would cause them to be detached from the window. This
was in turn preventing invalidate operations from performing successfully.
/frameworks/base/core/java/android/widget/ListView.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/ListView.java
a440b002aa59e1455bdfa2c5a1ca51c74bbc19ac 25-Feb-2010 Romain Guy <romainguy@android.com> Prevents ListView items children to modify properties of other children.
Bug #2464502

This fix introduce a new dispatch mechanism to tell views when they are temporary
detached/reattached from/to a ListView. This is very important to remove pending
callbacks or cleanup temporary states.

This change also modifies TextView which was relying on that callback in a very
particular case: a focused EditText in a ListView. The modified code acts only
when in that case, not if onStart/FinishTemporaryDetach() is called via
dispatch*() (== recycled views in ListView.)
/frameworks/base/core/java/android/widget/ListView.java
d7507834e73f32b4c82839036dc3897a1587e668 19-Feb-2010 Adam Powell <adamp@google.com> Don't cache mFirstPosition before a layoutChildren in ListView.onFocusChanged
/frameworks/base/core/java/android/widget/ListView.java
fd3ddfa6f0559eb29eea179690144a7357c34b3d 18-Feb-2010 Gilles Debunne <debunne@google.com> List.GetCheckItemIds no longer includes unchecked items.

Unchecked items remain in the mCheckStates with an associated false value.
Now filtered out.

Added a unit test to ensure non regression.

Change-Id: If0b1a38aa06881055c87a97b3afb2c7fb48656f1
http://b/issue?id=2440815
/frameworks/base/core/java/android/widget/ListView.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/ListView.java
2d51bff2b6597804307d8883a071ff18adc2644a 20-Jan-2010 Romain Guy <romainguy@android.com> Dpad based scrolling in ListView was mishandling the recycler:
recyclable views were removed instead of detached and non-recyclables views
were detached instead of removed.
/frameworks/base/core/java/android/widget/ListView.java
980a938c1c9a6a5791a8240e5a1e6638ab28dc77 09-Jan-2010 Romain Guy <romainguy@android.com> Deprecate fill_parent and introduce match_parent.
Bug: #2361749.
/frameworks/base/core/java/android/widget/ListView.java
21875052adddf2b52bc57fea62bf097b8aa04cbf 07-Jan-2010 Romain Guy <romainguy@android.com> Fix two ListView bugs related to onAttachedToWindow/onDetachedFromWindow.
Bug: #2359368.

onDetachedFromWindow() would never be called for views living in the scrap heap, but onAttachedToWindow() could be called several times for views recycled from the scrap heap.
/frameworks/base/core/java/android/widget/ListView.java
c854f281a1c330931a2a03eef802ad7d4521998e 16-Dec-2009 Adam Powell <adamp@google.com> Force a re-layout of children if ListView is out of sync with the
adapter in onFocusChanged. Addresses bug 2157773
/frameworks/base/core/java/android/widget/ListView.java
ead0d4d8282b35a10bf8816cd99a62a8499d9031 09-Dec-2009 Romain Guy <romainguy@android.com> Fix the build when ViewDebug.TRACE_RECYCLER is set to true.
/frameworks/base/core/java/android/widget/ListView.java
b4c547a56caebb5900c132ec9d5ce953f89de14f 28-Sep-2009 Romain Guy <romainguy@android.com> Fix possible NPE in AbsListView.positionSelector().

ListView was being reckless and calling the method with a null object in some
situations.

Change-Id: Ibb595a1ff6f916c699e4af55450966dd7fd8c156
/frameworks/base/core/java/android/widget/ListView.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/ListView.java
3616a412cbd620168fd87ce83978d83a9c0621c6 15-Sep-2009 Romain Guy <romainguy@android.com> Preserve ListView's pressed state when the adapter changes its content while the user is pressing an item.

Change-Id: Id5ac804a4053951430d16cf0d87fc7b64c816717
/frameworks/base/core/java/android/widget/ListView.java
6198ae8468668bf7374535c2eeeab8de7f8e7e99 01-Sep-2009 Romain Guy <romainguy@android.com> Prevent ListView from scrolling/flinging its content when the content fits on screen.

Change-Id: Id46313bca3ae53b0717cd74a4a6f889a01f9fcb1
/frameworks/base/core/java/android/widget/ListView.java
3940f2df36fbe6a712c88655fc78244977ebd0ab 13-Aug-2009 Owen Lin <owenlin@google.com> Log more information to help us debug which ListView has
IllegalStateException in monkey tests. (bug 1995826)
/frameworks/base/core/java/android/widget/ListView.java
845df82084a0d3b14cdfb5baafea5c6b94967117 04-Aug-2009 Brett Chabot <brettchabot@google.com> ListView.setItemChecked(p, false) always clears all items.

This fixes the bug where, in SINGLE_CHOICE_MODE, calling
ListView.setItemChecked(x, false) would always uncheck all
items, even if another item, y, was currently checked.
/frameworks/base/core/java/android/widget/ListView.java
abca4e8384c71721670f860b0d6d544fde8559cc 09-Jun-2009 Kenny Root <kenny@the-b.org> Fix logic inversion in ListView Javadoc

The Javadoc for isItemChecked, getCheckedItemPosition, and
getCheckedItemPositions stated the return was valid if conditions
were the inverse of what the method checked for.

This was pointed out in Android issue 2366
/frameworks/base/core/java/android/widget/ListView.java
8842f0bd5c97cb39f6912392f34ba7435c275a42 24-Jun-2009 Romain Guy <romainguy@android.com> Calling setItemChecked(p, true) twice would toggle the selection in ListView.

This fixes a bug in ListView#setItemChecked(int, boolean). Calling the method
twice would cause the checked state to be toggled instead of remaining the
same.
/frameworks/base/core/java/android/widget/ListView.java
536fb04c1c419d5dd3816112ab5af7baee7cd549 18-Jun-2009 Romain Guy <romainguy@android.com> Fixes #1925003. Make ListView honor the android:choiceMode XML attribute.

The attribute was simply ignored by the constructor.
/frameworks/base/core/java/android/widget/ListView.java
d296fafab597a6597d9eb276abe6f6eb049e9f12 04-Jun-2009 Amith Yamasani <yamasani@google.com> Avoid touching all adapter items when building accessibility event.

Only check for enabled items if the list is less than 15 items.
/frameworks/base/core/java/android/widget/ListView.java
e32edc614e62ac874a969d3cc6bb1e0c0c3f2607 29-May-2009 Romain Guy <romainguy@android.com> Fixes #1884152. This change improves how the opaque property is handled with respect to dividers.

If the list is opaque and its background is not, then we want to fill a solid rect where the dividers should be when they are skipped for non-selectable items. When the list is opaque and the background is also opaque, there is no need to draw something in lieu of the dividers since the background will do it for us.
/frameworks/base/core/java/android/widget/ListView.java
a02903fbee6725563da4472bd120f844e9d5518c 23-May-2009 Romain Guy <romainguy@android.com> Fixes NPE in ListViews with non-selectable items. This was caused by a weird initialization issue in ListView and AbsListView: a private final field instanciated in the declaration in ListView was used in AbsListView<init> via an overriden method and that field was somehow null at this time. This fix moves the instanciation at a later point.
/frameworks/base/core/java/android/widget/ListView.java
b6888167d39bbfdb3e26e12f267c6d1abc6ce2b2 22-May-2009 Romain Guy <romainguy@android.com> Fixes #1872506. Prevents NPE in ListView. When the opaque property changes at runtime, it is possible to end up in a situation in which the divider's Paint instance has not been instanciated. This change simples uses a final Paint that is guaranteed to not be null.
/frameworks/base/core/java/android/widget/ListView.java
8f1344f5e7c92f2fd532f65e5584afe0e4cc6b11 16-May-2009 Romain Guy <romainguy@android.com> Fixes #1855461, #1857290 and #1857365. Certain scrollbar styles make an opaque view not be opaque. ListView and View now account for this when indicating whether they are opaque or not.
/frameworks/base/core/java/android/widget/ListView.java
75986cf9bc57ef11ad70f36fb77fbbf5d63af6ec 15-May-2009 svetoslavganov <svetoslavganov@google.com> Accessibility feature - framework changes (replacing 698, 699, 700, 701 and merging with the latest Donut)
/frameworks/base/core/java/android/widget/ListView.java
2d6afea6813be3081138874cf879ac8b0860e4ef 12-May-2009 Romain Guy <romainguy@android.com> Fix the build
/frameworks/base/core/java/android/widget/ListView.java
24443ea3992e372e47daa50266b0f2ec38cac388 11-May-2009 Romain Guy <romainguy@android.com> Fixes #1596240. Optimize invalidate/draw passes by marking opaque views and avoiding drawing them. Whenever a View requests an invalidate its parent check whether the view is opaque or not. When the view is not opaque, the framework behaves as it used to. However, when a view is opaque, the parent marks itself as being dirty because of an opaque view. Its parent then does the same, and so on. When the framework then starts drawing the views, it does not draw views marked as dirty opaque. If a view is dirty opaque and receives an invalidate request from a non-opaque view, it then clears the dirty opaque flag and behaves as before.
/frameworks/base/core/java/android/widget/ListView.java
2e447d46d9936c325fe5209262564fc3c5e795a2 29-Apr-2009 Romain Guy <romainguy@google.com> Fixes 1819406. Take a ListView, add headers/footers, set the adapter after at least one layout pass, and the headers/footers don't know they have a parent anymore. Which causes a lot of trouble, like drawing not happening.
/frameworks/base/core/java/android/widget/ListView.java
ad28bed52ccabd252149b5297a2d94bacdb388cc 01-Apr-2009 Romain Guy <> AI 144042: Fixes #1742109. Add a new API to ListView to return the list of checked items ids.
BUG=1742109

Automated import of CL 144042
/frameworks/base/core/java/android/widget/ListView.java
986003d46add147714ce7e16c9fefa8c18042fc8 26-Mar-2009 Romain Guy <> Automated import from //branches/donutburger/...@142790,142790
/frameworks/base/core/java/android/widget/ListView.java
b45f124a041adf81b3ac8b8dec6b396e751e92d7 25-Mar-2009 Romain Guy <> Automated import from //branches/donutburger/...@142129,142129
/frameworks/base/core/java/android/widget/ListView.java
304eefa6a33da9b75b4075cc7eb170cf4ced4cdb 25-Mar-2009 Romain Guy <> Automated import from //branches/donutburger/...@141314,141314
/frameworks/base/core/java/android/widget/ListView.java
2bed22744281a093ee5e76eab531819f3c62b0bf 25-Mar-2009 Romain Guy <> Automated import from //branches/donutburger/...@140741,140741
/frameworks/base/core/java/android/widget/ListView.java
c39a6e0c51e182338deb8b63d07933b585134929 11-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@137873
/frameworks/base/core/java/android/widget/ListView.java
4df2423a947bcd3f024cc3d3a1a315a8dc428598 05-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@136594
/frameworks/base/core/java/android/widget/ListView.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/ListView.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/ListView.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/ListView.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/ListView.java
3001a035439d8134a7d70d796376d1dfbff3cdcd 19-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@132276
/frameworks/base/core/java/android/widget/ListView.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/ListView.java
f013e1afd1e68af5e3b868c26a653bbfb39538f8 18-Dec-2008 The Android Open Source Project <initial-contribution@android.com> Code drop from //branches/cupcake/...@124589
/frameworks/base/core/java/android/widget/ListView.java
54b6cfa9a9e5b861a9930af873580d6dc20f773c 21-Oct-2008 The Android Open Source Project <initial-contribution@android.com> Initial Contribution
/frameworks/base/core/java/android/widget/ListView.java