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
Fixing javadoc deprecated tags to fix a checkbuild error breaks the current/api.txt.
We're not ready for the api change yet, so back out the comments.
Change-Id: Ia95e394da7329c1b9e3876e589c3c2137ba18048
If one of the ABI list system properties is undefined/empty (as
ro.product.cpu.abilist64 is on a 32-bit only device), getString returns
"unknown", which ends up creating a 1-element array with "unknown" as a
member. Fix this to instead just get the empty string and split that
into a 0-element array.
Change-Id: I0d0a54eb06bb04427bcf0487e2a16d4180b81116
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
Remove:
- resetOldSockets from setDefaultNetId: netd takes care of this automatically.
- {add,remove}DnsServersForNetId: equivalent to "resolver setnetdns".
Change-Id: I819a8be216d07cf9a8c05f51745b64658027ed02
This is a follow up CL for I451544fba746a76618.
This CL replaces libcore.util.Objects with java.util.Objects as
java.util.Objects is getting more and more widely used in
Android. There should be no behavioural change anyway.
Change-Id: Id9568ee98aa3845588017c3711e7d03a3481beea
This CL adds one more functionality to CursorAnchorInfo
that enables applications to associate the composition
string with its positional information. This is useful
for an IME to handle CursorAnchorInfo asynchronously.
This is also useful for the framework to detect if
the application is unnecessarily calling
IMM#updateCursorAnchroInfo with duplicate event.
BUG: 14579622
Change-Id: Ie75c17b523dad33e97b08c15f5f5267573ce2063
With this CL, Editor starts calling IMM#updateCursorAnchorInfo
iff IMM#isWatchingCursor(View) returns true. The performance
regression should be negligible when IMM#isWatchingCursor(View)
returns false.
BUG: 14579622
Change-Id: Ib35a6f4201b26d837a6aa07d1204c9eb75404da1
This is a protocol allowing transports to dynamically register with CS for
Handler to Handler communications.
bug:13885501
Change-Id: Ic7275e3724a15efc7e5f80981560c4cb3106007b
Leanback themes override AlertDialog styles from other themes.
Makes system alert dialogs, and alert dialogs from games running on ATV,
have a style more appropriate to television.
Final visuals pending.
Side button layout fixes DatePickerDialog and TimePickerDialog with
dpad navigation.
TODO: consider using side button layout for other AlertDialog cases
(long messages and lists).
Change-Id: I74e4e04d16d6854377580be95a87684a0385b04b