Commit Graph

101 Commits

Author SHA1 Message Date
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
Dianne Hackborn
e639da7baa New development permissions.
These are permissions that an application can request, but won't
normally be granted.  To have the permission granted, the user
must explicitly do so through a new "adb shell pm grant" command.

I put these permissions in the "development tools" permission
group.  Looking at the stuff there, I think all of the permissions
we already had in that group should be turned to development
permissions; I don't think any of them are protecting public APIs,
and they are really not things normal applications should use.

The support this, the protectionLevel of a permission has been
modified to consist of a base protection type with additional
flags.  The signatureOrSystem permission has thus been converted
to a signature base type with a new "system" flag; you can use
"system" and/or "dangerous" flags with signature permissions as
desired.

The permissions UI has been updated to understand these new types
of permissions and know when to display them.  Along with doing
that, it also now shows you which permissions are new when updating
an existing application.

This also starts laying the ground-work for "optional" permissions
(which development permissions are a certain specialized form of).
Completing that work requires some more features in the package
manager to understand generic optional permissions (having a
facility to not apply them when installing), along with the
appropriate UI for the app and user to manage those permissions.

Change-Id: I6571785c6bb5f6b291862b7a9be584885f88f3a5
2012-02-23 16:39:15 -08:00
Joe Onorato
20963df86f Show the flags in package manager debugging. 2012-02-10 14:44:07 -08:00
Dianne Hackborn
21fbd1f7da Some cruft removal.
Change-Id: If4a94bfd4a033748eb13e8f3ff25e24382746778
2012-02-10 10:54:15 -08:00
Amith Yamasani
742a671273 Multi-user - 1st major checkin
Switching activity stacks
Cache ContentProvider per user
Long-press power to switch users (on phone)

Added ServiceMap for separating services by user
Launch PendingIntents on the correct user's uid
Fix task switching from Recents list
AppWidgetService is mostly working.

Commands added to pm and am to allow creating and switching profiles.

Change-Id: I15810e8cfbe50a04bd3323a7ef5a8ff4230870ed
2012-02-03 12:01:47 -08:00
Andy McFadden
2f36229db8 Use Map.Entry, not HashMap.Entry
Map.Entry is the defined return value from entrySet().  HashMap.Entry
shouldn't be used directly.

Change-Id: Ia21598c6a73fe7eb22179ce114095f779c903084
2012-01-20 14:43:38 -08:00