Fix bug where we weren't using the default stream if a caller
requested "*/*" as a type. This broke apps calling the old open
APIs on content providers that did not report MIME types.
Change-Id: Id6e3e64e36cb8637097c3a7834b09407c27487d2
The client of the loader may have already closed the cursor,
so we need to forget it, otherwise the closed cursor
will be redelivered on start.
Change-Id: I30e005ea0827966956bc276a2d3d7b13c95850af
This introduces basic infrastructure that should allow content
providers holding complex data to perform on-demand conversion
of their data to streams of various types. It is achieved through
two new content provider APIs, one to interrogate the possible
stream MIME types the provider can return, and the other to
request a stream of data in a particular MIME type.
Because implementations of this will often need to do on-demand
data conversion, there is also a utility intoduced in ContentProvider
for subclasses to easily run a function to write data into a
pipe that is read by the client.
This feature is mostly intended for cut and paste and drag and
drop, as the complex data interchange allowing the source and
destination to negotiate data types and copy (possible large)
data between them. However because it is fundamental facility
of ContentProvider, it can be used in other places, such as for
more advanced GET_CONTENT data exchanges.
An example implementation of this would be in ContactsProvider,
which can now provider a data stream when a client opens certain
pieces of it data, to return data as flat text, a vcard, or other
format.
Change-Id: I58627ea4ed359aa7cf2c66274adb18306c209cb2
Merge commit '7324489f18ee01586931f577f00567092cbf52df' into gingerbread-plus-aosp
* commit '7324489f18ee01586931f577f00567092cbf52df':
Add SIP service into system server.
Merge commit 'c2a836a5f41897267aa92e5fdeecdf94203d640c'
* commit 'c2a836a5f41897267aa92e5fdeecdf94203d640c':
Changed SyncOperation.toKey() to not rely on the implementation of
Merge commit '5005a6c031b5d66c1b47cad6f0dbaacebcbb6803' into gingerbread-plus-aosp
* commit '5005a6c031b5d66c1b47cad6f0dbaacebcbb6803':
Changed SyncOperation.toKey() to not rely on the implementation of
Merge commit 'cdf16787fc1234b7f21a9cddc6f8a27b4056bc39' into gingerbread
* commit 'cdf16787fc1234b7f21a9cddc6f8a27b4056bc39':
Changed SyncOperation.toKey() to not rely on the implementation of
ClipboardManager was in android.text(!!) so it needed to be moved
up to android.content to have access to the richer data types we
now need.
ClippedData is the data representation. Still needs a lot of
fleshing out to allow holding more than one data type at a time
and perhaps conversions between them. (MIME-oriented interrogation
and conversion will be done through ContentProvider, which needs
to grow an ability to report multiple MIME types and accept a
desired MIME type when a stream is being opened.)
Change-Id: Ifa51bedcd084a677813b255d171804e8496b0cb5
Merge commit '97c2d840a10813164d82571775a3566637d6c5de' into gingerbread-plus-aosp
* commit '97c2d840a10813164d82571775a3566637d6c5de':
fix some doc errors in the resources;
Merge commit '8dd87ad9440bc63bc312b06f292adcd2642b1c41' into gingerbread
* commit '8dd87ad9440bc63bc312b06f292adcd2642b1c41':
fix some doc errors in the resources;
Hardware acceleration can now be enabled/disabled locally on each activity
declared in the manifest. It can also be enabled/disabled directly on a
window through the WindowManager.LayoutParams.
Change-Id: I91dd0b26c4e7eb8cd7288e523ed6b7bda6d0990b
Merge commit 'c68bcc320522abf856211e9aa00bba71ccaddacb' into gingerbread-plus-aosp
* commit 'c68bcc320522abf856211e9aa00bba71ccaddacb':
Only allow one movePackage operation in-flight
When a movePackage operation is requested, don't allow multiple requests
to pile up for one package. Once a move is completed, an observer will
receive the message and be allowed to call movePackage again.
Change-Id: Ie3842b6d96446febc0037bf9b8f1ca250735edc2
Added Loader.onContentChanged() which is called by ForceLoadContentObserver
when it detects a change, rather than forceLoad().
By default onContentChanged() just calls forceLoad(), so there's no change
in behavior.
This is useful when a subclass wants to perform custom operations upon
data chantes. For example, a subclass may want to limit the number
of automatic requeries per second.
Change-Id: I493dac3f4f1a75b056d2c7065336ea9252dbf424
Merge commit '739cdab7cb63d53440bb411fa2d558e2114b4c81' into gingerbread-plus-aosp
* commit '739cdab7cb63d53440bb411fa2d558e2114b4c81':
Do not deference before null check
The return of parsePackageLite wasn't checked until after it was
deferenced. Move the deference below the null check and remove redundant
set.
Bug: 2852726
Change-Id: I3eaaea5050948145eed44b64507dc846993d98eb
Merge commit '8190f485539c36803489dcf5f198d03ed87ae8f9'
* commit '8190f485539c36803489dcf5f198d03ed87ae8f9':
Minor changes to ContentProvider javadoc to improve consistency.
Merge commit 'b350bec514eb9fee473e4ef62680c53e992dc49b' into gingerbread-plus-aosp
* commit 'b350bec514eb9fee473e4ef62680c53e992dc49b':
Minor changes to ContentProvider javadoc to improve consistency.
Merge commit '17876aa586cc9acfb3e5b909c14b9e73537a1a8d' into gingerbread
* commit '17876aa586cc9acfb3e5b909c14b9e73537a1a8d':
Minor changes to ContentProvider javadoc to improve consistency.
a. The CountryDetector detects the country the user is in
in order of mobile network, location, sim card or locale.
It will be used by contact and contact provider.
b. All added APIs are hidden at this stage.
Change-Id: I4ba278571ffb6ab6ded0996d4f440a18534f8ed4
Merge commit '4d5443762bd2b44b28edc2f2f75728911d70eac1' into gingerbread-plus-aosp
* commit '4d5443762bd2b44b28edc2f2f75728911d70eac1':
COMMENT ONLY change to clarify ContentProvider documentation.
Merge commit '86c035f0d176be9cb06b1e4f2390c25701417586' into gingerbread
* commit '86c035f0d176be9cb06b1e4f2390c25701417586':
COMMENT ONLY change to clarify ContentProvider documentation.
Merge commit '7feab3470156c7864fe159115d575c16f0974493' into gingerbread-plus-aosp
* commit '7feab3470156c7864fe159115d575c16f0974493':
Un-@hide new download manager public API.
Gets a little more specific about thread behavior, and makes
pointed comments about not doing too much work in onCreate().
Change-Id: I682f0eb7d7559babee901ed26642751a6ba0a1ea