Allow VNDK extensions under vendor or device

This commit allows VNDK extensions (vndk.enabled:true and vendor:true)
to reside under vendor/* or device/*.  VNDK extensions will be installed
into /vendor/lib[64]/vndk[-sp].  It is reasonable for their source being
under vendor/* or device/*.

Bug: 74506774
Test: lunch aosp_walleye-userdebug && make  # runs unit tests
Change-Id: I406c5bef10f5c549371dd978b8ecc16c65a7af4b
diff --git a/android/neverallow_test.go b/android/neverallow_test.go
index 19eeb22..a278365 100644
--- a/android/neverallow_test.go
+++ b/android/neverallow_test.go
@@ -53,6 +53,28 @@
 		},
 		expectedError: "VNDK can never contain a library that is device dependent",
 	},
+	{
+		name: "vndk-ext under vendor or device directory",
+		fs: map[string][]byte{
+			"device/Blueprints": []byte(`
+				cc_library {
+					name: "libvndk1_ext",
+					vendor: true,
+					vndk: {
+						enabled: true,
+					},
+				}`),
+			"vendor/Blueprints": []byte(`
+				cc_library {
+					name: "libvndk2_ext",
+					vendor: true,
+					vndk: {
+						enabled: true,
+					},
+				}`),
+		},
+		expectedError: "",
+	},
 
 	{
 		name: "no enforce_vintf_manifest.cflags",