Commit Graph

9517 Commits

Author SHA1 Message Date
TreeHugger Robot
a00402bb70 Merge "Remove InstantAppResolverTests for migration to CTS" into rvc-dev am: f37b09335f am: 38a9ac0ff4 am: 538f254eec am: a9196432f5
Change-Id: Ifd8ca2bb20d50a7011d03bf876c00775a00f8cf7
2020-05-28 01:29:26 +00:00
TreeHugger Robot
f37b09335f Merge "Remove InstantAppResolverTests for migration to CTS" into rvc-dev 2020-05-28 00:23:16 +00:00
Mehdi Alizadeh
8162d716e6 Merge "Adds cacheFlags parameter to cache/uncacheShortcuts() methods" into rvc-dev am: c95be6995a am: 366d6c10f1 am: 987fa9cdcf am: 7f155cc487
Change-Id: I4f79117d9800a712cd0b632cd37a073509a9c1e9
2020-05-27 19:59:32 +00:00
Mehdi Alizadeh
c95be6995a Merge "Adds cacheFlags parameter to cache/uncacheShortcuts() methods" into rvc-dev 2020-05-27 19:23:39 +00:00
JW Wang
ef4cfd9bcf Merge "Clean up the code that deletes snapshots by inode (1/n)" 2020-05-27 02:24:56 +00:00
TreeHugger Robot
4e87878de5 Merge "Camera: Extend FEATURE_CAMERA_CONCURRENT to old API levels" into rvc-dev am: 80a18c0a7b am: 5600e116c1 am: 6a83a9a509 am: eba4a0383f
Change-Id: I8596328eb0d642f395f33b2d2a399cd35c4dc92a
2020-05-27 01:43:29 +00:00
TreeHugger Robot
80a18c0a7b Merge "Camera: Extend FEATURE_CAMERA_CONCURRENT to old API levels" into rvc-dev 2020-05-27 00:45:04 +00:00
TreeHugger Robot
9056ffab54 Merge "Add CarrierAppUtils integration test to PackageManager presubmit." 2020-05-26 23:29:50 +00:00
Automerger Merge Worker
9551c5aac9 Merge "Merge "Address edge cases for signing certificate lineages in sharedUids" into rvc-dev am: 2046776127 am: 3cdc8fbdb2 am: 0a0ef10023" into rvc-qpr-dev-plus-aosp am: 26b5c31032
Change-Id: I99ac9fa3e84e854cccb0a457d7d7f2f20360d4b5
2020-05-26 16:34:13 +00:00
Michael Groover
2046776127 Merge "Address edge cases for signing certificate lineages in sharedUids" into rvc-dev 2020-05-26 16:07:57 +00:00
Mehdi Alizadeh
a3d22cec32 Adds cacheFlags parameter to cache/uncacheShortcuts() methods
Bug: 155135890
Test: atest ShortcutManagerTest1 ShortcutManagerTest11 \
            ConversationInfoTest DataManagerTest \
            NotificationManagerServiceTest
Change-Id: Idda777ba032546bd616ee3079b9c8dc8676dc589
2020-05-26 03:30:55 +00:00
Michael Groover
f1744af7ed Address edge cases for signing certificate lineages in sharedUids
Currently when a package is installed / updated in a sharedUid the
signatures for the sharedUid are not updated unless the new package
adds a new signer to the lineage; in this case the new lineage is
assigned to the sharedUid without consideration for the existing
lineage. This leads to the following problems:

1. If the current sharedUid lineage is A -> B and the new package has
lineage B -> C then this is used for the sharedUid and A is lost from
the lineage.
2. If the new lineage revokes one or more capabilities from a previous
signer in the lineage these updated capabilities are ignored unless the
lineage added a new signer as well.
3. If the new lineage revokes the sharedUid capability from a previous
signing key in the lineage and another app is installed as part of the
sharedUid and signed with that key the new app's installation is allowed
to proceed.
4. If only a single app is installed as part of a sharedUid, and that
app is updated with a rotated key and a lineage that revokes the
previous signing key's sharedUid capability the update is blocked.
5. If an app is installed as part of the sharedUid and has a diverged
signer in the lineage (ie sharedUid lineage is Y -> A -> B and new app
lineage is Z -> A -> B -> C) the installation is allowed and Y is lost
from the lineage.

Problems 1 and 2 are addressed with the new SigningDetails
mergeLineageWith method that merges common signers between two lineages
and also updates their capabilities to the most restrictive between
the two lineages (capabilities are anded together). Problems 3 is
addressed by checking the signatures of each of the packages in the
sharedUid for any signed with an ancestor for which the sharedUid
capability may have been revoked. Problem 4 is addressed by checking
if the package being updated is the only one in the sharedUid; if so
the update to the new lineage is allowed to proceed. Problem 5 is
addressed by verifying the new app's lineage is the same, a subset, or
a superset of the other.

