There was a bug causing PackageManager to think apps on adopted media
were actually in an ASEC, causing it to skip ABI derivation. This
change fixes the issue by copying the volume UUID into place early
in the scanning process.
Also fixes two places where we had incorrectly been including apps
on adopted media; switched them to check only for ASECs.
Bug: 24583803
Change-Id: If66d1bce02824a4d8e22f741b04a2abda0378cfb
Quick install skips a lot of the normal install steps in order to
dramatically reduce the installation time [eg Twitter normally takes
20s to install. But, installs in under 2.5s with quick install]
The specific optimizations [with caveats]:
1. Use the JIT. Although the oat file is technically created, it
only contains the exploded contents of the APK and does not contain
pre-compiled native binary code. While this improves install time,
it impacts app execution. [saves 17s]
2. Bypass Play verification. Play normally verifies all installs
to ensure we're not installing malware. But, it can take multiple
seconds for Play to collect and send package information to our
backend servers. [saves 2.7s]
3. Reduce JAR file verification. Due to the structure of the JAR
certs, we cannot completely bypass JAR processing. However we skip
the step of verifying every manifest entry. [saves 1.3s]
NOTE: #2 and #3 will only occur on eng/user-debug builds.
Bug: 22848361
Change-Id: I48e77595ad5c13a9534fdb06da67ba8dae2797fb
ActivityInfo was missing initialization for the
documentLaunchMode flag in the copy-constructor
and the Parcel constructor. The copy-constructor
is used in multi-user/profile mode to create a
seperate instance of the ActivityInfo per uid
and this was manifesting in the linked bug.
Bug: 21590916
Change-Id: I6f71d94ec32ec6326d23c9b62e9d8d319e2fa25e
(cherry picked from commit 3e2e011785)
Update storage related docs on Context to be consistent, and to call
out relevant Environment methods. Start calling it "shared" storage,
and only mention external for historical reasons. Mention that there
isn't much benefit to using emulated storage over private data
directories to help guide developers to safer locations.
Point out which paths can change over time, so developers know to
only persist relative paths.
Update Environment docs to reflect how they behave for the new
class of adopted storage devices.
Bug: 24251945
Change-Id: Ie5ab337649b4740dfd7594997bbb19c4969cfd2f
This change grants Android Wear system components default
permission.
I have also added a new Intent category to help identify
the main Home handler on Wear.
BUG: 23419042
Change-Id: Ie669a9908bd3b03498f75c5ca22c0fddf52a5203
Also, removed condition that prevented activity from setting
device orientation if it is resizeable. We only need to prevent
it from affecting the orientation when it isn't fullscreen and
not all the time. Work is being tracked in bug 24685213.
Bug: 19865400
Change-Id: I9e1ea77c6acd13801a06f791e0b8859fbcb0f15c
* Allow forcing permission check. We want to modify the PackageInstaller to
use the PackageInstallerSession for better security / remove deprecated APIs.
In order to do this and continue to prompt for permissions, we need to prevent
the PakcageInstaller from auto-approving the permissions.
* Add originating UID to SessionParams. This is used for package verifier
checks.
Bug: 22282121
Change-Id: I19079749d20ace66f1332f399d52cb0fb8784cd9
Also remove the adjustLocales() method, since it's no longer possible
to create non-adjusted Locale objects using the public API.
The implementation is still in progress: currently only the first
locale in the list is passed down to the native code.
(Also fix the order of imports based on Android style.)
Change-Id: I325d7a2c0d86a9bf5cd202081f0b02299660364a
Add methods installPackageAsUser and installExistingPackageAsUser
and deletePackageAsUser and getPackageInfoAsUser.
BUG:23516394
Change-Id: I15e30d2ec45ab18c7f8c0ac02cfc617c50fedb44
This reverts commit 3b0fc3cf24.
It breaks the build. I had missed other places that extend PackageManager.
Change-Id: Iff012ed4ec8d2d32821586eca85fce55ae67f5b5
It also adds debugging information for configuration changes, so it's
easier to observe what exactly changes.
Change-Id: Ia2cd4df9a868a8cea216ce137d67a1bb8ed2e6c7
Add methods installPackageAsUser and installExistingPackageAsUser
and deletePackageAsUser and getPackageInfoAsUser.
Change-Id: I9a3ff96f968b4f8d21a57cc7760679628d35c1a9
BUG:23516394
ActivityInfo was missing initialization for the
documentLaunchMode flag in the copy-constructor
and the Parcel constructor. The copy-constructor
is used in multi-user/profile mode to create a
seperate instance of the ActivityInfo per uid
and this was manifesting in the linked bug.
Bug: 21590915
Change-Id: I6f71d94ec32ec6326d23c9b62e9d8d319e2fa25e
Our system themes were based on configurations that were added post-
init of the system theme.
I96e695441543379e4d5fdf3cc6f18d9e6cf953b4 broke this, because there
was a race condition in the code for rebasing themes
If8fecde76d62738a8e55eddf898eafc468afdba2 (the cherry-picked commit)
fixes the race condition and adds the rebasing back in.
This change cherry picks If8fecde76d62738a8e55eddf898eafc468afdba2.
Bug:23387146
Change-Id: I0725028e48599fc6cd9731ae16c71474dd5827e5
Two benefits:
1) marshaling one flattened ApplicationInfo as part of a PackageInfo parcel
rather than one per included ComponentInfo; and
2) producing one ApplicationInfo at unmarshaling time and sharing the
reference to it among all included ComponentInfo instances, rather
than the previous implementation that generated a separate
ApplicationInfo instance for each ComponentInfo.
In some cases there can be many hundreds of ComponentInfo objects embedded
in a single PackageInfo, so coalescing duplicates is a significant win
for both payload size and object pressure.
Bug 19519502
Bug 20453802
Change-Id: Ib888810dad4471084fab9ead1ebb5e0b932905f1
Previously, size of of oat directory was not counted by the getsize command,
because base APK location was passed as apkpath argument.
Bug: 23896047
Change-Id: Ic7b6b725785ff2e2a0cf3887ba68c162b23b1212