Merge changes from topic "runtime_apex_available"

* changes:
  apex-libs-absence checks are removed
  Remove bionic libs from APEX_MODULE_LIBS check
  Use apex_available property
diff --git a/core/product.mk b/core/product.mk
index c7aac00..55cbc5e 100644
--- a/core/product.mk
+++ b/core/product.mk
@@ -309,6 +309,10 @@
 # List of extra VNDK versions to be included
 _product_list_vars += PRODUCT_EXTRA_VNDK_VERSIONS
 
+# VNDK version of product partition. It can be 'current' if the product
+# partitions uses PLATFORM_VNDK_VERSION.
+_product_single_value_var += PRODUCT_PRODUCT_VNDK_VERSION
+
 # Whether the whitelist of actionable compatible properties should be disabled or not
 _product_single_value_vars += PRODUCT_ACTIONABLE_COMPATIBLE_PROPERTY_DISABLE
 
diff --git a/core/soong_config.mk b/core/soong_config.mk
index 85e7bbc..7813e30 100644
--- a/core/soong_config.mk
+++ b/core/soong_config.mk
@@ -124,6 +124,7 @@
 $(call add_json_bool, DevicePrefer32BitExecutables,      $(filter true,$(TARGET_PREFER_32_BIT_EXECUTABLES)))
 $(call add_json_str,  DeviceVndkVersion,                 $(BOARD_VNDK_VERSION))
 $(call add_json_str,  Platform_vndk_version,             $(PLATFORM_VNDK_VERSION))
+$(call add_json_str,  ProductVndkVersion,                $(PRODUCT_PRODUCT_VNDK_VERSION))
 $(call add_json_list, ExtraVndkVersions,                 $(PRODUCT_EXTRA_VNDK_VERSIONS))
 $(call add_json_bool, BoardVndkRuntimeDisable,           $(BOARD_VNDK_RUNTIME_DISABLE))
 $(call add_json_list, DeviceSystemSdkVersions,           $(BOARD_SYSTEMSDK_VERSIONS))
diff --git a/target/product/base_system.mk b/target/product/base_system.mk
index 5916bfe..352a0b5 100644
--- a/target/product/base_system.mk
+++ b/target/product/base_system.mk
@@ -60,6 +60,7 @@
     com.android.neuralnetworks \
     com.android.sdkext \
     com.android.telephony \
+    com.android.tethering \
     com.android.tzdata \
     ContactsProvider \
     content \
@@ -101,7 +102,6 @@
     incident_helper \
     init.environ.rc \
     init_system \
-    InProcessTethering \
     input \
     installd \
     iorapd \
@@ -328,7 +328,8 @@
     ims-common \
     framework-sdkext \
     ike \
-    updatable-media
+    updatable-media \
+    framework-tethering
 
 PRODUCT_UPDATABLE_BOOT_JARS := \
     com.android.conscrypt:conscrypt \
@@ -336,7 +337,8 @@
     com.android.media:updatable-media \
     com.android.sdkext:framework-sdkext \
     com.android.telephony:telephony-common \
-    com.android.telephony:ims-common
+    com.android.telephony:ims-common \
+    com.android.tethering:framework-tethering
 
 PRODUCT_COPY_FILES += \
     system/core/rootdir/init.usb.rc:system/etc/init/hw/init.usb.rc \
diff --git a/target/product/go_defaults_common.mk b/target/product/go_defaults_common.mk
index d4655f1..f931f4a 100644
--- a/target/product/go_defaults_common.mk
+++ b/target/product/go_defaults_common.mk
@@ -40,6 +40,7 @@
 # Do not spin up a separate process for the network stack on go devices, use an in-process APK.
 PRODUCT_PACKAGES += InProcessNetworkStack
 PRODUCT_PACKAGES += CellBroadcastAppPlatform
+PRODUCT_PACKAGES += InProcessTethering
 
 # Strip the local variable table and the local variable type table to reduce
 # the size of the system image. This has no bearing on stack traces, but will