Propagate max_sdk_version to manifest_fixer

If max_sdk_version is included in Android.bp that value will now be
propagated to manifest_fixer.py. This value will then be used to
override any maxSdkVersion attribute set on permission or
uses-permission tags in the android manifest if maxSdkVersion="-1".

Bug: 223902327
Test: add max_sdk_version to Android.bp for test app
Test: create permission in test app manifest with maxSdkVersion="-1"
Test: run test to check maxSdkVersion=max_sdk_version
Change-Id: Ic533ef2a41b9ecc9ee68c69399026df47ee945b7
This commit is contained in:
William Loh
2022-05-17 20:21:50 +00:00
parent 78ce8c23de
commit 5a082f9a33
9 changed files with 136 additions and 0 deletions

View File

@@ -1327,6 +1327,10 @@ type ImportProperties struct {
// specified.
Min_sdk_version *string
// The max sdk version placeholder used to replace maxSdkVersion attributes on permission
// and uses-permission tags in manifest_fixer.
Replace_max_sdk_version_placeholder *string
Installable *bool
// If not empty, classes are restricted to the specified packages and their sub-packages.
@@ -1406,6 +1410,13 @@ func (j *Import) MinSdkVersion(ctx android.EarlyModuleContext) android.SdkSpec {
return j.SdkVersion(ctx)
}
func (j *Import) ReplaceMaxSdkVersionPlaceholder(ctx android.EarlyModuleContext) android.SdkSpec {
if j.properties.Replace_max_sdk_version_placeholder != nil {
return android.SdkSpecFrom(ctx, *j.properties.Replace_max_sdk_version_placeholder)
}
return android.SdkSpecFrom(ctx, "")
}
func (j *Import) TargetSdkVersion(ctx android.EarlyModuleContext) android.SdkSpec {
return j.SdkVersion(ctx)
}