Add FerrochromeApp as a share target

Allow sharing text data to FerrochromeApp, if text looks like an URL
(supports http / https / mailto link for now), open the link in VM.

Add a new OpenUrlActivity in FerrochromeApp to handle this feature.
OpenUrlActivity is launched with the 'singleTask' launch mode and this
ensures it is instantiated in the same taskAffinity task as the
FerrochromeActivity. It then bounces the share Intent to the already
launched VM activity.

Change launch mode of VmLauncherApp to 'singleTop' so that we can send
Intent to the already launched VM activity. If we don't use 'singleTop'
launch mode then we would instead create multiple instance of the VM
activity. When the VM activity receives a intent via onNewIntent(), it
sends the Intent payload to the VM data sharing service.

KI: VM need to be logged in first for link sharing to work.

Bug: 348303697
Test: 1. Launch FerrochromeApp and login
  2. Switch to another app to select a link
  3. Share the link to FerrochromeApp
Change-Id: I39742d4e897caaa37595f50697540196d0393946
5 files changed
tree: b2007f37434d742f0cbd0521cb80d044f0f85766
  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: