Add a prod var to override package names.

Currently only java/app.go is affected by package name overrides. When
the var is used, the corresponding module's install APK name is changed
to the overriding name.

Bug: 122957760
Test: app_test.go + TreeHugger
Change-Id: Ie522da3d7280970d740d779cf2694560feae6180
This commit is contained in:
Jaewoong Jung
2019-01-23 16:27:47 -08:00
parent ea5c1f453c
commit 9d22a914bf
5 changed files with 101 additions and 7 deletions

View File

@@ -918,6 +918,17 @@ func (c *deviceConfig) OverrideCertificateFor(name string) (certificatePath stri
"invalid override rule %q in PRODUCT_CERTIFICATE_OVERRIDES should be <module_name>:<certificate_module_name>")
}
func (c *deviceConfig) OverridePackageNameFor(name string) string {
newName, overridden := findOverrideValue(
c.config.productVariables.PackageNameOverrides,
name,
"invalid override rule %q in PRODUCT_PACKAGE_NAME_OVERRIDES should be <module_name>:<package_name>")
if overridden {
return newName
}
return name
}
func findOverrideValue(overrides []string, name string, errorMsg string) (newValue string, overridden bool) {
if overrides == nil || len(overrides) == 0 {
return "", false