tree fc25f9f6adee005c287454a74837f6cbc1a072a0
parent 70251b1704b9bb81443e7533d365400645dd5eaa
author Suchi Amalapurapu <asuchitra@google.com> 1265996609 -0800
committer Suchi Amalapurapu <asuchitra@google.com> 1266029447 -0800

Include install location preference when installing packages.
Changes include
Add new remote call in default container service to determine
install location.
Rename INSTALL_ON_SDCARD
Remove recommentAppInstall method
Add some additional flags used in remote stubs.
Move check for protected apps prior to copy.
Unit tests

DefaultContainerService first parses the file uri(if content uri is specified
it returns a default install internal only value) and returns
a recommended location. Based on which the temporary id is determined
either a file name or a container id and the file is copied there.
This is then later renamed during install.
Todo's light weight parsing of package when determining location since we
just need the install location attribute only when finding out
recomended location. This will also enable to move the check for
updated system apps(cannot be on sdcard) prior to copying.
