Merge changes Ib7f69f7e,I3c71d17e into udc-dev am: bf2382d922 am: e37983ed70

Original change: https://googleplex-android-review.googlesource.com/c/device/google/cuttlefish/+/24995309

Change-Id: Idbe3376578ce3890efab2454ed4663e10d5bf676
Signed-off-by: Automerger Merge Worker <[email protected]>
diff --git a/shared/auto/device_vendor.mk b/shared/auto/device_vendor.mk
index d32b5eb..c75e86c 100644
--- a/shared/auto/device_vendor.mk
+++ b/shared/auto/device_vendor.mk
@@ -17,8 +17,7 @@
 PRODUCT_MANIFEST_FILES += device/google/cuttlefish/shared/config/product_manifest.xml
 SYSTEM_EXT_MANIFEST_FILES += device/google/cuttlefish/shared/config/system_ext_manifest.xml
 
-$(call inherit-product, $(SRC_TARGET_DIR)/product/handheld_vendor.mk)
-$(call inherit-product, packages/services/Car/car_product/build/car.mk)
+$(call inherit-product, packages/services/Car/car_product/build/car_vendor.mk)
 
 $(call inherit-product, frameworks/native/build/phone-xhdpi-2048-dalvik-heap.mk)
 $(call inherit-product, device/google/cuttlefish/shared/graphics/device_vendor.mk)
@@ -44,7 +43,7 @@
 endif
 
 PRODUCT_COPY_FILES += \
-    frameworks/native/data/etc/car_core_hardware.xml:system/etc/permissions/car_core_hardware.xml \
+    frameworks/native/data/etc/car_core_hardware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/car_core_hardware.xml \
     frameworks/native/data/etc/android.hardware.bluetooth.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.bluetooth.xml \
     frameworks/native/data/etc/android.hardware.broadcastradio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.broadcastradio.xml \
     frameworks/native/data/etc/android.hardware.faketouch.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.faketouch.xml \
@@ -92,9 +91,6 @@
 
 # CAN bus HAL
 PRODUCT_PACKAGES += android.hardware.automotive.can-service
-PRODUCT_PACKAGES_DEBUG += canhalctrl \
-    canhaldump \
-    canhalsend
 
 # Occupant Awareness HAL
 PRODUCT_PACKAGES += [email protected]
@@ -116,20 +112,16 @@
 
 ifeq ($(ENABLE_MOCK_EVSHAL), true)
 CUSTOMIZE_EVS_SERVICE_PARAMETER := true
-PRODUCT_PACKAGES += \
-    android.hardware.automotive.evs-aidl-default-service \
-    cardisplayproxyd
-
+USE_AIDL_DISPLAY_SERVICE := true
+PRODUCT_PACKAGES += android.hardware.automotive.evs-aidl-default-service
 PRODUCT_COPY_FILES += \
     device/google/cuttlefish/shared/auto/evs/init.evs.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.evs.rc
 BOARD_SEPOLICY_DIRS += device/google/cuttlefish/shared/auto/sepolicy/evs
 endif
 
 ifeq ($(ENABLE_SAMPLE_EVS_APP), true)
-PRODUCT_PACKAGES += evs_app
 PRODUCT_COPY_FILES += \
     device/google/cuttlefish/shared/auto/evs/evs_app_config.json:$(TARGET_COPY_OUT_VENDOR)/etc/automotive/evs/config_override.json
-include packages/services/Car/cpp/evs/apps/sepolicy/evsapp.mk
 endif
 
 BOARD_IS_AUTOMOTIVE := true
diff --git a/shared/auto/preinstalled-packages-product-car-cuttlefish.xml b/shared/auto/preinstalled-packages-product-car-cuttlefish.xml
index 90ba3b6..0d0cc06 100644
--- a/shared/auto/preinstalled-packages-product-car-cuttlefish.xml
+++ b/shared/auto/preinstalled-packages-product-car-cuttlefish.xml
@@ -108,9 +108,6 @@
   Apps that do need to run on SYSTEM and evaluated by package owner.
   Here the apps will have FULL only.
 -->
