| # |
| # Copyright (C) 2021-2023 The LineageOS 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. |
| # |
| |
| # Get non-open-source specific aspects |
| $(call inherit-product, vendor/samsung/exynos9820-common/exynos9820-common-vendor.mk) |
| |
| # Enable project quotas and casefolding for emulated storage without sdcardfs |
| $(call inherit-product, $(SRC_TARGET_DIR)/product/emulated_storage.mk) |
| |
| # Audio |
| PRODUCT_PACKAGES += \ |
| android.hardware.audio.effect@7.0-impl:32 \ |
| android.hardware.audio@7.1-impl:32 \ |
| android.hardware.audio.service \ |
| android.hardware.bluetooth.audio-impl \ |
| android.hidl.allocator@1.0.vendor:32 \ |
| audio.bluetooth.default \ |
| audio.primary.exynos9820 \ |
| audio.r_submix.default \ |
| audio.usb.default \ |
| libaudioroute \ |
| libtinyalsa \ |
| libtinycompress |
| |
| PRODUCT_PACKAGES += \ |
| SamsungDAP |
| |
| PRODUCT_COPY_FILES += \ |
| frameworks/av/services/audiopolicy/config/bluetooth_audio_policy_configuration_7_0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_audio_policy_configuration_7_0.xml \ |
| frameworks/av/services/audiopolicy/config/r_submix_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/r_submix_audio_policy_configuration.xml \ |
| frameworks/av/services/audiopolicy/enginedefault/config/example/phone/audio_policy_engine_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_engine_configuration.xml \ |
| frameworks/av/services/audiopolicy/enginedefault/config/example/phone/audio_policy_engine_default_stream_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_engine_default_stream_volumes.xml \ |
| frameworks/av/services/audiopolicy/enginedefault/config/example/phone/audio_policy_engine_product_strategies.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_engine_product_strategies.xml \ |
| frameworks/av/services/audiopolicy/enginedefault/config/example/phone/audio_policy_engine_stream_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_engine_stream_volumes.xml \ |
| $(COMMON_PATH)/configs/audio/audio_effects.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_effects.xml \ |
| $(COMMON_PATH)/configs/audio/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration.xml \ |
| $(COMMON_PATH)/configs/audio/audio_policy_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_volumes.xml |
| |
| TARGET_EXCLUDES_AUDIOFX := true |
| |
| # Bluetooth |
| PRODUCT_PACKAGES += \ |
| android.hardware.bluetooth@1.0-impl:64 \ |
| android.hardware.bluetooth@1.0-service \ |
| libbt-vendor:64 |
| |
| # Camera |
| PRODUCT_PACKAGES += \ |
| android.hardware.camera.provider@2.5-service_64.samsung \ |
| libsensorndkbridge |
| |
| PRODUCT_PACKAGES += \ |
| libhwjpeg |
| |
| # Charger |
| PRODUCT_PACKAGES += \ |
| charger_res_images_vendor |
| |
| # ConfigStore |
| PRODUCT_PACKAGES += \ |
| disable_configstore |
| |
| # Display |
| PRODUCT_PACKAGES += \ |
| android.hardware.graphics.allocator@2.0-impl:64 \ |
| android.hardware.graphics.allocator@2.0-service \ |
| android.hardware.graphics.mapper@2.0-impl-2.1 |
| |
| PRODUCT_PACKAGES += \ |
| android.hardware.composer.hwc3-service.slsi \ |
| gralloc.exynos9820 \ |
| libion |
| |
| # Doze |
| PRODUCT_PACKAGES += \ |
| SamsungDoze |
| |
| # Dynamic Partitions |
| PRODUCT_USE_DYNAMIC_PARTITIONS := true |
| |
| # DRM |
| PRODUCT_PACKAGES += \ |
| android.hardware.drm@1.4.vendor:32 \ |
| android.hardware.drm-service.clearkey |
| |
| # fastbootd |
| PRODUCT_PACKAGES += \ |
| fastbootd |
| |
| # FastCharge |
| PRODUCT_PACKAGES += \ |
| vendor.lineage.fastcharge@1.0-service.samsung |
| |
| # Fingerprint |
| PRODUCT_PACKAGES += \ |
| android.hardware.biometrics.fingerprint@2.3-service.samsung |
| |
| # Gatekeeper |
| PRODUCT_PACKAGES += \ |
| android.hardware.gatekeeper@1.0-impl:64 \ |
| android.hardware.gatekeeper@1.0-service |
| |
| # GNSS |
| PRODUCT_PACKAGES += \ |
| android.frameworks.sensorservice@1.0.vendor:64 \ |
| android.hardware.gnss@2.1.vendor:64 |
| |
| # Graphics |
| # Device uses high-density artwork where available |
| PRODUCT_AAPT_CONFIG := normal |
| PRODUCT_AAPT_PREF_CONFIG := 400dpi |
| PRODUCT_AAPT_PREBUILT_DPI := xxxhdpi xxhdpi xhdpi hdpi |
| |
| # Health |
| PRODUCT_PACKAGES += \ |
| android.hardware.health-service.samsung \ |
| android.hardware.health-service.samsung-recovery |
| |
| # HIDL |
| PRODUCT_PACKAGES += \ |
| libhidltransport \ |
| libhidltransport.vendor \ |
| libhwbinder \ |
| libhwbinder.vendor |
| |
| # init |
| PRODUCT_COPY_FILES += \ |
| $(COMMON_PATH)/configs/init/init.exynos9820.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.exynos9820.rc \ |
| $(COMMON_PATH)/configs/init/init.exynos9820.usb.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.exynos9820.usb.rc \ |
| $(COMMON_PATH)/configs/init/init.recovery.exynos9820.rc:$(TARGET_COPY_OUT_RECOVERY)/root/init.recovery.exynos9820.rc \ |
| $(COMMON_PATH)/configs/init/init.recovery.exynos9820.rc:$(TARGET_COPY_OUT_RECOVERY)/root/init.recovery.exynos9825.rc \ |
| $(COMMON_PATH)/configs/init/init.samsung.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.samsung.rc \ |
| $(COMMON_PATH)/configs/init/ueventd.rc:$(TARGET_COPY_OUT_VENDOR)/etc/ueventd.rc |
| |
| ifeq ($(TARGET_HAVE_FOD),true) |
| PRODUCT_COPY_FILES += \ |
| $(COMMON_PATH)/configs/init/init.udfps.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.udfps.rc |
| endif |
| |
| # Kernel |
| PRODUCT_OTA_ENFORCE_VINTF_KERNEL_REQUIREMENTS := true |
| PRODUCT_SET_DEBUGFS_RESTRICTIONS := true |
| |
| # Keylayout |
| PRODUCT_COPY_FILES += \ |
| $(COMMON_PATH)/configs/idc/sec_e-pen.idc:$(TARGET_COPY_OUT_VENDOR)/usr/idc/sec_e-pen.idc \ |
| $(COMMON_PATH)/configs/keylayout/gpio_keys.kl:$(TARGET_COPY_OUT_VENDOR)/usr/keylayout/gpio_keys.kl |
| |
| # Keymaster |
| PRODUCT_PACKAGES += \ |
| android.hardware.keymaster@4.0-service.samsung \ |
| libcrypto-v33 \ |
| libkeymaster4_1support.vendor:64 |
| |
| # Lineage Health |
| PRODUCT_PACKAGES += \ |
| vendor.lineage.health-service.default |
| |
| # Livedisplay |
| PRODUCT_PACKAGES += \ |
| vendor.lineage.livedisplay@2.0-service.samsung-exynos |
| |
| # Media |
| PRODUCT_COPY_FILES += \ |
| frameworks/av/media/libstagefright/data/media_codecs_google_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_audio.xml \ |
| frameworks/av/media/libstagefright/data/media_codecs_google_telephony.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_telephony.xml \ |
| frameworks/av/media/libstagefright/data/media_codecs_google_video.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_video.xml |
| |
| # Memtrack |
| PRODUCT_PACKAGES += \ |
| android.hardware.memtrack-service.samsung-mali |
| |
| # NFC |
| PRODUCT_PACKAGES += \ |
| android.hardware.nfc@1.2-service.samsung \ |
| com.android.nfc_extras \ |
| NfcNci \ |
| Tag |
| |
| # OMX |
| PRODUCT_PACKAGES += \ |
| libstagefrighthw \ |
| libExynosOMX_Core \ |
| libExynosOMX_Resourcemanager \ |
| libOMX.Exynos.AVC.Decoder \ |
| libOMX.Exynos.AVC.Encoder \ |
| libOMX.Exynos.AVC.WFD.Encoder \ |
| libOMX.Exynos.HEVC.Decoder \ |
| libOMX.Exynos.HEVC.Encoder \ |
| libOMX.Exynos.HEVC.WFD.Encoder \ |
| libOMX.Exynos.MPEG4.Decoder \ |
| libOMX.Exynos.MPEG4.Encoder \ |
| libOMX.Exynos.VP8.Decoder \ |
| libOMX.Exynos.VP8.Encoder \ |
| libOMX.Exynos.VP9.Decoder \ |
| libOMX.Exynos.VP9.Encoder \ |
| libOMX.Exynos.WMV.Decoder |
| |
| # Overlays |
| DEVICE_PACKAGE_OVERLAYS += $(COMMON_PATH)/overlay |
| PRODUCT_ENFORCE_RRO_TARGETS := * |
| |
| # Permissions |
| PRODUCT_COPY_FILES += \ |
| frameworks/native/data/etc/android.hardware.audio.low_latency.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.audio.low_latency.xml \ |
| frameworks/native/data/etc/android.hardware.audio.pro.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.audio.pro.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.bluetooth_le.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.bluetooth_le.xml \ |
| frameworks/native/data/etc/android.hardware.camera.ar.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.ar.xml \ |
| frameworks/native/data/etc/android.hardware.camera.autofocus.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.autofocus.xml \ |
| frameworks/native/data/etc/android.hardware.camera.flash-autofocus.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.flash-autofocus.xml \ |
| frameworks/native/data/etc/android.hardware.camera.front.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.front.xml \ |
| frameworks/native/data/etc/android.hardware.camera.full.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.full.xml \ |
| frameworks/native/data/etc/android.hardware.camera.raw.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.raw.xml \ |
| frameworks/native/data/etc/android.hardware.camera.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.xml \ |
| frameworks/native/data/etc/android.hardware.fingerprint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.fingerprint.xml \ |
| frameworks/native/data/etc/android.hardware.nfc.ese.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.ese.xml \ |
| frameworks/native/data/etc/android.hardware.nfc.hce.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.hce.xml \ |
| frameworks/native/data/etc/android.hardware.nfc.hcef.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.hcef.xml \ |
| frameworks/native/data/etc/android.hardware.nfc.uicc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.uicc.xml \ |
| frameworks/native/data/etc/android.hardware.nfc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.xml \ |
| frameworks/native/data/etc/android.hardware.location.gps.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.location.gps.xml \ |
| frameworks/native/data/etc/android.hardware.opengles.aep.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.opengles.aep.xml \ |
| frameworks/native/data/etc/android.hardware.sensor.accelerometer.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.accelerometer.xml \ |
| frameworks/native/data/etc/android.hardware.sensor.barometer.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.barometer.xml \ |
| frameworks/native/data/etc/android.hardware.sensor.compass.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.compass.xml \ |
| frameworks/native/data/etc/android.hardware.sensor.gyroscope.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.gyroscope.xml \ |
| frameworks/native/data/etc/android.hardware.sensor.hifi_sensors.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.hifi_sensors.xml \ |
| frameworks/native/data/etc/android.hardware.sensor.light.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.light.xml \ |
| frameworks/native/data/etc/android.hardware.sensor.proximity.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.proximity.xml \ |
| frameworks/native/data/etc/android.hardware.sensor.stepcounter.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.stepcounter.xml \ |
| frameworks/native/data/etc/android.hardware.sensor.stepdetector.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.stepdetector.xml \ |
| frameworks/native/data/etc/android.hardware.telephony.gsm.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.telephony.gsm.xml \ |
| frameworks/native/data/etc/android.hardware.telephony.ims.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.telephony.ims.xml \ |
| frameworks/native/data/etc/android.hardware.touchscreen.multitouch.jazzhand.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.touchscreen.multitouch.jazzhand.xml \ |
| frameworks/native/data/etc/android.hardware.usb.accessory.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.accessory.xml \ |
| frameworks/native/data/etc/android.hardware.usb.host.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.host.xml \ |
| frameworks/native/data/etc/android.hardware.vulkan.compute-0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.compute.xml \ |
| frameworks/native/data/etc/android.hardware.vulkan.level-1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.level.xml \ |
| frameworks/native/data/etc/android.hardware.vulkan.version-1_1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.version.xml \ |
| frameworks/native/data/etc/android.hardware.wifi.direct.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.direct.xml \ |
| frameworks/native/data/etc/android.hardware.wifi.passpoint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.passpoint.xml \ |
| frameworks/native/data/etc/android.hardware.wifi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.xml \ |
| frameworks/native/data/etc/android.software.app_widgets.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.app_widgets.xml \ |
| frameworks/native/data/etc/android.software.device_id_attestation.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.device_id_attestation.xml \ |
| frameworks/native/data/etc/android.software.freeform_window_management.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.freeform_window_management.xml \ |
| frameworks/native/data/etc/android.software.ipsec_tunnels.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.ipsec_tunnels.xml \ |
| frameworks/native/data/etc/android.software.midi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.midi.xml \ |
| frameworks/native/data/etc/android.software.opengles.deqp.level-2020-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.opengles.deqp.level.xml \ |
| frameworks/native/data/etc/android.software.picture_in_picture.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.picture_in_picture.xml \ |
| frameworks/native/data/etc/android.software.sip.voip.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.sip.voip.xml \ |
| frameworks/native/data/etc/android.software.vulkan.deqp.level-2020-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.vulkan.deqp.level.xml \ |
| frameworks/native/data/etc/com.android.nfc_extras.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/com.android.nfc_extras.xml \ |
| frameworks/native/data/etc/handheld_core_hardware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/handheld_core_hardware.xml |
| |
| # Power |
| PRODUCT_PACKAGES += \ |
| android.hardware.power-service.samsung-libperfmgr |
| |
| PRODUCT_COPY_FILES += \ |
| $(COMMON_PATH)/configs/power/powerhint.json:$(TARGET_COPY_OUT_VENDOR)/etc/powerhint.json |
| |
| # Protobuf |
| PRODUCT_PACKAGES += \ |
| libprotobuf-cpp-full-3.9.1-vendorcompat |
| |
| # Public Libraries |
| PRODUCT_COPY_FILES += \ |
| $(COMMON_PATH)/configs/linker/public.libraries.txt:$(TARGET_COPY_OUT_VENDOR)/etc/public.libraries.txt |
| |
| # RIL |
| PRODUCT_PACKAGES += \ |
| android.hardware.radio@1.4.vendor:64 \ |
| android.hardware.radio.config@1.2.vendor:64 \ |
| android.hardware.radio.deprecated@1.0.vendor:64 |
| |
| PRODUCT_PACKAGES += \ |
| secril_config_svc |
| |
| # Sensors |
| PRODUCT_PACKAGES += \ |
| android.hardware.contexthub@1.0.vendor:64 \ |
| android.hardware.sensors-service.samsung-multihal |
| |
| # Shims |
| PRODUCT_PACKAGES += \ |
| libshim_oemcrypto \ |
| libshim_sensorndkbridge |
| |
| # Soong Namespaces |
| PRODUCT_SOONG_NAMESPACES += \ |
| $(COMMON_PATH) \ |
| hardware/google/interfaces \ |
| hardware/google/pixel \ |
| hardware/samsung |
| |
| # S Pen |
| ifeq ($(TARGET_HAVE_SPEN),true) |
| PRODUCT_PACKAGES += \ |
| SPenActions |
| |
| PRODUCT_PACKAGES += \ |
| vendor.samsung.hardware.spen-service.davinci |
| endif |
| |
| # Thermal |
| PRODUCT_PACKAGES += \ |
| android.hardware.thermal-service.samsung \ |
| thermal_symlinks.samsung |
| |
| PRODUCT_COPY_FILES += \ |
| $(COMMON_PATH)/configs/thermal/thermal_info_config.json:$(TARGET_COPY_OUT_VENDOR)/etc/thermal_info_config.json |
| |
| # Touch HAL |
| PRODUCT_PACKAGES += \ |
| vendor.lineage.touch@1.0-service.samsung |
| |
| # USB |
| PRODUCT_PACKAGES += \ |
| android.hardware.usb-service.samsung |
| |
| # Vibrator |
| PRODUCT_PACKAGES += \ |
| android.hardware.vibrator-service.samsung |
| |
| # WiFi |
| PRODUCT_PACKAGES += \ |
| WifiOverlay \ |
| android.hardware.wifi-service \ |
| hostapd \ |
| wpa_supplicant \ |
| wpa_supplicant.conf |
| |
| ifeq ($(findstring BOARD_WLAN_BCMDHD_SAE, $(shell cat external/wpa_supplicant_8/wpa_supplicant/Android.mk)),) |
| $(warning wpa_supplicant does not support BOARD_WLAN_BCMDHD_SAE, WPA3 will not work!) |
| $(warning Please include the BCMDHD SAE authentication offload patch in your build.) |
| |
| PRODUCT_PACKAGES += \ |
| WifiOverlayNoSAE |
| endif |
| |
| PRODUCT_COPY_FILES += \ |
| $(COMMON_PATH)/configs/wifi/wpa_supplicant_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/wpa_supplicant_overlay.conf |