These legacy settings need to be migrated once to the new domain
verification API, so this pulls the parsing out of the legacy classes
into a DomainVerificationLegacySettings.
This does NOT handle serializing the legacy settings. It's assumed
that migration is a one-time best effort attempt, and that dropping
the legacy settings is an acceptable fallback.
The old setting was a result of an unexplained and unintuitive user
path, set through ResolverActivity, and so it's not clear whether we
should migrate at all.
Worst case, the user can always re-do their preferences.
NOTE: This change should only be merged if merged together with the
change that removes the legacy code. It's invalid to run these
separately, as this change breaks the legacy manager class. These are
only separate to make review easier, to separate their concerns.
Exempt-From-Owner-Approval: Already approved by owners on main branch
Bug: 171251883
Test: TODO
Change-Id: Iefde9f2cd8ab73cb5f592abc7d2163dd7d244789
Backporting the new per-domain state to the old v1 intent filter
verification agent API.
Uses a new STATE_LEGACY_FAILURE to track the failedDomains returned by
the v1 verification agent, to support per-domain state with the old API.
Exempt-From-Owner-Approval: Already approved by owners on main branch
Bug: 170321181
Test: TBD in later change when proxies are combined
Change-Id: I2953f7e0100d425dcb806c607fdeae101803d8f4
Implements the behavior of either delegating to an approved app for
a web domain, or the browsers, removing the "always ask" and "never"
options for applications.
This also considers cross profile intents, and will allow those to be
shown if the other profile has an approved handler.
This also migrates instant app state to the new behavior. Instant apps
will now be granted completely immutable autoVerify approval, to
preserve their automatic opening behavior. The user would have to
disable the app in settings similar to an auto approved system app.
This is flagged through USE_DOMAIN_VERIFICATION_V2. For now, both v1
and v2 run entirely parallel, until the v1 APIs are removed in a
follow up.
Exempt-From-Owner-Approval: Already approved by owners on main branch
Bug: 163564991
Test: TODO
Change-Id: I1a90f6b2b9bf2f108c5dc1b944985bc150c405a7
Support for mutating internal state using pm shell commands.
Also wires up the boot broadcast now that the ability to verify all
unverified packages has been added.
Exempt-From-Owner-Approval: Already approved by owners on main branch
Bug: 163565712
Test: TODO
Change-Id: I809436c6b8ff04cdc68430303859d2d7f40d9557
Contains the core SDK @SystemApi portion of the domain verification
APIs, including the state codes and get/set methods for package/user
state.
Set methods are gated by corresponding permissions, but get methods
were left available as general @SystemApi in case someone finds a use
case for them.
Adds a new exception which allows the manager to be more specific in
what caused a failure.
Exempt-From-Owner-Approval: Already approved by owners on main branch
Bug: 163565712
Test: none, just API interfaces, will be tested with implementation
Change-Id: I86802fe4b88a8a0f63a1798944c5d8c3a3bab09b
Includes the request class sent to the verification agent and the 2
data classes returned by the to-be-added DomainVerificationManager.
Exempt-From-Owner-Approval: Already approved by owners on main branch
Bug: 163565712
CTS-Coverage-Bug: 179382047
Test: atest DomainVerificationCoreApiTest
Change-Id: If9f1b987f0d06c930f6c44b58af101b83947acb9
Add feature flags to indicate whether KeyMint only enforce
this feature in hardware with count == 1 or enforce with
any number of the count (>=1).
Bug: b/174140443
Test: compile
Change-Id: Id9c13ee91b779164bd07ff20ae2b4c0e158fdb33
Similar to passing in display metrics. We can use
ActivityThread.currentApplication() as the context for getting
PermissionManager in system server process because it will be created
early in ActivityThread.attach() before any custom logic can run, but
it becomes a problem for apps because they can run their own logic by
overriding Application.attachBaseContext() and do things there before
ActivityThread.currentApplication() becomes non-null.
So pass in the split permissions explicitly as an external dependency
for ParsingPackageUtils, and move the getPackageArchiveInfo()
implementation from PackageManager to ApplicationPackageManager to
utilize the context there. PackageParser2 can get the split
permissions internally because it's only used in system server.
Fixes: 178155985
Test: manual
Change-Id: I8213cf752e16b08328ad1150b2639da18c5d0e83
(cherry picked from commit 7b8974d375)
Add feature flags to indicate whether KeyMint only enforce
this feature in hardware with count == 1 or enforce with
any number of the count (>=1).
Test: compile
Change-Id: Id9c13ee91b779164bd07ff20ae2b4c0e158fdb33
Merged-In: Id9c13ee91b779164bd07ff20ae2b4c0e158fdb33
This string allows apps add a media_capabilities.xml resource to the
AndroidManifest.xml
The media_capabilities.xml file will in turn allow apps declare the
media capabilities they support, so the OS can transcode unsupported
formats to compatible formats for the app
Note, that the hard-coded string is already in use in MediaProvider
and is covered by TranscodeTest mentioned below
Test: atest TranscodeTest
Bug: 178187121
Change-Id: I46cfaefe8fb7f0bbd14896efdee61dcc4da19783
Define a new feature that determines if a device supports IMS
single registration and integrate this feature tag into the
SIP transport and provisioning APIs.
Bug: 149426399
Bug: 173715911
Test: atest CtsTelephonyTestCases FrameworksTelephonyTests
Change-Id: Id9ac6a3a69be2072cf28136e98408118b7d9f07f
and getting resources for a particular config
This would allow fetching display infos for the activity in a particular
config independent of system config.
Bug: 156154533
Test: Included CTS
Change-Id: Ie245d685fb21444c10a88b4ca86dc7ff08e2b599
Merged-In: Ie245d685fb21444c10a88b4ca86dc7ff08e2b599
GameManager service is a service to manage game related features. This
patch creates the initial service to manage the game mode and persist
the data across reboot.
Bug: b/174956354
Test: atest GameManagerTests
Test: atest GameManagerServiceTests
Test: atest GameManagerServiceSettingsTests
Change-Id: Iee2ab47c79d29f48847bc6d4b3eb781a5af18ff4
Adds a new attribute to downloadable font xml
that checks if downloaded font is on the system
already and uses that instead.
Test: added new tests
Test: atest ResourcesTest
Test: atest FontResourcesParserTest
Bug: 178589784
Change-Id: Ib7c32ba3037c534e9ab8c144716d68e46c908a39
To allow HdmiControlManager CTS to access the constant.
Bug: 174345748
Test: atest HdmiControlManagerTest
Change-Id: I75913cc240c47bb584271f348ddd8ee1d99e03e5
Some of the methods in PackageParser.SigningDetails rely on the
Signature class not including the flags / capabilities when
computing the hash code or performing equality checks. This commit
adds comments to the Signature class to highlight this and adds
tests to detect if this behavior is changed.
Bug: 176814921
Test: atest SignatureTest
Change-Id: I28c591af559568d498449f1c6cbceb1c292d2ad5
The new flag indicates if the location permission is selected as the
level of granularity of location accuracy.
Test: m build.
Bug: 178646267
Change-Id: Ieccff38072789791da2b32cecf179d3f1106b54e
Previously signature permissions were only granted to a requesting app
under the following conditions:
- Both apps are signed by the same signer
- The requesting app's current signer is in the lineage of the
declaring app, and this signer in the declaring app still has the
permission capability granted
- The declaring app's current signer is in the lineage of the
requesting app
However these requirements prevent the signing keys from diverging,
meaning all apps must always be signed by the same key (or remain at
a previous key in the lineage); this goes against signing key best
practices. This commit allows a signature permission to be granted
to a requesting app if it has a signing key in its lineage in common
with the declaring app, and the declaring app has still granted the
permission capability to that key.
Fixes: 176814921
Test: atest SigningDetailsTest
Test: atest PkgInstallSignatureVerificationTest
Change-Id: I386b53085fc47e5111fe083c934045f5fb8154f1