-    <install-in-user-type package="com.android.car.datacenter">
-        <install-in user-type="FULL" />
-    </install-in-user-type>
     <install-in-user-type package="com.android.car.goldilocks">
         <install-in user-type="FULL" />
     </install-in-user-type>
diff --git a/shared/auto_md/overlay/frameworks/base/core/res/res/values/config.xml b/shared/auto_md/overlay/frameworks/base/core/res/res/values/config.xml
index 2ffb57a..2ed6f0d 100644
--- a/shared/auto_md/overlay/frameworks/base/core/res/res/values/config.xml
+++ b/shared/auto_md/overlay/frameworks/base/core/res/res/values/config.xml
@@ -58,6 +58,7 @@
 
     <!-- Whether the device allows users to start in background visible on displays.
          Should be false for most devices, except automotive vehicle with passenger displays. -->
+    <!-- The config is enabled for the development purpose only. -->
     <bool name="config_multiuserVisibleBackgroundUsers">true</bool>
 
     <!-- Enable multi-user IME sessions -->
diff --git a/shared/auto_mdnd/overlay/frameworks/base/core/res/res/values/config.xml b/shared/auto_mdnd/overlay/frameworks/base/core/res/res/values/config.xml
index b23af7a..9c02715 100644
--- a/shared/auto_mdnd/overlay/frameworks/base/core/res/res/values/config.xml
+++ b/shared/auto_mdnd/overlay/frameworks/base/core/res/res/values/config.xml
@@ -21,5 +21,6 @@
     <!-- Whether the device allows users to start in background visible on the default display.
          Should be false for most devices, except passenger-only automotive build (i.e., when
          Android runs in a separate system in the back seat to manage the passenger displays) -->
+    <!-- The config is enabled for the development purpose only. -->
     <bool name="config_multiuserVisibleBackgroundUsersOnDefaultDisplay">true</bool>
 </resources>
diff --git a/shared/device.mk b/shared/device.mk
index 59338ed..ab8f3aa 100644
--- a/shared/device.mk
+++ b/shared/device.mk
@@ -552,10 +552,6 @@
 PRODUCT_PACKAGES += \
     com.android.hardware.usb
 
-# USB Gadget
-PRODUCT_PACKAGES += \
-    android.hardware.usb.gadget-service.example
-
 # Vibrator HAL
 ifeq ($(LOCAL_PREFER_VENDOR_APEX),true)
 PRODUCT_PACKAGES += com.android.hardware.vibrator
diff --git a/shared/foldable/overlay/frameworks/base/core/res/res/values/config.xml b/shared/foldable/overlay/frameworks/base/core/res/res/values/config.xml
index b101b36..6a2fdd5 100644
--- a/shared/foldable/overlay/frameworks/base/core/res/res/values/config.xml
+++ b/shared/foldable/overlay/frameworks/base/core/res/res/values/config.xml
@@ -75,6 +75,8 @@
   <bool name="config_supportsSplitScreenMultiWindow">true</bool>
   <!-- Radius of the software rounded corners. -->
   <dimen name="rounded_corner_radius">34px</dimen>
+  <!-- Whether to show Fold lock behavior setting feature in Settings App -->
+  <bool name="config_fold_lock_behavior">false</bool>
 
   <!-- List of the labels of requestable device state config values -->
   <string-array name="config_deviceStatesAvailableForAppRequests">
diff --git a/shared/phone/device_vendor.mk b/shared/phone/device_vendor.mk
index f992362..0934d33 100644
--- a/shared/phone/device_vendor.mk
+++ b/shared/phone/device_vendor.mk
@@ -48,7 +48,7 @@
     endif
 endif
 
-
+DEVICE_PACKAGE_OVERLAYS += device/google/cuttlefish/shared/phone/overlay
 
 # Runtime Resource Overlays
 ifeq ($(LOCAL_PREFER_VENDOR_APEX),true)
