Merge commit '4174e2682f4eb6ea35c84e35810312967ea7e233'
* commit '4174e2682f4eb6ea35c84e35810312967ea7e233':
Fixes #1866819.\nTextView sets the bounds of its compound drawables to contain only the width and the height of the drawables. This causes View.invalidateDrawable() to invalidate the compound drawables at location (0, 0) within the view, thus invalidating the wrong part of the View. This prevents animation from running correctly when using animated drawable. This change overrides invalidateDrawable() in TextView to take into account the real position of the compound drawable.
Merge commit 'eba1ffb1468ce348bcd55a2d200728d5ac3b1eb3'
* commit 'eba1ffb1468ce348bcd55a2d200728d5ac3b1eb3':
TextView was not setting the callback on its compound drawables, thus preventing them from refreshing the view when updating their internal state. This would for instance prevent animated drawables from actually animating. Quite infuriating.
Merge commit '15e74b9da8b4cda11ee54da1e77a02d1a86c944a'
* commit '15e74b9da8b4cda11ee54da1e77a02d1a86c944a':
Temporarily suppress flaky test LocationManagerProximityTest until test harness support can be rolled out.
Fix build breakage
Revise the ImageButton class description to include information
Record statistics about whether HTTP connections are reused.
Merge commit 'b3c6addfc17be2a52133026148f3928ab97c83cb'
* commit 'b3c6addfc17be2a52133026148f3928ab97c83cb':
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.
Merge commit '14ad07f604ecd08436680a046363d37952c278f6'
* commit '14ad07f604ecd08436680a046363d37952c278f6':
Fixes#1853550. Prevent NPE when calling the PopupWindow() and PopupWindow(int, int) constructors. Instead, throw an IllegalStateException when trying to show a popup with no content view.
* changes:
Fixes#1853550. Prevent NPE when calling the PopupWindow() and PopupWindow(int, int) constructors. Instead, throw an IllegalStateException when trying to show a popup with no content view.
Merge commit '9ea923174c2daffd9b6a1cd630018d3fdfe91f62'
* commit '9ea923174c2daffd9b6a1cd630018d3fdfe91f62':
Rearrange some code so it makes more sense. Thanks, findbugs.
Merge commit 'aa642c0cc20293137376d44f8221876c121e5be9'
* commit 'aa642c0cc20293137376d44f8221876c121e5be9':
Get the backup calling through to the file backup helper.
Fix typos.
Add a new feature to android.os.Debug to add the ability to inject only specific fields when calling setFieldsOn().
Fixes#1836075. Adds consistency checks for the View hierarchy. To enable them, you need a debug build and ViewDebug.sConsistencyCheckEnabled set to true in debug.prop. This change also lets you easily enable drawing and layout profiling in ViewRoot by setting ViewRoot.sProfileDrawing, ViewRoot.sProfileLayout and ViewRoot.sShowFps in debug.prop with a debug build.
Add Intent.ACTION_APP_ERROR
Merge commit 'da33d0d139531ff184a1a339b734de00f1cc0743'
* commit 'da33d0d139531ff184a1a339b734de00f1cc0743':
Fixes 1844680. Interrupted scrolling could lead to rendering artifacts. The ListView was invalidating itself in opaque mode but before the drawing could happen, it was getting rid of its scrolling cache, thus becoming translucent again.
Merge commit 'c70b64441029b9748eea7f260f1b3521dc58eb91'
* commit 'c70b64441029b9748eea7f260f1b3521dc58eb91':
Fixes#1846038. DrawableContainer was wrongly returning its opacity by ignoring the visibility of the currently selected layer. This change simply reports a TRANSPARENT opacity if there is no currently selected layer of if the selected layer is not visible. Otherwise it reports the opacity computed by the state class.
* changes:
Fixes 1844680. Interrupted scrolling could lead to rendering artifacts. The ListView was invalidating itself in opaque mode but before the drawing could happen, it was getting rid of its scrolling cache, thus becoming translucent again.
Merge commit 'a2ea1d376524346e3f601694751e423ce2711d6b'
* commit 'a2ea1d376524346e3f601694751e423ce2711d6b':
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.
* changes:
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.
with respect to the soft keyboard. getMaxAvailableHeight in
PopupWindow relies on View's getWindowVisibleDisplayFrame, which
always takes into account the IME, whereas in this case, because
we want the window to extend down to the bottom of the display
when it is being interacted with by the user, I added a new
boolean option 'ignoreBottomDecorations' to getMaxAvailableHeight.
If true, the method returns the height which will extend the
PopupWindow down to the bottom of the screen, rather than just
down to the IME.
Then in AutoCompleteTextView, I set this to true when the
dropDownAlwaysVisible attribute is true and the PopupWindow's
input method mode is INPUT_METHOD_NOT_NEEDED (which happens when
the list is dragged or otherwise interacted with).
Then, because the dropdown height is only calculated when we call
showDropDown(), I had to replace a couple calls to mPopup.update().
There are still a few remaining bugs here I'm tracking Still to do:
* Fix a strange re-placement of the window which happens
intermittently.
* Strange behavior when using the directional pad.
* In a few cases, the list does not correctly size itself to the IME.
This seems to be because the available height is calculated before
the IME is yet on screen, and thus is calculated as the entire screen.
Merge commit 'f7598245489c6d28c2673acd269ada2e6e834065'
* commit 'f7598245489c6d28c2673acd269ada2e6e834065':
Fixes regression introduced in Cupcake: a couple of adapters were using setTag() to store their own data, which could interfere with the use of setTag() made by the applications. The fix is quite simple an rely on a WeakHashMap to store the holders within the adapters; using the Views as the keys of the map.
Merge commit '636274185ed5ee75faf6ef4d84bbb7d5b0371248'
* commit '636274185ed5ee75faf6ef4d84bbb7d5b0371248':
Fixes 1830181. Tapping disabled items in a ListView would cause the framework to take a code path that wasn't resetting the mMotionCorrection variable if it had been previously set. This would force ListView to apply a scroll to its children even though it was unnecessary. This simple fix prevents the issue by resetting mMotionCorrection appropriately.
* changes:
Fixes 1830181. Tapping disabled items in a ListView would cause the framework to take a code path that wasn't resetting the mMotionCorrection variable if it had been previously set. This would force ListView to apply a scroll to its children even though it was unnecessary. This simple fix prevents the issue by resetting mMotionCorrection appropriately.
Merge commit '724561cc20e259888986cbb0be2fdab4d142d869'
* commit '724561cc20e259888986cbb0be2fdab4d142d869':
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.
Merge commit '854c8c78c1bce214f6479772d94147070ec6764f'
* commit '854c8c78c1bce214f6479772d94147070ec6764f':
make AutoCompleteTextView take the alternate anchor view into account when computing the max available space on screen.
Merge commit '980d12b13bad50d6fbb50f3fe8f8dbc451a7d87c'
* commit '980d12b13bad50d6fbb50f3fe8f8dbc451a7d87c':
Fix typo in exception message and add a new exception if the user tries to use the same child as both the handle and content for the SlidingDrawer.