Commit Graph

106 Commits

Author SHA1 Message Date
rich cannings
a6cfe52eb8 Allow APKs to install when verifier times out.
When app verfication is enabled and the verifier times out, allow
PackageManagerService to continue with the installation.

Bug: 6531120
Change-Id: Ic6aef755af92588e8887c918b70fb195c683b24c
2012-05-22 10:44:39 -07:00
rich cannings
3004fe8d3d Merge "Set DEFAULT_VERIFICATION_TIMEOUT to 10 seconds" 2012-05-22 10:25:16 -07:00
Kenny Root
88ab8c8de4 am 0eaeb69d: Merge "Do not bother to remove pending installs" into jb-dev
* commit '0eaeb69d1c4849da8ab1df70b84e90837193df67':
  Do not bother to remove pending installs
2012-05-22 08:57:52 -07:00
Kenny Root
14ae367cae Do not bother to remove pending installs
Pending install list is cleared if there is an error connecting to DCS,
so don't try to remove each pending install in the loop.

Change-Id: I736114878ad92136c3b8a3ca27a1f058adaba395
2012-05-21 16:57:32 -07:00
rich cannings
aa8513e171 Set DEFAULT_VERIFICATION_TIMEOUT to 10 seconds
Bug: 6531174
Change-Id: I330a765e7f03cce3633046ef989f066c2aca5562
2012-05-21 16:15:23 -07:00
Kenny Root
8101eb7a74 am ae9d040f: Merge "Wait for ASECs to be scanned before proceeding" into jb-dev
* commit 'ae9d040f715130389de3dbc3bf52e24e5f29425a':
  Wait for ASECs to be scanned before proceeding
2012-05-17 17:17:19 -07:00
Kenny Root
51a573c767 Wait for ASECs to be scanned before proceeding
Move MountService up the list, then pause waiting for MountService to
finish scanning ASECs before the services that require those packages to
be ready.

Additionally, don't automatically mark all ASEC apps as FLAG_EXTERNAL on
reboot. This prevents AppWidgets and other things from being used with
ASECs which are on internal storage.

Bug: 6445613
Change-Id: I3e0b3e244fec966814d7a5ea93de5d337aea79bd
2012-05-17 16:06:54 -07:00
Kenny Root
e262d4bdbd am 11e123f7: Merge "Check system app before removal" into jb-dev
* commit '11e123f7684378578242f5824e14ddba2f68d9ca':
  Check system app before removal
2012-05-16 19:01:30 -07:00
Kenny Root
11e123f768 Merge "Check system app before removal" into jb-dev 2012-05-16 18:59:04 -07:00
Kenny Root
87b5d7b26e Check system app before removal
Mae sure we check to see whether an app is really deleted or just
skipped.

Bug: 6494869
Change-Id: I918f16e4ccda87f7f6f67855c7a7aef435c64e20
2012-05-16 15:40:00 -07:00
Kenny Root
017c5f78d9 am 4ebaf0f1: Merge "Change thread priority for disk measurement to bg" into jb-dev
* commit '4ebaf0f1d4be34f475bb663784b40cf79b9d2184':
  Change thread priority for disk measurement to bg
2012-05-15 11:30:23 -07:00
Kenny Root
a69b7eb1fc Change thread priority for disk measurement to bg
Change the thread priority for all disk measurement and statfs calls to
background priority.

Also move the measurement fully into the measurement task since it makes
more sense.

Bug: 6332097
Change-Id: Iafc2151313ad9b14117daf67e933dccd32f68d54
2012-05-14 15:02:19 -07:00
Jeff Brown
a48816375f am 58770232: Merge "Move power HAL interactions to PowerManagerService." into jb-dev
* commit '58770232216cd735afdfd3dd53151070e06de5ce':
  Move power HAL interactions to PowerManagerService.
2012-05-11 19:35:23 -07:00
Jeff Brown
5877023221 Merge "Move power HAL interactions to PowerManagerService." into jb-dev 2012-05-11 19:32:56 -07:00
Jeff Brown
7304c34382 Move power HAL interactions to PowerManagerService.
This refactoring sets the stage for a follow-on change that
will make use additional functions of the power HAL.

