Overriding placeholder version in updatable apks

Test: presubmit, checked the app version after build locally
Bug: 231691162
Change-Id: Icd242432540ea424235b226a45aac839dbc995be
diff --git a/java/android_manifest.go b/java/android_manifest.go
index c61823d..83cb171 100644
--- a/java/android_manifest.go
+++ b/java/android_manifest.go
@@ -56,15 +56,16 @@
 }
 
 type ManifestFixerParams struct {
-	SdkContext            android.SdkContext
-	ClassLoaderContexts   dexpreopt.ClassLoaderContextMap
-	IsLibrary             bool
-	UseEmbeddedNativeLibs bool
-	UsesNonSdkApis        bool
-	UseEmbeddedDex        bool
-	HasNoCode             bool
-	TestOnly              bool
-	LoggingParent         string
+	SdkContext             android.SdkContext
+	ClassLoaderContexts    dexpreopt.ClassLoaderContextMap
+	IsLibrary              bool
+	DefaultManifestVersion string
+	UseEmbeddedNativeLibs  bool
+	UsesNonSdkApis         bool
+	UseEmbeddedDex         bool
+	HasNoCode              bool
+	TestOnly               bool
+	LoggingParent          string
 }
 
 // Uses manifest_fixer.py to inject minSdkVersion, etc. into an AndroidManifest.xml
@@ -153,6 +154,9 @@
 		args = append(args, "--replaceMaxSdkVersionPlaceholder ", strconv.Itoa(replaceMaxSdkVersionPlaceholder.FinalOrFutureInt()))
 		args = append(args, "--raise-min-sdk-version")
 	}
+	if params.DefaultManifestVersion != "" {
+		args = append(args, "--override-placeholder-version", params.DefaultManifestVersion)
+	}
 
 	fixedManifest := android.PathForModuleOut(ctx, "manifest_fixer", "AndroidManifest.xml")
 	argsMapper["args"] = strings.Join(args, " ")