Introduce prebuilt_media_audio module type
This module is used to install *.ogg files under `product/media/audio/*`
directory.
Test: m nothing --no-skip-soong-tests
Bug: 375053752
Change-Id: I19e0fc4efbeeff40ae166caf66d34b84f7a8c28d
diff --git a/etc/prebuilt_etc.go b/etc/prebuilt_etc.go
index 59712c0..f17a5de 100644
--- a/etc/prebuilt_etc.go
+++ b/etc/prebuilt_etc.go
@@ -65,6 +65,7 @@
ctx.RegisterModuleType("prebuilt_dsp", PrebuiltDSPFactory)
ctx.RegisterModuleType("prebuilt_rfsa", PrebuiltRFSAFactory)
ctx.RegisterModuleType("prebuilt_renderscript_bitcode", PrebuiltRenderScriptBitcodeFactory)
+ ctx.RegisterModuleType("prebuilt_media_audio", PrebuiltMediaAudioFactory)
ctx.RegisterModuleType("prebuilt_defaults", defaultsFactory)
@@ -788,3 +789,13 @@
android.InitDefaultableModule(module)
return module
}
+
+// prebuilt_media_audio installs audio files in <partition>/media/audio directory.
+func PrebuiltMediaAudioFactory() android.Module {
+ module := &PrebuiltEtc{}
+ InitPrebuiltEtcModule(module, "media/audio")
+ // This module is device-only
+ android.InitAndroidArchModule(module, android.DeviceSupported, android.MultilibCommon)
+ android.InitDefaultableModule(module)
+ return module
+}
diff --git a/etc/prebuilt_etc_test.go b/etc/prebuilt_etc_test.go
index 75c6d12..676a096 100644
--- a/etc/prebuilt_etc_test.go
+++ b/etc/prebuilt_etc_test.go
@@ -588,3 +588,18 @@
})
}
}
+
+func TestPrebuiltMediaAutoDirPath(t *testing.T) {
+ result := prepareForPrebuiltEtcTest.RunTestWithBp(t, `
+ prebuilt_media_audio {
+ name: "foo",
+ src: "Alarm_Beep_01.ogg",
+ product_specific: true,
+ relative_install_path: "alarms"
+ }
+ `)
+
+ p := result.Module("foo", "android_common").(*PrebuiltEtc)
+ expected := "out/soong/target/product/test_device/product/media/audio/alarms"
+ android.AssertPathRelativeToTopEquals(t, "install dir", expected, p.installDirPaths[0])
+}