Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0b176c80 authored by Dan Albert's avatar Dan Albert
Browse files

Replace FutureApiLevel with an ApiLevel.

Keeping the int constant around for now as FutureApiLevelInt because
it's still useful in places that haven't adopted ApiLevel yet for
testing if their non-ApiLevel API level is current or not.

Test: treehugger
Bug: http://b/154667674
Change-Id: I47a7012703f41fdeb56f91edf9c83afa93042deb
parent c8060536
Loading
Loading
Loading
Loading
+2 −9
Original line number Diff line number Diff line
@@ -51,7 +51,7 @@ type ApiLevel struct {

func (this ApiLevel) FinalOrFutureInt() int {
	if this.IsPreview() {
		return FutureApiLevel
		return FutureApiLevelInt
	} else {
		return this.number
	}
@@ -127,13 +127,6 @@ func uncheckedFinalApiLevel(num int) ApiLevel {
	}
}

// TODO: Merge with FutureApiLevel
var CurrentApiLevel = ApiLevel{
	value:     "current",
	number:    10000,
	isPreview: true,
}

var NoneApiLevel = ApiLevel{
	value: "(no version)",
	// Not 0 because we don't want this to compare equal with the first preview.
@@ -188,7 +181,7 @@ func ApiLevelFromUser(ctx EarlyModuleContext, raw string) (ApiLevel, error) {
	}

	if raw == "current" {
		return CurrentApiLevel, nil
		return FutureApiLevel, nil
	}

	for _, preview := range ctx.Config().PreviewApiLevels() {
+9 −2
Original line number Diff line number Diff line
@@ -37,7 +37,13 @@ var Bool = proptools.Bool
var String = proptools.String
var StringDefault = proptools.StringDefault

const FutureApiLevel = 10000
const FutureApiLevelInt = 10000

var FutureApiLevel = ApiLevel{
	value:     "current",
	number:    FutureApiLevelInt,
	isPreview: true,
}

// The configuration file name
const configFileName = "soong.config"
@@ -672,11 +678,12 @@ func (c *config) AllSupportedApiLevels() []ApiLevel {
	return append(levels, c.PreviewApiLevels()...)
}

// TODO: Merge this and DefaultAppTargetSdk to just return an ApiLevel.
func (c *config) DefaultAppTargetSdkInt() int {
	if Bool(c.productVariables.Platform_sdk_final) {
		return c.PlatformSdkVersionInt()
	} else {
		return FutureApiLevel
		return FutureApiLevelInt
	}
}

+2 −2
Original line number Diff line number Diff line
@@ -1955,7 +1955,7 @@ func (a *apexBundle) WalkPayloadDeps(ctx android.ModuleContext, do android.Paylo
func (a *apexBundle) minSdkVersion(ctx android.BaseModuleContext) android.ApiLevel {
	ver := proptools.String(a.properties.Min_sdk_version)
	if ver == "" {
		return android.CurrentApiLevel
		return android.FutureApiLevel
	}
	apiLevel, err := android.ApiLevelFromUser(ctx, ver)
	if err != nil {
@@ -1964,7 +1964,7 @@ func (a *apexBundle) minSdkVersion(ctx android.BaseModuleContext) android.ApiLev
	}
	if apiLevel.IsPreview() {
		// All codenames should build against "current".
		return android.CurrentApiLevel
		return android.FutureApiLevel
	}
	return apiLevel
}
+2 −2
Original line number Diff line number Diff line
@@ -2291,7 +2291,7 @@ func (c *Module) depsToPaths(ctx android.ModuleContext) PathDeps {
	}

	// For the dependency from platform to apex, use the latest stubs
	c.apexSdkVersion = android.CurrentApiLevel
	c.apexSdkVersion = android.FutureApiLevel
	if !c.IsForPlatform() {
		c.apexSdkVersion = c.ApexProperties.Info.MinSdkVersion(ctx)
	}
@@ -2300,7 +2300,7 @@ func (c *Module) depsToPaths(ctx android.ModuleContext) PathDeps {
		// In hwasan build, we override apexSdkVersion to the FutureApiLevel(10000)
		// so that even Q(29/Android10) apexes could use the dynamic unwinder by linking the newer stubs(e.g libc(R+)).
		// (b/144430859)
		c.apexSdkVersion = android.CurrentApiLevel
		c.apexSdkVersion = android.FutureApiLevel
	}

	ctx.VisitDirectDeps(func(dep android.Module) {
+1 −1
Original line number Diff line number Diff line
@@ -392,7 +392,7 @@ func (compiler *baseCompiler) compilerFlags(ctx ModuleContext, flags Flags, deps
	if ctx.Os().Class == android.Device {
		version := ctx.sdkVersion()
		if version == "" || version == "current" {
			target += strconv.Itoa(android.FutureApiLevel)
			target += strconv.Itoa(android.FutureApiLevelInt)
		} else {
			target += version
		}
Loading