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
- Gets rid of all assumptions about the hotword service
- Fixes bug where the hotword detection would keep running accidentally
even when the screen got turned off
Change-Id: Ie86c1a4f4343bdf7e61f7c21114fd3b287bd5401
Even if the bars are transparent / invisible.
Refactor the PSB bar mode override logic to take the IME hint into
account. Bars are overriden to opaque when hint is showing.
Initialize bar state to showing, fix bug that would mark state
as hidden pre-show (on shell restart).
Bug:10505132
Bug:9499956
Change-Id: I21e830e90c7e9812b4192ca65c3c0cd7a6b72798
1. Added scale to fit and scale to fill fitting modes.
2. Added APIs for a print app to specify which constraints imposed
by the print attributes were satsified during a layout so they
are not handled by the printer again, e.g. if the content is to
be in landscape the the app generated such content the printer
should rotate the content again.
3. Added some printer statuses.
4. Added a helper class that generates PDF documents with correct
size based on the passed in print attributes.
5. Exposed a ctor for PageRange which was hidden by mistake and apps
could not create page ranges. Added API for changing the printer
status.
Change-Id: If1334a61d2d931027b98075f653018d456b1b768
Update to new system bar assets (ic_*, stat_*).
Update color resources driving style for battery meter + clock.
Add new xxhdpi versions.
Bug:10502089
Change-Id: Ic957ad9886fbb05ed0ca1765fb9e324bfd8ab609
This allows disabling keyguard widgets through Settings.
On new devices, the setting is turned off by default. If the
user currently has widgets in keyguard, then we keep them
and re-enable the setting.
Change-Id: I7258921231d439925ac8627105710efa99309094
Adds new ExifInterface method to extract the thumbnail range from
a larger image file, and use that to return an AssetFileDescriptor.
When decoding an AssetFileDescriptor thumbnail with offsets, read out
the raw data entirely, since Skia uses lseek() aggressively.
Bug: 10412208
Change-Id: I7906cdf82c0c3794cec7043c801a86f66efeb143
1. Added support for selecting a printer from the all printers activity
that is not in the initial printer selection drop down. The user
initially sees a sub set of the printers in the drop down and the
last option is to see all printers in a separate activity. Some
of the printers in the all printers activity are not shown in the
initial drop down.
2. Refactored printer discovery by adding (private for now) printer
discovery app facing APIs. These APIs are needed to support multiple
printer selection activities (print dialog and all printers activities)
and also the settings for showing all printers for a service.
Now multiple apps can request observing for printers and there is
a centralized mediator that ensures the same printer discovery
session is used. The mediator dispatches printer discovery specific
requests to print services. It also aggregates discovered printers
and delivers them to the interested apps. The mediator minimizes
printer discovery session creation and starting and stopping discovery
by sharing the same discovery session and discovery window with
multiple apps. Lastly, the mediator takes care of print services
enabled during discovery by bringing them up to the current
discovery state (create discovery session and start discovery if
needed). The mediator also reports disappearing of the printers
of a service removed during discovery and notifies a newly
registered observers for the currnet printers if the observers are
added during an active printer discovery session.
3. Fixed bugs in the print UI and implemented some UX tweaks.
Change-Id: I4d0b0c5a6c6f1809b2ba5dbc8e9d63ab3d48f1ef
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
1. Migrate transparent transitions to the new optimized
background color animations.
2. Ensure sysui animation transparent -> opaque has enough
time to run before window manager crops off the content area.
3. Lose the individual alpha on each status bar icon if the bars
are not opaque. Animate the alpha if visible, make sure they
play together.
4. Documentation typo fix found in AnimatorSet.
Bug:10344949
Change-Id: I615668ce3c552d3df15dbba5cdeeca67549a0220