Content insets allow a Toolbar to define horizontal gridlines for the
start/end or left/right edges of major content (not counting the
navigation button or menu). This allows apps to align their layout
content above or below a Toolbar with the title and other contents of
the bar by using app-defined measurements.
Change-Id: Ibd7e0810bf81070eb5f59a42ad3257f35bc0156a
Add new option for battery stats to record the full wake
lock history, and recording the current power save mode.
Also add in some additional error constants when generating
Binder error exceptions.
And fix issue #14974572: Avoid repeating wakeup_reason at
the beginning of history
Change-Id: I7c1a2ab9569de216634f63d8ad69f1294ef1d235
Bug 14459812
Bug 14454812
Bug 14450295
A new transport was supported for Activity Transitions
in which convertToTranslucent can now take a Bundle
to transport to the calling Activity. This also allows
waking Activities to regain the communication between
the exiting Activity and the calling Activity.
Change-Id: I29aee14b7e56d9b8b9fb656f382b2c4172b02e14
As per a comment on an earlier code review.
(cherry-picked from commit a9d64733421d6765eab5c2730fa912f068e26047)
Change-Id: I064cffc13c323b721f3a16c83e0e95ee348ef9f6
This CL fixes a bug that CursorAnchorInfoBuilder does't make a
copy if the Matrix specified with #setMatrix.
Without this fix, IMM#updateCursorAnchorInfo could fail to detect
duplicated events when the same instances of
CursorAnchorInfoBuilder and Matrix are reused to optimize
performance.
Change-Id: I50c50a12a06d3cda4dec445b171b61ceb78da21a
Defines a new PackageInstaller class that will be used for installing
and upgrading packages. An application desiring to install an
application creates a session, stages one or more package files in
that session, and then kicks off the install.
Previously, PackageManager would always make its own copy of a package
before inspecting it, to ensure the data could be trusted. This new
session concept allows the installer to write package data directly to
its final resting place on disk, reducing disk I/O and footprint
requirements. Writes are directed through an intermediate pipe
to ensure we can prevent mutations once an install has been initiated.
Also uses fallocate() internally to support optimal ext4 block
allocation using extents to reduce fragmentation.
Sessions are also the way we support installing multiple "split" APKs
in a single atomic operation. For a set of packages to form a valid
application, they must have exactly the same package name, version
code, and certificates. A session can also be used to add a small
handful of splits to an application by inheriting existing packages
when not performing a full install.
Add PackageParser support for extracting split names and certificates.
Bug: 14975160
Change-Id: I23d1bf4fbeb9f99a8c83be0c458900a0f0d1bccc
Fix a bug where the starting position was not properly updated for the
previous view's measured width.
Bug 14900794
Change-Id: I6064c5353abc83159cd4c7d6ccfce64640735791