| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
It's possible for close to be called during local cleanup concurrently
with the remote call.
A recent change (ag/15993920) added a missing Binder.unlinkToDeath
call to close(). This now causes a crash now if the registration
was removed at just the right time in another thread. This synchronizes
access to close() to avoid this.
Bug: 237406501
Test: atest ScrollCaptureConnectionTest
Change-Id: I0126bfac1efdece2e4eff144a44f29a963553b74
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
State is checked at the front half of some calls, but is
dispatched onto the UI thread. If the connection is closed
in this time, the queued call will NPE when the field it
uses is cleared.
This adds a simple null check in two places, and test for both.
Bug: 232375183
Test: atest ScrollCaptureConnectionTest
Change-Id: Ida7fbf0a21c206db8d774dc247b6ab5257dacabe
|
| |
|
|
| |
Change-Id: I7d018fa7c4e4eb3261a75165713303756b271520
|
| |
|
|
|
|
|
|
|
| |
Unless we are looking at stack traces (e.g. from strict mode) it's not
possible to identify which type of object is not being closed (most
methods are 'close' or 'release). Change the logged text to clarify.
Change-Id: Ib90eac716f43c2c2caf8d8c6fb64a7bd90562da9
Test: manual
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A batch of related cleanups and fixes:
* Connects cancellation signals between the layers of scroll capture.
* Handles cancellation on dismissal, ensuring clean shutdown of session.
* Ensures any pending operation is cancelled on the client side and the
connection is closed.
* App side of connection handles a crash of SystemUI, ensure close()
* ScrollCaptureController:
Moves onCaptureResult to a background thread; it calls into binder.
* Fixes accuracy and category of some log messages about dismissal
gesture.
Test: atest ScrollCaptureConnectionTest ScrollCaptureControllerTest
Change-Id: I20014a4cb43e28fcb97f6980fb47af8c06deaca2
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Callback was passed as a method reference and stored in
a weak reference. This bug was hidden until ag/15819081 (no longer
block for render thread) was merged. With this change, the callback
now has a higher chance of being collected early and breaking capture.
Bug: 201158402
Fix: 201158402
Test: atest ScrollCaptureConnectionTest
Change-Id: I294a7e3b4e57f60117ea14492182a690f46f02bb
|
| |
|
|
|
|
|
|
|
| |
A reference to the callback was being removed while still
needed. Instead use a local copy for posted callback.
Bug: 12345678
Test: atest ScrollCaptureConnectionTest#testCloseWhileActive
Change-Id: I3a11ac86a8c291972f442ebce962ba8a3a1ddee6
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Splits the connection callback out from the session
callbacks.
Use ListenableFuture at the ScrollCaptureClient layer
to safely chain together futures, provide a better
exception handling/reporting path, and allow for
cancellation of background tasks.
Bug: 180671218
Test: atest ScrollCaptureClientTest ScrollCaptureConnectionTest
Test: atest ScrollCaptureFrameworkSmokeTest
Change-Id: Ibc8536d12a5554f62b3d7e1f4f717d3589ec45e0
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change includes a series of API review changes. The most
significant update is the addition of cancellation signals to
API methods where needed.
Renames some internal classes and interfaces to support the
API changes and to simplify tests and improve quality.
Test: numerous presubmits
Bug: 175830670
CTS-Coverage-Bug: 180419562
Change-Id: I9b1b950a2779fc902ecf4d6394e3c35171926700
|
|
|
Renames to better align with use and existing naming patterns.
Using 'connection' to avoid confusion as to control flow or
roles. (A connection is direct from SystemUI --> App process)
IScrollCaptureClient -> IScrollCaptureConnection
IScrollCaptureController -> IScrollCaptureCallbacks
Test: atest FrameworksCoreTests:ScrollCaptureConnectionTest \
FrameworksCoreTests:ScrollCaptureTargetResolverTest \
ScrollCaptureTest
Change-Id: I9afd33109f6718b61d172ce3e4b3bb5d71a2897e
|