All direct calls to mConnector in ExpandableListView should convert group/child flat positions
to/from absolute flat positions (that take header count into account).
Two conversion methods were added to do that.
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!
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
The possible scroll that happen after expanding a group did not take the possible
existing headers into account.
Change-Id: I5dc381baa7c54580e992e26a1ed55102afcb16b0
Patches in ExpandableListView to correctly handle header/footer shifter flat positions.
Make tests added in https://android-git.corp.google.com/g/#change,42312 pass.
Change-Id: I0d7823f5ae290e855bfdfb8d33c18bd34661077c
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.
Comment incorrectly specified that the setHint(...) methods were
deprecated and suggested instead using different methods that did not
exist.
Change-Id: I5e7a1570beb8f1cd807853c6d9de8072afa5123e
When LinearLayout is measured in EXACTLY mode, we handle the negative margins
a bit differently. This is to support the use case of the current tab design.
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.)
Merge commit '563d3a62f3762b312a4c0a9d9af15a2333beaede'
* commit '563d3a62f3762b312a4c0a9d9af15a2333beaede':
These changes add access to some status values in widgets listed below:
widget/CheckedTextView.java: report if the item is checked or not.
widget/CompoundButton.java: report if the item is checked or not.
widget/ProgressBar.java: isIndeterminate(), getProgress(), getSecondaryProgress(), and getMax() report what
sliders and progress bars are showing
widget/TextView.java: report the current selection: getSelectionStart() and getSelectionEnd()
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
Catch some View methods missed during the first pass of
marking with @RemotableViewMethod annotation. Also adds new
ImageView.setColorFilter(int) to match the android:tint XML
attribute.
When ImageView touches ColorFilter or alpha, mutate the
underlying Drawable. Fix NPE in StateListDrawable.mutate().