Updated behavior queries each documents root for recently modified
documents. It uses a new variant of DirectoryLoader which limits the
maximum number of parallel queries to relieve memory pressure. When
first started, it waits up to 500ms for everyone to finish, then
publishes whatever results are ready, and then refreshes results as
each straggler finishes.
New RootCursorWrapper that always blends in authority and rootId
columns, which are used for binding root details from blended cursors.
Bug: 10593596, 10329994
Change-Id: Icc0d4a2f1b6166edc72f78a4c88f444eeba6f2f0
Combines related columns and constants onto the same class so they
are easier to discover. Move back to surfacing roots with columns
so they are consistent with documents.
Advanced roots are represented with a flag instead of distinct
types. Flags to indicate supporting of well-known media types,
instead of arbitrary an MIME filter. Reintroduce well-formed rootId
to support recents.
Always use the expanded version of "documents" in constants, methods,
and argument names.
Refactor DocumentProvider method names to clearly distinguish if
a single item or multiple could be returned, and of which type. Add
documentation to clearly define which methods have already been
overridden.
Bug: 10567506, 10567557
Change-Id: I981f26ab82f2b520a19aa1ce66f659de50d7fac0
Using a contract class requires that a provider implement it exactly
with little help. This change introduces a DocumentsProvider abstract
class that provides a client-side implementation of the contract that
greatly reduces developer burden, and improves correctness.
This also moves to first-class DocumentRoot objects, and moves calls
with complex side effects to be ContentProvider.call() invocations,
offering more granular permission control over Uri operations that
shouldn't be available through Uri grants.
This new design also relaxes the requirement that root information be
burned into every Uri. Migrate ExternalDocumentsProvider and
DocumentsUI to adopt new API.
Bug: 10497206
Change-Id: I6f2b3f519bfd62a9d693223ea5628a971ce2e743
- Fix additional getInt() path, restores the location settings screen
functionality.
- Should fix "unresolved link" build breakages in
git_klp-dev-plus-aosp-without-vendor, which is much more persnickety than
klp-dev for some reason.
- Add warning that we may add additional location modes in the future.
- Finish fix for b/10461763 and b/10461474
Change-Id: Id7155e3a0d7526a377d446018ef3bdb057bad3a6
- Escape < and > in javadoc
- Constructor does not take log tag
- Start intent rename
- Comments for Status.summary and enabled
- Bonus fixes:
- Start renaming STATUS_KEY to SUMMARY_KEY
- Send message back even if getting the status fails so we don't have
to wait for the fetch to time out
- Add comment about setting activity being invoked when disabled
- Partial fix for b/10461474
Change-Id: I025e7e0782c2873a4eda20ab4793bc6145daf8db
Since ContentProvider file operations can end up doing substantial
network I/O before returning the file, allow clients to cancel their
file requests with CancellationSignal.
Ideally this would only be needed for openFile(), but ContentResolver
heavily relies on openAssetFile() and openTypedAssetFile() for common
cases.
Also improve documentation to mention reliable ParcelFileDescriptors
and encourage developers to move away from "rw" combination modes,
since they restrict provider flexibility. Mention more about places
where pipes or socket pairs could be returned.
Improve DocumentsContract documentation.
Bug: 10329944
Change-Id: I49b2825ea433eb051624c4da3b77612fe3ffc99c
Adds another vendor-specific command AT+ANDROID in Bluetooth Hands-Free
Profile. And creates an API function that sends an unsolicited result
code +ANDROID .
Bug: 8736189
Change-Id: I4757c410d31b97511c92f66d71035eb929f9fd29
Add an API to allow applications to record from the remote
submix when they have the required permissions.
Bug: 10265163
Change-Id: Id3815fe82a6713e058ce4b8ab6128a898481df7e
BluetoothGatt.abortReliableWrite() should not take a BluetoothDevice
parameter. Instead, it should use mDevice instance variable.
bug 10152994
Change-Id: I7fc79b9011cf878414128cc9f1696e5ccc597056
1. Added past printer history tracking and merging favorite printers
with discovered printers.
2. Added save as PDF support.
3. Added all printers activity with search capability and optional
add printers chooser (if any print service provides add printers
activity)
4. Refactored the printer discovery session APIs. Now one session
can have multiple window discovery windows and the session stores
the printers found during past discovery periods.
5. Merged the print spooler and the print spooler service - much
simpler and easier to maintain.
Change-Id: I4830b0eb6367e1c748b768a5ea9ea11baf36cfad
This will cause the OS to show UI that allows the user to pick
another application that could potentially handle the transaction.
Also, tweak processCommandApdu() method to take a Bundle to be more
future-proof.
Bug: 10262585
Change-Id: If9d060341b472fac0349f539c04b87e85fe79dfb
When requesting thumbnails, check if their dimensions are larger
than requested, and downscale to avoid memory pressure. Load them
async and with LruCache.
Extend MatrixCursor so that RowBuilder can offer() columns without
requiring they know the projection map. This makes it easier to
respond to query() calls, where the remote side controls the
projection map. Use it to handle custom projections in external
storage backend.
Update date/time formatting to match spec.
Bug: 10333418, 10331689
Change-Id: I7e947a8e8068af8a39b55e6766b3241de4f3fc16