# Call proprietary blob setup ifeq ($(TARGET_LOCAL_ARCH),arm64) $(call inherit-product, vendor/samsung/universal7885-common/universal7885-common-vendor.mk) endif # .apex packages $(call inherit-product, $(SRC_TARGET_DIR)/product/updatable_apex.mk) # Client Id base PRODUCT_GMS_CLIENTID_BASE := android-samsung # Evox TARGET_SUPPORTS_TOUCHGESTURES := true # Allow Copying of apks. PRODUCT_BROKEN_VERIFY_USES_LIBRARIES := true # Disable Postrender Cleanup TARGET_DISABLE_POSTRENDER_CLEANUP := true # For *_auto_generated_rro_vendor.apk PRODUCT_ENFORCE_RRO_TARGETS := framework-res SystemUI Bluetooth PRODUCT_ENFORCE_RRO_EXCLUDED_OVERLAYS := # leave it empty PRODUCT_PACKAGES += \ android.hardware.audio@7.0-impl \ android.hardware.audio.service \ android.hardware.audio.effect@7.0-impl \ libtinycompress \ audio.r_submix.default \ audio.usb.default # Audio (BT) PRODUCT_PACKAGES += \ android.hardware.bluetooth.audio-impl \ audio.bluetooth.default # Audio Configs PRODUCT_COPY_FILES += \ $(LOCAL_PATH)/configs/audio/bluetooth_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_audio_policy_configuration.xml \ frameworks/av/services/audiopolicy/config/audio_policy_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_volumes.xml \ frameworks/av/services/audiopolicy/config/default_volume_tables.xml:$(TARGET_COPY_OUT_VENDOR)/etc/default_volume_tables.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/config/usb_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/usb_audio_policy_configuration.xml \ frameworks/av/services/audiopolicy/config/audio_policy_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_volumes.xml \ frameworks/av/services/audiopolicy/config/default_volume_tables.xml:$(TARGET_COPY_OUT_VENDOR)/etc/default_volume_tables.xml \ $(LOCAL_PATH)/configs/audio/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration.xml \ $(LOCAL_PATH)/configs/audio/audio_effects.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_effects.xml # Bluetooth PRODUCT_PACKAGES += \ android.hardware.bluetooth@1.1-service \ libbt-vendor PRODUCT_COPY_FILES += \ hardware/samsung_slsi/libbt/conf/bt_did.conf:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth/bt_did.conf \ hardware/samsung_slsi/libbt/conf/bt_vendor.conf:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth/bt_vendor.conf # Set the Bluetooth Class of Device # Service Field: 0x5A -> 90 # Bit 17: Networking # Bit 19: Capturing # Bit 20: Object Transfer # Bit 22: Telephony # MAJOR_CLASS: 0x02 -> 2 (Phone) # MINOR_CLASS: 0x0C -> 12 (Smart Phone) PRODUCT_PRODUCT_PROPERTIES += \ bluetooth.device.class_of_device=90,2,12 # Set supported Bluetooth profiles to enabled PRODUCT_PRODUCT_PROPERTIES += \ bluetooth.profile.asha.central.enabled=true \ bluetooth.profile.a2dp.source.enabled=true \ bluetooth.profile.avrcp.target.enabled=true \ bluetooth.profile.bap.broadcast.assist.enabled=true \ bluetooth.profile.bap.unicast.server.enabled=true \ bluetooth.profile.bas.client.enabled=true \ bluetooth.profile.csip.set_coordinator.enabled=true \ bluetooth.profile.gatt.enabled=true \ bluetooth.profile.hap.client.enabled=true \ bluetooth.profile.hfp.ag.enabled=true \ bluetooth.profile.hid.device.enabled=true \ bluetooth.profile.hid.host.enabled=true \ bluetooth.profile.map.server.enabled=true \ bluetooth.profile.mcp.server.enabled=true \ bluetooth.profile.opp.enabled=true \ bluetooth.profile.pan.nap.enabled=true \ bluetooth.profile.pan.panu.enabled=true \ bluetooth.profile.pbap.server.enabled=true \ bluetooth.profile.sap.server.enabled=true \ bluetooth.profile.tbs.server.enabled=true \ bluetooth.profile.vc.server.enabled=true # Camera TARGET_BOARD_CAMERA_COUNT ?= 3 ifeq ($(TARGET_BOARD_CAMERA_COUNT), 3) PRODUCT_PACKAGES += \ android.hardware.camera.provider@2.5-service.exynos7885 else PRODUCT_PACKAGES += \ android.hardware.camera.provider@2.5-service endif PRODUCT_PACKAGES += \ libGrallocWrapper \ libacryl # Camera app PRODUCT_PACKAGES += \ Aperture # Charger PRODUCT_PACKAGES += \ libsuspend # Debug $(call inherit-product, hardware/samsung-ext/interfaces/debug-tools/debug.mk) # DRM PRODUCT_PACKAGES += \ android.hardware.drm-service.clearkey \ android.hardware.drm@1.3.vendor # Fingerprint TARGET_BOARD_HAS_FP ?= true ifeq ($(TARGET_BOARD_HAS_FP), true) PRODUCT_PACKAGES += \ android.hardware.biometrics.fingerprint@2.3-service.samsung endif # Gatekeeper PRODUCT_PACKAGES += \ android.hardware.gatekeeper@1.0-impl \ android.hardware.gatekeeper@1.0-service # GPS PRODUCT_PACKAGES += \ android.hardware.gnss@2.1.vendor \ android.frameworks.sensorservice@1.0.vendor # Graphics PRODUCT_PACKAGES += \ android.hardware.graphics.allocator@2.0-impl \ android.hardware.graphics.allocator@2.0-service \ android.hardware.graphics.mapper@2.0-impl \ libgui_vendor PRODUCT_PACKAGES += \ android.hardware.composer.hwc3-service.slsi \ gralloc.$(TARGET_SOC) \ libion_exynos # Health PRODUCT_PACKAGES += \ android.hardware.health@2.1-impl \ android.hardware.health@2.1-impl.recovery \ android.hardware.health@2.1-service # HIDL PRODUCT_PACKAGES += \ libhidltransport \ libhidltransport.vendor \ libhwbinder \ libhwbinder.vendor \ libunwindstack.vendor # Init PRODUCT_PACKAGES += \ fstab.$(TARGET_SOC) \ fstab.enableswap \ init.exynos7885.rc \ init.exynos7885.usb.rc \ wifi_sec.rc \ init.target.rc \ init.baseband.rc ifeq ($(TARGET_HAS_UDFPS),true) PRODUCT_PACKAGES += \ init.udfps.rc endif # Lights PRODUCT_PACKAGES += \ android.hardware.light-service.samsung # Keylayout PRODUCT_COPY_FILES += \ $(LOCAL_PATH)/configs/keylayout/Codec3035_Headset_Events.kl:$(TARGET_COPY_OUT_VENDOR)/usr/keylayout/Codec3035_Headset_Events.kl \ $(LOCAL_PATH)/configs/keylayout/uinput-sec-fp.kl:$(TARGET_COPY_OUT_VENDOR)/usr/keylayout/uinput-sec-fp.kl # Keymaster PRODUCT_PACKAGES += \ android.hardware.keymaster@4.0-service.samsung \ libkeymaster4_1support.vendor # 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 \ libnfc-nci \ libnfc_nci_jni \ NfcNci \ Tag PRODUCT_COPY_FILES += \ $(LOCAL_PATH)/configs/nfc/libnfc-sec-vendor.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libnfc-sec-vendor.conf # Overlays DEVICE_PACKAGE_OVERLAYS += $(LOCAL_PATH)/overlay # DEVICE_PACAKGE_OVERLAYS += $(LOCAL_PATH)/overlay-rom # OMX PRODUCT_PACKAGES += \ libstagefrighthw \ libExynosOMX_Core \ libExynosOMX_Resourcemanager \ libOMX.Exynos.AVC.Decoder \ libOMX.Exynos.AVC.Encoder \ libOMX.Exynos.HEVC.Decoder \ libOMX.Exynos.HEVC.Encoder \ libOMX.Exynos.MPEG4.Decoder \ libOMX.Exynos.MPEG4.Encoder \ libOMX.Exynos.VP8.Decoder \ libOMX.Exynos.VP8.Encoder \ libOMX.Exynos.VP9.Decoder \ libOMX.Exynos.WMV.Decoder # 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.ethernet.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.ethernet.xml \ frameworks/native/data/etc/android.hardware.nfc.hce.xml:$(TARGET_COPY_OUT_ODM)/etc/permissions/sku_NFC/android.hardware.nfc.hce.xml \ frameworks/native/data/etc/android.hardware.nfc.hcef.xml:$(TARGET_COPY_OUT_ODM)/etc/permissions/sku_NFC/android.hardware.nfc.hcef.xml \ frameworks/native/data/etc/android.hardware.nfc.uicc.xml:$(TARGET_COPY_OUT_ODM)/etc/permissions/sku_NFC/android.hardware.nfc.uicc.xml \ frameworks/native/data/etc/android.hardware.nfc.xml:$(TARGET_COPY_OUT_ODM)/etc/permissions/sku_NFC/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.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.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.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.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.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.midi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.midi.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/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 += \ $(LOCAL_PATH)/configs/power/powerhint.json:$(TARGET_COPY_OUT_VENDOR)/etc/powerhint.json # Power Stats impl PRODUCT_PACKAGES += \ android.hardware.power.stats-service.exynos7 # Protobuf PRODUCT_PACKAGES += \ libprotobuf-cpp-full-3.9.1-vendorcompat \ libprotobuf-cpp-lite-3.9.1-vendorcompat # Public Libraries PRODUCT_COPY_FILES += \ $(LOCAL_PATH)/configs/public.libraries.txt:$(TARGET_COPY_OUT_VENDOR)/etc/public.libraries.txt # RIL PRODUCT_PACKAGES += \ android.hardware.radio@1.4.vendor \ android.hardware.radio@1.0 \ android.hardware.radio.config@1.2.vendor \ android.hardware.radio.deprecated@1.0.vendor PRODUCT_PACKAGES += \ secril_config_svc # Ueventd PRODUCT_COPY_FILES += \ $(LOCAL_PATH)/rootdir/etc/ueventd.rc:$(TARGET_COPY_OUT_VENDOR)/etc/ueventd.rc # Screen density PRODUCT_AAPT_CONFIG := normal PRODUCT_AAPT_PREF_CONFIG := xxhdpi # DAP PRODUCT_PACKAGES += \ SamsungDAP # Samsung Ext Flash PRODUCT_PACKAGES += \ FlashControl \ SmartCharge PRODUCT_PACKAGES += \ vendor.lineage.touch@1.0-service.samsung \ vendor.lineage.touch@1.0-service.ss \ vendor.lineage.fastcharge@1.0-service.samsung # Sensors PRODUCT_PACKAGES += \ android.hardware.sensors@1.0-impl.samsung \ libsensorndkbridge # Shims PRODUCT_PACKAGES += \ libshim_sensorndkbridge # Skip Mount PRODUCT_PACKAGES += \ gsi_skip_mount.cfg # Soong namespaces PRODUCT_SOONG_NAMESPACES += \ $(LOCAL_PATH) \ hardware/google/interfaces \ hardware/google/pixel \ hardware/samsung \ hardware/samsung/aidl/power-libperfmgr # Speed profile services and wifi-service to reduce RAM and storage PRODUCT_SYSTEM_SERVER_COMPILER_FILTER := speed-profile PRODUCT_USE_PROFILE_FOR_BOOT_IMAGE := true PRODUCT_DEX_PREOPT_BOOT_IMAGE_PROFILE_LOCATION := frameworks/base/config/boot-image-profile.txt # Task profiles PRODUCT_COPY_FILES += \ $(LOCAL_PATH)/configs/tasks/task_profiles.json:$(TARGET_COPY_OUT_VENDOR)/etc/task_profiles.json # Thermal PRODUCT_PACKAGES += \ android.hardware.thermal@1.0-impl \ android.hardware.thermal@1.0-service # Vibrator PRODUCT_PACKAGES += \ android.hardware.vibrator-service.samsung # Workaround for vintf issues... PRODUCT_COPY_FILES += \ $(LOCAL_PATH)/configs/vintf/compatibility_matrix.3.xml:$(TARGET_COPY_OUT_SYSTEM)/etc/vintf/compatibility_matrix.3.xml # Wifi PRODUCT_PACKAGES += \ android.hardware.wifi-service \ hostapd \ WifiOverlay \ wpa_supplicant PRODUCT_COPY_FILES += \ $(LOCAL_PATH)/configs/wifi/p2p_supplicant_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/p2p_supplicant_overlay.conf \ $(LOCAL_PATH)/configs/wifi/wpa_supplicant.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/wpa_supplicant.conf \ $(LOCAL_PATH)/configs/wifi/wpa_supplicant_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/wpa_supplicant_overlay.conf PRODUCT_CFI_INCLUDE_PATHS += hardware/samsung_slsi/scsc_wifibt/wpa_supplicant_lib # Extra Command-Line Tools PRODUCT_PACKAGES += \ sgdisk \ strace # Forcefully add messaging to build list PRODUCT_PACKAGES += \ messaging