Copy MotionEvent before putting it into the queue

A MotionEvent obj can be recycled, and in that case, the native data
parts can be rewritten by a new event before the stored object is
handled in the background thread. If the new event is 'up' event, the
data in previous MotionEvent for the last pointer in 'move' event
becomes invalid.

Bug: 353928688
Test: finger up and down repeatly
Change-Id: Iaef74ab2265bb2697443ad6c97eeff2e4ee95f05
1 file changed
tree: 16d49213c61f0234d39f93088f3a1ed32a1772e3
  1. apex/
  2. apkdmverity/
  3. authfs/
  4. compos/
  5. demo/
  6. demo_native/
  7. docs/
  8. encryptedstore/
  9. ferrochrome_app/
  10. flags/
  11. java/
  12. launcher/
  13. libs/
  14. microdroid/
  15. microdroid_manager/
  16. pvmfw/
  17. rialto/
  18. service_vm/
  19. tests/
  20. virtualizationmanager/
  21. virtualizationservice/
  22. vm/
  23. vm_payload/
  24. vmbase/
  25. vmclient/
  26. vmlauncher_app/
  27. zipfuse/
  28. .clang-format
  29. .gitignore
  30. Android.bp
  31. avf_flags.aconfig
  32. dice_for_avf_guest.cddl
  33. OWNERS
  34. PREUPLOAD.cfg
  35. README.md
  36. rustfmt.toml
  37. TEST_MAPPING
README.md

Android Virtualization Framework (AVF)

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: