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
Temporarily bump noisy things to the top so the user can find them.
This is the first example of a delayed ranking reconsideration.
Change-Id: I07271ba197101ad462e4f99fb7c369a39c8c2e2f
Fix update of the light sensor in AutoBrightnessController.
Register observer for Settings.System.SCREEN_AUTO_BRIGHTNESS_ADJ.
Change-Id: I5201259c4efc0afa200fea3ad9fe3af2991d8676
These are due to changes to ConnectivityService that were made
after master-multinetwork-dev branched off. They mostly didn't
cause merge conflicts because they were in different parts of
the file from the multinetwork changes, but they cause compile
errors now. These particular changes should be fine - they are
all in dead code anyway, and their functionality had already
been re-implemented in the new code.
Change-Id: I0ac9e39c3c975c8e8dc04ad11b6b85366693865c
At present the network evaluation / captive portal detection
is disabled pending addition of API to bind socket to network.
Change-Id: I5d1f5dc86d4dd9481d52dd45d6da0732054c8315
NetworkFactory and NetworkAgent. First trying with wifi and
getting rid of WifiStateTracker.
Conflicts:
api/current.txt
services/core/java/com/android/server/ConnectivityService.java
Change-Id: I7f0ec13d7d8988b32f3c6dc71f72012f3349fe02