Define BOARD_API_LEVEL_PROP_OVERRIDE for GRF prop

When BOARD_API_LEVEL_PROP_OVERRIDE is set, ro.board.api_level is set
to this value. The original BOARD_API_LEVEL is still used for the
vendor API surface.

Bug: 374333106
Test: set BOARD_API_LEVEL_PROP_OVERRIDE and see ro.board.api_level
Change-Id: I842e93c4c9c6aeaf3acb9a7b670adce0d9e96ba7
diff --git a/core/sysprop_config.mk b/core/sysprop_config.mk
index 6906611..1991503 100644
--- a/core/sysprop_config.mk
+++ b/core/sysprop_config.mk
@@ -91,8 +91,12 @@
 # Build system set BOARD_API_LEVEL to show the api level of the vendor API surface.
 # This must not be altered outside of build system.
 ifdef BOARD_API_LEVEL
-ADDITIONAL_VENDOR_PROPERTIES += \
-    ro.board.api_level=$(BOARD_API_LEVEL)
+  ADDITIONAL_VENDOR_PROPERTIES += \
+    ro.board.api_level?=$(BOARD_API_LEVEL)
+  ifdef BOARD_API_LEVEL_PROP_OVERRIDE
+    ADDITIONAL_VENDOR_PROPERTIES += \
+      ro.board.api_level=$(BOARD_API_LEVEL_PROP_OVERRIDE)
+  endif
 endif
 # RELEASE_BOARD_API_LEVEL_FROZEN is true when the vendor API surface is frozen.
 ifdef RELEASE_BOARD_API_LEVEL_FROZEN