278 Commits

Author SHA1 Message Date
Kenny Root
831f898756 am 8f767774: am 465618ed: Merge "Use buffered output during packages.xml write" into gingerbread
Merge commit '8f767774230cba9b5cfc298f2e24972a79cd0182'

* commit '8f767774230cba9b5cfc298f2e24972a79cd0182':
  Use buffered output during packages.xml write
2010-09-27 08:28:07 -07:00
Kenny Root
9f306d78a4 Use buffered output during packages.xml write
FileOutputStream writes data one byte at a time, so use the
BufferedOutputStream to wrap it and write once all the XML serialization
is done.

Change-Id: I419a6fcac2ac9a72a6cf41d4ca6e7ab6c7505618
2010-09-26 11:19:47 -07:00
Dianne Hackborn
fde5e965d4 am 65b5a65e: am 4db643eb: Merge "In theory the package manager now scans /vendor/app" into gingerbread
Merge commit '65b5a65e790458be0d6f70fafa9e151ba22a9e2e'

* commit '65b5a65e790458be0d6f70fafa9e151ba22a9e2e':
  In theory the package manager now scans /vendor/app
2010-09-20 19:33:46 -07:00
Dianne Hackborn
3b4bac7a2a In theory the package manager now scans /vendor/app
Not tested.

Change-Id: Ib6120d645074c95dd0afd1476f6167aec5d50bb9
2010-09-20 16:35:22 -07:00
Kenny Root
685da21c1c am 3ca26914: am 30434415: Merge "Dedupe timestamp in PackageSettings" into gingerbread
Merge commit '3ca2691446d333d52b1c0a39e6df74e03c2407cc'

* commit '3ca2691446d333d52b1c0a39e6df74e03c2407cc':
  Dedupe timestamp in PackageSettings
2010-09-15 07:08:15 -07:00
Kenny Root
7d794fbd30 Dedupe timestamp in PackageSettings
Timestamp data was duplicated making the management of timestamp
unnecessarily complicated.

Change-Id: Ia13be6ee9809a314232453e8627a54f9c9d8374d
2010-09-13 16:34:05 -07:00
Kenny Root
5d8b320428 am 1361a5bd: am 07a9e8d3: Merge changes Ie3648509,I53db73c3 into gingerbread
Merge commit '1361a5bd1eba1cae16c301622324153c3d50b84c'

* commit '1361a5bd1eba1cae16c301622324153c3d50b84c':
  Move native library removal function to helper
  Initialize native library path in PackageSetting
2010-09-12 18:06:07 -07:00
Kenny Root
8f7cc02c7c Move native library removal function to helper
Moves the remoteNativeLibrariesLI call to NativeLibraryHelper to prepare
for being able to symlink the /data/data/<package>/lib dir to the ASEC
container.

Change-Id: Ie3648509c6b6293a8d9bdd815610ab408df5047f
2010-09-12 09:04:56 -07:00
Kenny Root
806cc13a08 Initialize native library path in PackageSetting
During boot-up we weren't paying attention to the nativeLibraryPath that
was read from the package settings XML file which reset the path to the
default /data/data/<package>/lib directory.

This adds nativeLibraryPath as an argument to the PackageSettings
constructor and related functions that will pull that value in from the
settings file.

It also removes the call to nativeLibraryDir.mkdir() which installd does
by itself.

Change-Id: I53db73c3b1bc90997a4a73f7f2fbaee125e6f67e
2010-09-12 09:04:48 -07:00
Rich Cannings
d14f0dfd58 am 73698457: am 6bff8c79: Merge "Remove the use of FileInputStream.available()" into gingerbread
Merge commit '736984573a1975d69d1c6efd87e4af9ca16e505f'

* commit '736984573a1975d69d1c6efd87e4af9ca16e505f':
  Remove the use of FileInputStream.available()
2010-09-09 16:51:53 -07:00
Rich Cannings
8d578836dc Remove the use of FileInputStream.available()
Bug: 2976294
Change-Id: I34b13cedbf1d2338163ef74454817c318a3a24f5
2010-09-09 16:28:48 -07:00
Marco Nelissen
462bac9222 am e7884d68: am d85621c9: Don\'t crash when extra logging is enabled.
Merge commit 'e7884d68a613e579a12a52455f6b5b13a90a0f8a'

* commit 'e7884d68a613e579a12a52455f6b5b13a90a0f8a':
  Don't crash when extra logging is enabled.