diff --git a/shared/phone/overlay/frameworks/base/libs/WindowManager/Shell/res/values/dimen.xml b/shared/phone/overlay/frameworks/base/libs/WindowManager/Shell/res/values/dimen.xml
new file mode 100644
index 0000000..c500636
--- /dev/null
+++ b/shared/phone/overlay/frameworks/base/libs/WindowManager/Shell/res/values/dimen.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2023, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<resources>
+   <dimen name="dismiss_circle_size">60dp</dimen>
+</resources>
diff --git a/tests/hal/hal_implementation_test.cpp b/tests/hal/hal_implementation_test.cpp
index eb2001c..ff39669 100644
--- a/tests/hal/hal_implementation_test.cpp
+++ b/tests/hal/hal_implementation_test.cpp
@@ -217,6 +217,13 @@
      * run during normal boot, only in recovery/fastboot mode.
      */
     "android.hardware.fastboot",
+    /**
+     * No implementation for usb gadget HAL because cuttlefish doesn't
+     * support usb gadget configfs, and currently there is no
+     * plan to add this support.
+     * Context: (b/130076572, g/android-idl-discuss/c/0SaiY0p-vJw/)
+     */
+    "android.hardware.usb.gadget",
 };
 
 /*
diff --git a/vsoc_arm64_only/auto/aosp_cf.mk b/vsoc_arm64_only/auto/aosp_cf.mk
index 6c4b863..887a892 100644
--- a/vsoc_arm64_only/auto/aosp_cf.mk
+++ b/vsoc_arm64_only/auto/aosp_cf.mk
@@ -18,25 +18,23 @@
 # All components inherited here go to system image
 #
 $(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit_only.mk)
-$(call inherit-product, $(SRC_TARGET_DIR)/product/generic_system.mk)
+$(call inherit-product, packages/services/Car/car_product/build/car_generic_system.mk)
 
 # FIXME: generic_system.mk sets 'PRODUCT_ENFORCE_RRO_TARGETS := *'
 #        but this breaks phone_car. So undo it here.
 PRODUCT_ENFORCE_RRO_TARGETS := frameworks-res
 
-# FIXME: Disable mainline path checks
-PRODUCT_ENFORCE_ARTIFACT_PATH_REQUIREMENTS := false
+PRODUCT_ENFORCE_ARTIFACT_PATH_REQUIREMENTS := true
 
 #
 # All components inherited here go to system_ext image
 #
-$(call inherit-product, $(SRC_TARGET_DIR)/product/base_system_ext.mk)
-$(call inherit-product, $(SRC_TARGET_DIR)/product/telephony_system_ext.mk)
+$(call inherit-product, packages/services/Car/car_product/build/car_system_ext.mk)
 
 #
 # All components inherited here go to product image
 #
-$(call inherit-product, $(SRC_TARGET_DIR)/product/aosp_product.mk)
+$(call inherit-product, packages/services/Car/car_product/build/car_product.mk)
 
 #
 # All components inherited here go to vendor image
diff --git a/vsoc_x86_64_only/auto/aosp_cf.mk b/vsoc_x86_64_only/auto/aosp_cf.mk
index b817e21..9276819 100644
--- a/vsoc_x86_64_only/auto/aosp_cf.mk
+++ b/vsoc_x86_64_only/auto/aosp_cf.mk
@@ -18,14 +18,13 @@
 # All components inherited here go to system image
 #
 $(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit_only.mk)
-$(call inherit-product, $(SRC_TARGET_DIR)/product/generic_system.mk)
+$(call inherit-product, packages/services/Car/car_product/build/car_generic_system.mk)
 
 # FIXME: generic_system.mk sets 'PRODUCT_ENFORCE_RRO_TARGETS := *'
 #        but this breaks phone_car. So undo it here.
 PRODUCT_ENFORCE_RRO_TARGETS := frameworks-res
 
-# FIXME: Disable mainline path checks
-PRODUCT_ENFORCE_ARTIFACT_PATH_REQUIREMENTS := false
+PRODUCT_ENFORCE_ARTIFACT_PATH_REQUIREMENTS := true
 
 # HSUM is currently incompatible with telephony.
 # TODO(b/283853205): Properly disable telephony using per-partition makefile.
@@ -34,13 +33,12 @@
 #
 # All components inherited here go to system_ext image
 #
-$(call inherit-product, $(SRC_TARGET_DIR)/product/base_system_ext.mk)
-$(call inherit-product, $(SRC_TARGET_DIR)/product/telephony_system_ext.mk)
+$(call inherit-product, packages/services/Car/car_product/build/car_system_ext.mk)
 
 #
 # All components inherited here go to product image
 #
-$(call inherit-product, $(SRC_TARGET_DIR)/product/aosp_product.mk)
+$(call inherit-product, packages/services/Car/car_product/build/car_product.mk)
 
 #
 # All components inherited here go to vendor image
diff --git a/vsoc_x86_64_only/auto_md/aosp_cf.mk b/vsoc_x86_64_only/auto_md/aosp_cf.mk
index c058498..cc29c75 100644
--- a/vsoc_x86_64_only/auto_md/aosp_cf.mk
+++ b/vsoc_x86_64_only/auto_md/aosp_cf.mk
@@ -48,8 +48,15 @@
 # This will disable dynamic displays and enable hardcoded displays on hwservicemanager.
 $(call inherit-product, device/generic/car/emulator/cluster/cluster-hwservicemanager.mk)
 
+# Disable shared system image checking
+PRODUCT_ENFORCE_ARTIFACT_PATH_REQUIREMENTS := false
+
 # Add the regular stuff.
 $(call inherit-product, device/google/cuttlefish/vsoc_x86_64_only/auto/aosp_cf.mk)
 
 PRODUCT_NAME := aosp_cf_x86_64_auto_md
 PRODUCT_MODEL := Cuttlefish x86_64 auto 64-bit only multi-displays
+
+ifeq ($(words ${_include_stack}),1)  # Show warning only when this is the final target product.
+$(warning ${PRODUCT_NAME} is for development purposes only.)
+endif
diff --git a/vsoc_x86_64_only/auto_mdnd/aosp_cf.mk b/vsoc_x86_64_only/auto_mdnd/aosp_cf.mk
index a80d837..361ae59 100644
--- a/vsoc_x86_64_only/auto_mdnd/aosp_cf.mk
+++ b/vsoc_x86_64_only/auto_mdnd/aosp_cf.mk
@@ -30,3 +30,6 @@
 
 PRODUCT_PACKAGE_OVERLAYS += \
     device/google/cuttlefish/shared/auto_mdnd/overlay
+
+$(warning ${PRODUCT_NAME} is for development purposes only.)
+
diff --git a/vsoc_x86_64_only/auto_portrait/aosp_cf.mk b/vsoc_x86_64_only/auto_portrait/aosp_cf.mk
index dc8fb91..e23c01a 100644
--- a/vsoc_x86_64_only/auto_portrait/aosp_cf.mk
+++ b/vsoc_x86_64_only/auto_portrait/aosp_cf.mk
@@ -34,6 +34,9 @@
 PRODUCT_COPY_FILES += \
     packages/services/Car/car_product/car_ui_portrait/bootanimation/bootanimation.zip:system/media/bootanimation.zip
 
+# Disable shared system image checking
+PRODUCT_ENFORCE_ARTIFACT_PATH_REQUIREMENTS := false
+
 $(call inherit-product, device/google/cuttlefish/vsoc_x86_64_only/auto/aosp_cf.mk)
 
 PRODUCT_NAME := aosp_cf_x86_64_only_auto_portrait
@@ -45,7 +48,7 @@
 $(call inherit-product, packages/services/Car/car_product/car_ui_portrait/rro/car_ui_portrait_rro.mk)
 
 PRODUCT_COPY_FILES += \
-    packages/services/Car/car_product/car_ui_portrait/android.software.car.splitscreen_multitasking.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.car.splitscreen_multitasking.xml
+    packages/services/Car/car_product/car_ui_portrait/car_ui_portrait_hardware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/car_ui_portrait_hardware.xml
 
 # Include the`launch_cvd --config auto_portrait` option.
 $(call soong_config_append,cvd,launch_configs,cvd_config_auto_portrait.json)
\ No newline at end of file