History log of /frameworks/base/services/tests/servicestests/src/com/android/server/pm/PackageParserTest.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
c8af6047008aee345e631366c92716580649a10e 19-Mar-2018 Adrian Roos <roosa@google.com> Fix PackageParser tests

Also adds the well-known-fields test to presubmit to prevent
similar breakage in the future.

Change-Id: I717396802b5978b2da9de78a6203303082663d38
Fixes: 75450512
Test: atest PackageParserTest
/frameworks/base/services/tests/servicestests/src/com/android/server/pm/PackageParserTest.java
e7334975bb8f1917ffb9732c9c1a9270ccd90da6 18-Jan-2018 Adam Lesinski <adamlesinski@google.com> PackageManager: allow overlays to be installed when signature matches platform cert

Test: With ag/3486152, run
Test: atest OverlayHostTests
Change-Id: I5ca4b0ca00dc21c4c0adb9a7680d2be866391b2e
/frameworks/base/services/tests/servicestests/src/com/android/server/pm/PackageParserTest.java
77029c5b16351775cb2333369ef9a4bc1d9acf58 19-Jan-2018 Daniel Cashman <dcashman@google.com> Add proof-of-rotation information to PackageParser.SigningDetails

APK Signature Scheme v3 enables APK signing key rotation by allowing
an APK to embed a proof-of-rotation structure linking past signing
certificates to the current one. This information needs to be exposed
to the system before it can be used to make authorization decisions.

Bug: 64686581
Test: Builds and boots.
Change-Id: I49961f92fcec141d73b36197147d5d8fa64c149e
/frameworks/base/services/tests/servicestests/src/com/android/server/pm/PackageParserTest.java
420d58a9d867a3ce96fb4ea98bd30ee4d44eab4d 19-Dec-2017 Patrick Baumann <patb@google.com> Move signing data into SigningDetails container

This change replaces fields from Package that relate to signing
with a single SigningDetails container. It does the same with
InstallArgs and InstallParams. This simplifies much of the code
that would have otherwise relied on synchronizing many fields and
will enable PackageManagerService to make install-time descisions
based on package data instead of forcing it to be part of package
parsing.

This is a retake of ag/3382280

Test: android.appsecurity.cts.PkgInstallSignatureVerificationTest passes.
Test: atest google/perf/boottime/boottime-test to ensure no startup regression.
Bug: 68860689
Change-Id: I0df45ce537df5552a7e60e4d727a4dcef23c2252
/frameworks/base/services/tests/servicestests/src/com/android/server/pm/PackageParserTest.java
3d70a03aa9e10382f385da0a26592d56eaf9cc96 09-Jan-2018 Patrick Baumann <patb@google.com> Revert "Move signing data into SigningDetails container"

This reverts commit 47117fcd7878ae75600cf95075fbdbec58be5da6.

Reason for revert: boot time regression (b/71718267)

Change-Id: Ice00e63a68ea3aede847c17cc3acda2d0a6b2f24
Bug: 71718267
Bug: 68860689
/frameworks/base/services/tests/servicestests/src/com/android/server/pm/PackageParserTest.java
47117fcd7878ae75600cf95075fbdbec58be5da6 19-Dec-2017 Patrick Baumann <patb@google.com> Move signing data into SigningDetails container

This change replaces fields from Package that relate to signing
with a single SigningDetails container. It does the same with
InstallArgs and InstallParams. This simplifies much of the code
that would have otherwise relied on synchronizing many fields and
will enable PackageManagerService to make install-time descisions
based on package data instead of forcing it to be part of package
parsing.

Test: android.appsecurity.cts.PkgInstallSignatureVerificationTest passes.
Bug: 68860689
Change-Id: I53bc8c6908b61a54004d1b1d45637be9710ae72f
/frameworks/base/services/tests/servicestests/src/com/android/server/pm/PackageParserTest.java
5b1df2fb5aa2b9ea8fe3fe21104eaaf5298d997f 11-Dec-2017 Todd Kennedy <toddke@google.com> Fix package manager tests

Test: bit FrameworksServicesTests:com.android.server.pm.
Change-Id: I06089adcdf6cdaebc7176cab30254cc2cbd836eb
/frameworks/base/services/tests/servicestests/src/com/android/server/pm/PackageParserTest.java
3accca05ddcad9d0b1b313eae49f273e39121d3c 20-Sep-2013 Dianne Hackborn <hackbod@google.com> Add major version code to platform.

It turns the version code into almost a 64-bit integer, with the
new major part being the upper 32 bits.

The only tricky part about this is the backup manager, since it
stored 32-bit version codes in its backup data sets. This is dealt
with by, when the major version code is not 0, writing MIN_INT as
the version code and following that by the full long version code,
which we can detect when reading. Note that this makes backup sets
containing apps with major version codes incompatible with older
versions of the platform.

Bug: 64459786
Test: Added in Change-Id: Iab8a682b62103babd6c16a56b8dc1e97d7078658
Change-Id: Ibfffe235bbfcf358b3741abd3f7197fdb063d3f3
/frameworks/base/services/tests/servicestests/src/com/android/server/pm/PackageParserTest.java
b6a25737d67460fb9b2cf25a99906d8d8ae8a7fe 21-Nov-2017 Alan Viverette <alanv@google.com> Show warning when app was compiled against incompatible preview SDK

Adds publicly-visible API for compile SDK version and codename. AAPT2 does
not support these yet, but that will be included in a follow-up CL.

Also refactors the Unsupported Display Size dialog out to a generic app
warnings manager class and fixes a bug there where the "always show"
preference was not persisted.

Improves documentation around threading and concurrency guarantees.

Bug: 64107584
Fixes: 68995409
Test: CtsActivityManagerDeviceTestCases
Change-Id: Ic86efa554b8b1caf80e5e004fda897d3483a68e8
/frameworks/base/services/tests/servicestests/src/com/android/server/pm/PackageParserTest.java
cdd685c07504223e37e7831ce592446ec4ac6f6a 22-Aug-2017 Svetoslav Ganov <svetoslavganov@google.com> Use all certs for computing package signing sha256

In several places we compute the sha256 of the app's signing certificate
(instant cookie storage, backup account permission grants, static shared
lib matching). It is possible that an app is singed with multiple certs
which unfortunately can appear in a random order. We were using only the
first certificate to compute the hash which may be problematic for apps
signed with multiple certs which are later reordered. If an app update's
certs are reordered for cookie storage the app would not be able to
access the cookie, for account grants the app would not get the grant,
and for shared libs the app would fail to install due to a missing lib.

Test: all cookie CTS tests pass
all static shared lib CTS tests pass
added test that cookie data not lost on sha256 computation change
added test that lib install works when specifying
multiple certs

bug:64270295

Change-Id: Ib6b55f25da735ff5c2762faf6e9b5888e749041d
/frameworks/base/services/tests/servicestests/src/com/android/server/pm/PackageParserTest.java
fe77bbc98a9b5a6aca385911d6c51b44b4e709c4 12-May-2017 Jaekyun Seok <jaekyun@google.com> Fix broken PackageParserTest

The PackageParserTest has been broken since ag/2084396 was merged.

Test: runtest --path services/tests/servicestests/src/com/android/server/pm/PackageParserTest.java
Bug: 38250904
Change-Id: Ief35d9e1227f9e2f43343d52e47fe02ee126f0c4
/frameworks/base/services/tests/servicestests/src/com/android/server/pm/PackageParserTest.java
1be5354aba7fdcb877125731a05debe35b39114f 28-Apr-2017 Dianne Hackborn <hackbod@google.com> Fix issue #37324532: API Review: android.content.pm.InstrumentationInfo

targetProcess -> targetProcesses

Test: bit CtsAppTestCases:InstrumentationTest

Change-Id: I859985c689cc588c585cd0ec6e0a20411493a7c0
/frameworks/base/services/tests/servicestests/src/com/android/server/pm/PackageParserTest.java
dd9bda81f698043a0110d4e2178d20cb160ba829 24-Feb-2017 Jeff Sharkey <jsharkey@android.com> Delete @removed APIs that never shipped.

These were never part of any public API level, so apps should never
have been using them.

Test: builds, boots
Bug: 31241513
Change-Id: I4fc8f5c325da56694a5db98acc995a22d4947805
/frameworks/base/services/tests/servicestests/src/com/android/server/pm/PackageParserTest.java
2e0d0f311100d8e0bb40d7d60b8498237f011f0c 02-Jun-2016 Mårten Kongstad <marten.kongstad@sonymobile.com> OMS: integrate OverlayManagerService into framework

Hand over ownership of overlays to OverlayManagerService.

Changes to a package's overlays are propagated using the activity life
cycle. Affected activities will be recreated as needed. This provides a
well-defined point to modify an application's assets while the
application is paused.

Consolidate how overlays targeting the system and overlays targeting
regular applications are handled. Previously, system overlays were
handled as a special case. Now, everything is handled identically. As a
side effect, the call to idmap --scan during Zygote boot has become
obsolete and is removed.

Information on what overlays to use is recorded in
ApplicationInfo.resourceDirs. The PackageManagerService is responsible
for the creation of ApplicationInfo objects. The OverlayManagerService
is responsible for informing the PackageManagerService in advance about
what resourceDirs to use.

When launching an application, the ApplicationInfo is already populated
with up-to-date information about overlays.

When enabling or disabling an overlay for a running application, the
OverlayManagerService first notifies the PackageManagerService about the
updated resourceDirs. It then tells the ActivityManagerService to push
the new ApplicationInfo object to the application's ActivityThread.
Finally the application requests its ResourcesManager to create new
ResourcesImpl objects based on the updated paths.

Change-Id: Ib8afa05ccab4e2db558f89ce4423983c086bb61a
Co-authored-by: Martin Wallgren <martin.wallgren@sonymobile.com>
Signed-off-by: Zoran Jovanovic <zoran.jovanovic@sonymobile.com>
Bug: 31052947
Test: run tests from 'OMS: tests for OverlayManagerService'
/frameworks/base/services/tests/servicestests/src/com/android/server/pm/PackageParserTest.java
95459806920dec34abb3214ab6e1a9b9213a2a61 23-Feb-2017 Guang Zhu <guangzhu@google.com> Revert "OMS: integrate OverlayManagerService into framework"

Bug: 31052947
Bug: 35697944

This reverts commit 21a3d1ad686dee97b9cf0ed80389ee2ab0d48013.

Change-Id: I2d86931020301524c26cf8c8e80d557c97fdd6c3
/frameworks/base/services/tests/servicestests/src/com/android/server/pm/PackageParserTest.java
21a3d1ad686dee97b9cf0ed80389ee2ab0d48013 02-Jun-2016 Mårten Kongstad <marten.kongstad@sonymobile.com> OMS: integrate OverlayManagerService into framework

Hand over ownership of overlays to OverlayManagerService.

Changes to a package's overlays are propagated using the activity life
cycle. Affected activities will be recreated as needed. This provides a
well-defined point to modify an application's assets while the
application is paused.

Consolidate how overlays targeting the system and overlays targeting
regular applications are handled. Previously, system overlays were
handled as a special case. Now, everything is handled identically. As a
side effect, the call to idmap --scan during Zygote boot has become
obsolete and is removed.

Information on what overlays to use is recorded in
ApplicationInfo.resourceDirs. The PackageManagerService is responsible
for the creation of ApplicationInfo objects. The OverlayManagerService
is responsible for informing the PackageManagerService in advance about
what resourceDirs to use.

When launching an application, the ApplicationInfo is already populated
with up-to-date information about overlays.

When enabling or disabling an overlay for a running application, the
OverlayManagerService first notifies the PackageManagerService about the
updated resourceDirs. It then tells the ActivityManagerService to push
the new ApplicationInfo object to the application's ActivityThread.
Finally the application requests its ResourcesManager to create new
ResourcesImpl objects based on the updated paths.

Co-authored-by: Martin Wallgren <martin.wallgren@sonymobile.com>
Signed-off-by: Zoran Jovanovic <zoran.jovanovic@sonymobile.com>
Bug: 31052947
Test: run tests from 'OMS: tests for OverlayManagerService'
Change-Id: Idc96dae6fc075d5373aa055bbf50e919136d7353
/frameworks/base/services/tests/servicestests/src/com/android/server/pm/PackageParserTest.java
07ac1442b5b62c4cdeb4a5e93b4c38c6d9241894 10-Feb-2017 Narayan Kamath <narayan@google.com> PackageParser: String interning fixes.