2010-09-03 11:54:31 -07:00
Marco Nelissen
d85621c938 Don't crash when extra logging is enabled.
Change-Id: I76cf8db0f51ed33e91acee9636180e8d7c0b5ff9
2010-09-03 11:46:19 -07:00
Kenny Root
4d42bdec82 am 0eec8948: am 305bcbf0: Decrease PackageManagerService wait time for vold
Merge commit '0eec8948f89c5216464d8204cadd69d7a6ec3669'

* commit '0eec8948f89c5216464d8204cadd69d7a6ec3669':
  Decrease PackageManagerService wait time for vold
2010-09-03 09:58:51 -07:00
Kenny Root
305bcbf0c9 Decrease PackageManagerService wait time for vold
Up the blocking queue maximum to twice the number of containers we
allow which should let "asec list" complete without blocking the thread
several times.

Change the threads for the NativeDaemonConnector to vold and netd to be
more descriptive instead of the same name.

Bug: 2501075
Change-Id: I7e7949845a6c70a3d619aec0fa79ceef3c17a4be
2010-09-03 09:33:34 -07:00
Kenny Root
59f6b0da29 am 9088a3d1: am 7c1bd7fd: Fix logic error in downgrade of system apps
Merge commit '9088a3d153ef28dfa383fda0935d99bdc0c2b2f6'

* commit '9088a3d153ef28dfa383fda0935d99bdc0c2b2f6':
  Fix logic error in downgrade of system apps
2010-09-01 16:57:52 -07:00
Kenny Root
188aa566e6 am 11d12f7e: am fca5677a: Merge "Add null check for package settings" into gingerbread
Merge commit '11d12f7efc588b0e945c42952e67d96f2421dc26'

* commit '11d12f7efc588b0e945c42952e67d96f2421dc26':
  Add null check for package settings
2010-09-01 16:57:42 -07:00
Kenny Root
7c1bd7fdbf Fix logic error in downgrade of system apps
A logic error would allow not deleting data when uninstalling a system
app upgrade that's of a newer release than the on on the system
partition. If the system app had a database upgrade and this happened,
you might be in trouble.

Luckily it appears no one ever does this in code. You'd have to manually
get there doing:

adb uninstall -k updated.system.package

Change-Id: I3110fedf2d147975a0635c71898d985dd642a2c1
2010-09-01 14:10:36 -07:00
Kenny Root
9ee9274e5e Add null check for package settings
A few lines down "ps" is run through a null check, so apparently there
could be some screwy system conditions where this is encountered. And,
in fact, this was encountered through an updated system pacakge that
managed to delete the package from /system/app during testing. It left
the PackageSetting in mDisabledSysPackages which would cause a deference
of a null variable.

Change-Id: Ic7faca569abd16a87a8a69c20df08c11a274a001
2010-09-01 13:59:02 -07:00
Dianne Hackborn
2394c164a7 am ec438e14: am 361199b5: Add PackageManager API to get information about a provider component.
Merge commit 'ec438e1448ebc578ee5a4c4beb1e26292cdedd6e'

* commit 'ec438e1448ebc578ee5a4c4beb1e26292cdedd6e':
  Add PackageManager API to get information about a provider component.
2010-08-31 19:06:25 -07:00
Dianne Hackborn
361199b5e7 Add PackageManager API to get information about a provider component.
Kind-of useful when all you have is a ComponentName.

Change-Id: I9a99f12daabb29e97e882e09c43ca0df70c00651
2010-08-31 18:59:04 -07:00
Kenny Root
6c8beb0cb4 am 8a5ab396: am 2e86809b: Merge "Native libraries on SD" into gingerbread
Merge commit '8a5ab396cf4f3bb76a3e820f16f946e313b73fcf'

* commit '8a5ab396cf4f3bb76a3e820f16f946e313b73fcf':
  Native libraries on SD
2010-08-30 15:24:45 -07:00
Kenny Root
0ac83f5a7c Native libraries on SD
* Add native library tests during package move

* Fix omission that let PackageSettings and ApplicationInfo get out of
  sync.

Change-Id: Ic4958f971cb2c9cfd270522fdc120b4031c1124a
2010-08-30 15:14:06 -07:00
Kenny Root
818c830c59 am 83285781: am 7046bd92: Merge "Allow native shared libraries in ASEC containers" into gingerbread
Merge commit '8328578152fbfd23952a6cda4b2e60853d78eb74'

* commit '8328578152fbfd23952a6cda4b2e60853d78eb74':
  Allow native shared libraries in ASEC containers
2010-08-27 18:11:06 -07:00
Kenny Root
85387d7ba3 Allow native shared libraries in ASEC containers
This change moves the native library handling earlier in the package
installation process so that it may be inserted into ASEC containers
before they are finalized in the DefaultContainerService.

