Cleanup AAE Emulator configs

bug: 65801015
Test: lunch aosp_car_emu_x86-userdebug && m -j
emulator -verbose -show-kernel -selinux permissive

Change-Id: I6976a249c78311deafc99292e2ead4025f756973
diff --git a/AndroidProducts.mk b/AndroidProducts.mk
index b926b87..fdc9d4f 100644
--- a/AndroidProducts.mk
+++ b/AndroidProducts.mk
@@ -15,7 +15,7 @@
 #
 
 PRODUCT_MAKEFILES := \
-    $(LOCAL_DIR)/car-arm64/aosp_car_emu_arm64.mk \
-    $(LOCAL_DIR)/car-armv7-a-neon/aosp_car_emu_arm.mk \
-    $(LOCAL_DIR)/car-x86/aosp_car_emu_x86.mk \
-    $(LOCAL_DIR)/car-x86_64/aosp_car_emu_x86_64.mk \
+    $(LOCAL_DIR)/aosp_car_emu_arm64.mk \
+    $(LOCAL_DIR)/aosp_car_emu_arm.mk \
+    $(LOCAL_DIR)/aosp_car_emu_x86.mk \
+    $(LOCAL_DIR)/aosp_car_emu_x86_64.mk \
diff --git a/car-armv7-a-neon/aosp_car_emu_arm.mk b/aosp_car_emu_arm.mk
similarity index 79%
rename from car-armv7-a-neon/aosp_car_emu_arm.mk
rename to aosp_car_emu_arm.mk
index 765991a..b7ba7bb 100644
--- a/car-armv7-a-neon/aosp_car_emu_arm.mk
+++ b/aosp_car_emu_arm.mk
@@ -13,11 +13,10 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-$(call inherit-product, device/generic/car/common/product/aosp_arm.mk)
-
-$(call inherit-product, device/generic/car/common/product/car.mk)
+$(call inherit-product, device/generic/car/common/car.mk)
+$(call inherit-product, $(SRC_TARGET_DIR)/product/aosp_arm.mk)
 
 PRODUCT_NAME := aosp_car_emu_arm
-PRODUCT_DEVICE := car-armv7-a-neon
+PRODUCT_DEVICE := generic
 PRODUCT_BRAND := Android
 PRODUCT_MODEL := Car on arm64 emulator
diff --git a/car-arm64/aosp_car_emu_arm64.mk b/aosp_car_emu_arm64.mk
similarity index 80%
rename from car-arm64/aosp_car_emu_arm64.mk
rename to aosp_car_emu_arm64.mk
index 061e950..5b5a54a 100644
--- a/car-arm64/aosp_car_emu_arm64.mk
+++ b/aosp_car_emu_arm64.mk
@@ -12,13 +12,11 @@
 # 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.
-#
 
-$(call inherit-product, device/generic/car/common/product/aosp_arm64.mk)
-
-$(call inherit-product, device/generic/car/common/product/car.mk)
+$(call inherit-product, device/generic/car/common/car.mk)
+$(call inherit-product, $(SRC_TARGET_DIR)/product/aosp_arm64.mk)
 
 PRODUCT_NAME := aosp_car_emu_arm64
-PRODUCT_DEVICE := car-arm64
+PRODUCT_DEVICE := generic_arm64
 PRODUCT_BRAND := Android
 PRODUCT_MODEL := Car on ARM emulator
diff --git a/car-x86/aosp_car_emu_x86.mk b/aosp_car_emu_x86.mk
similarity index 80%
rename from car-x86/aosp_car_emu_x86.mk
rename to aosp_car_emu_x86.mk
index 58e04c8..94c4f87 100644
--- a/car-x86/aosp_car_emu_x86.mk
+++ b/aosp_car_emu_x86.mk
@@ -13,11 +13,10 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-$(call inherit-product, device/generic/car/common/product/aosp_x86.mk)
-
-$(call inherit-product, device/generic/car/common/product/car.mk)
+$(call inherit-product, device/generic/car/common/car.mk)
+$(call inherit-product, $(SRC_TARGET_DIR)/product/aosp_x86.mk)
 
 PRODUCT_NAME := aosp_car_emu_x86
-PRODUCT_DEVICE := car-x86
+PRODUCT_DEVICE := generic_x86
 PRODUCT_BRAND := Android
 PRODUCT_MODEL := Car on x86 emulator
diff --git a/car-x86_64/aosp_car_emu_x86_64.mk b/aosp_car_emu_x86_64.mk
similarity index 80%
rename from car-x86_64/aosp_car_emu_x86_64.mk
rename to aosp_car_emu_x86_64.mk
index f381a05..2c9d6d5 100644
--- a/car-x86_64/aosp_car_emu_x86_64.mk
+++ b/aosp_car_emu_x86_64.mk
@@ -13,11 +13,10 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-$(call inherit-product, device/generic/car/common/product/aosp_x86_64.mk)
-
-$(call inherit-product, device/generic/car/common/product/car.mk)
+$(call inherit-product, device/generic/car/common/car.mk)
+$(call inherit-product, $(SRC_TARGET_DIR)/product/aosp_x86_64.mk)
 
 PRODUCT_NAME := aosp_car_emu_x86_64
-PRODUCT_DEVICE := car-x86_64
+PRODUCT_DEVICE := generic_x86_64
 PRODUCT_BRAND := Android
 PRODUCT_MODEL := Car on x86_64 emulator
