vendor/lineage: Add support for java source overlays

*) Set JAVA_SOURCE_OVERLAYS in a device makefile as follows:
   # Java sourcefile overlays (for Android.bp built modules only)
   # Format is a whitespace separated set of rules, each of which
   # structured as follows:
   # modulename|overlay directory|glob pattern within overlay dir
   JAVA_SOURCE_OVERLAYS := \
           org.lineageos.hardware|$(LOCAL_PATH)/lineagehw|**/*.java

*) As of this commit, java sources overlays are only allowed for
   module org.lineageos.hardware.

Change-Id: I6be1c12567081357f5231a84df98ac002c0563b4
diff --git a/build/soong/android/config.go b/build/soong/android/config.go
new file mode 100644
index 0000000..e926c9d
--- /dev/null
+++ b/build/soong/android/config.go
@@ -0,0 +1,13 @@
+package android
+
+// Global config used by Lineage soong additions
+var LineageConfig = struct {
+	// List of packages that are permitted
+	// for java source overlays.
+	JavaSourceOverlayModuleWhitelist []string
+}{
+	// JavaSourceOverlayModuleWhitelist
+	[]string{
+		"org.lineageos.hardware",
+	},
+}
diff --git a/build/soong/android/variable.go b/build/soong/android/variable.go
index 5e992ca..27f1e2e 100644
--- a/build/soong/android/variable.go
+++ b/build/soong/android/variable.go
@@ -30,6 +30,7 @@
 type ProductVariables struct {
 	Additional_gralloc_10_usage_bits  *string `json:",omitempty"`
 	Has_legacy_camera_hal1  *bool `json:",omitempty"`
+	Java_Source_Overlays *string `json:",omitempty"`
 	Needs_text_relocations  *bool `json:",omitempty"`
 	Specific_camera_parameter_library  *string `json:",omitempty"`
 	Target_shim_libs  *string `json:",omitempty"`