Note that native libraries on SD card requires that vold mount ASEC
containers without the "noexec" flag on the mount point.

Change-Id: Ib34b1886bf6f94b99bb7b3781db6e9b5a58807ba
2010-08-27 16:40:06 -07:00
Kenny Root
a2619da056 am d6dc45c3: am 125816a2: Merge "Failure to move .dex in eng builds is not fatal" into gingerbread
Merge commit 'd6dc45c30c1704fca9ec33f51c7c4ec1bee515ea'

* commit 'd6dc45c30c1704fca9ec33f51c7c4ec1bee515ea':
  Failure to move .dex in eng builds is not fatal
2010-08-05 11:46:32 -07:00
Kenny Root
ce845d7301 am c5183aca: am c68bcc32: Merge "Only allow one movePackage operation in-flight" into gingerbread
Merge commit 'c5183acae55e08f4bfcb58aa122a200863748a63'

* commit 'c5183acae55e08f4bfcb58aa122a200863748a63':
  Only allow one movePackage operation in-flight
2010-08-05 10:47:15 -07:00
Kenny Root
e2f7417529 Failure to move .dex in eng builds is not fatal
When moving between program locations or application names, the .dex
file is moved by installd. However, in engineering builds, the
applications are run through dexopt on-demand. If the .dex file fails to
move, we can ignore it because it's most likely because the .dex file
does not exist yet.

Change-Id: Id5c4dbfa33f19c976acd9f184ccd637752326629
2010-08-04 13:35:33 -07:00
Kenny Root
deb112674e Only allow one movePackage operation in-flight
When a movePackage operation is requested, don't allow multiple requests
to pile up for one package. Once a move is completed, an observer will
receive the message and be allowed to call movePackage again.

Change-Id: Ie3842b6d96446febc0037bf9b8f1ca250735edc2
2010-08-04 08:44:31 -07:00
Kenny Root
98b557de31 am 9117669c: am 8b61b68b: Merge "Only install after MCS success" into gingerbread
Merge commit '9117669c7de41799535dfa88e5d68a30d7674733'

* commit '9117669c7de41799535dfa88e5d68a30d7674733':
  Only install after MCS success
2010-07-30 17:03:51 -07:00
Kenny Root
6f89fa07b4 Only install after MCS success
If MCS dies in the middle of a call during install, only proceed if the
call was successful. Otherwise wait for the max retries to be reached
and run the failure handling code there.

Change-Id: I00a27ea91046ea6521a3cff5e5ffe2c71b2b5bb4
2010-07-30 16:35:04 -07:00
Dianne Hackborn
f058088888 am 52075987: am 31b5d548: Merge "Fix a bug where we cleaned an apps external data when upgrading it. :(" into gingerbread
Merge commit '52075987c5726c95613f98571aac4c54e8319df4'

* commit '52075987c5726c95613f98571aac4c54e8319df4':
  Fix a bug where we cleaned an apps external data when upgrading it. :(
2010-07-29 14:17:30 -07:00
Dianne Hackborn
fb1f103191 Fix a bug where we cleaned an apps external data when upgrading it. :(
Change-Id: I0eee1e7062d334c66d6daa3c43e11a292263aada
2010-07-29 13:58:32 -07:00
Kenny Root
048391511e am bba1eede: am f369a9b5: Remove stale temporary ASEC containers
Merge commit 'bba1eede35b356a50dfe12692c2ff30cd5de152d'

* commit 'bba1eede35b356a50dfe12692c2ff30cd5de152d':
  Remove stale temporary ASEC containers
2010-07-28 14:54:21 -07:00
Kenny Root
a8ec0459ab am 4b812738: am 56c02dc3: Merge "Fix getTempContainerId()" into gingerbread
Merge commit '4b812738c70be53e79ba8a6b9c93de14388d1311'

* commit '4b812738c70be53e79ba8a6b9c93de14388d1311':
  Fix getTempContainerId()
2010-07-28 14:54:16 -07:00
Kenny Root
f369a9b5f7 Remove stale temporary ASEC containers
When a temporary container is created, its existence should be
ephemeral. However, if there is an error that causes system_server to be
killed during the process of creating a finalized ASEC, delete the stale
containers on the next start-up of system_server.

Change-Id: I7be8f94638a824295474c9a95960594848cb726b
2010-07-28 14:48:58 -07:00
Kenny Root
c78a807974 Fix getTempContainerId()
getTempContainerId() would always return "smdl2tmp1" unless you had
MAX_CONTAINERS number of SD card SDKs, because of an array sort that put
all the zeros at the beginning.

Switch from trying to find a hole in the series of numbers to just
getting a number that's one larger than the previous. This reduces the
algorithmic complexity and the memory requirements.

Bug: 2832580
Change-Id: I32dc75ef5a6645f594ea47b032d7402e8860ebcd
2010-07-28 14:45:14 -07:00
Dianne Hackborn
4cca89c042 am 3a2ff74f: am 46730fc7: Fix handling of application disabled state.
Merge commit '3a2ff74fa4c3f014555ec64fccc16e1b9f6d0111'

* commit '3a2ff74fa4c3f014555ec64fccc16e1b9f6d0111':
  Fix handling of application disabled state.
2010-07-26 12:30:10 -07:00
Dianne Hackborn
46730fc783 Fix handling of application disabled state.
Change-Id: I617b76e89eeb75437b384b92f1205bb00b15bb70
2010-07-24 16:34:00 -07:00
Kenny Root
f27c6c1001 am ceb8465e: am 87bb1857: Merge changes I2337051b,I19b426cb into gingerbread
Merge commit 'ceb8465e974ba5fa971ffe1b5b74e94a1bd53f97'

* commit 'ceb8465e974ba5fa971ffe1b5b74e94a1bd53f97':
  Tweak ObbFile class
  Allow things that can install packages to set Obb paths
2010-07-12 11:22:45 -07:00
Kenny Root
e059b2784f Allow things that can install packages to set Obb paths
Change-Id: I19b426cb3de1a5c9285badf8aea59989568914b4
2010-07-12 08:36:21 -07:00
Kenny Root
511d9ec363 am 0a21801f: am a5402dab: Merge "OBB API for PackageManager" into gingerbread
Merge commit '0a21801f5fae22cd5e1b3e9f1c1405c744e24c9b'

* commit '0a21801f5fae22cd5e1b3e9f1c1405c744e24c9b':
  OBB API for PackageManager
2010-07-08 19:09:06 -07:00
Kenny Root
93565c4b32 OBB API for PackageManager
Simple API for tracking .obb files associated with packages. Stores the
path in the PackageSettings. No verification of file content is done
now since the PackageManagerService can't read the SD card where these
files will likely live.

Change-Id: Ibeaf26ba0526b6d60f401137e58f46ee9faff39e
2010-07-07 09:57:51 -07:00
Dianne Hackborn
e20a4a4fa8 am fe2c0864: am 0bc0a46a: am d1d9047d: Merge "Fix issue #2749322: addPackageToPreferred throws SecurityException" into froyo 2010-06-08 10:15:06 -07:00
Dianne Hackborn
0bc0a46ae8 am d1d9047d: Merge "Fix issue #2749322: addPackageToPreferred throws SecurityException" into froyo
Merge commit 'd1d9047d5c34fb05be08099fa8cd73e4301ee0ff' into kraken

* commit 'd1d9047d5c34fb05be08099fa8cd73e4301ee0ff':
  Fix issue #2749322: addPackageToPreferred throws SecurityException
2010-06-07 18:32:04 -07:00
Dianne Hackborn
8377fc0f36 Fix issue #2749322: addPackageToPreferred throws SecurityException
Change-Id: I96cdc110fd9acca4b6c95d281e819bad1e4557f8
2010-06-07 17:30:57 -07:00
David 'Digit' Turner
73839a2796 am 3f0ed2a5: am e0cbd72b: Merge "PackageManagerService: always install native binaries from .apk" into kraken 2010-06-07 14:06:14 -07:00
David 'Digit' Turner
6390929174 PackageManagerService: always install native binaries from .apk
The previous implementation fails to work properly when the .apk
and installed versions of the binaries have the same size and date.

Change-Id: I296e34505ab4f0af028de5bcff7a83969f160ec1
2010-06-04 16:32:27 -07:00
Marco Nelissen
584f137c19 Allow root to set the mount state as well, so that the simulator
can use the fake sd card.

Change-Id: I9ac5329f976a6e466ef2d7123ca70670975c30e3
2010-05-25 09:05:56 -07:00
Suchi Amalapurapu
3d802ef73b am aa4db173: am 9a212adc: Fix 2641875 Initialize the cache path only if the container exists. This did exist before but was somehow removed. Fix a known test failure as well.
Merge commit 'aa4db173a2465d74ea35cc7f736f6b2a5b01f72c' into kraken

* commit 'aa4db173a2465d74ea35cc7f736f6b2a5b01f72c':
  Fix 2641875
2010-05-18 13:17:58 -07:00