Merge commit '226299446197689499bc3c7dc44d0026745da677' into donut
* commit '226299446197689499bc3c7dc44d0026745da677':
AI 149208: Remove statement about WIndows codecs and licensing.
* changes:
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.
There was a serious problem in the Bundle(Parcel) and readFromParcel() methods,
where it wasn't doing the copying of the Parcel that Parcel.readBundle() does
and is a basic requirement for it to work correctly.
This re-arranges the code to make all of these functions (hopefully) correct.
Also fix a problem in Parcel where we were not duping fds when copying data from
one Parcel to another.
Background:
mlebeau said: "Cole had complained that the vertical alignment of the
text fields in search_dropdown_item_icons_2line.xml was a little
off. Specifically, when both lines are visible he wanted to see line1
pushed down 2-4 pixels (while keeping line2 in the same position as
now), and when only line1 is visible, he said it needed to be pushed
up 2-4 pixels from current."
Here's how the layout worked before (note that text2 and text1
are in this order in the layout file):
- If text2 is present, it is put at the bottom, with height set by
layout_height (currently 29dip) . - The line2 text is put at the top
of text2 (gravity=top).
- I think the paddingBottom=4dip in text2 has no effect, since the
text is top-aligned anyway.
- text1 is put at the top of the list item. If text2 is present, it
will have height 29dip (58 dip - 29 dip height of text2). It's a bit
weird, layout_height of text1 is completely ignored, but it has to be
set to something. If text2 is missing, it will fill the entire list
item height (58 dip).
- The line1 text is placed 4dip below the vertical center of text1
(4dip because of paddingTop).
Now, instead, text1 has height=wrap_content, and is placed right above
text2, if that's present. If text2 is absent, text1 is centered
vertically in the list item. This should have the desired effect.
If we want to tweak the positioning further in the case where text2
is visible, we can adjust the padding of text1.
* changes:
Add a new API to ListView: setGestures(int). This allows developers to enable gestures to jump inside the list or filter it. This change also introduces a new XML attribute to control this API. It also adds the ability to theme the GestureOverlayView from the gestures library. Finally, this adds a new VERSION header to the binary format used to store the letters for the recognizer.
This adds a new window type that is a surface that sits between the
current media type and the application window, in theory allowing you
to have two surface views in your hierarchy and control their
Z-ordering. There is also another hidden API on SurfaceView to set
the type of your window.
All a big hack, but for the good of the commonwealth!
* changes:
Fixes external http://code.google.com/p/android/issues/detail?id=2732. ExpandableListView is wrongly assuming that the saved state if of the correct type. A similar bug fix was made in TextView.onRestoreInstanceState() a while ago. This fix simply ensures that the state received is of the right type.
* changes:
Trigger the LocationManager whenever the SearchDialog is shown (and stop when the SearchDialog is stopped). This way we get a network-based location quickly so that by the time any location- based suggestion provider wants to do suggestions, it's likely to have a good fresh location.
When we moved the media recorder to the media server process, we lost
the permission check that was done at the process boundary in the
AudioRecord binder interface because the AudioRecord object is created
in the same process. This change adds a permission check in the
MediaRecorderClient:setAudioSource() method.
BUG=1868334
Automated import of CL 149136
Some debugging code was added to camera service. Later it was #ifdef'd
out, but this change also removed the camera permission check. This
change puts the permission check back in.
BUG=1869264
Automated import of CL 149133
This change replaces ILocationCollector with a more general mechanism that
passes locations received from a provider to all other providers.
The network location provider now uses this to implement the location collector.
In the future, this could be used to inject network locations to the GPS
as aiding data.
This change also removes the now obsolete permission INSTALL_LOCATION_COLLECTOR.
Signed-off-by: Mike Lockwood <lockwood@android.com>