Bug: 152046935
Test: atest PkgInstallSignatureVerificationTest
Test: atest SigningDetailsTest
Test: atest PackageManagerTests
Test: atest PackageManagerTest
Change-Id: I420c309f522bb47b65ca40ee848024c85cd5804d
2020-05-22 23:50:52 +00:00
TreeHugger Robot
0bc9fb5814 Merge "Don't truncate an app's own label when forcing safe label." into rvc-dev am: 2f988b5a82 am: a98609c3b9 am: 498366bb1c am: 4a3c82a7a4
Change-Id: I44ca503d57b1d3d1b6faa13702ee7e64c333d501
2020-05-21 20:47:47 +00:00
Julia Reynolds
6304878212 Merge "Update conversation labels" into rvc-dev am: 28c3a34faa am: c9bf62b6fe am: c31eb3260f am: 8f0cbb4498
Change-Id: I4dfacbc5543b0cf096a49eee7f8a1c069ec4daf3
2020-05-21 20:11:16 +00:00
TreeHugger Robot
2f988b5a82 Merge "Don't truncate an app's own label when forcing safe label." into rvc-dev 2020-05-21 19:06:51 +00:00
Winson
badad7b62f Remove InstantAppResolverTests for migration to CTS
See change I79b7c42e8a495c0f4ba4cd42a076ac3b43ee2919

Bug: 155114274
Bug: 155115137
Bug: 155115845
Bug: 155116506
Bug: 155116748
Bug: 155117421

Test: atest CtsInstantAppTests

Change-Id: I09023d098c93758c049169a909c27c230bb3dd9b
2020-05-21 11:50:43 -07:00
Hai Zhang
5177cfa1bd Don't truncate an app's own label when forcing safe label.
Fixes: 152973001
Test: manually confirm default apps title isn't truncated in RU.
Change-Id: Ic54ea66fa4b9117d633b58838465adfb9d2ae7fa
2020-05-20 14:51:00 -07:00
Julia Reynolds
8d34af82ac Update conversation labels
By adding a util method that prefers longlabel and
falls back to shortlabel.

Test: atest
Bug: 157140669
Change-Id: Ib7229b75b7a8ab87274e9aab1c7816129f04e505
2020-05-20 17:03:35 -04:00
TreeHugger Robot
a75467031a Merge "Fix parsing sCachedPackageReadCount" into rvc-dev am: db48450e84 am: 863059a635 am: 2126d201f6 am: 9180d9b395
Change-Id: I839a55d0ecf37e65dc34e4422beb24ddf4859c8d
2020-05-19 19:25:14 +00:00
TreeHugger Robot
db48450e84 Merge "Fix parsing sCachedPackageReadCount" into rvc-dev 2020-05-19 18:57:33 +00:00
Winson
46220780ba Fix parsing sCachedPackageReadCount
This was moved to PackageCacher, but the old and unused counter
was not removed.

Bug: 154310064

Test: manual device reboots and logs cached count >0

Change-Id: I32fdb4b8fccd281fe61c64f231cb0ba154934679
2020-05-19 09:37:36 -07:00
JW Wang
16d49b4003 Clean up the code that deletes snapshots by inode (1/n)
Per b/147806409, the old code to delete snapshots by inode didn't work.
There is no point in storing mCeSnapshotInodes inside
PackageRollbackInfo. Let's remove related code.

TODO: fix ApexManager/Installer APIs that have unused parameter/return
values.

Bug: 154897348
Test: atest RollbackStoreTest RollbackUnitTest AppDataRollbackHelperTest

Change-Id: I66357c22607bfffbe4d9f55fc13c4c657d5f700c
2020-05-19 17:27:37 +08:00
Patrick Baumann
1a2a730d4d Merge "Doc update re use of MATCH_UNINSTALLED flag" into rvc-dev am: ce6252e5a4 am: 756e0cb1b9 am: 317ffa96e0 am: 0564a89529
Change-Id: I5dade459f1d5f43dfe74bfceda7fa1d4e44490c8
2020-05-18 22:33:30 +00:00
Patrick Baumann
ce6252e5a4 Merge "Doc update re use of MATCH_UNINSTALLED flag" into rvc-dev 2020-05-18 21:31:02 +00:00
Jeff Davidson
0783b04266 Add CarrierAppUtils integration test to PackageManager presubmit.
Test has been stable for a few days in postsubmit:
https://blackbox.googleplex.com/testsuite?branch=git_master&target=cf_x86_phone-userdebug&testsuite=TestMapping-vendor%2Fgoogle_testing%2Fintegration%2Ftests%2Fcarrierapp&type=functional

