references during the Content Capture Sharing.
Motivation: if the remote app is killed, we don't want a possibility of
system server holding a stroing reference (through a reference chain)
to large objects in that app. Therefore what's send in the binder has to
be a weak reference. And we will store a hard reference to those objects
in the client app's static context.
Storing hard references to objects in system_servier is less critical, because that is not going to be killed.
Bug: 148265162
Test: covered by CTS tests
Change-Id: Ie561aab6019d191cf8659fb350e045089e7781ed
(cherry picked from commit 13f65b29745d306351c666c4f9f4a2d701513fe5)
sharing requrests.
Bug: 145205247
Test: this was actually surfaced during CTS tests implementation, when
subsequent test executions failed because of needing a timeout.
Change-Id: I529216d0e9139f165f90bdaab80850c4c047f836
As part of statsd becoming a Mainline module in R, autogenerated
StatsLog.write() calls are going away and replaced by
*StatsLog.java
that is autogenerated for each module.
This CL replaces some usages of StatsLog with
FrameworkStatsLog.
Bug: 145952197
Test: m
Change-Id: Iaa2db34a7be4c3215f62cc36661ba8ac81656baa
Motivation: if the Content Capture service want's to end the session, it
can close the read-fd, while not have finished reading, and that would
result in an exception in the system server, that can later be
propagated to the caller as an error.
Similarly, timeout of the sharing session can be reflected as an error
with a specific error code.
Test: built Android locally and perfomed a manual test.
Bug: 145203958
Change-Id: Iaeb45e0ab68da9fe30dce1ae4eab2354ef56d827
reference to its parent.
This is to prevent occasional data leaks caused by GC not cleaning up
parent resources.
Bug: 148265162
Test: built Android and performed an E2E test
Change-Id: Ie2b948fa2e5f457f2f44883cfb5995287a704bb5
This API allows any whitelisted caller app supply data to Content
Capture Service. CDD suggests to not use standard "binding" mechanisms,
so this is a guaranteed-writeonly way of sharing data.
Test: build Android locally, manual E2E test
Bug: 145203958
Change-Id: If2219acd6aa48f199e4dadd6f18ceb55c258e1d0
Also changed AutofillManagerService and ContentCaptureManagerService to take advantage of these methods.
Test: manual verification
Test: atest CtsAutoFillServiceTestCases CtsContentCaptureServiceTestCases # on phone and Automotive
Bug: 133242016
Change-Id: I3e7f9d65a6ef1e8e6ec886a41b35733e463a6389
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
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.
Bug: 128925852
Test: Manual. I created an implementation of the service.
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