1#
2# Copyright 2020 The Android Open Source Project
3#
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at
7#
8#      http://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
15#
16
17####
18#### This file should be included at the top of the aosp_PHONE_car.mk file
19####
20
21# CarServiceHelperService accesses the hidden api in the system server.
22SYSTEM_OPTIMIZE_JAVA := false
23
24DEVICE_FRAMEWORK_MANIFEST_FILE += device/google_car/common/manifest.xml
25
26# generic_system.mk sets 'PRODUCT_ENFORCE_RRO_TARGETS := *'
27# but this breaks phone_car. So undo it here.
28PRODUCT_ENFORCE_RRO_TARGETS :=
29
30# Enable mainline checking
31PRODUCT_ENFORCE_ARTIFACT_PATH_REQUIREMENTS := false
32
33# Set Car Service RRO
34PRODUCT_PACKAGES += CarServiceOverlayPhoneCar \
35GOOGLE_CAR_SERVICE_OVERLAY += CarServiceOverlayPhoneCarGoogle
36
37# All components inherited here go to system image
38# Skip this for 64 bit only devices
39ifneq ($(DEVICE_IS_64BIT_ONLY),true)
40    $(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk)
41endif
42$(call inherit-product, $(SRC_TARGET_DIR)/product/generic_system.mk)
43
44#
45# All components inherited here go to system_ext image
46#
47$(call inherit-product, $(SRC_TARGET_DIR)/product/handheld_system_ext.mk)
48$(call inherit-product, $(SRC_TARGET_DIR)/product/telephony_system_ext.mk)
49
50#
51# All components inherited here go to product image
52#
53$(call inherit-product, $(SRC_TARGET_DIR)/product/aosp_product.mk)
54
55# Auto modules
56
57ifneq ($(PIXEL_2023_GEN),)
58    PRODUCT_PACKAGES += \
59        android.hardware.broadcastradio \
60        android.hardware.automotive.vehicle@V3-default-service
61else
62    PRODUCT_PACKAGES += \
63        android.hardware.broadcastradio@2.0-service \
64        android.hardware.automotive.vehicle@2.0-default-service
65endif
66
67# Set Car Wifi RRO to properly configure the system for AAP
68PRODUCT_PACKAGES += CarWifiOverlay
69
70# Additional selinux policy
71BOARD_SEPOLICY_DIRS += device/google_car/common/sepolicy
72
73# Car init.rc
74PRODUCT_COPY_FILES += \
75            packages/services/Car/car_product/init/init.bootstat.rc:root/init.bootstat.rc \
76            packages/services/Car/car_product/init/init.car.rc:root/init.car.rc
77
78# Override heap growth limit due to high display density on device
79PRODUCT_PROPERTY_OVERRIDES += \
80            dalvik.vm.heapgrowthlimit=256m
81
82PRODUCT_PACKAGE_OVERLAYS += device/google_car/common/overlay
83
84ifneq ($(PORTRAIT_UI), true)
85        # Enable landscape
86        PRODUCT_COPY_FILES += \
87            frameworks/native/data/etc/android.hardware.screen.landscape.xml:system/etc/permissions/android.hardware.screen.landscape.xml
88endif
89
90
91TARGET_USES_CAR_FUTURE_FEATURES := true
92
93PRODUCT_COPY_FILES += \
94        frameworks/native/data/etc/car_core_hardware.xml:system/etc/permissions/car_core_hardware.xml \
95        frameworks/native/data/etc/android.hardware.type.automotive.xml:system/etc/permissions/android.hardware.type.automotive.xml \
96        frameworks/native/data/etc/android.hardware.telephony.gsm.xml:system/etc/permissions/android.hardware.telephony.gsm.xml \
97        frameworks/native/data/etc/android.hardware.telephony.cdma.xml:system/etc/permissions/android.hardware.telephony.cdma.xml \
98        frameworks/native/data/etc/android.hardware.location.gps.xml:system/etc/permissions/android.hardware.location.gps.xml \
99        frameworks/native/data/etc/android.hardware.touchscreen.multitouch.jazzhand.xml:system/etc/permissions/android.hardware.touchscreen.multitouch.jazzhand.xml \
100        frameworks/native/data/etc/android.hardware.wifi.xml:system/etc/permissions/android.hardware.wifi.xml \
101        frameworks/native/data/etc/android.hardware.wifi.direct.xml:system/etc/permissions/android.hardware.wifi.direct.xml \
102        frameworks/native/data/etc/android.software.sip.voip.xml:system/etc/permissions/android.software.sip.voip.xml \
103        frameworks/native/data/etc/android.hardware.sensor.light.xml:system/etc/permissions/android.hardware.sensor.light.xml \
104        frameworks/native/data/etc/android.hardware.sensor.gyroscope.xml:system/etc/permissions/android.hardware.sensor.gyroscope.xml \
105        frameworks/native/data/etc/android.hardware.usb.accessory.xml:system/etc/permissions/android.hardware.usb.accessory.xml \
106        frameworks/native/data/etc/android.hardware.usb.host.xml:system/etc/permissions/android.hardware.usb.host.xml \
107        frameworks/native/data/etc/android.hardware.bluetooth.xml:system/etc/permissions/android.hardware.bluetooth.xml \
108        frameworks/native/data/etc/android.hardware.bluetooth_le.xml:system/etc/permissions/android.hardware.bluetooth_le.xml
109
110# broadcast radio feature
111 PRODUCT_COPY_FILES += \
112        frameworks/native/data/etc/android.hardware.broadcastradio.xml:system/etc/permissions/android.hardware.broadcastradio.xml
113
114# Include EVS reference implementations
115ENABLE_EVS_SAMPLE := true
116
117#
118# All components inherited here go to vendor image
119#
120# TODO(b/136525499): move *_vendor.mk into the vendor makefile later
121$(call inherit-product, $(SRC_TARGET_DIR)/product/handheld_vendor.mk)
122$(call inherit-product, $(SRC_TARGET_DIR)/product/telephony_vendor.mk)
123