Moved functionality from android.os.Power into PowerManagerService.
None of these functions make sense being called outside of the
system server.  Moving them to the PowerManagerService makes it
easier to ensure that the power HAL is initialized exactly once.

Similarly, moved ShutdownThread out of the policy package and into
the services package where it can tie into the PowerManagerService
as needed.

Bug: 6435382
Change-Id: I958241bb124fb4410d96f5d5eb00ed68d60b29e5
2012-05-11 18:42:42 -07:00
Jeff Sharkey
f2fe4cb11b am cd586258: Merge "Enforce READ_EXTERNAL through Settings.Secure." into jb-dev
* commit 'cd5862586ab555b53ffd0a62488843838d1aa94d':
  Enforce READ_EXTERNAL through Settings.Secure.
2012-05-11 15:49:00 -07:00
Jeff Sharkey
f53857716a Enforce READ_EXTERNAL through Settings.Secure.
Always defers to user-defined setting, when present.

Bug: 6389556
Change-Id: I079d2a41b772facfdac74eefc4c8072fc9284f97
2012-05-11 15:31:39 -07:00
Kenny Root
c4cbbb131f am 8c3906d9: Merge "Use the right flag types when creating InstallArgs" into jb-dev
* commit '8c3906d920f55ec0d42252ef8f460e6066b1d4b6':
  Use the right flag types when creating InstallArgs
2012-05-10 09:26:13 -07:00
Kenny Root
88670d816b Use the right flag types when creating InstallArgs
Need to use PackageManager.INSTALL_{EXTERNAL,FORWARD_LOCKED} for
createInstallArgs instead of ApplicationInfo.FLAG_etc for the install
args to be created correctly. If certain flags conflict, there will be a
failure to delete the package.

Change-Id: Ibd8705943371596b2f2d6c24bd071b737ca74ef4
2012-05-09 16:02:09 -07:00
Kenny Root
bb1028de0f am c29b49fa: Merge "Handle addition of system apps during OTA" into jb-dev
* commit 'c29b49faf3e193a8c72c25c6e362ac26ea0e2464':
  Handle addition of system apps during OTA
2012-05-09 01:49:01 -07:00
Kenny Root
71244f0b6c am 8a2fe268: Merge "Prune hidden system apps when removed via OTA" into jb-dev
* commit '8a2fe26873f73a7a422cadf9e5ccfd7c68bbd9ca':
  Prune hidden system apps when removed via OTA
2012-05-09 01:47:53 -07:00
Kenny Root
83ea86091b am 29bb27ef: Merge "Add encryption parameters to package installation" into jb-dev
* commit '29bb27ef90564a294d506c2ffd546ba21788aeac':
  Add encryption parameters to package installation
2012-05-09 01:45:43 -07:00
Kenny Root
208d341bbd Handle addition of system apps during OTA
If there were apps already installed that were added in a later system
OTA, bad things would happen.

If the previously installed application is an older version, simply
delete the installed application. If the system app is older than the
previously installed one, mark it as a disabled system app and use the
previoulsy installed application.

Additionally, the application will now have the correct granted
permissions.

Bug: 6251602
Change-Id: Iea444b6acac460fca1e08d4e2cbf68a258214ca6
2012-05-08 15:57:44 -07:00
Kenny Root
c52d6fd043 Prune hidden system apps when removed via OTA
System applications which had an update applied to them at some point
were in a semi-broken state when removed via an OTA. The
"updated-package" setting would stay around forever and permissions
wouldn't be revoked.

Change-Id: I908e813b5de59c0f777d9b051253b28255a1c694
2012-05-07 23:07:49 -07:00
Anonymous Coward
ceb1b0bfae Add encryption parameters to package installation
Change-Id: Ic9f8ab9f8110f08bb3c00725cfce5b8ee7b766f3
2012-05-07 16:34:49 -07:00
Kenny Root
f154df1a31 am 03f22533: Merge "Fix some problems with ASECs" into jb-dev
* commit '03f22533a7ed398351f7c98af4a91d91354a2095':
  Fix some problems with ASECs
2012-05-02 22:48:16 -07:00
Kenny Root
bf023589b3 Fix some problems with ASECs
On devices that had external storage, permissions weren't set correctly
on non-forward-locked applications. Also, moving forward locked
applications didn't work since DefaultContainerService wasn't able to
read it.

Fixed some faulty unit tests as well.

Bug: 6427212
Change-Id: I5c1f0bf5278549069c78939f0708c4c43a7d4006
2012-05-02 17:09:57 -07:00
Jean-Baptiste Queru
bf65cc3bb6 am 8f2e753b: am cbc71bd7: Merge "Fix off-by-one error when filtering application UIDs"
* commit '8f2e753be2343b41f7233e9e0eb79077c8f9a732':
  Fix off-by-one error when filtering application UIDs
2012-05-01 08:53:07 -07:00
Jean-Baptiste Queru
cbc71bd73f Merge "Fix off-by-one error when filtering application UIDs" 2012-05-01 06:42:36 -07:00
Kenny Root
6dceb88f1c Allow forward locked apps to be in ASECs
We couldn't put forward-locked apps in ASEC containers before since we
didn't have any permissioned filesystems. This adds the ability for
forward-locked applications to be in ASEC containers.

This means that forward locked applications will be able to be on the SD
card now.

This change also removes the old type of forward-locking that placed
parts of apps in /data/app-private.  Now all forward-locked applications
will be in ASEC containers.

Change-Id: I17ae0b0d65a4a965ef33c0ac2c47e990e55707ad
2012-04-25 14:17:02 -07:00
Dianne Hackborn
5c6d80c934 am 27e1680b: am 5a3370e5: am 50b53700: Merge "Fix for too many binder calls in packagemanager"
* commit '27e1680b5cd3694029ddac4128050b17f59f235e':
  Fix for too many binder calls in packagemanager
2012-04-24 14:51:19 -07:00
Amith Yamasani
9392ad25a8 Merge "Fix dumpsys package." 2012-04-20 17:37:43 -07:00
Amith Yamasani
7ea3e7df1f Fix dumpsys package.
Was bailing out due to insufficient permissions to query users.

Bug: 6374050
Change-Id: Ic4a4ab32e2efb4d1fc1f1607fd304f99d5382743
2012-04-20 15:19:35 -07:00
Kenny Root
2782a478d0 Move forward lock utilities to PackageHelper
The forward lock utilities will need to be called from
DefaultContainerService for ASEC packages in the future. Move them to
PackageHelper to aid in the transition.

Also move the public resource copying to the FileInstallArgs step which
makes a little bit more sense.

Change-Id: I3a62ac817719db3ee1c89c106a551dcbe9c44744
2012-04-20 14:40:03 -07:00
Henrik Engström
9771a3144c Fix for too many binder calls in packagemanager
The packagemanager uses a ParceledListSlice to send back its lists
of installed packages and apps. The list slice has a method append
which, in addition to adding the item to the list, also returns true
if the list has passed a size limit (about 1/4 of the total possible
IPC parcel size) to let the caller know that he should send the
slice. However, when used by the pm, it has an extra ! that makes it
send whenever it ISN'T over this limit instead (and conversely, not
send if it is under). This causes a lot more calls than needed since
it sends tiny one item slices instead of larger ones. This patch
removes the extra ! making it behave correctly.

Change-Id: I8db46d380a25406b55f3214aee1505e81949acc5
2012-04-20 12:49:13 +02:00
Kenny Root
313a93ddf9 Merge "Close streams for forward-locked apps" 2012-04-14 18:43:53 -07:00
Kenny Root
3f99afc0d5 Close streams for forward-locked apps
Forward-locked apps aren't very prevalent, but it needed to be
restructured to make sure both streams and ZipFile objects are closed.

Change-Id: I41f863224fecd24069e525e9ce3738de8237bd5e
2012-04-14 12:23:13 -07:00
Kenny Root
011d778c9f Merge "Add warning log for mismatched signatures" 2012-04-14 12:16:58 -07:00
Kenny Root
8c11f1d6ab Add warning log for mismatched signatures
It's difficult to see in bugreports when this situation arises. Add a
small log so we can easily determine installation failure reason.

Change-Id: Ie59c205cf731cad7b3d04ceb995e58a093c62455
2012-04-14 12:11:40 -07:00
Jeff Sharkey
854b2b1670 Surface list of apps with given network policy.
Bug: 6007276
Change-Id: I0f0e939ee6481496480c4afaa108c99eb158547c
2012-04-13 19:46:33 -07:00
Jeff Sharkey
5d32e772b3 Enforce READ_EXTERNAL on non-user builds.
Enable default enforcement of READ_EXTERNAL_STORAGE on non-user
builds. Users can still explicitly enable enforcement in Settings.

