From 6e12625c0f630572df7af224deed99e2f8bb88aa Mon Sep 17 00:00:00 2001 From: atrost Date: Mon, 27 Jan 2020 17:01:16 +0000 Subject: Add support for compat config in APEX. apex module accepts PlatformCompatConfigIntf as prebuilt, and places it in the etc folder of the apex. Test: m Test: flash device with dummy config in mediaprovider APEX - the config is present Change-Id: Ifc62cd262f6c6571c1bf6c2943879aa20877ecad --- java/platform_compat_config.go | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) (limited to 'java') diff --git a/java/platform_compat_config.go b/java/platform_compat_config.go index 95c0574da..cb8e6841a 100644 --- a/java/platform_compat_config.go +++ b/java/platform_compat_config.go @@ -21,7 +21,7 @@ import ( func init() { android.RegisterSingletonType("platform_compat_config_singleton", platformCompatConfigSingletonFactory) - android.RegisterModuleType("platform_compat_config", platformCompatConfigFactory) + android.RegisterModuleType("platform_compat_config", PlatformCompatConfigFactory) android.RegisterModuleType("global_compat_config", globalCompatConfigFactory) } @@ -50,11 +50,24 @@ func (p *platformCompatConfig) compatConfigMetadata() android.OutputPath { return p.metadataFile } -type platformCompatConfigIntf interface { +func (p *platformCompatConfig) CompatConfig() android.OutputPath { + return p.configFile +} + +func (p *platformCompatConfig) SubDir() string { + return "compatconfig" +} + +type PlatformCompatConfigIntf interface { + android.Module + compatConfigMetadata() android.OutputPath + CompatConfig() android.OutputPath + // Sub dir under etc dir. + SubDir() string } -var _ platformCompatConfigIntf = (*platformCompatConfig)(nil) +var _ PlatformCompatConfigIntf = (*platformCompatConfig)(nil) // compat singleton rules func (p *platformCompatConfigSingleton) GenerateBuildActions(ctx android.SingletonContext) { @@ -62,7 +75,7 @@ func (p *platformCompatConfigSingleton) GenerateBuildActions(ctx android.Singlet var compatConfigMetadata android.Paths ctx.VisitAllModules(func(module android.Module) { - if c, ok := module.(platformCompatConfigIntf); ok { + if c, ok := module.(PlatformCompatConfigIntf); ok { metadata := c.compatConfigMetadata() compatConfigMetadata = append(compatConfigMetadata, metadata) } @@ -130,7 +143,7 @@ func platformCompatConfigSingletonFactory() android.Singleton { return &platformCompatConfigSingleton{} } -func platformCompatConfigFactory() android.Module { +func PlatformCompatConfigFactory() android.Module { module := &platformCompatConfig{} module.AddProperties(&module.properties) android.InitAndroidArchModule(module, android.DeviceSupported, android.MultilibFirst) -- cgit v1.2.3-59-g8ed1b