Commit Graph

1781 Commits

Author SHA1 Message Date
Jeff Sharkey
3a44f3f1b4 Initial support for split APKs, PackageInstaller.
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
2014-05-14 18:12:24 -07:00
Torne (Richard Coles)
93ffc21fc6 am 41ecc8b1: am dcc9cf03: am 41ec8c96: Merge "Avoid supported ABI list containing "unknown"."
* commit '41ecc8b1e04794f3d6db01b594cb6daaafd8ae1d':
  Avoid supported ABI list containing "unknown".
2014-05-14 15:40:39 +00:00
Torne (Richard Coles)
41ecc8b1e0 am dcc9cf03: am 41ec8c96: Merge "Avoid supported ABI list containing "unknown"."
* commit 'dcc9cf03a846cb01d91de70d7a115d95c0c4db19':
  Avoid supported ABI list containing "unknown".
2014-05-14 15:35:19 +00:00
Torne (Richard Coles)
dcc9cf03a8 am 41ec8c96: Merge "Avoid supported ABI list containing "unknown"."
* commit '41ec8c9672fccce90a7156bcd856f59a36e93ad3':
  Avoid supported ABI list containing "unknown".
2014-05-14 15:31:28 +00:00
Torne (Richard Coles)
da8c037c8b Avoid supported ABI list containing "unknown".
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
2014-05-14 16:17:26 +01:00
Paul Jensen
992f252579 Separate network and interface addition/removal netd APIs.
This should facilitate stacked interfaces (i.e. clatd).

Change-Id: Ib3e7a4d3847ef6ec4449451f6da42e75959baa4f
2014-05-14 03:56:34 -07:00
Sreeram Ramachandran
b2829fa165 Specify netId when adding/removing routes.
Change-Id: I07fd950aee726e9721153f75c3e4c10d8e19d8e9
2014-05-14 03:56:33 -07:00
Sreeram Ramachandran
f047f2a8f4 Update netd API.
Remove:
- resetOldSockets from setDefaultNetId: netd takes care of this automatically.
- {add,remove}DnsServersForNetId: equivalent to "resolver setnetdns".

Change-Id: I819a8be216d07cf9a8c05f51745b64658027ed02
2014-05-14 03:56:33 -07:00
Paul Jensen
13e817df51 Use NetId instead of interface name when communicating DNS changes to netd.
Change-Id: Ic82b73de6f50d39d56c5e1a32f5b1f3ebb80bb7d
2014-05-14 03:56:33 -07:00
Robert Greenwalt
913c895216 Update netd interface
Adding netId for route changes

bug:13732575
Change-Id: Id171412a0f580f71398c9b0b8742acb1f3ef5a1e
2014-05-14 03:56:32 -07:00
Robert Greenwalt
568891d928 Add multinetwork netd calls
bug:13732575
Change-Id: I7f030bd63971ff71d32a221e50318c781e7f2370
2014-05-14 03:56:32 -07:00
Adrian Roos
cd10d7c595 Merge "A better auto brightness" 2014-05-14 10:32:26 +00:00
Adrian Roos
daf7d410fc A better auto brightness
Bug: 14927472
Change-Id: I62d0695b7da16ffa7a27c465c3b6bc4b1515f9c0
2014-05-14 10:32:08 +00:00
Justin Koh
fc986d71ca resolved conflicts for merge of 32c5f299 to master
Change-Id: I72656792e109fea82c63a3a42151c024630f5997
2014-05-13 16:52:17 -07:00
Justin Koh
32c5f2998f am 78b94de4: Set KITKAT_WATCH to be level 20, document API specific changes.
* commit '78b94de4b527c26bb3c038ae4f8cc351b3b4881f':
  Set KITKAT_WATCH to be level 20, document API specific changes.
2014-05-13 23:24:33 +00:00
Justin Koh
78b94de4b5 Set KITKAT_WATCH to be level 20, document API specific changes.
Bug: 14116162
Change-Id: Iab094dbd0add414a365234c275bd473787b8803b
2014-05-13 16:03:18 -07:00
Robert Greenwalt
9ba9c58e4a First pass on multinetwork framework
Starting to switch netd to use NetId.
Adding the Network identifying class

bug:13550136
Change-Id: Ie0db4fb17c9300bfafb63329adfa02339911b33d
2014-05-12 10:59:44 -07:00
Dianne Hackborn
37de098935 Battery stats tweaks.
- Generate currently active events when a partial
  history is requested.
- Tag wake lock release with the wake lock name if it is
  different than the one that was acquired.
- New RESET mark for the start of the history.

Change-Id: Ic105656649c46f52855946ed0ad7f98f1d24dedc
2014-05-09 14:07:38 -07:00
Jessica Hummel
a8c5f577d0 Merge "Add api for getting the parent of a profile." 2014-05-09 09:33:28 +00:00
Ashish Sharma
bffcf1c2da Bump the batterystats checkin stats version number.
Change-Id: Ie403b89022e4d1f6ad0e07e70c95f39a1d5fa530
2014-05-09 02:03:55 +00:00
Jessica Hummel
be81c800ae Add api for getting the parent of a profile.
Change-Id: Ife59665cdf6531a118d74def864c8cfc92c92a42
2014-05-08 14:17:07 -07:00
Dianne Hackborn
e22b3b1432 Usage stats!
Start reworking the usage stats service to be able
to have an API we can publish.

The basic information it keeps is still the same, though
that will be changing in the future.  The one big addition
here is that we are also now collecting configuration usage
stats.

Also introduce the start of an access model for usage stats,
using app ops.  There is an new app op that gives an application
access to usage stats even if it normally wouldn't have it,
disabled by default.

Change-Id: I6ead28e18a7f08eafd057d6ff37dd9cb216358f4
2014-05-08 13:58:13 -07:00
Emily Bernier
394a6cdd98 New user restrictions for EDU
New user restrictions will allow schools to prevent students from 1) using
device microphones, 2) adjusting device volume, and 3) mounting physical
external media.

Change-Id: Ib2fcb7ce8fbc489a25d2c97a122b2124012a9e3c
2014-05-07 17:04:58 -04:00
Julia Reynolds
d46d0f9dcd Add new EDU user restrictions.
Change-Id: I6aad10466d99cda6be378c72025df686fe665071
2014-05-07 09:51:16 -04:00
Jeff Brown
a93369a819 am 84aaf124: Merge "Plumb display state and interactive information to BatteryStats. (DO NOT MERGE)" into klp-modular-dev
* commit '84aaf124b762b9eeb0957aaea9df8424a429b148':
  Plumb display state and interactive information to BatteryStats. (DO NOT MERGE)
2014-05-06 20:30:49 +00:00
Jeff Brown
996e269d93 Merge "Plumb display state and interactive information to BatteryStats." 2014-05-06 20:28:36 +00:00
Jeff Brown
84aaf124b7 Merge "Plumb display state and interactive information to BatteryStats. (DO NOT MERGE)" into klp-modular-dev 2014-05-06 20:27:34 +00:00
Jeff Brown
e95c3cd895 Plumb display state and interactive information to BatteryStats.
Fixes an issue where dozing was treated the same as the screen
being fully on.  Now dozing is treated the same as the screen
being fully off which is slightly better.  The decision of how
to represent this state is now internal to the battery stats
so it can be improved later.

Removed noteInputEvent() since it is unused.

Bug: 14480844
Change-Id: Iee8cf8dce1a1f91c62678bb6d3d9fe567ad6db42
2014-05-06 13:23:53 -07:00
Jeff Brown
01ee6f6cf7 Plumb display state and interactive information to BatteryStats. (DO NOT MERGE)
Fixes an issue where dozing was treated the same as the screen
being fully on.  Now dozing is treated the same as the screen
being fully off which is slightly better.  The decision of how
to represent this state is now internal to the battery stats
so it can be improved later.

Removed noteInputEvent() since it is unused.

Bug: 14480844
Change-Id: Iee8cf8dce1a1f91c62678bb6d3d9fe567ad6db42
2014-05-06 13:18:19 -07:00
Justin Koh
f99fc5405e am 34f930f3: Fix build due to docs bug. DO NOT MERGE
* commit '34f930f3b591f08ee4be8c2f54ee602cabdacc33':
  Fix build due to docs bug. DO NOT MERGE
2014-05-06 00:06:58 +00:00
Justin Koh
34f930f3b5 Fix build due to docs bug. DO NOT MERGE
Fix build due to docs bug: needed to remove reference to stopMethodTracingSampling.

Change-Id: I878357b638b3862aecb4bc9d32ee166840b6c796
2014-05-06 00:01:18 +00:00
Justin Koh
8b98c21307 am bebfcb93: Merge "Hide startMethodTracingSampling DO NOT MERGE" into klp-modular-dev
* commit 'bebfcb93ef97095a7caa1f80a0b1b05a04e9fd8c':
  Hide startMethodTracingSampling DO NOT MERGE
2014-05-05 23:18:26 +00:00
Justin Koh
8fee5c857b Hide startMethodTracingSampling DO NOT MERGE
Bug: 14116162
Change-Id: I68470f02a2b6c2f0d9a1cb52bb4b7eeea10b43cf
2014-05-05 15:40:00 -07:00
Ashish Sharma
81850c48fd Avoid creating new battery history types because of no separator.
Change-Id: I325743142bee21e4dbca5bf9ed6135b7ca5340ec
2014-05-05 21:00:33 +00:00
Dianne Hackborn
d06dcfd3db Change wake reason checkin tag to "wr".
The old "Wr" was also used for Wifi Running.

Also include discharge/charge time remaining in
checkin output.

Change-Id: I303a0be902002d0399b9eb76773857da9103e8ce
2014-05-02 13:54:13 -07:00
Alexandra Gherghina
973a1d2741 Merge "Revert "Temporarily switch off returning only enabled profiles to support dogfooding"" 2014-05-01 15:42:07 +00:00
Narayan Kamath
4948f0eee8 Fix build.
Bad automatic merge by git resulted in a dup. of a function.

Change-Id: Idb8fd8a48e1a9f6aeac98a199d6b8c661efaab16
2014-05-01 15:37:15 +01:00
Narayan Kamath
3a951e52d9 resolved conflicts for merge of 69da8a12 to klp-modular-dev-plus-aosp
Change-Id: Ie07b88f324749afcf8417b50d4dbbc6e2a271a2a
2014-05-01 15:32:20 +01:00
Narayan Kamath
69da8a124e am 2a9a0471: Merge "Package manager changes for dual zygote stack."
* commit '2a9a047140b8da8f9cd7147c8bed60eeb61d1b6a':
  Package manager changes for dual zygote stack.
2014-05-01 14:00:43 +00:00
Narayan Kamath
2e2c7d2325 am 6af42aea: am 9f34234f: am b916d8ad: Merge "Implement FileUtils#contains."
* commit '6af42aea725c2afd8e5fbff9bc33ba353c05e1a9':
  Implement FileUtils#contains.
2014-05-01 14:00:25 +00:00
Narayan Kamath
0338af46f9 am 99253c2d: am fde59428: Merge "Handle /oem and /vendor as well"
* commit '99253c2da945cbd4725efced6cac2dc40c858d6c':
  Handle /oem and /vendor as well
2014-05-01 13:57:21 +00:00
Narayan Kamath
6af42aea72 am 9f34234f: am b916d8ad: Merge "Implement FileUtils#contains."
* commit '9f34234f1c0e39ee43c4a86e23d333ba2a30ec0e':
  Implement FileUtils#contains.
2014-05-01 13:57:13 +00:00
Narayan Kamath
0349e8c478 Package manager changes for dual zygote stack.
- Pass down the app's instruction set to dexopt so that
  it can compile the dex file for the right architecture.

- Also pass down the app's instruction set to rmdex, movedex
  and getSize so that they can construct the cache file
  location properly.

- Temporarily compile "system" jars such as am,wm etc. for
  both architectures. A follow up change will ensure that
  they're compiled only for one architecture (the same
  arch. as the system server).

- Java "shared" libraries are now compiled for the right
  architecture when an app requires them.

- Improve the app native library ABI detection to account
  for system apps installed in /system/lib{64}/<packagename>
  and also handle sdcard and forward locked apps correctly.

(cherry-picked from commit b4d35dc8e9702f9d0d82d35a105f0eea35672b52)
2014-05-01 13:54:48 +00:00
Narayan Kamath
99253c2da9 am fde59428: Merge "Handle /oem and /vendor as well"
* commit 'fde594288bff0b8f95567e6b27f273f50f0c5f87':
  Handle /oem and /vendor as well
2014-05-01 13:53:08 +00:00
Narayan Kamath
9f34234f1c am b916d8ad: Merge "Implement FileUtils#contains."
* commit 'b916d8adffd7ea3588bc178e1ee03f68f0a409e5':
  Implement FileUtils#contains.
2014-05-01 13:52:55 +00:00
Christopher Tate
c84471c2e0 Handle /oem and /vendor as well
Bug 13170859

(cherry-picked from commit 740888f62e)

Change-Id: I7b5e206697fcbec146cac6cd83fca5c583a8cbd7
2014-05-01 13:51:33 +00:00
Narayan Kamath
d6d1dbac3f Implement FileUtils#contains.
Partial cherry-pick of changes 4ca728c0 and 21de56a9, which
can't be cherry-picked due to their large surface area.

Change-Id: Ife46e150d360cd5241dea93863141749233c1805
2014-05-01 14:01:44 +01:00
Alexandra Gherghina
df35d570ed Adds an enabled state in UserInfo instead of DevicePolicyManager
Bug: 14377459
Change-Id: Ib4ec43d87da96c3dddaf9b7ae1796f261863a182
2014-05-01 11:34:27 +01:00
Alexandra Gherghina
f2e7b3f56a Revert "Temporarily switch off returning only enabled profiles to support dogfooding"
This reverts commit 199c35a21ea9bddde80fdb435ec604f729b0cbe7 because client code has been updated.

Bug: 14132551
Change-Id: I7159087dfaded6f2bfe90ef103f74b242acb166c
2014-04-30 17:01:03 +00:00
Narayan Kamath
0f206a149d Package manager changes for dual zygote stack.
- Pass down the app's instruction set to dexopt so that
  it can compile the dex file for the right architecture.

- Also pass down the app's instruction set to rmdex, movedex
  and getSize so that they can construct the cache file
  location properly.

- Temporarily compile "system" jars such as am,wm etc. for
  both architectures. A follow up change will ensure that
  they're compiled only for one architecture (the same
  arch. as the system server).

- Java "shared" libraries are now compiled for the right
  architecture when an app requires them.

- Improve the app native library ABI detection to account
  for system apps installed in /system/lib{64}/<packagename>
  and also handle sdcard and forward locked apps correctly.

Change-Id: I4f380b146137803e51d56fdf355c3bdfc92c409d
2014-04-30 09:43:31 +01:00