From 5a79c8389373ca1f9f46198b5290795381fb6f9f Mon Sep 17 00:00:00 2001 From: Colin Cross Date: Tue, 7 Nov 2017 13:35:38 -0800 Subject: [PATCH] Add presingletons Plumb blueprint's presingletons through register.go. Test: m checkbuild Change-Id: I5bc0f311740c9220f7afdf2999e6f080f5b0c5ab --- android/register.go | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/android/register.go b/android/register.go index 51089f7ba..81a266d77 100644 --- a/android/register.go +++ b/android/register.go @@ -31,6 +31,7 @@ type singleton struct { } var singletons []singleton +var preSingletons []singleton type mutator struct { name string @@ -60,6 +61,10 @@ func RegisterSingletonType(name string, factory blueprint.SingletonFactory) { singletons = append(singletons, singleton{name, factory}) } +func RegisterPreSingletonType(name string, factory blueprint.SingletonFactory) { + preSingletons = append(preSingletons, singleton{name, factory}) +} + type Context struct { *blueprint.Context } @@ -69,6 +74,10 @@ func NewContext() *Context { } func (ctx *Context) Register() { + for _, t := range preSingletons { + ctx.RegisterPreSingletonType(t.name, t.factory) + } + for _, t := range moduleTypes { ctx.RegisterModuleType(t.name, t.factory) }