Bug: 111264136

Clone this repo:
  1. 0e851a4 DO NOT MERGE - Merge pie-platform-release (PPRL.181205.001) into master by Xin Li · 3 days ago master
  2. 336cf03 Merge pi-qpr1-release PQ1A.181105.017.A1 to pi-platform-release by Bill Yi · 2 weeks ago pie-platform-release
  3. 167eb1d Merge pie-platform-release to aosp-master - DO NOT MERGE by Bill Yi · 7 weeks ago android-wear-8.0.0_r2
  4. d2d9d32 Merge pi-dr1-dev to aosp-master by Bill Yi · 8 weeks ago
  5. dd01180 Suppress -Wimplicit-fallthrough. am: e557ee8e46 by Chih-Hung Hsieh · 3 months ago pie-temp

Android components for Nugget

Android communicates with Nugget apps in order to implement security related HALs. Currently, those HALs are Keymaster, Weaver and OemLock.


Apps that define a protobuf service will have an app interface class autogenerated. These classes will wrap a NuggetClient. The generator can be found in the generator directory.

Asynchronous communication

Work in progress.

Currently, everything is synchronous and just exposes the call_application() function from the Nugget transport API. In future, asynchronous calls may be desired. Support for this could be added in:

  • Nugget transport API
  • NuggetClient on top of call_application()
  • Generated services


This directory contains the components to support Citadel connected to Android.