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
Couple of cosmetic fixes as well.
This reverts commit 0c1285fa97.
Conflicts:
services/java/com/android/server/PackageManagerService.java
Change-Id: Ife0f9f80525f4a41b1f8c12ffc2de62e061e7d5b
Merge commit '2ef6e44269ba3c9f6b5d22352461555ebab33b73' into kraken
* commit '2ef6e44269ba3c9f6b5d22352461555ebab33b73':
Dont fall back to installing on sdcard when internal storage is filled up
when the install location is set to internal only. Similary if install
location is set to external only(via adb), dont fall back to installing on
internal storage if sdcard is filled up.
If nothing is specified ie install location is set to let system decide,
we just check on internal storage.
Fix tests
Change-Id: I7400ccc131782d9c45284bd9ebd0dee43a3b412b
Merge commit '11d7502b35374da12168004e277bcc87f4f7bb50' into kraken
* commit '11d7502b35374da12168004e277bcc87f4f7bb50':
Fix issue #593153: Broadcast time out when sending...