Merge "Refactor special handling of hidden API encoding for master-art" am: fdd9743609 am: 1b5e8cdbee

Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1707569

Change-Id: I49f3ee3a7bb0eb9f26440a278c5f1ec56a6037bf
diff --git a/java/app.go b/java/app.go
index fc1ace0..81fa5f3 100755
--- a/java/app.go
+++ b/java/app.go
@@ -925,8 +925,6 @@
 		&module.appProperties,
 		&module.overridableAppProperties)
 
-	module.usesLibrary.enforce = true
-
 	android.InitAndroidMultiTargetsArchModule(module, android.DeviceSupported, android.MultilibCommon)
 	android.InitDefaultableModule(module)
 	android.InitOverridableModule(module, &module.appProperties.Overrides)
@@ -1197,9 +1195,6 @@
 // with knowledge of their shared libraries.
 type usesLibrary struct {
 	usesLibraryProperties UsesLibraryProperties
-
-	// Whether to enforce verify_uses_library check.
-	enforce bool
 }
 
 func (u *usesLibrary) addLib(lib string, optional bool) {
@@ -1284,7 +1279,7 @@
 func (u *usesLibrary) enforceUsesLibraries() bool {
 	defaultEnforceUsesLibs := len(u.usesLibraryProperties.Uses_libs) > 0 ||
 		len(u.usesLibraryProperties.Optional_uses_libs) > 0
-	return BoolDefault(u.usesLibraryProperties.Enforce_uses_libs, u.enforce || defaultEnforceUsesLibs)
+	return BoolDefault(u.usesLibraryProperties.Enforce_uses_libs, defaultEnforceUsesLibs)
 }
 
 // Freeze the value of `enforce_uses_libs` based on the current values of `uses_libs` and `optional_uses_libs`.
diff --git a/java/app_import.go b/java/app_import.go
index 839051e..fbd83cc 100644
--- a/java/app_import.go
+++ b/java/app_import.go
@@ -462,8 +462,6 @@
 	android.InitDefaultableModule(module)
 	android.InitSingleSourcePrebuiltModule(module, &module.properties, "Apk")
 
-	module.usesLibrary.enforce = true
-
 	return module
 }
 
diff --git a/java/app_import_test.go b/java/app_import_test.go
index 147ae45..787fddb 100644
--- a/java/app_import_test.go
+++ b/java/app_import_test.go
@@ -222,31 +222,31 @@
 			name:                "no preferred",
 			aaptPreferredConfig: nil,
 			aaptPrebuiltDPI:     []string{},
-			expected:            "verify_uses_libraries/apk/app.apk",
+			expected:            "prebuilts/apk/app.apk",
 		},
 		{
 			name:                "AAPTPreferredConfig matches",
 			aaptPreferredConfig: proptools.StringPtr("xhdpi"),
 			aaptPrebuiltDPI:     []string{"xxhdpi", "ldpi"},
-			expected:            "verify_uses_libraries/apk/app_xhdpi.apk",
+			expected:            "prebuilts/apk/app_xhdpi.apk",
 		},
 		{
 			name:                "AAPTPrebuiltDPI matches",
 			aaptPreferredConfig: proptools.StringPtr("mdpi"),
 			aaptPrebuiltDPI:     []string{"xxhdpi", "xhdpi"},
-			expected:            "verify_uses_libraries/apk/app_xxhdpi.apk",
+			expected:            "prebuilts/apk/app_xxhdpi.apk",
 		},
 		{
 			name:                "non-first AAPTPrebuiltDPI matches",
 			aaptPreferredConfig: proptools.StringPtr("mdpi"),
 			aaptPrebuiltDPI:     []string{"ldpi", "xhdpi"},
-			expected:            "verify_uses_libraries/apk/app_xhdpi.apk",
+			expected:            "prebuilts/apk/app_xhdpi.apk",
 		},
 		{
 			name:                "no matches",
 			aaptPreferredConfig: proptools.StringPtr("mdpi"),
 			aaptPrebuiltDPI:     []string{"ldpi", "xxxhdpi"},
-			expected:            "verify_uses_libraries/apk/app.apk",
+			expected:            "prebuilts/apk/app.apk",
 		},
 	}
 
@@ -266,7 +266,7 @@
 		if len(matches) != 2 {
 			t.Errorf("failed to extract the src apk path from %q", jniRuleCommand)
 		}
-		if strings.HasSuffix(matches[1], test.expected) {
+		if test.expected != matches[1] {
 			t.Errorf("wrong src apk, expected: %q got: %q", test.expected, matches[1])
 		}
 	}
@@ -342,7 +342,7 @@
 					},
 				}
 			`,
-			expected: "verify_uses_libraries/apk/app_arm64.apk",
+			expected: "prebuilts/apk/app_arm64.apk",
 		},
 		{
 			name: "no matching arch",
@@ -361,7 +361,7 @@
 					},
 				}
 			`,
-			expected: "verify_uses_libraries/apk/app.apk",
+			expected: "prebuilts/apk/app.apk",
 		},
 		{
 			name: "no matching arch without default",
@@ -399,7 +399,7 @@
 		if len(matches) != 2 {
 			t.Errorf("failed to extract the src apk path from %q", jniRuleCommand)
 		}
-		if strings.HasSuffix(matches[1], test.expected) {
+		if test.expected != matches[1] {
 			t.Errorf("wrong src apk, expected: %q got: %q", test.expected, matches[1])
 		}
 	}
diff --git a/java/legacy_core_platform_api_usage.go b/java/legacy_core_platform_api_usage.go
index 5949edd..8c401a7 100644
--- a/java/legacy_core_platform_api_usage.go
+++ b/java/legacy_core_platform_api_usage.go
@@ -20,6 +20,7 @@
 )
 
 var legacyCorePlatformApiModules = []string{
+	"ArcSettings",
 	"ahat-test-dump",
 	"android.car",
 	"android.test.mock",
@@ -42,6 +43,7 @@
 	"car-service-test-lib",
 	"car-service-test-static-lib",
 	"CertInstaller",
+	"com.qti.media.secureprocessor",
 	"ConnectivityManagerTest",
 	"ContactsProvider",
 	"CorePerfTests",
@@ -120,6 +122,7 @@
 	"services.usage",
 	"services.usb",
 	"Settings-core",
+	"SettingsGoogle",
 	"SettingsLib",
 	"SettingsProvider",
 	"SettingsProviderTest",