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
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
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
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
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
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
* Add native library tests during package move
* Fix omission that let PackageSettings and ApplicationInfo get out of
sync.
Change-Id: Ic4958f971cb2c9cfd270522fdc120b4031c1124a
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
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
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
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
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.