diff --git a/car-arm64/BoardConfig.mk b/car-arm64/BoardConfig.mk
deleted file mode 100644
index e326eb9..0000000
--- a/car-arm64/BoardConfig.mk
+++ /dev/null
@@ -1,36 +0,0 @@
-#
-# Copyright (C) 2017 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.
-#
-
-include $(SRC_TARGET_DIR)/board/generic_arm64/BoardConfig.mk
-
-TARGET_USES_CAR_FUTURE_FEATURES := true
-
-# Enable Vendor Image
-TARGET_COPY_OUT_VENDOR := vendor
-BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4
-BOARD_VENDORIMAGE_PARTITION_SIZE := 1610612736
-BOARD_SYSTEMIMAGE_PARTITION_SIZE := 3221225472
-BOARD_USERDATAIMAGE_PARTITION_SIZE := 576716800
-BOARD_CACHEIMAGE_PARTITION_SIZE := 69206016
-
-# Use generic car (instead of build/target/board/generic/sepolicy)
-# and car_product policy.
-# TODO This is only necessary because car_product defines opengl as well.
-# When that is removed, remove this BoardConfig and switch the device in the mk
-# to generic_x86.
-BOARD_SEPOLICY_DIRS := \
-    device/generic/car/common/sepolicy \
-    packages/services/Car/car_product/sepolicy
diff --git a/car-armv7-a-neon/BoardConfig.mk b/car-armv7-a-neon/BoardConfig.mk
deleted file mode 100644
index 9a9be7a..0000000
--- a/car-armv7-a-neon/BoardConfig.mk
+++ /dev/null
@@ -1,36 +0,0 @@
-#
-# Copyright (C) 2017 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.
-#
-
-include $(SRC_TARGET_DIR)/board/generic/BoardConfig.mk
-
-TARGET_USES_CAR_FUTURE_FEATURES := true
-
-# Enable Vendor Image
-TARGET_COPY_OUT_VENDOR := vendor
-BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4
-BOARD_VENDORIMAGE_PARTITION_SIZE := 1610612736
-BOARD_SYSTEMIMAGE_PARTITION_SIZE := 3221225472
-BOARD_USERDATAIMAGE_PARTITION_SIZE := 576716800
-BOARD_CACHEIMAGE_PARTITION_SIZE := 69206016
-
-# Use generic car (instead of build/target/board/generic/sepolicy)
-# and car_product policy.
-# TODO This is only necessary because car_product defines opengl as well.
-# When that is removed, remove this BoardConfig and switch the device in the mk
-# to generic_x86.
-BOARD_SEPOLICY_DIRS := \
-    device/generic/car/common/sepolicy \
-    packages/services/Car/car_product/sepolicy
diff --git a/car-x86/BoardConfig.mk b/car-x86/BoardConfig.mk
deleted file mode 100644
index 974bd04..0000000
--- a/car-x86/BoardConfig.mk
+++ /dev/null
@@ -1,37 +0,0 @@
-#
-# Copyright (C) 2017 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.
-#
-
-include $(SRC_TARGET_DIR)/board/generic_x86/BoardConfig.mk
-
-TARGET_USES_CAR_FUTURE_FEATURES := true
-
-# Enable Vendor Image
-TARGET_COPY_OUT_VENDOR := vendor
-BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4
-BOARD_VENDORIMAGE_PARTITION_SIZE := 1610612736
-BOARD_SYSTEMIMAGE_PARTITION_SIZE := 3221225472
-BOARD_USERDATAIMAGE_PARTITION_SIZE := 576716800
-BOARD_CACHEIMAGE_PARTITION_SIZE := 69206016
-
-# Use generic car (instead of build/target/board/generic/sepolicy)
-# and car_product policy.
-# TODO This is only necessary because car_product defines opengl as well.
-# When that is removed, remove this BoardConfig and switch the device in the mk
-# to generic_x86.
-BOARD_SEPOLICY_DIRS := \
-    build/target/board/generic_x86/sepolicy \
-    device/generic/car/common/sepolicy \
-    packages/services/Car/car_product/sepolicy
diff --git a/car-x86_64/BoardConfig.mk b/car-x86_64/BoardConfig.mk
deleted file mode 100644
index a4d3c67..0000000
--- a/car-x86_64/BoardConfig.mk
+++ /dev/null
@@ -1,36 +0,0 @@
-#
-# Copyright (C) 2017 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.
-#
-
-include $(SRC_TARGET_DIR)/board/generic_x86_64/BoardConfig.mk
-
-TARGET_USES_CAR_FUTURE_FEATURES := true
-
-# Enable Vendor Image
-TARGET_COPY_OUT_VENDOR := vendor
-BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4
-BOARD_VENDORIMAGE_PARTITION_SIZE := 1610612736
-BOARD_SYSTEMIMAGE_PARTITION_SIZE := 3221225472
-BOARD_USERDATAIMAGE_PARTITION_SIZE := 576716800
-BOARD_CACHEIMAGE_PARTITION_SIZE := 69206016
-
-# Use generic car (instead of build/target/board/generic/sepolicy)
-# and car_product policy.
-# TODO This is only necessary because car_product defines opengl as well.
-# When that is removed, remove this BoardConfig and switch the device in the mk
-# to generic_x86.
-BOARD_SEPOLICY_DIRS := \
-    device/generic/car/common/sepolicy \
-    packages/services/Car/car_product/sepolicy
diff --git a/common/android.hardware.dummy.xml b/common/android.hardware.dummy.xml
index d66fd14..5c882e0 100644
--- a/common/android.hardware.dummy.xml
+++ b/common/android.hardware.dummy.xml
@@ -13,6 +13,6 @@
      See the License for the specific language governing permissions and
      limitations under the License.
 -->
-<!-- Dummy version to replace any non-car stuffs with this -->
+<!-- Empty permissions to replace any non-car permissions with. -->
 <permissions>
 </permissions>
diff --git a/common/product/car.mk b/common/car.mk
similarity index 60%
rename from common/product/car.mk
rename to common/car.mk
index 848d73d..b908292 100644
--- a/common/product/car.mk
+++ b/common/car.mk
@@ -14,21 +14,35 @@
 # limitations under the License.
 #
 
-# Common Car
-PRODUCT_RESTRICT_VENDOR_FILES := false
+# TODO Remove this when AAE is fully treble ready
+PRODUCT_FULL_TREBLE_OVERRIDE := false
 
 # Auto modules
 PRODUCT_PACKAGES += \
     android.hardware.automotive.vehicle@2.0-service
 
-# Replace framework versions with dummy one, which is essentially
-# the same as removing the xml. Needs this as there is no easy
-# way to remove PRODUCT_COPY_FILES from inherited products.
+# Emulator configuration
+PRODUCT_COPY_FILES += \
+    device/generic/car/common/config.ini:config.ini
+
+# Car init.rc
+PRODUCT_COPY_FILES += \
+    packages/services/Car/car_product/init/init.bootstat.rc:root/init.bootstat.rc \
+    packages/services/Car/car_product/init/init.car.rc:root/init.car.rc
+
+# Enable landscape
+PRODUCT_COPY_FILES += \
+    frameworks/native/data/etc/android.hardware.screen.landscape.xml:system/etc/permissions/android.hardware.screen.landscape.xml
+
+# Overwrite handheld_core_hardware.xml with a dummy config.
 PRODUCT_COPY_FILES += \
     device/generic/car/common/android.hardware.dummy.xml:system/etc/permissions/handheld_core_hardware.xml \
-    frameworks/native/data/etc/android.hardware.screen.landscape.xml:system/etc/permissions/android.hardware.screen.landscape.xml \
-    packages/services/Car/car_product/init/init.bootstat.rc:root/init.bootstat.rc \
-    packages/services/Car/car_product/init/init.car.rc:root/init.car.rc \
+    device/generic/car/common/car_core_hardware.xml:system/etc/permissions/car_core_hardware.xml \
+    frameworks/native/data/etc/android.hardware.type.automotive.xml:system/etc/permissions/android.hardware.type.automotive.xml
+
+# Vendor Interface Manifest
+PRODUCT_COPY_FILES += \
+    device/generic/car/common/manifest.xml:$(TARGET_COPY_OUT_VENDOR)/manifest.xml
 
 PRODUCT_PROPERTY_OVERRIDES += \
     android.car.drawer.unlimited=true \
@@ -36,4 +50,11 @@
     com.android.car.radio.demo=true \
     com.android.car.radio.demo.dual=true
 
+TARGET_USES_CAR_FUTURE_FEATURES := true
+
+# Add car related sepolicy.
+BOARD_SEPOLICY_DIRS += \
+    device/google/generic/car/common/sepolicy \
+    packages/services/Car/car_product/sepolicy
+
 $(call inherit-product, packages/services/Car/car_product/build/car.mk)
