is full-screen width but has rounded corners on the bottom so it doesn't
look crappy if the list is not full-screen height. This was already
being used for in-app search, so I just got rid of the old global search
background and use the in-app one for everything.
By removing the lines in SearchDialog, I'm causing it to rely on the
value specified for the dropdown background in
frameworks/base/core/res/res/layout/search_bar.xml.
* changes:
Remove deprecated callback function support. This is the last of a 3-part change to modify the camera to use a more streamlined callback interface. This change removes the old code. Bug 1884362
* changes:
Use a ref-counted callback interface for Camera. This allows the camera service to hang onto the callback interface until all callbacks have been processed. This prevents problems where pending callbacks in binder worker threads are processed after the Java camera object and its associated native resources have been released. Bug 1884362
MediaPlayer.java has 3 new methods:
* newRequest creates a Parcel that can be used to send data to the
native player using invoke.
* invoke issues synchronous calls to the native player using opaque
parcels for the request and reply.
IMediaPlayer.h has 1 new abstract method:
* invoke
The Midi and Vorbis players have a stub for these. So far only PV
makes use of that new feature.
To avoid any copy overhead, the JNI interface uses Parcel as a java
object (no serialization/copy happens at the JNI layer).
The remote interface token is inserted when the Parcel is constructed
in java. That way the parcel is already routable when it reaches
IMediaPlayer.cpp (proxy). No extra copy is needed there.
This allows the camera service to hang onto the callback interface
until all callbacks have been processed. This prevents problems
where pending callbacks in binder worker threads are processed
after the Java camera object and its associated native resources
have been released.
Bug 1884362
This change adds a new intent extra field USER_QUERY set in intents
launched by the search dialog. It contains the query as typed by
the user, unaffected by query jamming or search suggestions.
Fixes http://b/issue?id=1939592
The reason we need this count is a new CameraService::connect() request may
come in while the previous Client's destructor has not been run or is still
running. If the last strong reference of the previous Client is gone but
destructor has not been run, we should not allow the new Client to be created
because we need to wait for the previous Client to tear down the hardware
first.
Merge commit '4133751d51a04172aa65e24658b4207ef764de91'
* commit '4133751d51a04172aa65e24658b4207ef764de91':
Improve RelativeLayout by allowing dependencies to be declared in a random
order.
The new implementation uses a dually topologically sorted graph of the child
views. The graph of dependencies is sorted once for the rules that impact the
horizontal axis (toLeftOf, alignRight, etc.) and once for the rules that impact
the vertical axis (above, below, etc.)
Doing so gives the ability to declare dependencies in any order, allows for
partial cycles in the graph (given view1 and view2, view1 can be toRightOf=view2
and view2 can be above=view1) and probably gets rid of most surprising behaviors
of RelativeLayout.
This change adds a fixed-size metadata block at the head of each file's content
entity. The block is versioned, and fixed-size on the theory that it might be
nice to be able to recover the content (if not the full metadata) of the files
if we're ever confronted with data backed up some hypothetical future helper
that stored expanded metadata.
The net effect is that now on restore, we assign the same access mode to the
file that it originally had when backed up.
Also, some of the code was failing to properly free transient heap-based buffers
when it encountered errors. This has been fixed with the addition of a tiny
stack-based object whose job it is to free() its designated pointer from its
destructor.
They are now very short and blunt. The real fix is to make
them marquee or open another dialog or something as discussed in the bug.
I hope these are short enough for Donut so all essential text is visible
in the notification.
Bug 1760196
* changes:
- clean up the sync settings names to: (get|set)SyncAutomatically (get|set)MasterSyncAutomatically - change SYNC_EXTRAS_FORCE to SYNC_EXTRAS_MANUAL to mace clear that this overrides the .*SyncAutomatically settings - make ContentResolver methods that call the sync controls methods in IContentService so that SDK users can use them - rename startSync to requestSync to reinforce the fact that a sync is not immediately or always started when this method is called - add an Account parameter to all the sync settings and control methods - change the sync control methods to take a String authority rather than a Uri uri
(get|set)SyncAutomatically
(get|set)MasterSyncAutomatically
- change SYNC_EXTRAS_FORCE to SYNC_EXTRAS_MANUAL to mace clear that
this overrides the .*SyncAutomatically settings
- make ContentResolver methods that call the sync controls methods
in IContentService so that SDK users can use them
- rename startSync to requestSync to reinforce the fact that a sync
is not immediately or always started when this method is called
- add an Account parameter to all the sync settings and control methods
- change the sync control methods to take a String authority rather than a Uri uri
Merge commit '2a3cd3643fcfa40fc447485a2db4b4333e10c652'
* commit '2a3cd3643fcfa40fc447485a2db4b4333e10c652':
Adding support for pitch changes of the synthesized text in Text-To-Speech.
The mColors member can be null, as can be seen in
GradientDrawable.setSolidColor() or the plain constructor. In that case, an NPE
will be thrown on attempts to derive a new GradientDrawable from the instance
using the private constructor GradientDrawable(GradientDrawable).
The problem also occurs when inflating a GradientDrawable from XML without
defining the start, center and end colors and then calling mutate() on the
instance.
This is to fix bug http://b/issue?id=1929993. If user had GoogleSearch
earlier and that was the default, it will get overridden by
EnhancedGoogleSearch when the user installs the latter from the market.
Merge commit '1bee98af6532eba3c6cda636eee890530c95a2a7'
* commit '1bee98af6532eba3c6cda636eee890530c95a2a7':
Fill in CDMA gaps and clean up ToneGenerator code
Merge commit '11b157790234d3d2f116ce4c7ed1d3d00fb78bc3'
* commit '11b157790234d3d2f116ce4c7ed1d3d00fb78bc3':
Add file mode to the file-backup saved state blobs
Merge commit '2e418428987132ea66533cbc05f9c526eb59519a'
* commit '2e418428987132ea66533cbc05f9c526eb59519a':
Possibly fix an issue where we thought an app was always using GPS.
Merge commit '843f5eb36a67367ae76800f74e184f00af50ef54'
* commit '843f5eb36a67367ae76800f74e184f00af50ef54':
Rollback the number of loop in the memory stress test
Merge commit 'b0ae27f4e10a9e5fe56b9ca549718051fe342bba'
* commit 'b0ae27f4e10a9e5fe56b9ca549718051fe342bba':
Store correct state in SearchDialog.onSaveInstanceState()
This change puts the file's access mode into the saved-state blob used by the
file backup helpers. The tests have been updated for the new blob content
format.
What this change *doesn't* do is actually backup/restore the file mode. This
change is a prerequisite for that, but mode preservation in backup/restore will
require adding metadata to the backup data stream itself, so will be approached
a bit more carefully.
(Also fixed one outright bug in the test program: ReadEntityData() had been
changed to return a ssize_t union of either a byte-count or a negative number
indicating error, but the test program was still assuming that nonzero == error,
and was spuriously failing.)
There may be some race conditions in the gps provider where it can cause a uid
to be double booked for gps usage and never released. Address this by tweaking
some locking (so mLocation and the uid array are protected by a lock both when
reading and writing). Also add some code to log a warning if someone tries to
note a particular uid multiple times, since the code will break in that case.
Finally, fix a problem in the battery stats where we weren't allowing a new Uid
structure to be created in many cases for calls coming in.