The pane title was not parceled and unparceled symmetrically.
Fixing that.
Also, the CTS test that should have caught this error is broken.
Providing a test API to do parceling without recycling, so
parceling can be tested in isolation.
Bug: 73084962
Test: Updated CTS AccessibilityNodeInfoTest used to pass. After
the fix to parcel in isolation, the test failed. Fixing the pane
title parceling allows the test to pass again.
Change-Id: I161ce93f8bdea5d5dd2d28cd38b58633f7742e56
Public EuiccManager and other related necessary files.
Mark EuiccCardManager and other related necessary files as @SystemApi.
Solve lint errors and warnings.
Bug: 35851809
Test: test on phone
Change-Id: Id7895f9b35ce9d4fb6fae42ba89ca9b29dbfa74c
Call deflection feature is useful to deflect MT call to another
number.
Test: Manual
Bug: 62170348
Change-Id: Idfbcc175a856aa0bb9476f8c73d7a614a3af0700
This CL adds two @TestApis required for the magnifier CTS tests.
Bug: 69407609
Bug: 63531115
Test: atest CtsWidgetTestCases:android.widget.cts.MagnifierTest
Change-Id: I49e53223730f5fbbf353f6574429c1b1a3d877a1
The long term goal of removing junit and dependent android.test classes
from the android.jar is the removal of the runtime libraries that
provide those classes. A key part of the strategy for migrating APKs off
the runtime libraries is the android.test.legacy library which APKs can
statically include in place of the runtime dependencies without having
to change their source code.
The longer term goal is for all tests to migrate from these classes
altogther and to use the Android Test Support Library instead but that
will require significant changes to the test source code.
In order for it to be safe to statically include android.test.legacy in
an APK it cannot use any internal APIs. This change adds the additional
classes and methods needed to the android.test.mock API library. The
additions are all marked as deprecated to try and avoid developers
from using them in new tests.
It also marks the AccountManager constructor used by MockAccountManager
with the android.annotation.MockApi so that it is included in the mock
stubs libraries against which the android.test.mock.stubs[-system]
libraries build.
Bug: 30188076
Test: make checkbuild
(cherry picked from commit 772b692320)
Merged-In: I85417cc328cab898ab93b9b726648f4232555324
Change-Id: If3b6fc630df93a44e4c07ef769737a2ac3ebf476
Add resource overlay and carrier config which will determine
which package / network services will be bound to.
Bug: 64132030
Test: regression tests
Change-Id: I5f515ec16b712e7be25f69e0e079d672227542b0
Merged-In: I5f515ec16b712e7be25f69e0e079d672227542b0
Use existing API instead of creating new method.
Bug: 64140119
Test: cts-tradefed run cts-dev --module CtsDevicePolicyManagerTestCases --test com.android.cts.devicepolicy.MixedDeviceOwnerTest#testPrintingPolicy
Change-Id: I9ff94f4d73824e7bf9aedbb64811ad60fccf9779
* changes:
Modify ImsService API to accomodate compat
Make ImsService API @SystemApi
Integrate new MMTel APIs into the framework
Integrate ImsCallSessionListener API changes
This patch preserves the synchronous nature of audio focus requests,
even when an external focus policy is installed.
When focus is requested, the request is blocked on
the client-side, while AudioService informs the external
policy of the request, and until the ext policy responds
with the focus request result for this client, or
it times out.
The new AudioPolicy API is the call for the external policy
to send the focus request result.
Bug: 63906162
Test: gts-tradefed run gts -m GtsGmscoreHostTestCases -t 'com.google.android.gts.audio.AudioHostTest#testFocusPolicy'
Change-Id: I4671517f7f00eaaed8748bd4013b7d20be3085fb
Autofill helps users fill credentials, addresses, payment methods,
emails, etc without manually typing. When focus lands on a fillable
element the platform captures a snapshot of the screen content and
sends it to an autofill service for analysis and suggestions. The
screen snapshot is a structured representation of the screen content.
If this content is composed of standard widgets, autofill works
out-of-the-box. However, some apps do their own rendering and
the content in this case looks like a single view to the platform
while it may have semantic structure. For example, a view may render
a login page with two input test fields.
The platform exposes APIs for apps to report virtual view structure
allowing autofill services to handle apps that have virtual content.
As opposed to apps using standard widgets, this case requires the app
developer to implement the new APIs which may require a fair amount
of code and could be seen as a processes that could take some time.
The most prominent typs of apps that fall into this category are
browsers.
Until most apps rendering virtual content and specifically browsers
don't implement the virutal APIs, autofill providers need to fall-
back to using the accessibliity APIs to provide autofill support
for these apps. This requires developers to work against two sets
of APIs - autofill and accessibility - which is incovenient and error
prone. Also, users need to enable two plugins - autofill and
accessibility which is confusing. Additionally, the privacy and
perfomance impact of using the accessibility APIs cannot be addressed
while autofill providers need to use thes APis.
This change adds an autofill compatibility mode that would allow
autofill services to work with apps that don't implement the
virtual structure autofill APIs. The key idea is to locally enable
accessibility for the target package and remap accessibility to
autofill APIs and vise versa. This way an autofill provider codes
against a single set of APIs, the users enable a single plugin,
the privacy/performance implications of using the accessibility
APIs are addressed, the target app only takes a performance hit
since accessibility is enabled locally which is still more efficient
compared to the performance hit it would incur if accessibility is
enabled globally.
To enable compatibility mode an autofill service declares in its
metadata which packages it is interested in and also what is
the max version code of the package for which to enable compat
mode. Targeted versioning allows targeting only older versions of
the package that are known to not support autofill while newer
versions that are known to support autofill would work in normal
mode.
Since compatibility mode should be used only as a fallback we
have a white list setting with the packages for which this mode
can be requested. This allows applying policy to target only
apps that are known to not support autofill.
Test:
cts-tradefed run cts-dev -m CtsAutoFillServiceTestCases
cts-tradefed run cts-dev -m CtsAccessibilityServiceTestCases
bug:72811034
Change-Id: I11f1580ced0f8b4300a10b3a5174a1758a5702a0
The majority of Manager-style classes already use Context.getUserId()
when making calls into the OS, so clean up the remaining callers to
unify behind this strategy.
This gives @SystemApi developers a nice clean interface to interact
across user boundaries, instead of manually adding "AsUser" or
"ForUser" method variants, which would quickly become unsustainable.
Test: builds, boots
Bug: 72863821
Exempt-From-Owner-Approval: trivial changes
Change-Id: Ib772ec4438e57a2ad4950821b9432f9842998451
Add resource overlay and carrier config which will determine
which package / network services will be bound to.
Bug: 64132030
Test: regression tests
Change-Id: I5f515ec16b712e7be25f69e0e079d672227542b0
This is to make sure only the system can bind the data service.
Test: Manual
Bug: 64132030
Merged-In: Iaf4e4a604396ec37c83516f1d1f163614ef23c3d
Change-Id: Iaf4e4a604396ec37c83516f1d1f163614ef23c3d
Give the app ability to query all the physical camera's physical
metadata within TotalCaptureResult.
With this new API, getPhysicalCameraKey becomes redundant.
Test: Camera ITS for logical multi-camera
Bug: 66697407
Change-Id: I4a0cbc81bef705e870f7e4ec79dc3481f9e87ae6