Add confirmationui app to userspace library build system

Switch to building confirmationui and its examples with the
trusted_app.mk system instead of as a generic lk module. This allows the
app to depend on common userspace static libraries.

Test: build.py qemu-generic-arm64-test-debug
Bug: 169448829
Change-Id: Iae81e9bbc0dbe0025c65d2deab28ec3336f5751e
3 files changed
tree: 7323cc69a70bf4e9fac3a9378308fffbd5ea72a2
  1. examples/
  2. src/
  3. .clang-format
  4. LICENSE
  5. manifest.json
  6. MODULE_LICENSE_APACHE2
  7. PREUPLOAD.cfg
  8. README.md
  9. rules.mk
README.md

ConfirmationUI Trusted App

This is an implementation of the ConfirmationUI trusted application for Trusty. It is meant as a reference implementation for OEMs who want to implement ConfirmationUI or “Android Protected Confirmation” and use Trusty as TEE OS.

Dependencies

  • Android platform/system/teeui
  • libcxx
  • freetype

Additional integration work

You will need a touch controller driver or another trusted input method for the targeted platform.

Included in this package is a sample layout as used by Pixel3(+) phones. For phones that use button on the right side of the phone this layout can be adjusted by configuring the context parameters. E.g.: (see TrustyConfirmationUI.cpp) conv.setParam(1440_px); conv.setParam(2960_px); conv.setParam(34.146_mm); conv.setParam(44.146_mm); conv.setParam(54.146_mm); conv.setParam(64.146_mm);

Layouts

A default example layout is provided in examples/layouts/. To override the layout with a vendor specific one, define CONFIRMATIONUI_LAYOUTS to point to the layouts library you want to link against.