Bug: 150399810
Test: N/A
Change-Id: Iaf06ef2ffb1193804332749a438ca9a0f13f58f2
2020-05-18 12:24:57 -07:00
Winson Chiu
5a310af90b Merge "Remove PlatformCompat dependency from getPackageArchiveInfo" into rvc-dev am: 605ec6e272 am: 2c9397e828 am: 752261bb61 am: 7d3113a0e8
Change-Id: I6d65b87e6d890056dcb93960afdef2c7b7c94d2a
2020-05-16 02:32:51 +00:00
Patrick Baumann
5bbb8fe00a Doc update re use of MATCH_UNINSTALLED flag
This change updates the docs for the MATCH_UNINSTALLED flag to note that
without the QUERY_ALL_PACKAGES permission, uninstalled packages will not
be returned.

Bug: 149846504
Test: builds
Change-Id: Id0c5b7f29172bd334dc1b2a32ce1f4eb7b1f0bd3
2020-05-15 16:24:12 -07:00
Winson
7029b75f67 Remove PlatformCompat dependency from getPackageArchiveInfo
It requires a permission which we can't force apps to take to
maintain backwards compatibility. We also arguably cannot because
it leaks visibility, although only for debuggable apps/non-release
builds.

Instead, there's a new static method for getting the raw targetSdk
to gate against and the check is done manually, ignoring
enabled/disabled state. This will cause a mismatch between certain
apps and some system services like AppIntegrityManager, but the
effects should be minimal if we assume that most people ship
valid APKs. At worse the integrity check will pass an APK that
PM will fail, which doesn't break the feature.

Bug: 156356591
Bug: 156778241

Test: manual device boots

Change-Id: I877a5061476b86b9d63c34e75f16b38be8c3e1c2
2020-05-15 15:52:05 -07:00
TreeHugger Robot
c567137c02 Merge "Treat mimegroup as wildcard for app enumeration" into rvc-dev am: cd1c478655 am: 17ccecea24 am: e16ac10996 am: cdbb51b1df
Change-Id: Ib734d5365efb9da3567975e067ac427b969f340f
2020-05-15 20:47:47 +00:00
TreeHugger Robot
24b477835c Merge "Ignore port when matching with wildcards" into rvc-dev am: d1b6afcc19 am: 7a1f6344fd am: f8dff3cc6c am: 5458a6a8f9
Change-Id: Idae3a72bd5ad8d8083088201e8fa65e8ad64a828
2020-05-15 20:46:44 +00:00
Patrick Baumann
84249ed31e Treat mimegroup as wildcard for app enumeration
This change treats any filter with a mimegroup as if it matches all or
no mime types when matching for the purpose of app enumeration.

Fixes: 155379839
Test: atest IntentFilterTest
Change-Id: I358872082524a4001179bb145053d006622898a7
2020-05-14 16:11:49 -07:00
Patrick Baumann
97980133d5 Ignore port when matching with wildcards
This change ensures that we don't take port into account when matching
queries tags against intent filters as port is not a supported value in
a queries intent tag. Adding support for this in a future release will
just limit the scope of the queries tag on thos releases; it will still
be ignored in this release.

Bug: 151638510
Test: atest IntentFilterTest
Change-Id: I69d77ae6bebf3984bfe8e8a0f6c2e9e91ee69298
2020-05-14 16:03:23 -07:00
Eino-Ville Talvala
fdf749b2c6 Camera: Extend FEATURE_CAMERA_CONCURRENT to old API levels
Since running the front and back camera at the same time has been
possible since forever, there's no reason devices on older API levels
can't declare the FEATURE_CAMERA_CONCURRENT flag, even with the new
query APIs not present.  Explicitly document that the flag can be set
on API level 29 or earlier, and what it means.

Test: m offline-sdk-docs
Bug: 77960042
Change-Id: I186cb53d95debcc62c98afdef8c629bd9c6a5919
2020-05-14 15:20:10 -07:00
TreeHugger Robot
350df5c815 Merge "Controls API - Flag controls support" into rvc-dev am: 897187dcfa am: 166c228af4 am: b8a63260a2 am: edba1d16af
Change-Id: Iabb982f2724ac351a02b08e9b0a9a0deec90a638
2020-05-13 21:51:16 +00:00
Matt Pietal
9788fd4afd Controls API - Flag controls support
Add a package manager flag so that apps can programmatically query
whether the device have system interface to support the Controls API

Bug: 156096063
Test: manual
Change-Id: I2dab2ecb762b59308c51615137f89733ff42caeb
2020-05-13 14:11:34 -04:00
Mocy Sheng
35501e5b25 Merge "Fix nullable annotation to match overriden method in super class" 2020-05-12 13:00:27 +00:00
Robert Horvath
f424274d8e Merge "Add PackageInstaller#uninstallExistingPackage" into rvc-dev 2020-05-12 11:40:10 +00:00
Riddle Hsu
5b198db82d Merge changes from topic "b147213487" into rvc-dev am: 8e726a2ef7 am: 2d42c72f14 am: bd9a3d97c6 am: 9f1ad6529f
Change-Id: Icaff9e75d20f5c9b5ae0b1afddb5985576bf9019
2020-05-12 10:13:03 +00:00
Robert Horvath
77880fa860 Add PackageInstaller#uninstallExistingPackage
This new API allows an app to be uninstalled silently by any app holding
the DELETE_PACKAGES permission, as long as the app is installed in
another user so won't be fully removed from the device.

Bug: 149601842
Test: atest UninstallExistingPackageTest
Merged-In: I69fe4d1dd4e9da83574b431257f7be6d1ac8b2bb
Change-Id: I69fe4d1dd4e9da83574b431257f7be6d1ac8b2bb
2020-05-12 09:18:56 +00:00
Mocy Sheng
ba61f71ff3 Fix nullable annotation to match overriden method in super class
Bug: 156238511
Test: Treehugger
Change-Id: I349e8628ea77d3051f40f903c3438c3fc0a489ea
2020-05-11 14:44:12 -05:00
Robert Horvath
b22683e830 Merge "Add PackageInstaller#uninstallExistingPackage" 2020-05-11 08:23:44 +00:00
Riddle Hsu
e03b9669e3 Add support to override display adjustments by token
This is the bridge to link customized adjustments to an activity
or window token.

The DisplayAdjustments in ResourcesImpl is associated with
ResourcesKey. The new usage requires to associate with token.
That is why the new field is added in Resources.

Bug: 147213487
Test: atest ResourcesManagerTest#testOverrideDisplayAdjustments
Change-Id: Ie79c331654d564aee7af8c6ce98a4c72dd3132b1
2020-05-11 13:30:14 +08:00
Nikita Ioffe
3711e7c7ad Merge "PackageParser2: collect certificates if requested" into rvc-dev am: a23a9dc83b am: a3cc299609 am: 1e7a5256eb am: 0f62e3ca9c
Change-Id: I549172d8e27e954c71ead760280c32cca9c35365
2020-05-08 18:02:32 +00:00
Nikita Ioffe
a2962fa93f PackageParser2: collect certificates if requested
This is a relatively easy and safe change that should significantly
reduce boot time.

Test: atest google/perf/boottime/boottime-test
Test: atest PackageManagerTest
Bug: 155535721
Bug: 155513789
Bug: 155525390
Change-Id: Ib5152892184d407361ce3698575075ec0138edbf
2020-05-07 21:09:21 +01:00
TreeHugger Robot
a83fad74b4 Merge "Migrate remaining parsePackage V1 to V2" into rvc-dev 2020-05-06 03:57:38 +00:00
Varun Shah
6394bcd367 Merge "Update some ContentResolver docs." into rvc-dev am: 2806da306b am: 7affd8ffe6 am: e3afc5a2a7 am: c4e23cebc5
Change-Id: I3aba91500075b89e598fa5ff21225b8972f7a442
2020-05-06 00:28:24 +00:00
Winson Chiu
6ec3a6fc5b Merge "Migrate remaining parsePackage V1 to V2" 2020-05-05 23:37:00 +00:00
Winson
3cb5610a99 Migrate remaining parsePackage V1 to V2
Uses ParsingPackageImpl to generate the PackageInfo for
PackageManager's getPackageArchiveInfo API.

This keeps the migration to v2 hidden and thus the API can
be shipped for this release and then deprecated entirely
if necessary.

Exempt-From-Owner-Approval: Has approval on previous patchsets,
    will need non-logic updates to resolve merge conflict and CP
    into rvc-dev properly

Bug: 135203078
Bug: 146575910
Bug: 153880854

Test: atest com.android.server.pm.parsing
Test: atest android.content.pm.PackageManagerTests

Merged-In: Ib21dbbdc556502144df8e3d7a26b7a9d33885cd9
Change-Id: Ib21dbbdc556502144df8e3d7a26b7a9d33885cd9
2020-05-05 16:35:34 -07:00
Varun Shah
2806da306b Merge "Update some ContentResolver docs." into rvc-dev 2020-05-05 23:18:55 +00:00
Andrew Solovay
c2aaa2bb79 Merge "docs: Fixing broken Javadoc comments" into rvc-dev am: 9e2fa5042b am: 3839f1f669 am: 8ef5792ef0 am: ee5c2d45d6
Change-Id: Ib481085d1cda38b9d63bdc0a849ad904b68efc40
2020-05-05 21:48:45 +00:00