Replace ApiStrToNum uses with ApiLevel.
Test: treehugger
Bug: http://b/154667674
Change-Id: I2954bb21c1cfdeb305f25cfb6c8711c930f6ed50
diff --git a/apex/apex.go b/apex/apex.go
index 8e35e07..d2973c2 100644
--- a/apex/apex.go
+++ b/apex/apex.go
@@ -795,7 +795,7 @@
}
apexInfo := android.ApexInfo{
ApexVariationName: mctx.ModuleName(),
- MinSdkVersion: a.minSdkVersion(mctx),
+ MinSdkVersionStr: a.minSdkVersion(mctx).String(),
RequiredSdks: a.RequiredSdks(),
Updatable: a.Updatable(),
InApexes: []string{mctx.ModuleName()},
@@ -1952,27 +1952,21 @@
})
}
-func (a *apexBundle) minSdkVersion(ctx android.BaseModuleContext) int {
+func (a *apexBundle) minSdkVersion(ctx android.BaseModuleContext) android.ApiLevel {
ver := proptools.String(a.properties.Min_sdk_version)
if ver == "" {
- return android.FutureApiLevel
+ return android.CurrentApiLevel
}
- // Treat the current codenames as "current", which means future API version (10000)
- // Otherwise, ApiStrToNum converts codename(non-finalized) to a value from [9000...]
- // and would fail to build against "current".
- if android.InList(ver, ctx.Config().PlatformVersionActiveCodenames()) {
- return android.FutureApiLevel
- }
- // In "REL" branch, "current" is mapped to finalized sdk version
- if ctx.Config().PlatformSdkCodename() == "REL" && ver == "current" {
- return ctx.Config().PlatformSdkVersionInt()
- }
- // Finalized codenames are OKAY and will be converted to int
- intVer, err := android.ApiStrToNum(ctx, ver)
+ apiLevel, err := android.ApiLevelFromUser(ctx, ver)
if err != nil {
ctx.PropertyErrorf("min_sdk_version", "%s", err.Error())
+ return android.NoneApiLevel
}
- return intVer
+ if apiLevel.IsPreview() {
+ // All codenames should build against "current".
+ return android.CurrentApiLevel
+ }
+ return apiLevel
}
func (a *apexBundle) Updatable() bool {
@@ -2046,7 +2040,9 @@
if proptools.Bool(a.properties.Use_vendor) && ctx.DeviceConfig().VndkVersion() == "" {
return
}
- android.CheckMinSdkVersion(a, ctx, a.minSdkVersion(ctx))
+ // apexBundle::minSdkVersion reports its own errors.
+ minSdkVersion := a.minSdkVersion(ctx)
+ android.CheckMinSdkVersion(a, ctx, minSdkVersion)
}
// Ensures that a lib providing stub isn't statically linked