Revert "Pass --non-updatable-system flag to aapt2 when versionCode is unspecified"

This reverts commit ce320f86a084cb29d5f4e24aee221e9e4dd4fb47.

Reason for revert: <Dorid monitor: Likely culprit for b/347143262  - verifying through ABTD before revert submission. This is part of the standard investigation process, and does not mean your CL will be reverted.>

Change-Id: I70eabe014acc6feb123f28ac487f7d7d39e9fb6b
diff --git a/java/aar.go b/java/aar.go
index 1d05e48..07392f6 100644
--- a/java/aar.go
+++ b/java/aar.go
@@ -107,10 +107,6 @@
 
 	// Names of aconfig_declarations modules that specify aconfig flags that the module depends on.
 	Flags_packages []string
-
-	// If set, `--non-updatable-system` flag is not passed to aapt2 even when
-	// `--version-code` is not specified in the `aaptFlags` property list or in the manifest.
-	DisableNonUpdatableSystem bool `blueprint:"mutated"`
 }
 
 type aapt struct {
@@ -312,9 +308,9 @@
 	// This behavior has been copied from Make.
 	linkFlags = append(linkFlags, "--target-sdk-version "+minSdkVersion)
 
-	// Mark non updatable when the module does not specify a version code
-	if !a.aaptProperties.DisableNonUpdatableSystem && !hasVersionCode {
-		linkFlags = append(linkFlags, "--non-updatable-system")
+	// Version code
+	if !hasVersionCode {
+		linkFlags = append(linkFlags, "--version-code", ctx.Config().PlatformSdkVersion().String())
 	}
 
 	if !hasVersionName {
diff --git a/java/app.go b/java/app.go
index cd30dc1..a24099c 100644
--- a/java/app.go
+++ b/java/app.go
@@ -1452,7 +1452,6 @@
 	module.appProperties.AlwaysPackageNativeLibs = true
 	module.Module.dexpreopter.isTest = true
 	module.Module.linter.properties.Lint.Test = proptools.BoolPtr(true)
-	module.aaptProperties.DisableNonUpdatableSystem = true
 
 	module.addHostAndDeviceProperties()
 	module.AddProperties(
@@ -1509,7 +1508,6 @@
 	module.appProperties.AlwaysPackageNativeLibs = true
 	module.Module.dexpreopter.isTest = true
 	module.Module.linter.properties.Lint.Test = proptools.BoolPtr(true)
-	module.aaptProperties.DisableNonUpdatableSystem = true
 
 	module.addHostAndDeviceProperties()
 	module.AddProperties(
diff --git a/java/app_test.go b/java/app_test.go
index 988a5b1..8049494 100644
--- a/java/app_test.go
+++ b/java/app_test.go
@@ -4477,54 +4477,5 @@
 		fooOverride.BuildParams.Args["args"],
 		"--minSdkVersion  33",
 	)
-}
 
-func TestNonUpdatableSystem(t *testing.T) {
-	ctx := testApp(t, `
-		android_app {
-			name: "foo",
-			srcs: ["a.java"],
-			sdk_version: "current",
-			aaptflags: [
-				"--version-code 1",
-			],
-		}
-		android_app {
-			name: "bar",
-			srcs: ["a.java"],
-			sdk_version: "current",
-		}
-		android_test {
-			name: "baz",
-			srcs: ["a.java"],
-			sdk_version: "current",
-		}
-		android_test_helper_app {
-			name: "baz_helper",
-			srcs: ["a.java"],
-			sdk_version: "current",
-		}
-	`)
-
-	hasNonUpdatableSystemFlag := func(module android.TestingModule) bool {
-		moduleAapt2LinkRule := module.Rule("android/soong/java.aapt2Link")
-		linkFlags := moduleAapt2LinkRule.Args["flags"]
-		return strings.Contains(linkFlags, "--non-updatable-system")
-	}
-
-	foo := ctx.ModuleForTests("foo", "android_common")
-	android.AssertBoolEquals(t, "app should not pass `--non-updatable-flags` when --version-code is specified",
-		false, hasNonUpdatableSystemFlag(foo))
-
-	bar := ctx.ModuleForTests("bar", "android_common")
-	android.AssertBoolEquals(t, "app should pass `--non-updatable-flags` when --version-code is not specified",
-		true, hasNonUpdatableSystemFlag(bar))
-
-	baz := ctx.ModuleForTests("baz", "android_common")
-	android.AssertBoolEquals(t, "test should not pass `--non-updatable-flags` even if --version-code is not specified",
-		false, hasNonUpdatableSystemFlag(baz))
-
-	baz_helper := ctx.ModuleForTests("baz_helper", "android_common")
-	android.AssertBoolEquals(t, "test should not pass `--non-updatable-flags` even if --version-code is not specified",
-		false, hasNonUpdatableSystemFlag(baz_helper))
 }