diff --git a/common/car_core_hardware.xml b/common/car_core_hardware.xml
new file mode 100644
index 0000000..9c9f4c5
--- /dev/null
+++ b/common/car_core_hardware.xml
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2015 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.
+-->
+
+<!-- This is a copy of frameworks/native/data/etc/car_core_hardware.xml that is somewhat
+     combined with device/generic/goldfish/data/etc/handheld_core_hardware.xml.
+     Notably bluetooth is removed since it does not work in the emulator.
+-->
+
+<!-- These are the hardware components that all handheld devices
+     must include. Devices with optional hardware must also include extra
+     hardware files, per the comments below.
+
+     Handheld devices include phones, mobile Internet devices (MIDs),
+     Personal Media Players (PMPs), small tablets (7" or less), and similar
+     devices.
+-->
+<permissions>
+    <!-- This is Android and fully CTS compatible.  Basically this is for CTS tests to use. -->
+    <feature name="android.software.cts" />
+
+    <feature name="android.hardware.audio.output" />
+    <feature name="android.hardware.location" />
+    <feature name="android.hardware.location.gps" />
+    <feature name="android.hardware.location.network" />
+    <feature name="android.hardware.touchscreen" />
+    <feature name="android.hardware.microphone" />
+
+    <!-- basic system services -->
+    <feature name="android.software.app_widgets" />
+    <feature name="android.software.connectionservice" />
+    <feature name="android.software.voice_recognizers" notLowRam="true" />
+    <feature name="android.software.backup" />
+    <feature name="android.software.home_screen" />
+    <!-- No support of third-party IMEs by default <feature name="android.software.input_methods" /> -->
+    <feature name="android.software.midi" />
+    <feature name="android.software.print" />
+
+    <!-- Feature to specify if the device supports adding device admins. -->
+    <feature name="android.software.device_admin" />
+
+    <!-- Feature to specify if the device support managed users. -->
+    <feature name="android.software.managed_users" />
+
+    <feature name="android.software.picture_in_picture" />
+
+    <!-- devices with GPS must include android.hardware.location.gps.xml -->
+    <!-- devices with an autofocus camera and/or flash must include either
+         android.hardware.camera.autofocus.xml or
+         android.hardware.camera.autofocus-flash.xml -->
+    <!-- devices with a front facing camera must include
+         android.hardware.camera.front.xml -->
+    <!-- devices with WiFi must also include android.hardware.wifi.xml -->
+    <!-- devices that support multitouch must include the most appropriate one
+         of these files:
+
+         If only partial (non-independent) pointers are supported:
+         android.hardware.touchscreen.multitouch.xml
+
+         If up to 4 independently tracked pointers are supported:
+         include android.hardware.touchscreen.multitouch.distinct.xml
+
+         If 5 or more independently tracked pointers are supported:
+         include android.hardware.touchscreen.multitouch.jazzhand.xml
+
+         ONLY ONE of the above should be included. -->
+    <!-- devices with an ambient light sensor must also include
+         android.hardware.sensor.light.xml -->
+    <!-- devices with a proximity sensor must also include
+         android.hardware.sensor.proximity.xml -->
+    <!-- GSM phones must also include android.hardware.telephony.gsm.xml -->
+    <!-- CDMA phones must also include android.hardware.telephony.cdma.xml -->
+    <!-- Devices that have low-latency audio stacks suitable for apps like
+         VoIP may include android.hardware.audio.low_latency.xml. ONLY apps
+         that meet the requirements specified in the CDD may include this. -->
+</permissions>
diff --git a/common/config.ini b/common/config.ini
new file mode 100644
index 0000000..621b581
--- /dev/null
+++ b/common/config.ini
@@ -0,0 +1,8 @@
+hw.lcd.density=120
+hw.gpu.enabled=yes
+hw.camera.back=none
+hw.camera.front=none
+hw.mainKeys=no
+skin.dynamic=yes
+skin.name=800x480
+skin.path=800x480
diff --git a/common/manifest.xml b/common/manifest.xml
new file mode 100644
index 0000000..0eed84e
--- /dev/null
+++ b/common/manifest.xml
@@ -0,0 +1,196 @@
+<!-- A copy of the goldfish manifest with the addition of vehicle hal. -->
+<manifest version="1.0" type="device">
+    <hal format="hidl">
+        <name>android.hardware.drm</name>
+        <transport>hwbinder</transport>
+        <version>1.0</version>
+        <interface>
+            <name>ICryptoFactory</name>
+            <instance>default</instance>
+            <instance>widevine</instance>
+        </interface>
+        <interface>
+            <name>IDrmFactory</name>
+            <instance>default</instance>
+            <instance>widevine</instance>
+        </interface>
+    </hal>
+    <hal format="hidl">
+        <name>android.hardware.soundtrigger</name>
+        <transport>hwbinder</transport>
+        <version>2.0</version>
+        <interface>
+            <name>ISoundTriggerHw</name>
+            <instance>default</instance>
+        </interface>
+    </hal>
+    <hal format="hidl">
+        <name>android.hardware.audio.effect</name>
+        <transport>hwbinder</transport>
+        <version>2.0</version>
+        <interface>
+            <name>IEffectsFactory</name>
+            <instance>default</instance>
+        </interface>
+    </hal>
+    <hal format="hidl">
+        <name>android.hardware.biometrics.fingerprint</name>
+        <transport>hwbinder</transport>
+        <version>2.1</version>
+        <interface>
+            <name>IBiometricsFingerprint</name>
+            <instance>default</instance>
+        </interface>
+    </hal>
+    <hal format="hidl">
+        <name>android.hardware.configstore</name>
+        <transport>hwbinder</transport>
+        <version>1.0</version>
+        <interface>
+            <name>ISurfaceFlingerConfigs</name>
+            <instance>default</instance>
+        </interface>
+    </hal>
+    <hal format="hidl">
+        <name>android.hardware.audio</name>
+        <transport>hwbinder</transport>
+        <version>2.0</version>
+        <interface>
+            <name>IDevicesFactory</name>
+            <instance>default</instance>
+        </interface>
+    </hal>
+    <hal format="hidl">
+        <name>android.hardware.keymaster</name>
+        <transport>hwbinder</transport>
+        <version>3.0</version>
+        <interface>
+            <name>IKeymasterDevice</name>
+            <instance>default</instance>
+        </interface>
+    </hal>
+    <hal format="hidl">
+        <name>android.hardware.graphics.allocator</name>
+        <transport>hwbinder</transport>
+        <version>2.0</version>
+        <interface>
+            <name>IAllocator</name>
+            <instance>default</instance>
+        </interface>
+    </hal>
+    <hal format="hidl">
+        <name>android.hardware.graphics.mapper</name>
+        <transport arch="32+64">passthrough</transport>
+        <version>2.0</version>
+        <interface>
+            <name>IMapper</name>
+            <instance>default</instance>
+        </interface>
+    </hal>
+    <hal format="hidl">
+        <name>android.hardware.graphics.composer</name>
+        <transport>hwbinder</transport>
+        <version>2.1</version>
+        <interface>
+            <name>IComposer</name>
+            <instance>default</instance>
+        </interface>
+    </hal>
+    <hal format="hidl">
+        <name>android.hardware.power</name>
+        <transport>hwbinder</transport>
+        <version>1.0</version>
+        <interface>
+            <name>IPower</name>
+            <instance>default</instance>
+        </interface>
+    </hal>
+    <hal format="hidl">
+        <name>android.hardware.broadcastradio</name>
+        <transport>hwbinder</transport>
+        <version>1.0</version>
+        <interface>
+            <name>IBroadcastRadioFactory</name>
+            <instance>default</instance>
+        </interface>
+    </hal>
+    <hal format="hidl">
+        <name>android.hardware.camera.provider</name>
+        <transport>hwbinder</transport>
+        <version>2.4</version>
+        <interface>
+            <name>ICameraProvider</name>
+            <instance>legacy/0</instance>
+        </interface>
+    </hal>
+    <hal format="hidl">
+        <name>android.hardware.sensors</name>
+        <transport>hwbinder</transport>
+        <version>1.0</version>
+        <interface>
+            <name>ISensors</name>
+            <instance>default</instance>
+        </interface>
+    </hal>
+    <hal format="hidl">
+        <name>android.hardware.gatekeeper</name>
+        <transport>hwbinder</transport>
+        <version>1.0</version>
+        <interface>
+            <name>IGatekeeper</name>
+            <instance>default</instance>
+        </interface>
+    </hal>
+    <hal format="hidl">
+        <name>android.hardware.gnss</name>
+        <transport>hwbinder</transport>
+        <version>1.0</version>
+        <interface>
+            <name>IGnss</name>
+            <instance>default</instance>
+        </interface>
+    </hal>
+    <hal format="hidl">
+        <name>android.hardware.media.omx</name>
+        <transport>hwbinder</transport>
+        <version>1.0</version>
+        <interface>
+            <name>IOmx</name>
+            <instance>default</instance>
+        </interface>
+        <interface>
+            <name>IOmxStore</name>
+            <instance>default</instance>
+        </interface>
+    </hal>
+    <hal format="hidl">
+        <name>android.hardware.radio.deprecated</name>
+        <transport>hwbinder</transport>
+        <version>1.0</version>
+        <interface>
+            <name>IOemHook</name>
+            <instance>slot1</instance>
+        </interface>
+    </hal>
+    <hal format="hidl">
+        <name>android.hardware.radio</name>
+        <transport>hwbinder</transport>
+        <version>1.0</version>
+        <interface>
+            <name>IRadio</name>
+            <instance>slot1</instance>
+        </interface>
+    </hal>
+    <hal format="hidl">
+        <name>android.hardware.automotive.vehicle</name>
+        <transport>hwbinder</transport>
+        <version>2.0</version>
+        <interface>
+            <name>IVehicle</name>
+            <instance>default</instance>
+        </interface>
+    </hal>
+    <sepolicy>
+        <version>27.0</version>
+    </sepolicy>
+</manifest>
diff --git a/common/preloaded-classes-car b/common/preloaded-classes-car
deleted file mode 100644
index 962099f..0000000
--- a/common/preloaded-classes-car
+++ /dev/null
@@ -1 +0,0 @@
-# Classes which are preloaded by com.android.internal.os.ZygoteInit.
diff --git a/common/product/aosp_arm.mk b/common/product/aosp_arm.mk
deleted file mode 100644
index 1dd5e89..0000000
--- a/common/product/aosp_arm.mk
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# Copyright 2016 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.
-#
-include device/generic/car/common/product/full.mk
-
-PRODUCT_NAME := aosp_arm
diff --git a/common/product/aosp_arm64.mk b/common/product/aosp_arm64.mk
deleted file mode 100644
index 41ec6ac..0000000
--- a/common/product/aosp_arm64.mk
+++ /dev/null
@@ -1,35 +0,0 @@
-#
-# Copyright (C) 2016 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.
-#
-
-# This is a build configuration for a full-featured build of the
-# Open-Source part of the tree. It's geared toward a US-centric
-# build quite specifically for the emulator, and might not be
-# entirely appropriate to inherit from for on-device configurations.
-
-# This is for enabling ethernet support for ranchu.
-# Consider removing this after RIL support is provided in ranchu.
-PRODUCT_COPY_FILES += frameworks/native/data/etc/android.hardware.ethernet.xml:system/etc/permissions/android.hardware.ethernet.xml
-
-$(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk)
-$(call inherit-product, device/generic/car/common/product/aosp_base_telephony.mk)
-$(call inherit-product, $(SRC_TARGET_DIR)/board/generic_arm64/device.mk)
-
-include device/generic/car/common/product/emulator.mk
-
-PRODUCT_NAME := aosp_arm64
-PRODUCT_DEVICE := generic_arm64
-PRODUCT_BRAND := Android
-PRODUCT_MODEL := AOSP on ARM arm64 Emulator
diff --git a/common/product/aosp_base.mk b/common/product/aosp_base.mk
deleted file mode 100644
index d3be4e4..0000000
--- a/common/product/aosp_base.mk
+++ /dev/null
@@ -1,16 +0,0 @@
-#
-# Copyright 2016 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.
-#
-$(call inherit-product, device/generic/car/common/product/full_base.mk)
diff --git a/common/product/aosp_base_telephony.mk b/common/product/aosp_base_telephony.mk
deleted file mode 100644
index 4d9fee2..0000000
--- a/common/product/aosp_base_telephony.mk
+++ /dev/null
@@ -1,16 +0,0 @@
-#
-# Copyright 2016 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.
-#
-$(call inherit-product, device/generic/car/common/product/full_base_telephony.mk)
diff --git a/common/product/aosp_x86.mk b/common/product/aosp_x86.mk
deleted file mode 100644
index 376d072..0000000
--- a/common/product/aosp_x86.mk
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# Copyright 2017 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.
-#
-include device/generic/car/common/product/full_x86.mk
-
-PRODUCT_NAME := aosp_x86
diff --git a/common/product/aosp_x86_64.mk b/common/product/aosp_x86_64.mk
deleted file mode 100644
index 690c23e..0000000
--- a/common/product/aosp_x86_64.mk
+++ /dev/null
@@ -1,49 +0,0 @@
-#
-# Copyright 2016 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.
-#
-
-# This is a build configuration for a full-featured build of the
-# Open-Source part of the tree. It's geared toward a US-centric
-# build quite specifically for the emulator, and might not be
-# entirely appropriate to inherit from for on-device configurations.
-
-# If running on an emulator or some other device that has a LAN connection
-# that isn't a wifi connection. This will instruct init.rc to enable the
-# network connection so that you can use it with ADB
-
-# This is for enabling ethernet support for ranchu.
-# Consider removing this after RIL support is provided in ranchu.
-PRODUCT_COPY_FILES += frameworks/native/data/etc/android.hardware.ethernet.xml:system/etc/permissions/android.hardware.ethernet.xml
-
-$(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk)
-$(call inherit-product, device/generic/car/common/product/aosp_base_telephony.mk)
-$(call inherit-product, $(SRC_TARGET_DIR)/board/generic_x86_64/device.mk)
-
-include device/generic/car/common/product/emulator.mk
-
-ifdef NET_ETH0_STARTONBOOT
-  PRODUCT_PROPERTY_OVERRIDES += net.eth0.startonboot=1
-endif
-
-# Ensure we package the BIOS files too.
-PRODUCT_PACKAGES += \
-	bios.bin \
-	vgabios-cirrus.bin \
-
-# Overrides
-PRODUCT_NAME := aosp_x86_64
-PRODUCT_DEVICE := generic_x86_64
-PRODUCT_BRAND := Android
-PRODUCT_MODEL := AOSP on IA x86_64 Emulator
diff --git a/common/product/core.mk b/common/product/core.mk
deleted file mode 100644
index 748ae7e..0000000
--- a/common/product/core.mk
+++ /dev/null
@@ -1,63 +0,0 @@
-#
-# Copyright (C) 2016 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.
-#
-
-# Base configuration for communication-oriented android devices
-# (phones, tablets, etc.).  If you want a change to apply to ALMOST ALL
-# devices (including non-phones and non-tablets), modify
-# core_minimal.mk instead. If you care about wearables, you need to modify
-# core_tiny.mk in addition to core_minimal.mk.
-
-PRODUCT_PACKAGES += \
-    BasicDreams \
-    BlockedNumberProvider \
-    CaptivePortalLogin \
-    CertInstaller \
-    Contacts \
-    DocumentsUI \
-    DownloadProviderUi \
-    ExternalStorageProvider \
-    FusedLocation \
-    InputDevices \
-    KeyChain \
-    Keyguard \
-    LatinIME \
-    Launcher2 \
-    ManagedProvisioning \
-    MtpDocumentsProvider \
-    PicoTts \
-    PacProcessor \
-    libpac \
-    PrintSpooler \
-    ProxyHandler \
-    QuickSearchBox \
-    Settings \
-    SharedStorageBackup \
-    Telecom \
-    TeleService \
-    VpnDialogs \
-    MmsService
-
-# The set of packages whose code can be loaded by the system server.
-PRODUCT_SYSTEM_SERVER_APPS += \
-    FusedLocation \
-    InputDevices \
-    KeyChain \
-    Telecom \
-
-# The set of packages we want to force 'speed' compilation on.
-PRODUCT_DEXPREOPT_SPEED_APPS += \
-
-$(call inherit-product, $(SRC_TARGET_DIR)/product/core_base.mk)
diff --git a/common/product/emulator.mk b/common/product/emulator.mk
deleted file mode 100644
index 8309a1a..0000000
--- a/common/product/emulator.mk
+++ /dev/null
@@ -1,112 +0,0 @@
-#
-# Copyright (C) 2012 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.
-
-#
-# This file is included by other product makefiles to add all the
-# emulator-related modules to PRODUCT_PACKAGES.
-#
-
-# Host modules
-PRODUCT_PACKAGES += \
-
-
-# Device modules
-PRODUCT_PACKAGES += \
-    egl.cfg \
-    gralloc.goldfish \
-    gralloc.ranchu \
-    libGLESv1_CM_emulation \
-    lib_renderControl_enc \
-    libEGL_emulation \
-    libGLES_android \
-    libGLESv2_enc \
-    libOpenglSystemCommon \
-    libGLESv2_emulation \
-    libGLESv1_enc \
-    qemu-props \
-    qemud \
-    camera.goldfish \
-    camera.goldfish.jpeg \
-    camera.ranchu \
-    camera.ranchu.jpeg \
-    lights.goldfish \
-    gps.goldfish \
-    gps.ranchu \
-    fingerprint.goldfish \
-    sensors.goldfish \
-    audio.primary.goldfish \
-    audio.primary.goldfish_legacy \
-    android.hardware.audio@2.0-service \
-    vibrator.goldfish \
-    power.goldfish \
-    power.ranchu \
-    fingerprint.ranchu \
-    android.hardware.biometrics.fingerprint@2.1-service \
-    sensors.ranchu \
-    android.hardware.graphics.composer@2.1-impl \
-    android.hardware.graphics.composer@2.1-service \
-    android.hardware.graphics.allocator@2.0-service \
-    android.hardware.graphics.allocator@2.0-impl \
-    android.hardware.graphics.mapper@2.0-impl \
-    hwcomposer.goldfish \
-    hwcomposer.ranchu \
-    vintf \
-    CarrierConfig
-
-PRODUCT_PACKAGES += \
-    android.hardware.audio@2.0-impl \
-    android.hardware.audio.effect@2.0-impl \
-    android.hardware.broadcastradio@1.0-impl \
-    android.hardware.soundtrigger@2.0-impl
-
-PRODUCT_PACKAGES += \
-    android.hardware.keymaster@3.0-impl \
-    android.hardware.keymaster@3.0-service
-
-PRODUCT_PACKAGES += \
-    android.hardware.gnss@1.0-service \
-    android.hardware.gnss@1.0-impl
-
-PRODUCT_PACKAGES += \
-    android.hardware.sensors@1.0-impl \
-    android.hardware.sensors@1.0-service
-
-PRODUCT_PACKAGES += \
-    android.hardware.power@1.0-service \
-    android.hardware.power@1.0-impl
-
-# camera service treble disable until all backwards compat is complete
-PRODUCT_PROPERTY_OVERRIDES += \
-    camera.disable_treble=1
-
-# Changed manifest to use device/generic/car/common/product/manifest.xml
-PRODUCT_COPY_FILES += \
-    device/generic/goldfish/fstab.goldfish:root/fstab.goldfish \
-    device/generic/goldfish/init.goldfish.rc:root/init.goldfish.rc \
-    device/generic/goldfish/init.goldfish.sh:system/etc/init.goldfish.sh \
-    device/generic/goldfish/init.ranchu-core.sh:$(TARGET_COPY_OUT_VENDOR)/bin/init.ranchu-core.sh \
-    device/generic/goldfish/init.ranchu-net.sh:$(TARGET_COPY_OUT_VENDOR)/bin/init.ranchu-net.sh \
-    device/generic/goldfish/init.ranchu.rc:root/init.ranchu.rc \
-    device/generic/goldfish/ueventd.goldfish.rc:root/ueventd.goldfish.rc \
-    device/generic/goldfish/init.ranchu.rc:root/init.ranchu.rc \
-    device/generic/goldfish/fstab.ranchu:root/fstab.ranchu \
-    device/generic/goldfish/ueventd.ranchu.rc:root/ueventd.ranchu.rc \
-    device/generic/car/manifest.xml:$(TARGET_COPY_OUT_VENDOR)/manifest.xml \
-    device/generic/goldfish/input/goldfish_rotary.idc:system/usr/idc/goldfish_rotary.idc \
-    frameworks/native/data/etc/android.hardware.usb.accessory.xml:system/etc/permissions/android.hardware.usb.accessory.xml
-
-PRODUCT_PACKAGE_OVERLAYS := device/generic/goldfish/overlay
-
-PRODUCT_CHARACTERISTICS := emulator
diff --git a/common/product/full.mk b/common/product/full.mk
deleted file mode 100644
index 9c3b071..0000000
--- a/common/product/full.mk
+++ /dev/null
@@ -1,31 +0,0 @@
-#
-# Copyright (C) 2016 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.
-#
-
-# This is a build configuration for a full-featured build of the
-# Open-Source part of the tree. It's geared toward a US-centric
-# build quite specifically for the emulator, and might not be
-# entirely appropriate to inherit from for on-device configurations.
-
-$(call inherit-product, device/generic/car/common/product/aosp_base_telephony.mk)
-$(call inherit-product, $(SRC_TARGET_DIR)/board/generic/device.mk)
-
-include device/generic/car/common/product/emulator.mk
-
-# Overrides
-PRODUCT_NAME := full
-PRODUCT_DEVICE := generic
-PRODUCT_BRAND := Android
-PRODUCT_MODEL := AOSP on ARM Emulator
diff --git a/common/product/full_base.mk b/common/product/full_base.mk
deleted file mode 100644
index b8b5976..0000000
--- a/common/product/full_base.mk
+++ /dev/null
@@ -1,58 +0,0 @@
-#
-# Copyright (C) 2016 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.
-#
-
-# This is a build configuration for a full-featured build of the
-# Open-Source part of the tree. It's geared toward a US-centric
-# build of the emulator, but all those aspects can be overridden
-# in inherited configurations.
-
-PRODUCT_PACKAGES := \
-    libfwdlockengine \
-    OpenWnn \
-    libWnnEngDic \
-    libWnnJpnDic \
-    libwnndict \
-    WAPPushManager
-
-PRODUCT_PACKAGES += \
-    Galaxy4 \
-    HoloSpiralWallpaper \
-    LiveWallpapers \
-    LiveWallpapersPicker \
-    MagicSmokeWallpapers \
-    NoiseField \
-    PhaseBeam \
-    PhotoTable
-
-# Additional settings used in all AOSP builds
-PRODUCT_PROPERTY_OVERRIDES := \
-    ro.config.ringtone=Ring_Synth_04.ogg \
-    ro.config.notification_sound=pixiedust.ogg
-
-# Put en_US first in the list, so make it default.
-PRODUCT_LOCALES := en_US
-
-# Get some sounds
-$(call inherit-product-if-exists, frameworks/base/data/sounds/AllAudio.mk)
-
-# Get the TTS language packs
-$(call inherit-product-if-exists, external/svox/pico/lang/all_pico_languages.mk)
-
-# Get a list of languages.
-$(call inherit-product, $(SRC_TARGET_DIR)/product/locales_full.mk)
-
-# Get everything else from the parent package
-$(call inherit-product, device/generic/car/common/product/generic_no_telephony.mk)
diff --git a/common/product/full_base_telephony.mk b/common/product/full_base_telephony.mk
deleted file mode 100644
index 69a7286..0000000
--- a/common/product/full_base_telephony.mk
+++ /dev/null
@@ -1,31 +0,0 @@
-#
-# Copyright (C) 2016 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.
-#
-
-# This is a build configuration for a full-featured build of the
-# Open-Source part of the tree. It's geared toward a US-centric
-# build quite specifically for the emulator, and might not be
-# entirely appropriate to inherit from for on-device configurations.
-
-PRODUCT_PROPERTY_OVERRIDES := \
-    keyguard.no_require_sim=true \
-    ro.com.android.dataroaming=true
-
-PRODUCT_COPY_FILES := \
-    device/generic/goldfish/data/etc/apns-conf.xml:system/etc/apns-conf.xml \
-    frameworks/native/data/etc/handheld_core_hardware.xml:system/etc/permissions/handheld_core_hardware.xml
-
-$(call inherit-product, device/generic/car/common/product/aosp_base.mk)
-$(call inherit-product, $(SRC_TARGET_DIR)/product/telephony.mk)
diff --git a/common/product/full_x86.mk b/common/product/full_x86.mk
deleted file mode 100644
index 4c21816..0000000
--- a/common/product/full_x86.mk
+++ /dev/null
@@ -1,44 +0,0 @@
-#
-# Copyright (C) 2009 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.
-#
-
-# This is a build configuration for a full-featured build of the
-# Open-Source part of the tree. It's geared toward a US-centric
-# build quite specifically for the emulator, and might not be
-# entirely appropriate to inherit from for on-device configurations.
-
-# If running on an emulator or some other device that has a LAN connection
-# that isn't a wifi connection. This will instruct init.rc to enable the
-# network connection so that you can use it with ADB
-
-$(call inherit-product, device/generic/car/common/product/aosp_base_telephony.mk)
-$(call inherit-product, $(SRC_TARGET_DIR)/board/generic_x86/device.mk)
-
-include device/generic/car/common/product/emulator.mk
-
-ifdef NET_ETH0_STARTONBOOT
-  PRODUCT_PROPERTY_OVERRIDES += net.eth0.startonboot=1
-endif
-
-# Ensure we package the BIOS files too.
-PRODUCT_PACKAGES += \
-    bios.bin \
-    vgabios-cirrus.bin \
-
-# Overrides
-PRODUCT_NAME := full_x86
-PRODUCT_DEVICE := generic_x86
-PRODUCT_BRAND := Android
-PRODUCT_MODEL := AOSP on IA Emulator
diff --git a/common/product/generic_no_telephony.mk b/common/product/generic_no_telephony.mk
deleted file mode 100644
index 3e2bcf6..0000000
--- a/common/product/generic_no_telephony.mk
+++ /dev/null
@@ -1,69 +0,0 @@
-#
-# Copyright (C) 2016 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.
-#
-
-# This is a generic phone product that isn't specialized for a specific device.
-# It includes the base Android platform.
-
-PRODUCT_PACKAGES := \
-    Bluetooth \
-    MusicFX \
-    OneTimeInitializer \
-    Provision \
-    SystemUI \
-    WallpaperCropper
-
-PRODUCT_PACKAGES += \
-    clatd \
-    clatd.conf \
-    pppd \
-    screenrecord
-
-PRODUCT_PACKAGES += \
-    librs_jni \
-    libvideoeditor_jni \
-    libvideoeditor_core \
-    libvideoeditor_osal \
-    libvideoeditor_videofilters \
-    libvideoeditorplayer \
-
-PRODUCT_PACKAGES += \
-    audio.primary.default \
-    local_time.default \
-    vibrator.default \
-    power.default
-
-PRODUCT_COPY_FILES := \
-        frameworks/av/media/libeffects/data/audio_effects.conf:system/etc/audio_effects.conf
-
-PRODUCT_PROPERTY_OVERRIDES += \
-    ro.carrier=unknown
-
-$(call inherit-product-if-exists, frameworks/base/data/fonts/fonts.mk)
-$(call inherit-product-if-exists, external/google-fonts/dancing-script/fonts.mk)
-$(call inherit-product-if-exists, external/google-fonts/carrois-gothic-sc/fonts.mk)
-$(call inherit-product-if-exists, external/google-fonts/coming-soon/fonts.mk)
-$(call inherit-product-if-exists, external/google-fonts/cutive-mono/fonts.mk)
-$(call inherit-product-if-exists, external/noto-fonts/fonts.mk)
-$(call inherit-product-if-exists, external/roboto-fonts/fonts.mk)
-$(call inherit-product-if-exists, external/hyphenation-patterns/patterns.mk)
-$(call inherit-product-if-exists, frameworks/base/data/keyboards/keyboards.mk)
-$(call inherit-product-if-exists, frameworks/webview/chromium/chromium.mk)
-$(call inherit-product, device/generic/car/common/product/core.mk)
-
-# Overrides
-PRODUCT_BRAND := generic
-PRODUCT_DEVICE := generic
-PRODUCT_NAME := generic_no_telephony
diff --git a/common/sepolicy/bootanim.te b/common/sepolicy/bootanim.te
deleted file mode 100644
index b4b1eef..0000000
--- a/common/sepolicy/bootanim.te
+++ /dev/null
@@ -1,4 +0,0 @@
-allow bootanim self:process execmem;
-allow bootanim ashmem_device:chr_file execute;
-
-set_prop(bootanim, qemu_prop)
diff --git a/common/sepolicy/device.te b/common/sepolicy/device.te
deleted file mode 100644
index 1fef2c2..0000000
--- a/common/sepolicy/device.te
+++ /dev/null
@@ -1,6 +0,0 @@
-type qemu_device, dev_type, mlstrustedobject;
-
-#device type for gss device nodes, ie /dev/gss
-type gss_device, dev_type;
-type persist_block_device, dev_type;
-type sw_sync_device, dev_type;
diff --git a/common/sepolicy/domain.te b/common/sepolicy/domain.te
deleted file mode 100644
index c5bb959..0000000
--- a/common/sepolicy/domain.te
+++ /dev/null
@@ -1,9 +0,0 @@
-# Ignore personality-8 denials.
-dontaudit domain kernel:system module_request;
-
-# For /sys/qemu_trace files in the emulator.
-allow domain sysfs_writable:dir search;
-allow domain sysfs_writable:file rw_file_perms;
-allow domain qemu_device:chr_file rw_file_perms;
-
-get_prop(domain, qemu_prop)
diff --git a/common/sepolicy/file.te b/common/sepolicy/file.te
deleted file mode 100644
index 9227f80..0000000
--- a/common/sepolicy/file.te
+++ /dev/null
@@ -1,2 +0,0 @@
-type qemud_socket, file_type;
-type sysfs_writable, fs_type, sysfs_type, mlstrustedobject;
diff --git a/common/sepolicy/file_contexts b/common/sepolicy/file_contexts
index 37eb40d..dbb988b 100644
--- a/common/sepolicy/file_contexts
+++ b/common/sepolicy/file_contexts
@@ -1,18 +1 @@
-
-
-# goldfish
-/dev/block/mtdblock0         u:object_r:system_block_device:s0
-/dev/block/mtdblock1         u:object_r:userdata_block_device:s0
-/dev/block/mtdblock2         u:object_r:cache_block_device:s0
-
-# ranchu
-/dev/block/vda               u:object_r:system_block_device:s0
-/dev/block/vdb               u:object_r:cache_block_device:s0
-/dev/block/vdc               u:object_r:userdata_block_device:s0
-
-/dev/goldfish_pipe           u:object_r:qemu_device:s0
-/dev/qemu_.*                 u:object_r:qemu_device:s0
-/dev/socket/qemud            u:object_r:qemud_socket:s0
-/dev/ttyGF[0-9]*             u:object_r:serial_device:s0
-/dev/ttyS2                   u:object_r:console_device:s0
-/system/bin/qemud            u:object_r:qemud_exec:s0
+/(vendor|system/vendor)/bin/hw/android.hardware.automotive.vehicle@2.0-service  u:object_r:hal_vehicle_default_exec:s0
diff --git a/common/sepolicy/goldfish_setup.te b/common/sepolicy/goldfish_setup.te
deleted file mode 100644
index 78d20fc..0000000
--- a/common/sepolicy/goldfish_setup.te
+++ /dev/null
@@ -1,29 +0,0 @@
-# goldfish-setup service: runs init.goldfish.sh script
-type goldfish_setup, domain;
-type goldfish_setup_exec, exec_type, file_type;
-
-init_daemon_domain(goldfish_setup)
-
-# Inherit open file to shell (interpreter) for script.
-allow goldfish_setup shell_exec:file rx_file_perms;
-
-# Run ifconfig, route commands to configure interfaces and routes.
-allow goldfish_setup system_file:file execute_no_trans;
-allow goldfish_setup toolbox_exec:file rx_file_perms;
-allow goldfish_setup self:capability { net_admin net_raw };
-allow goldfish_setup self:udp_socket create_socket_perms;
-allowxperm goldfish_setup self:udp_socket ioctl priv_sock_ioctls;
-
-wakelock_use(goldfish_setup)
-net_domain(goldfish_setup)
-
-# Set net.eth0.dns*, debug.sf.nobootanimation
-set_prop(goldfish_setup, system_prop)
-set_prop(goldfish_setup, debug_prop)
-
-# Set ro.radio.noril
-set_prop(goldfish_setup, radio_noril_prop)
-
-# Stop ril-daemon service (by setting ctl.stop to ril-daemon, which
-# transforms to a permission check on ctl.ril-daemon).
-set_prop(goldfish_setup, ctl_rildaemon_prop)
diff --git a/common/sepolicy/hal_gnss_default.te b/common/sepolicy/hal_gnss_default.te
deleted file mode 100644
index 0dd3d03..0000000
--- a/common/sepolicy/hal_gnss_default.te
+++ /dev/null
@@ -1,3 +0,0 @@
-#============= hal_gnss_default ==============
-allow hal_gnss_default vndbinder_device:chr_file { ioctl open read write };
-
diff --git a/common/sepolicy/hal_graphics_composer_default.te b/common/sepolicy/hal_graphics_composer_default.te
deleted file mode 100644
index 034bdef..0000000
--- a/common/sepolicy/hal_graphics_composer_default.te
+++ /dev/null
@@ -1,3 +0,0 @@
-#============= hal_graphics_composer_default ==============
-allow hal_graphics_composer_default vndbinder_device:chr_file { ioctl open read write };
-
diff --git a/common/sepolicy/init.te b/common/sepolicy/init.te
deleted file mode 100644
index 3aa81d1..0000000
--- a/common/sepolicy/init.te
+++ /dev/null
@@ -1 +0,0 @@
-allow init tmpfs:lnk_file create_file_perms;
diff --git a/common/sepolicy/logpersist.te b/common/sepolicy/logpersist.te
deleted file mode 100644
index 3fc0250..0000000
--- a/common/sepolicy/logpersist.te
+++ /dev/null
@@ -1,13 +0,0 @@
-# goldfish logcat service:  runs logcat -Q in logpersist domain
-
-# See global logcat.te/logpersist.te, only set for eng & userdebug,
-# allow for all builds in a non-conflicting manner.
-
-domain_auto_trans(init, logcat_exec, logpersist)
-
-# Read from logd.
-unix_socket_connect(logpersist, logdr, logd)
-
-# Write to /dev/ttyS2 and /dev/ttyGF2.
-allow logpersist serial_device:chr_file { write open };
-get_prop(logpersist, qemu_cmdline)
diff --git a/common/sepolicy/netd.te b/common/sepolicy/netd.te
deleted file mode 100644
index 2b002ec..0000000
--- a/common/sepolicy/netd.te
+++ /dev/null
@@ -1 +0,0 @@
-dontaudit netd self:capability sys_module;
diff --git a/common/sepolicy/property.te b/common/sepolicy/property.te
deleted file mode 100644
index 04c5bc1..0000000
--- a/common/sepolicy/property.te
+++ /dev/null
@@ -1,8 +0,0 @@
-type qemu_prop, property_type;
-type qemu_cmdline, property_type;
-type radio_noril_prop, property_type;
-
-# opengles_prop is removed because it conflicts with car_product
-# TODO If this is resolved, then most of the copied sepolicy can be removed
-# in favor of using device/goldfish/sepolicy.
-# type opengles_prop, property_type;
diff --git a/common/sepolicy/property_contexts b/common/sepolicy/property_contexts
deleted file mode 100644
index c66a85f..0000000
--- a/common/sepolicy/property_contexts
+++ /dev/null
@@ -1,6 +0,0 @@
-qemu.                   u:object_r:qemu_prop:s0
-qemu.cmdline            u:object_r:qemu_cmdline:s0
-ro.emu.                 u:object_r:qemu_prop:s0
-ro.emulator.            u:object_r:qemu_prop:s0
-ro.radio.noril          u:object_r:radio_noril_prop:s0
-ro.opengles.            u:object_r:opengles_prop:s0
diff --git a/common/sepolicy/qemu_props.te b/common/sepolicy/qemu_props.te
deleted file mode 100644
index d5571fd..0000000
--- a/common/sepolicy/qemu_props.te
+++ /dev/null
@@ -1,12 +0,0 @@
-# qemu-props service:  Sets system properties on boot.
-type qemu_props, domain;
-type qemu_props_exec, exec_type, file_type;
-
-init_daemon_domain(qemu_props)
-
-# Set properties.
-set_prop(qemu_props, qemu_prop)
-set_prop(qemu_props, dalvik_prop)
-set_prop(qemu_props, config_prop)
-set_prop(qemu_props, opengles_prop)
-set_prop(qemu_props, qemu_cmdline)
diff --git a/common/sepolicy/qemud.te b/common/sepolicy/qemud.te
deleted file mode 100644
index eee21c4..0000000
--- a/common/sepolicy/qemud.te
+++ /dev/null
@@ -1,8 +0,0 @@
-# qemu support daemon
-type qemud, domain;
-type qemud_exec, exec_type, file_type;
-
-init_daemon_domain(qemud)
-
-# Access /dev/ttyS1 and /dev/ttyGF1.
-allow qemud serial_device:chr_file rw_file_perms;
diff --git a/common/sepolicy/rild.te b/common/sepolicy/rild.te
deleted file mode 100644
index e148b6c..0000000
--- a/common/sepolicy/rild.te
+++ /dev/null
@@ -1 +0,0 @@
-unix_socket_connect(rild, qemud, qemud)
diff --git a/common/sepolicy/shell.te b/common/sepolicy/shell.te
deleted file mode 100644
index b246d7e..0000000
--- a/common/sepolicy/shell.te
+++ /dev/null
@@ -1 +0,0 @@
-allow shell serial_device:chr_file rw_file_perms;
diff --git a/common/sepolicy/surfaceflinger.te b/common/sepolicy/surfaceflinger.te
deleted file mode 100644
index e03d07e..0000000
--- a/common/sepolicy/surfaceflinger.te
+++ /dev/null
@@ -1,4 +0,0 @@
-allow surfaceflinger self:process execmem;
-allow surfaceflinger ashmem_device:chr_file execute;
-
-set_prop(surfaceflinger, qemu_prop)
diff --git a/common/sepolicy/system_app.te b/common/sepolicy/system_app.te
index 9b861d6..b09239c 100644
--- a/common/sepolicy/system_app.te
+++ b/common/sepolicy/system_app.te
@@ -1,2 +1 @@
 allow system_app hal_vehicle_hwservice:hwservice_manager find;
-allow system_app proc_stat:file {read open};
diff --git a/common/sepolicy/system_server.te b/common/sepolicy/system_server.te
deleted file mode 100644
index 7aab33e..0000000
--- a/common/sepolicy/system_server.te
+++ /dev/null
@@ -1,6 +0,0 @@
-unix_socket_connect(system_server, qemud, qemud)
-get_prop(system_server, opengles_prop)
-get_prop(system_server, radio_noril_prop)
-
-# For gss
-allow system_server gss_device:chr_file rw_file_perms;
diff --git a/common/sepolicy/zygote.te b/common/sepolicy/zygote.te
deleted file mode 100644
index a90f02b..0000000
--- a/common/sepolicy/zygote.te
+++ /dev/null
@@ -1 +0,0 @@
-set_prop(zygote, qemu_prop)
diff --git a/manifest.xml b/manifest.xml
deleted file mode 100644
index e51590f..0000000
--- a/manifest.xml
+++ /dev/null
@@ -1,63 +0,0 @@
-<manifest version="1.0" type="device">
-    <hal format="hidl">
-        <name>android.hardware.drm</name>
-        <transport arch="32">passthrough</transport>
-        <impl level="generic"></impl>
-        <version>1.0</version>
-        <!-- TODO(b/36371166): change to default -->
-        <interface>
-            <name>ICryptoFactory</name>
-            <instance>crypto</instance>
-        </interface>
-        <interface>
-            <name>IDrmFactory</name>
-            <instance>drm</instance>
-        </interface>
-    </hal>
-    <hal format="hidl">
-        <name>android.hardware.graphics.mapper</name>
-        <transport arch="32+64">passthrough</transport>
-        <version>2.0</version>
-        <interface>
-            <name>IMapper</name>
-            <instance>default</instance>
-        </interface>
-    </hal>
-    <hal format="hidl">
-        <name>android.hardware.configstore</name>
-        <transport>hwbinder</transport>
-        <version>1.0</version>
-        <interface>
-            <name>ISurfaceFlingerConfigs</name>
-            <instance>default</instance>
-        </interface>
-    </hal>
-    <hal format="hidl">
-        <name>android.hardware.graphics.allocator</name>
-        <transport>hwbinder</transport>
-        <version>2.0</version>
-        <interface>
-            <name>IAllocator</name>
-            <instance>default</instance>
-        </interface>
-    </hal>
-    <hal format="hidl">
-        <name>android.hardware.power</name>
-        <transport>hwbinder</transport>
-        <version>1.0</version>
-        <interface>
-            <name>IPower</name>
-            <instance>default</instance>
-        </interface>
-    </hal>
-    <!-- Added for auto. -->
-    <hal format="hidl">
-        <name>android.hardware.automotive.vehicle</name>
-        <transport>hwbinder</transport>
-        <version>2.1</version>
-        <interface>
-            <name>IVehicle</name>
-            <instance>default</instance>
-        </interface>
-    </hal>
-</manifest>