ApiLevel of "" and "core_platform" is FutureApiLevel
If sdk_version is set to "", it means the module is built with the
in-development version of the platform APIs. "core_platform" means the
in-development version of the core Java APIs. In both cases, the API
level (i.e. which version to use) is the in-development version.
Bug: 1663140
Test: m
Change-Id: Ia184190341223e9ac12710a8bb3a25004fd4f539
diff --git a/android/sdk_version.go b/android/sdk_version.go
index 98db824..c6c75a3 100644
--- a/android/sdk_version.go
+++ b/android/sdk_version.go
@@ -147,6 +147,11 @@
// UsePrebuilt determines whether prebuilt SDK should be used for this SdkSpec with the given context.
func (s SdkSpec) UsePrebuilt(ctx EarlyModuleContext) bool {
+ switch s {
+ case SdkSpecNone, SdkSpecCorePlatform, SdkSpecPrivate:
+ return false
+ }
+
if s.ApiLevel.IsCurrent() {
// "current" can be built from source and be from prebuilt SDK
return ctx.Config().AlwaysUsePrebuiltSdks()
@@ -159,7 +164,6 @@
// numbered SDKs are always from prebuilt
return true
}
- // "", "none", "core_platform" fall here
return false
}
@@ -202,11 +206,9 @@
}
var (
- SdkSpecNone = SdkSpec{SdkNone, NoneApiLevel, "(no version)"}
- // TODO(b/175678607) ApiLevel of SdkSpecPrivate should be FutureApiLevel
- SdkSpecPrivate = SdkSpec{SdkPrivate, NoneApiLevel, ""}
- // TODO(b/175678607) ApiLevel of SdkSpecCorePlatform should be FutureApiLevel
- SdkSpecCorePlatform = SdkSpec{SdkCorePlatform, NoneApiLevel, "core_platform"}
+ SdkSpecNone = SdkSpec{SdkNone, NoneApiLevel, "(no version)"}
+ SdkSpecPrivate = SdkSpec{SdkPrivate, FutureApiLevel, ""}
+ SdkSpecCorePlatform = SdkSpec{SdkCorePlatform, FutureApiLevel, "core_platform"}
)
func SdkSpecFrom(ctx EarlyModuleContext, str string) SdkSpec {