Bug: 6131916
Change-Id: I7dc66b624ad252ed2a2ad3647f3ea85dda7f8e82
2012-04-12 23:29:14 -07:00
Jeff Sharkey
1c27576aff Include enforcement state in dumpsys.
Bug: 6323087
Change-Id: I6d779798538c114ea9816d3bdbbff5552c285df6
2012-04-11 19:07:08 -07:00
Amith Yamasani
135936072b User management and switching
Broadcast intents that get sent out when users are added/removed/switched.

More work on generating user-specific information in package manager queries.
APIs to update user name and query a user by id.
Removed Package.mSetStopped and mSetEnabled, since they're not user specific.

User removal:
- Cleanup ActivityManager, PackageManager, WallpaperManager, AppWidgetService
  and AccountManager.
- Shutdown processes belonging to the user.

Don't show vibrate option in long-press power if there's no vibrator.

Lock the screen when switching users, to force unlocking.

Change-Id: Ib23a721cb75285eef5fd6ba8c7272462764038fa
2012-03-27 11:23:01 -07:00
Magnus Eriksson
1358ebe46c Fix off-by-one error when filtering application UIDs
A filtering check in writeLPr() mistakenly includes the first application UID
(10000) with the result that the package with UID 10000 is missing from
packages.list. This patch fix the error.

Change-Id: I3651beb346290db8e09317391b95a77aed1946b6
Signed-off-by: Magnus Eriksson <eriksson.mag@gmail.com>
2012-03-27 15:40:18 +02:00
Jeff Sharkey
69f819b397 Merge "Include GIDs for unenforced permissions." 2012-03-23 15:21:00 -07:00
Jeff Sharkey
b9a070189c Include GIDs for unenforced permissions.
When READ_EXTERNAL_STORAGE isn't enforced, grant its GID to all
launched processes.  When changing enforcement, kill all processes
below foreground adjustment, causing them to be relaunched with
update GIDs.

Bug: 6131916
Change-Id: I6d83efc937919f13a1a7d9caac902e572869406a
2012-03-23 10:22:54 -07:00
Amith Yamasani
483f3b06ea Package restrictions per user
Packages can be enabled/disabled per user.
This requires maintaining stopped/launched states and
enabled / disabled components and packages per user.

Refactored pm.Settings and PackageSettingsBase to keep
track of states per user.

Migrated the stopped-packages.xml to users/<u>/package-restrictions.xml

Changed intent resolution to handle individual user restrictions.
Bunch of IPackageManager calls now have a userId argument.
Make AppWidgetService handle removals of packages.

Added some tests for pm.Settings and PackageManager.

Change-Id: Ia83b529e1df88dbcb3bd55ebfc952a6e9b20e861
2012-03-22 10:08:24 -07:00
Jeff Sharkey
edc84ee839 Selective enforcement of READ_EXTERNAL_STORAGE.
Store enforcement state of specific permissions, allowing them to be
selectively enforced. Currently supports READ_EXTERNAL_STORAGE, which
by default isn't enforced, but enforcement can be enabled at runtime.

Bug: 6131916
Change-Id: I4bcc215a2eb5e6507d6257b577311cbd13c77acf
2012-03-19 19:01:45 -07:00
Dianne Hackborn
6569625bee Fix issues #6103378 and #5959515.
Change-Id: I762d86dd7119c9ac02f4b8803c4a250c6b7637c7
6103378: APR: IOOBE at android.content.pm.PackageParser.generatePackageInfo(
    PackageParser.java:355)
5959515: PackageManager doesn't validate className in setComponentEnabledSetting
2012-03-05 18:49:21 -08:00
Dianne Hackborn
0450510f59 Fix issue where pm would clear preferred apps when updating an app.
The code for this was fairly conservative since the components of the
apps could change, leaving junk in the preferred app list.  Now we
don't pro-actively clear them, but try to catch missing components
later.

Change-Id: I793063449dcc577fd3d56bb56495b308f0c95ea8
2012-02-29 12:34:04 -08:00