Add framework-connectivity-b to the boot classpath

This is a preparation CL for moving VCN from platform to Tethering
module. As the first step, VCN will be built into it's own
java_sdk_library on the platform and be loaded into the boot
classpath. Followup CLs will move VCN to a mainline module and
thus add framework-connectivity-b to PRODUCT_APEX_BOOT_JARS with a flag.

This CL also improves the dup check of PRODUCT_APEX_BOOT_JARS and
PRODUCT_BOOT_JARS. Previously, it checkes whether the apex jar name
is a substring of PRODUCT_BOOT_JARS. It will trigger false alert
when there is a "framework-connectivity" in PRODUCT_APEX_BOOT_JARS
and a "framework-connectivity-b" in PRODUCT_BOOT_JARS

Bug: 369703242
Test: build and boot
Flag: EXEMPT create new empty libraries; no functional change
Change-Id: I9e5d77c8f5b7b014bde84fd9cc1997852196af37
diff --git a/core/product_config.mk b/core/product_config.mk
index 738d4cf..b60335b 100644
--- a/core/product_config.mk
+++ b/core/product_config.mk
@@ -424,10 +424,12 @@
   endif
 endif
 
-$(foreach pair,$(PRODUCT_APEX_BOOT_JARS), \
-  $(eval jar := $(call word-colon,2,$(pair))) \
-  $(if $(findstring $(jar), $(PRODUCT_BOOT_JARS)), \
-    $(error A jar in PRODUCT_APEX_BOOT_JARS must not be in PRODUCT_BOOT_JARS, but $(jar) is)))
+$(foreach apexpair,$(PRODUCT_APEX_BOOT_JARS), \
+  $(foreach platformpair,$(PRODUCT_BOOT_JARS), \
+    $(eval apexjar := $(call word-colon,2,$(apexpair))) \
+    $(eval platformjar := $(call word-colon,2,$(platformpair))) \
+    $(if $(filter $(apexjar), $(platformjar)), \
+      $(error A jar in PRODUCT_APEX_BOOT_JARS must not be in PRODUCT_BOOT_JARS, but $(apexjar) is))))
 
 ENFORCE_SYSTEM_CERTIFICATE := $(PRODUCT_ENFORCE_ARTIFACT_SYSTEM_CERTIFICATE_REQUIREMENT)
 ENFORCE_SYSTEM_CERTIFICATE_ALLOW_LIST := $(PRODUCT_ARTIFACT_SYSTEM_CERTIFICATE_REQUIREMENT_ALLOW_LIST)
diff --git a/target/product/base_system.mk b/target/product/base_system.mk
index 74ed82d..b85030c 100644
--- a/target/product/base_system.mk
+++ b/target/product/base_system.mk
@@ -96,6 +96,7 @@
     enhanced-confirmation.xml \
     ExtShared \
     flags_health_check \
+    framework-connectivity-b \
     framework-graphics \
     framework-location \
     framework-minus-apex \
diff --git a/target/product/default_art_config.mk b/target/product/default_art_config.mk
index 668f054..83d9215 100644
--- a/target/product/default_art_config.mk
+++ b/target/product/default_art_config.mk
@@ -51,6 +51,7 @@
     framework-minus-apex \
     framework-graphics \
     framework-location \
+    framework-connectivity-b \
     ext \
     telephony-common \
     voip-common \
diff --git a/target/product/generic/Android.bp b/target/product/generic/Android.bp
index 93f7c36..1c8bdc7 100644
--- a/target/product/generic/Android.bp
+++ b/target/product/generic/Android.bp
@@ -695,6 +695,7 @@
                 "framework-graphics", // base_system
                 "framework-location", // base_system
                 "framework-minus-apex-install-dependencies", // base_system
+                "framework-connectivity-b", // base_system
                 "framework_compatibility_matrix.device.xml",
                 "generic_system_fonts", // ok
                 "hwservicemanager_compat_symlink_module", // base_system