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
diff --git a/cc/cc.go b/cc/cc.go
index e0e6a2f..aad1ac9 100644
--- a/cc/cc.go
+++ b/cc/cc.go
@@ -2291,7 +2291,7 @@
 	}
 
 	// 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 @@
 		// 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) {
diff --git a/cc/compiler.go b/cc/compiler.go
index 18a2f62..bb5c7bf 100644
--- a/cc/compiler.go
+++ b/cc/compiler.go
@@ -392,7 +392,7 @@
 	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
 		}
diff --git a/cc/ndk_library.go b/cc/ndk_library.go
index 4c6d98c..5682d1c 100644
--- a/cc/ndk_library.go
+++ b/cc/ndk_library.go
@@ -118,8 +118,8 @@
 			versionStrs = append(versionStrs, version.String())
 		}
 	}
-	versions = append(versions, android.CurrentApiLevel)
-	versionStrs = append(versionStrs, android.CurrentApiLevel.String())
+	versions = append(versions, android.FutureApiLevel)
+	versionStrs = append(versionStrs, android.FutureApiLevel.String())
 
 	modules := ctx.CreateVariations(versionStrs...)
 	for i, module := range modules {