This service connects to a remote system captions manager service. This
service is responsible for enabling system captions when the user
requests them. As the system binds to it, this service will be
persistent.
Cherry pick from ag/6761232
Bug: 128925852
Test: Manual. I created an implementation of the service.
Merged-In: Iafde1bb68f4754d8167624f47c6833d43c0ec336
Change-Id: Iafde1bb68f4754d8167624f47c6833d43c0ec336
Also refactored how the SecurityException is thrown back to the caller app.
Bug: 122959591
Test: manual verification
Test: atest CtsContentCaptureServiceTestCases # sanity check (minus usual flakiness)
Change-Id: I4d2a68e61dc1c801d80734a30f4bbe6fdae8555d
This is an internal change that will save memory:
- ids themselves are smaller (one int vs ~20 chars string)
- can be mapped with SparseArrays
- parcel objects will be smaller
Test: atest CtsContentCaptureServiceTestCases \
FrameworksCoreTests:android.view.contentcapture.ContentCaptureEventTest \
FrameworksCoreTests:android.view.contentcapture.ContentCaptureSessionTest
Fixes: 121197119
Change-Id: I4b4367bd7238400ade385c2bcc4b0595ed0b1c7b
in order to support multiple binding flags
And supply BIND_ALLOW_BACKGROUND_ACTIVITY_STARTS for RemoteFillService.
Test: atest CtsAutoFillServiceTestCases
Test: atest AutofillManagerServiceTest
Bug: 126267782
Change-Id: Id5262d6a4e0fde0ad874020f783cfbf72fe201f4
The workflow already handles the case where the service dies and the framework re-establishes
the binder connection, but that didn't work when it died because the package was being updated.
This CL fixes this scenario by gracefully pausing the existing sessions before the package is
updated, then resuming them afterwards.
Test: manual verification
Test: atest CtsContentCaptureServiceTestCases # sanity check minus flakiness
Bug: 126266412
Fixes: 129072171
Change-Id: Ibc6b723c7bc08b4f920436f365d6006bc8fac7b6
It will be used to let activities from the ContentCapture service package to use
the ContentCaptureManager APIs (such as isContentCaptureFeatureEnabled()), without
triggering content capture per se.
Bug: 122958583
Test: manual verification
Test: atest CtsContentCaptureServiceTestCases # sanity check
Change-Id: I0305fa9f3adb68e6faff80afcb965ae4643f2992
Test: manual verification (cannot be tested using CTS because it would kill the test process)
Test: atest CtsContentCaptureServiceTestCases
Bug: 126266412
Fixes: 128466656
Change-Id: I73e89f41b58615070c38103fa2f1fa04ac015dca
This is useful for long-lived activities (like a browser), so child session can still be reported
after the service is restarted after dying.
Test: manual verification (cannot be tested using CTS because it would kill the test process)
Test: atest FrameworksCoreTests:android.view.contentcapture.ContentCaptureEventTest
Test: m update-api
Bug: 128466656
Change-Id: I9310263e897e929189d323d31853592a374dc6e0
Remote services were still reconnecting back to the CCService when it is
restarted. This prevents multiple CCPerUserService/RemoteService staying
alive and clogging resources.
Fixes: 127662995
Test: atest CtsContentCaptureServiceTestCases
Test: manual verification
Change-Id: Idc5835594ebeb3ed245685189da11cff9799e62e
This allows us to expose both system-only and app available APIs for
role in RoleControllerService.
Bug: 127691087
Test: manual
Change-Id: I86fe3736fc28516aae25d48efe3ba599ffdf45d5
This API is needed for high-level events that happened on activities that are
not whitelisted for Content Capture.
Test: atest CtsContentCaptureServiceTestCases:android.contentcaptureservice.cts.LoginActivityTest#testSimpleLifecycle_defaultSession
Test: atest CtsContentCaptureServiceTestCases # sanity check
Test: m update-api
Bug: 126262658
Change-Id: Id2d4ccfb04d56eba561200d6875374a932c526ae
- Use 1/0 instead of true/false for the settings value.
- Improved logging / internal logic by splitting disabled by settings and device config.
- Other minor fixes.
Test: atest CtsContentCaptureServiceTestCases
Bug: 119264902
Change-Id: I51b99588f823c4e1eaf496841efd45757e4258be
Also split some logic from PendingRequest into BasePendingRequest, so they're
not leaked into the async requests.
Test: atest CtsContentCaptureServiceTestCases CtsAutoFillServiceTestCases
Bug: 117779333
Change-Id: Ife9a3ab3a817944408caf9eae69dd75f48ab90c6
Content Capture for an activity and/or package is only available when the Content Capture service
explicitly whitelists it. As the whitelist is kept at system-server level, it's better to fetch that
info when the application is started and cache it locally, so we can optimize the
ContentCaptureManager APIs to return quickly when it's disabled.
This CL also caches other values such as the buffer parameters.
Test: atest CtsContentCaptureServiceTestCases
Bug: 120494182
Bug: 121202151
Change-Id: I9d5211bca496ffa85ba9efc2a7bb32411834b787
To re-enable, it will need to launch a Settings intent
(Settings.ACTION_REQUEST_ENABLE_CONTENT_CAPTURE).
Bug: 123286662
Test: atest CtsContentCaptureServiceTestCases
Change-Id: I0dd03013aba645c188af4034e530492d8294180e
For now it only whitelists packages, not activities.
Test: atest CtsContentCaptureServiceTestCases
Bug: 122595322
Change-Id: I5beb9b027eb704510e68f3af15e84e14bda07eb2