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
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
Merge commit '52075987c5726c95613f98571aac4c54e8319df4'
* commit '52075987c5726c95613f98571aac4c54e8319df4':
Fix a bug where we cleaned an apps external data when upgrading it. :(
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
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
Merge commit 'ceb8465e974ba5fa971ffe1b5b74e94a1bd53f97'
* commit 'ceb8465e974ba5fa971ffe1b5b74e94a1bd53f97':
Tweak ObbFile class
Allow things that can install packages to set Obb paths
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
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
Initialize the cache path only if the container exists.
This did exist before but was somehow removed.
Fix a known test failure as well.
Change-Id: I63219369b0e7abca4919fbde2a04035a0fea9e35
Merge commit '9dfc6971631e306f6eec62b7c5f423ef52138b9c' into kraken
* commit '9dfc6971631e306f6eec62b7c5f423ef52138b9c':
Fix 2656989. Clean up update to updated system applications.
Merge commit 'df7ccbc8ff0d93a708a7fa1e57469d3f93ceda5c' into froyo-plus-aosp
* commit 'df7ccbc8ff0d93a708a7fa1e57469d3f93ceda5c':
Fix 2656989. Clean up update to updated system applications.
Merge commit '007ad7700a23ff7e618cfeee1eab97063c93b800' into kraken
* commit '007ad7700a23ff7e618cfeee1eab97063c93b800':
Adapt to new location of libcore
Parse custom text header and ignore it.
Parse "multipart/vnd.wap.multipart.alternative" which is a part of multipart body (nested multipart).
'uses-library' was not working for persistent applications.
Fix an NPE in InputMethodService when mExtractAction is null.
Merge commit 'd8f34720a1eb87770c854928410c753e0969d3ac' into kraken
* commit 'd8f34720a1eb87770c854928410c753e0969d3ac':
Fix issue #2641875: Apps on sdcard not accesible after update
Not complete, only for experimentation at this point.
This includes a reworking of how screen size configurations are matched,
so that if you are on a larger screen we can select configurations for
smaller screens if there aren't any exactly matching the current screen.
The screen size at which we switch to xlarge has been arbitrarily
chosen; the compatibility behavior has not yet been defined.
Change-Id: I1a33b3818eeb51a68fb72397568c39ab040a07f5
Merge commit 'cdf96f75da540d880ae6070d861aeb6adabbe9a3' into kraken
* commit 'cdf96f75da540d880ae6070d861aeb6adabbe9a3':
Fix typo when parsing external platform version from Settings.
Merge commit 'ccc96754c5c6e31d6f782c3adeb06ad1694221d8' into kraken
* commit 'ccc96754c5c6e31d6f782c3adeb06ad1694221d8':
Fix PM crash due to bad array bookkeeping logic.
Merge commit '7a4b22f6293c7dce2dd667b7ebd171af2eff91a9' into kraken
* commit '7a4b22f6293c7dce2dd667b7ebd171af2eff91a9':
Remove native binaries when an updated system application is upgraded through OTA.
The point of this patch is to deal with the following case:
- A system application exists in the system partition. As such its
native code lies under /system/lib
- An upgrade for it is installed through Market and overrides the
version on the system partition. This places its native libraries
under /data/data/<pkgname>/lib/
- Finally, the system is upgraded through an OTA, with an even more
recent of the system application. We thus must remove the Market
package as well as the native libraries that are in <dataDir>/lib
since the new versions in /system/lib will be more recent.
The patch itself removes the files in <dataDir>/lib when such a
situation is detected. Note that this directory is created by the
PackageManager service and owned by the 'system' userID. The application
cannot create files there so simply erasing the content of the directory
is enough (and avoids reparsing the market package file to list
the installed binaries).
The patch also fixes a different issue which can be reproduced with:
- have system app installed on /system partition
- install an update (e.g. adb install -r Term.apk)
- uninstall the update (e.g. adb uninstall com.android.term)
the logcat shows that the PackageManager will unpack the native libraries
from the original /system/app/Term.apk into <dataDir>/lib, while they
already are in /system/lib. The patch fixes that too.
Change-Id: I5dfe27b91b6b31972e9cd4c196d15c3692732127