| commit | e194270ba5142264fa5b81c7be55f672f557e248 | [log] [tgz] |
|---|---|---|
| author | Jason Macnak <natsu@google.com> | Tue May 21 16:03:49 2024 +0000 |
| committer | Jason Macnak <natsu@google.com> | Fri Jun 14 16:19:37 2024 -0700 |
| tree | 00711c93e60e872ca622b45ca3256c48af98d23a | |
| parent | 6b0a2a79d6e1921180ec514781a99bb76f7cd120 [diff] |
Use a wrapper around ANW to allow updating Surface
GpuDisplaySurface are roughly created once per "display in the
guest". Prior to this change, the Surface from the viewer app would
be saved in the AndroidSurface once at initial startup. However,
when the viewer app is moved to the background, the underlying
Surface is destroyed. After this point, the Surface saved in
AndroidSurface is no longer valid. This change updates
AndroidSurface to save a pointer to a ANativeWindowWrapper struct,
which contains the latest Surface, if any, and which can be updated
by DisplayService.
Note: this does not fix the app resuming issue.
Bug: b/334903567
Test: launch ferrochrome,
move to viewer to background,
move viewer back to foreground
Change-Id: I647de0a7735280a757e392e878fce86f559d5a74
Android Virtualization Framework (AVF) provides secure and private execution environments for executing code. AVF is ideal for security-oriented use cases that require stronger isolation assurances over those offered by Android’s app sandbox.
Visit our public doc site to learn more about what AVF is, what it is for, and how it is structured. This repository contains source code for userspace components of AVF.
If you want a quick start, see the getting started guideline and follow the steps there.
For in-depth explanations about individual topics and components, visit the following links.
AVF components:
AVF APIs:
How-Tos: