VmLauncherApp: Handle OPEN_URL actions in a handler thread

* When FerrochromeApp is started, enqueue any OPEN_URL Intent to the
  thread.
* In the thread, wait and retry until VmAgent connects (indicates VM
  boot ready).
* As soon as VmAgent connects, send the OPEN_URL request to VM.
* After the user is switched to the VM activity and unlock the VM
  screen, the URL should be open in the VM browser.

Note: Only works consistently if using a non-guest account. If using a
guest account, or switching account, the VM side OPEN_URL request
handling might fail. This still needs investigating.

Bug: 348303697
Test: 0. Ferrochrome OS must already have an user account set up
  1. Close the FerrochromeApp
  2. Open browser and share a hyperlink to FerrochromeApp
  3. FerrochromeApp should launch
  4. Unlock Ferrochrome (enter the password / pin of the existing
     account)
  5. The shared link should be opened by the Ferrochrome browser
Change-Id: I99f9afe7c1485cdfe2703a3e4618fb3bb308a122
5 files changed
tree: 7a8399dc521db3df92a4e6c4cc0b68f153433fb1
  1. android/
  2. build/
  3. docs/
  4. guest/
  5. libs/
  6. tests/
  7. .clang-format
  8. .gitignore
  9. Android.bp
  10. dice_for_avf_guest.cddl
  11. OWNERS
  12. PREUPLOAD.cfg
  13. README.md
  14. rustfmt.toml
  15. 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: