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 0c1285fa979e8b8c170f31d0ef1b4e5d9ddcf6b1.
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...
...ordered broadcast for ACTION_EXTERNAL_APPLICATIONS_UNAVAILABLE
Turns out this was because the broadcast receiver for ContextImpl was
not correctly being created, so when it received an ordered broadcast
it would not tell the activity manager when it was done.
This is now fixed, along with a ton of superficial changes to debug
output to help track this down and a little cleanup of dealing with
error cases in dispatching broadcasts. Also a fix for a NPE when
dumping the broadcast state.
Finally, a little fiddling with package manager to get rid of a lot
of the noise when removing and re-adding packages on the SD card.
Change-Id: I961c14836dc613d3ea8122b6e910ef866e7fcb25
Merge commit 'a55987df919240b045de977217bd55723c37dfcb' into kraken
* commit 'a55987df919240b045de977217bd55723c37dfcb':
Fix crashes related to unmounting when app on sdcard has an active notification
in status bar.
When unmounting sdcard, all the secure containers have to be unmounted first
before invoking the MountService call back. We send a broadcast
about disabled packages. Force a gc to clean up any stale asset references
and then unmount the containers before invoking the MountService call back.
Change-Id: I831da1ae54aeec89de3601b94a4a2fae5dc7e495
The package manager contains an optimization which reuses cached
signatures instead of reloading them on startup if the package
appears to be unchanged. This commit adds an extra check to ensure
that the PackageSettings object actually has valid signatures since
it has happened that they have gone missing. Unfortunately it does
not address the root cause of the problem but it should alleviate the
symptoms after a reboot.
Bug: b/2547993
Change-Id: I41900c6a752711eb3a901360e3bb29aec946d0be
Merge commit 'a327dbddccb002919b98bdfd7abd81619826a3b8' into kraken
* commit 'a327dbddccb002919b98bdfd7abd81619826a3b8':
Fix issue #2541849: System crash when an app with active notifications...