Stop interning string metadata values as well as class names as it's
unlikely there will be much duplication among these.

Also make sure we intern the same set of strings when parsing packages
from their cache entries as we do when parsing them from the package
itself.

This change also improves error reporting for the unit-test and fixes
a failure that was introduced by a previous change (the addition of
static libraries).

Test: PackageParserTest
Bug: 34726698

Change-Id: Ia0d0342b91b3294bd5569756255918d1dc886e05
/frameworks/base/services/tests/servicestests/src/com/android/server/pm/PackageParserTest.java
be0b8896d1bc385d4c8fb54c21929745935dcbea 15-Feb-2017 Todd Kennedy <toddke@google.com> Revert "Revert "Per user setting for instant app""

This reverts commit be9ffa15af9e1906e9ffb505768328d62d4a3793.

Test: cts-tradefed run commandAndExit cts-dev -m CtsAppSecurityHostTestCases -t android.appsecurity.cts.EphemeralTest
Change-Id: Ib21321cf157a79890de487060a093840f7182047
/frameworks/base/services/tests/servicestests/src/com/android/server/pm/PackageParserTest.java
be9ffa15af9e1906e9ffb505768328d62d4a3793 15-Feb-2017 Guang Zhu <guangzhu@google.com> Revert "Per user setting for instant app"

Bug: 35390781

This reverts commit 2f5811dcfd840e149851a9333e27ef3cdddf7a46.

Change-Id: Ibb1c8dacbdc6908fc7fa2bc5dca664f2455162bf
/frameworks/base/services/tests/servicestests/src/com/android/server/pm/PackageParserTest.java
2f5811dcfd840e149851a9333e27ef3cdddf7a46 30-Jan-2017 Todd Kennedy <toddke@google.com> Per user setting for instant app

The same application can run as either an instant app or an installed
app. Store this setting per-user instead of based upon the install
location.

Bug: 25119046
Test: cts-tradefed run commandAndExit cts-dev -m CtsAppSecurityHostTestCases -t android.appsecurity.cts.EphemeralTest
Change-Id: Iff565bb1ac10d631499f0bd0f69b401cb073c10e
/frameworks/base/services/tests/servicestests/src/com/android/server/pm/PackageParserTest.java
340417356d92d0db71d0692344e66886ca795dfd 01-Feb-2017 Dianne Hackborn <hackbod@google.com> Implement issue #30977956: Enable Instrumentation tests for multi-process apps

New android:targetProcess attribute on <instrumentation> allows you to
specify the processes the instrumentation will run in.

This reworks how instrumentation is run in the activity manager to better
formalize its state and semantics, allowing us to keep track of it across
multiple processes. This also clearly defines what happens when multiple
instrumentations are running at the same time, which is useful for writing
CTS tests that test the instrumentation APIs themselves.

Adds a couple new APIs to Instrumentation that helps with the new
situation where instrumentation can run concurrently in multiple processes.

Test: new CTS tests added (textXxxProcessInstrumentation in
ActivityManagerTest.java in cts/tests/app/src)

Change-Id: I2811e6c75bc98d4856045b2f0a45fb24af5d366f
/frameworks/base/services/tests/servicestests/src/com/android/server/pm/PackageParserTest.java
fb2afbf7fa63e972e3de5a9ecf1e246019246792 24-Nov-2016 Narayan Kamath <narayan@google.com> PackageParser: Add serialization mechanism for parse results.

Also adds unit tests that assert that the cached value is equivalent
to the parsed value.

bug: 30792387
Test: PackageParserTest
Change-Id: Ibf6dfd1225243b436e3d7473170c2ccc31cfbbd7
/frameworks/base/services/tests/servicestests/src/com/android/server/pm/PackageParserTest.java
988149c925b583f5c77f567fa622e39309bc4ae9 01-Dec-2016 Narayan Kamath <narayan@google.com> PackageParser: Add support for caching parse results on the file system.

The exact scheme for serializing parse results is left undefined, and
will be implemented in a follow-up change.

Also adds a unit test for this functionality.

Test: PackageParserTest
Bug: 30792387

Change-Id: I5be6a3f97b5688d0a1aa9e024e946d590ad92c13
/frameworks/base/services/tests/servicestests/src/com/android/server/pm/PackageParserTest.java