Compare commits

...

22 Commits

Author SHA1 Message Date
johnmart19 68834af275 sm7125-common: Update QTI USB to android.hardware.usb-service.qti 2 weeks ago
Jenna 085a37a08f sm7125-common: A525FXXS9FXJ1 2 weeks ago
Jenna effa278d8d sm7125-common: overlay: fix dynamic clock-icon 2 weeks ago
pjgowtham 45dc0da0bc sm7125-common: fingerprint: Set dim layer zOrder 2 weeks ago
Jenna 895f60c01e sm7125-common: Build libartpalette 2 weeks ago
Ruchit d16ef74fbe sm7125-common: Also patch libwvhidl with libcrypto-v33.so 2 weeks ago
GhostMaster69-dev 49a9f8d820 sm7125-common: Override default C Compiler for Kernel compilation 2 weeks ago
Kelvin Zhang a4ea2af398 sm7125-common: Explicitly set as an non-AB target 2 weeks ago
Kelvin Zhang 5397337481 sm7125-common: Allow to access bootable/deprecated-ota targets 2 weeks ago
Tim Zimmermann 6be03b6a1d sm7125-common: recovery: Update edify include path for Android V 2 weeks ago
Aaron Kling a165f4cc8e sm7125-common: Remove software omx codec references 2 weeks ago
Bruno Martins ec0333ad28 sm7125-common: Unset BUILD_BROKEN_INCORRECT_PARTITION_IMAGES 2 weeks ago
Bruno Martins 25cfb90d75 sm7125-common: Declare EGL libs as symlinks during extraction 2 weeks ago
Bruno Martins 4453623d62 sm7125-common: Move to new RFS install_symlink targets 2 weeks ago
Jenna 46a154985b sm7125-common: Inherit from QTI FCM 2 weeks ago
Bruno Martins 8aef2e2971 sm7125-common: Use the common device compatibility matrix from QCOM 2 weeks ago
Tim Zimmermann 9b089519e0 sm7125-common: Switch to AIDL camera HAL 2 weeks ago
Michael Bestas 97d76189ec sm7125-common: Build missing libraries for 14 QPR3 2 weeks ago
Simon1511 6326aa955b sm7125-common: update everything to A525FXXS7FXE2 2 weeks ago
Tim Zimmermann 9fa310ecfd sm7125-common: Use pixel power HAL directly 2 weeks ago
Simon1511 e0c88d3ade sm7125-common: switch to U RIL 2 weeks ago
Simon1511 0ace0688bd Revert "sm7125-common: audio: add dedicated service to pass g_call_sim_slot" 2 weeks ago
  1. 149
      Android.mk
  2. 10
      BoardConfigCommon.mk
  3. 6
      audio/impl/Android.bp
  4. 31
      audio/impl/PrimaryDevice.cpp
  5. 3
      audio/impl/include/core/default/Device.h
  6. 30
      audio/service/Android.bp
  7. 55
      audio/service/audio_parameter_service.cpp
  8. 16
      audio/service/audio_parameter_service.rc
  9. 44
      common.mk
  10. 88
      configs/compatibility_matrix.xml
  11. 848
      configs/framework_compatibility_matrix.xml
  12. 6
      configs/manifest.xml
  13. 5
      configs/media/media_codecs.xml
  14. 4
      configs/wifi/WCNSS_qcom_cfg.ini
  15. 2
      configs/wifi/wpa_supplicant_overlay.conf
  16. 8
      extract-files.sh
  17. 6
      fingerprint/UdfpsExtension.cpp
  18. 116
      overlay/packages/apps/DeskClock/res/mipmap-anydpi/launcher_clock.xml
  19. 128
      proprietary-files.txt
  20. 2
      recovery/Android.bp
  21. 4
      rootdir/Android.mk
  22. 2
      rootdir/etc/init.samsung.rc
  23. 2
      rootdir/etc/init.target.rc
  24. 6
      rootdir/etc/init.vendor.rilcommon.rc
  25. 2
      rootdir/etc/init.vendor.sensors.rc
  26. 3
      rootdir/etc/ueventd.qcom.rc
  27. 24
      rootdir/etc/vendor.samsung.rilchip.qcom.rc
  28. 7
      rootdir/etc/wifi_sec.rc
  29. 8
      sepolicy/private/audio_parameter_service.te
  30. 1
      sepolicy/private/file_contexts
  31. 1
      sepolicy/public/property.te
  32. 5
      sepolicy/vendor/file_contexts
  33. 2
      sepolicy/vendor/hal_audio_default.te
  34. 3
      sepolicy/vendor/property_contexts
  35. 2
      sepolicy/vendor/rild.te
  36. 13
      sepolicy/vendor/sehradiomanager.te
  37. 14
      sepolicy/vendor/service_contexts
  38. 4
      vendor.prop

@ -44,153 +44,4 @@ $(DSP_MOUNT_POINT): $(LOCAL_INSTALLED_MODULE)
ALL_DEFAULT_INSTALLED_MODULES += $(FIRMWARE_MOUNT_POINT) $(BT_FIRMWARE_MOUNT_POINT) $(DSP_MOUNT_POINT) $(FIRMWARE_MODEM_MOUNT_POINT)
RFS_MSM_ADSP_SYMLINKS := $(TARGET_OUT_VENDOR)/rfs/msm/adsp/
$(RFS_MSM_ADSP_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
@echo "Creating RFS MSM ADSP folder structure: $@"
@rm -rf $@/*
@mkdir -p $(dir $@)/readonly/vendor
$(hide) ln -sf /data/vendor/tombstones/rfs/lpass $@/ramdumps
$(hide) ln -sf /mnt/vendor/persist/rfs/msm/adsp $@/readwrite
$(hide) ln -sf /mnt/vendor/persist/rfs/shared $@/shared
$(hide) ln -sf /mnt/vendor/persist/hlos_rfs/shared $@/hlos
$(hide) ln -sf /vendor/firmware_mnt $@/readonly/firmware
$(hide) ln -sf /vendor/firmware $@/readonly/vendor/firmware
RFS_MDM_ADSP_SYMLINKS := $(TARGET_OUT_VENDOR)/rfs/mdm/adsp/
$(RFS_MDM_ADSP_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
@echo "Creating RFS MDM ADSP folder structure: $@"
@rm -rf $@/*
@mkdir -p $(dir $@)/readonly/vendor
$(hide) ln -sf /data/vendor/tombstones/rfs/lpass $@/ramdumps
$(hide) ln -sf /mnt/vendor/persist/rfs/mdm/adsp $@/readwrite
$(hide) ln -sf /mnt/vendor/persist/rfs/shared $@/shared
$(hide) ln -sf /mnt/vendor/persist/hlos_rfs/shared $@/hlos
$(hide) ln -sf /vendor/firmware_mnt $@/readonly/firmware
$(hide) ln -sf /vendor/firmware $@/readonly/vendor/firmware
RFS_MSM_CDSP_SYMLINKS := $(TARGET_OUT_VENDOR)/rfs/msm/cdsp/
$(RFS_MSM_CDSP_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
@echo "Creating RFS MSM CDSP folder structure: $@"
@rm -rf $@/*
@mkdir -p $(dir $@)/readonly/vendor
$(hide) ln -sf /data/vendor/tombstones/rfs/cdsp $@/ramdumps
$(hide) ln -sf /mnt/vendor/persist/rfs/msm/cdsp $@/readwrite
$(hide) ln -sf /mnt/vendor/persist/rfs/shared $@/shared
$(hide) ln -sf /mnt/vendor/persist/hlos_rfs/shared $@/hlos
$(hide) ln -sf /vendor/firmware_mnt $@/readonly/firmware
$(hide) ln -sf /vendor/firmware $@/readonly/vendor/firmware
RFS_MDM_CDSP_SYMLINKS := $(TARGET_OUT_VENDOR)/rfs/mdm/cdsp/
$(RFS_MDM_CDSP_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
@echo "Creating RFS MDM CDSP folder structure: $@"
@rm -rf $@/*
@mkdir -p $(dir $@)/readonly/vendor
$(hide) ln -sf /data/vendor/tombstones/rfs/cdsp $@/ramdumps
$(hide) ln -sf /mnt/vendor/persist/rfs/mdm/cdsp $@/readwrite
$(hide) ln -sf /mnt/vendor/persist/rfs/shared $@/shared
$(hide) ln -sf /mnt/vendor/persist/hlos_rfs/shared $@/hlos
$(hide) ln -sf /vendor/firmware_mnt $@/readonly/firmware
$(hide) ln -sf /vendor/firmware $@/readonly/vendor/firmware
RFS_MSM_MPSS_SYMLINKS := $(TARGET_OUT_VENDOR)/rfs/msm/mpss/
$(RFS_MSM_MPSS_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
@echo "Creating RFS MSM MPSS folder structure: $@"
@rm -rf $@/*
@mkdir -p $(dir $@)/readonly/vendor
$(hide) ln -sf /data/vendor/tombstones/rfs/modem $@/ramdumps
$(hide) ln -sf /mnt/vendor/persist/rfs/msm/mpss $@/readwrite
$(hide) ln -sf /mnt/vendor/persist/rfs/shared $@/shared
$(hide) ln -sf /mnt/vendor/persist/hlos_rfs/shared $@/hlos
$(hide) ln -sf /vendor/firmware_mnt $@/readonly/firmware
$(hide) ln -sf /vendor/firmware $@/readonly/vendor/firmware
RFS_MDM_MPSS_SYMLINKS := $(TARGET_OUT_VENDOR)/rfs/mdm/mpss/
$(RFS_MDM_MPSS_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
@echo "Creating RFS MDM MPSS folder structure: $@"
@rm -rf $@/*
@mkdir -p $(dir $@)/readonly/vendor
$(hide) ln -sf /data/vendor/tombstones/rfs/modem $@/ramdumps
$(hide) ln -sf /mnt/vendor/persist/rfs/mdm/mpss $@/readwrite
$(hide) ln -sf /mnt/vendor/persist/rfs/shared $@/shared
$(hide) ln -sf /mnt/vendor/persist/hlos_rfs/shared $@/hlos
$(hide) ln -sf /vendor/firmware_mnt $@/readonly/firmware
$(hide) ln -sf /vendor/firmware $@/readonly/vendor/firmware
RFS_MSM_SLPI_SYMLINKS := $(TARGET_OUT_VENDOR)/rfs/msm/slpi/
$(RFS_MSM_SLPI_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
@echo "Creating RFS MSM SLPI folder structure: $@"
@rm -rf $@/*
@mkdir -p $(dir $@)/readonly/vendor
$(hide) ln -sf /data/vendor/tombstones/rfs/slpi $@/ramdumps
$(hide) ln -sf /mnt/vendor/persist/rfs/msm/slpi $@/readwrite
$(hide) ln -sf /mnt/vendor/persist/rfs/shared $@/shared
$(hide) ln -sf /mnt/vendor/persist/hlos_rfs/shared $@/hlos
$(hide) ln -sf /vendor/firmware_mnt $@/readonly/firmware
$(hide) ln -sf /vendor/firmware $@/readonly/vendor/firmware
RFS_MDM_SLPI_SYMLINKS := $(TARGET_OUT_VENDOR)/rfs/mdm/slpi/
$(RFS_MDM_SLPI_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
@echo "Creating RFS MDM SLPI folder structure: $@"
@rm -rf $@/*
@mkdir -p $(dir $@)/readonly/vendor
$(hide) ln -sf /data/vendor/tombstones/rfs/slpi $@/ramdumps
$(hide) ln -sf /mnt/vendor/persist/rfs/mdm/slpi $@/readwrite
$(hide) ln -sf /mnt/vendor/persist/rfs/shared $@/shared
$(hide) ln -sf /mnt/vendor/persist/hlos_rfs/shared $@/hlos
$(hide) ln -sf /vendor/firmware_mnt $@/readonly/firmware
$(hide) ln -sf /vendor/firmware $@/readonly/vendor/firmware
RFS_MDM_TN_SYMLINKS := $(TARGET_OUT_VENDOR)/rfs/mdm/tn/
$(RFS_MDM_TN_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
@echo "Creating RFS MDM TN folder structure: $@"
@rm -rf $@/*
@mkdir -p $(dir $@)/readonly/vendor
$(hide) ln -sf /data/vendor/tombstones/rfs/tn $@/ramdumps
$(hide) ln -sf /mnt/vendor/persist/rfs/mdm/tn $@/readwrite
$(hide) ln -sf /mnt/vendor/persist/rfs/shared $@/shared
$(hide) ln -sf /mnt/vendor/persist/hlos_rfs/shared $@/hlos
$(hide) ln -sf /vendor/firmware_mnt $@/readonly/firmware
RFS_APQ_GNSS_SYMLINKS := $(TARGET_OUT_VENDOR)/rfs/apq/gnss/
$(RFS_APQ_GNSS_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
@echo "Creating RFS APQ GNSS folder structure: $@"
@rm -rf $@/*
@mkdir -p $(dir $@)/readonly/vendor
$(hide) ln -sf /data/vendor/tombstones/rfs/modem $@/ramdumps
$(hide) ln -sf /mnt/vendor/persist/rfs/apq/gnss $@/readwrite
$(hide) ln -sf /mnt/vendor/persist/rfs/shared $@/shared
$(hide) ln -sf /mnt/vendor/persist/hlos_rfs/shared $@/hlos
$(hide) ln -sf /vendor/firmware_mnt $@/readonly/firmware
$(hide) ln -sf /vendor/firmware $@/readonly/vendor/firmware
EGL_LIBS := libq3dtools_adreno.so libGLESv2_adreno.so libEGL_adreno.so
EGL_32_SYMLINKS := $(addprefix $(TARGET_OUT_VENDOR)/lib/,$(notdir $(EGL_LIBS)))
$(EGL_32_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
@echo "EGL 32 lib link: $@"
@mkdir -p $(dir $@)
@rm -rf $@
$(hide) ln -sf egl/$(notdir $@) $@
EGL_64_SYMLINKS := $(addprefix $(TARGET_OUT_VENDOR)/lib64/,$(notdir $(EGL_LIBS)))
$(EGL_64_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
@echo "EGL lib link: $@"
@mkdir -p $(dir $@)
@rm -rf $@
$(hide) ln -sf egl/$(notdir $@) $@
ALL_DEFAULT_INSTALLED_MODULES += \
$(RFS_MSM_ADSP_SYMLINKS) \
$(RFS_MSM_CDSP_SYMLINKS) \
$(RFS_MSM_MPSS_SYMLINKS) \
$(RFS_MSM_SLPI_SYMLINKS) \
$(RFS_MDM_ADSP_SYMLINKS) \
$(RFS_MDM_CDSP_SYMLINKS) \
$(RFS_MDM_MPSS_SYMLINKS) \
$(RFS_MDM_SLPI_SYMLINKS) \
$(RFS_MDM_TN_SYMLINKS) \
$(RFS_APQ_GNSS_SYMLINKS) \
$(EGL_32_SYMLINKS) \
$(EGL_64_SYMLINKS)
endif

@ -18,7 +18,6 @@ COMMON_PATH := device/samsung/sm7125-common
BUILD_BROKEN_DUP_RULES := true
BUILD_BROKEN_ELF_PREBUILT_PRODUCT_COPY_FILES := true
BUILD_BROKEN_INCORRECT_PARTITION_IMAGES := true
# APEX image
DEXPREOPT_GENERATE_APEX_IMAGE := true
@ -63,6 +62,7 @@ TARGET_KERNEL_SOURCE := kernel/samsung/sm7125
TARGET_KERNEL_ARCH := arm64
TARGET_KERNEL_HEADER_ARCH := arm64
TARGET_LINUX_KERNEL_VERSION := 4.14
KERNEL_CC := CC=clang
# Kernel flags
BOARD_KERNEL_CMDLINE += console=null androidboot.hardware=qcom androidboot.memcg=1 lpm_levels.sleep_disabled=1 video=vfb:640x400,bpp=32,memsize=3072000 msm_rtb.filter=0x237 service_locator.enable=1 swiotlb=1 androidboot.usbcontroller=a600000.dwc3 printk.devkmsg=on firmware_class.path=/vendor/firmware_mnt/image
@ -162,9 +162,11 @@ TARGET_ADDITIONAL_GRALLOC_10_USAGE_BITS := 0x2000U | 0x400000000LL
# HIDL manifests
DEVICE_MANIFEST_FILE := $(COMMON_PATH)/configs/manifest.xml
DEVICE_MATRIX_FILE := $(COMMON_PATH)/configs/compatibility_matrix.xml
DEVICE_MATRIX_FILE := hardware/qcom-caf/common/compatibility_matrix.xml
DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE := \
$(COMMON_PATH)/configs/framework_compatibility_matrix.xml \
hardware/samsung/vintf/samsung_framework_compatibility_matrix.xml \
hardware/qcom-caf/common/vendor_framework_compatibility_matrix.xml \
vendor/lineage/config/device_framework_matrix.xml
# QCOM
@ -210,8 +212,8 @@ TARGET_RELEASETOOLS_EXTENSIONS := $(COMMON_PATH)/releasetools
# SePolicy
include device/qcom/sepolicy_vndr/SEPolicy.mk
BOARD_VENDOR_SEPOLICY_DIRS += $(COMMON_PATH)/sepolicy/vendor
SYSTEM_EXT_PRIVATE_SEPOLICY_DIRS += $(COMMON_PATH)/sepolicy/private
SYSTEM_EXT_PUBLIC_SEPOLICY_DIRS += $(COMMON_PATH)/sepolicy/public
PRODUCT_PRIVATE_SEPOLICY_DIRS += $(COMMON_PATH)/sepolicy/private
PRODUCT_PUBLIC_SEPOLICY_DIRS += $(COMMON_PATH)/sepolicy/public
# Vibrator
$(call soong_config_set,samsungVibratorVars,duration_amplitude,true)

@ -68,6 +68,7 @@ cc_library_shared {
"android.hardware.audio@2.0-util",
"android.hardware.audio.common@2.0",
"android.hardware.audio.common@2.0-util",
"libcutils",
],
cflags: [
"-DMAJOR_VERSION=2",
@ -85,6 +86,7 @@ cc_library_shared {
"android.hardware.audio@4.0-util",
"android.hardware.audio.common@4.0",
"android.hardware.audio.common@4.0-util",
"libcutils",
],
cflags: [
"-DMAJOR_VERSION=4",
@ -101,6 +103,7 @@ cc_library_shared {
"android.hardware.audio@5.0-util",
"android.hardware.audio.common@5.0",
"android.hardware.audio.common@5.0-util",
"libcutils",
],
cflags: [
"-DMAJOR_VERSION=5",
@ -117,6 +120,7 @@ cc_library_shared {
"android.hardware.audio@6.0-util",
"android.hardware.audio.common@6.0",
"android.hardware.audio.common@6.0-util",
"libcutils",
],
cflags: [
"-DMAJOR_VERSION=6",
@ -135,6 +139,7 @@ cc_library_shared {
"android.hardware.audio.common@7.0-enums",
"android.hardware.audio.common@7.0-util",
"libbase",
"libcutils",
],
cflags: [
"-DMAJOR_VERSION=7",
@ -154,6 +159,7 @@ cc_library_shared {
"android.hardware.audio.common@7.1-enums",
"android.hardware.audio.common@7.1-util",
"libbase",
"libcutils",
],
cflags: [
"-DMAJOR_VERSION=7",

@ -19,6 +19,9 @@
#include "core/default/PrimaryDevice.h"
#include "core/default/Util.h"
#include <cutils/properties.h>
#include <string.h>
#if MAJOR_VERSION >= 4
#include <cmath>
#endif
@ -208,6 +211,34 @@ Return<Result> PrimaryDevice::setVoiceVolume(float volume) {
}
Return<Result> PrimaryDevice::setMode(AudioMode mode) {
/* On stock ROM Samsung sets the g_call_state and g_call_sim_slot audio parameters
* in the framework, breaking it on AOSP ROMs.
* For the g_call_sim_slot parameter 0x01 describes SIM1 and 0x02 SIM2.
*/
char simSlot1[92], simSlot2[92];
// These props return either 0 (not calling),
// or 1 (SIM is calling)
property_get("vendor.calls.slot_id0", simSlot1, "");
property_get("vendor.calls.slot_id1", simSlot2, "");
// Wait until one sim slot reports a call
if (mode == AudioMode::IN_CALL) {
while (strcmp(simSlot1, "0") == 0 && strcmp(simSlot2, "0") == 0) {
property_get("vendor.calls.slot_id0", simSlot1, "");
property_get("vendor.calls.slot_id1", simSlot2, "");
}
}
if (strcmp(simSlot1, "1") == 0) {
// SIM1
mDevice->halSetParameters("g_call_sim_slot=0x01");
} else if (strcmp(simSlot2, "1") == 0) {
// SIM2
mDevice->halSetParameters("g_call_sim_slot=0x02");
}
// INVALID, CURRENT, CNT, MAX are reserved for internal use.
// TODO: remove the values from the HIDL interface
switch (mode) {

@ -173,6 +173,8 @@ struct Device : public IDevice, public ParametersUtil {
uint32_t version() const { return mDevice->common.version; }
int halSetParameters(const char* keysAndValues) override;
private:
bool mIsClosed;
audio_hw_device_t* mDevice;
@ -191,7 +193,6 @@ struct Device : public IDevice, public ParametersUtil {
// Methods from ParametersUtil.
char* halGetParameters(const char* keys) override;
int halSetParameters(const char* keysAndValues) override;
};
} // namespace implementation

@ -1,30 +0,0 @@
//
// Copyright (C) 2023 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
cc_binary {
name: "audio_parameter_service.samsung_sm7125",
init_rc: ["audio_parameter_service.rc"],
system_ext_specific: true,
srcs: [
"audio_parameter_service.cpp",
],
shared_libs: [
"libbase",
"libutils",
"libhidlbase",
"liblog",
"android.hardware.audio@7.0",
],
}

@ -1,55 +0,0 @@
/*
* Copyright (C) 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.
*/
#include <android-base/properties.h>
#include <android-base/logging.h>
#include <android/hardware/audio/7.0/IDevicesFactory.h>
using android::base::GetProperty;
using android::base::SetProperty;
using android::sp;
using ::android::hardware::hidl_string;
int main() {
sp<::android::hardware::audio::V7_0::IDevice> audioDevice;
LOG(DEBUG) << "Passing g_call_sim_slot parameter";
if (!audioDevice) {
::android::hardware::audio::V7_0::IDevicesFactory::getService()->openDevice(
"primary", [&](::android::hardware::audio::V7_0::Result, const sp<::android::hardware::audio::V7_0::IDevice>& result) {
audioDevice = result;
});
}
if (audioDevice != nullptr) {
std::string value = "";
if (strcmp(GetProperty("vendor.calls.slotid", "-1").c_str(), "1") == 0) {
// SIM 2
value = "0x02";
}
audioDevice->setParameters({}, {{"g_call_sim_slot", value}});
}
if (audioDevice != nullptr)
audioDevice->close();
SetProperty("vendor.calls.parameter_state", "1");
return 0;
}

@ -1,16 +0,0 @@
service audio_parameter_service /system_ext/bin/audio_parameter_service.samsung_sm7125
oneshot
disabled
on boot
setprop vendor.calls.parameter_state 0
on property:vendor.calls.slotid=1 && property:vendor.calls.parameter_state=0
stop audioserver
start audioserver
start audio_parameter_service
on property:vendor.calls.slotid=-1 && property:vendor.calls.parameter_state=1
setprop vendor.calls.parameter_state 0
stop audioserver
start audioserver

@ -16,6 +16,9 @@
COMMON_PATH := device/samsung/sm7125-common
# Add common definitions for Qualcomm
$(call inherit-product, hardware/qcom-caf/common/common.mk)
DEVICE_PACKAGE_OVERLAYS += $(COMMON_PATH)/overlay
# Partitions
@ -49,7 +52,7 @@ PRODUCT_PACKAGES += \
init.audio.samsung.rc \
init.nfc.samsung.rc \
init.vendor.onebinary.rc \
init.vendor.rilchip.rc \
vendor.samsung.rilchip.qcom.rc \
init.vendor.rilcommon.rc \
init.vendor.sensors.rc
@ -73,7 +76,7 @@ PRODUCT_PACKAGES += \
libqcomvoiceprocessing \
libqcompostprocbundle \
libvolumelistener \
audio_parameter_service.samsung_sm7125
libprocessgroup.vendor
PRODUCT_COPY_FILES += \
$(COMMON_PATH)/audio/configs/audio_configs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_configs.xml \
@ -100,9 +103,9 @@ PRODUCT_PACKAGES += \
# Camera
PRODUCT_PACKAGES += \
android.hardware.camera.provider@2.5-service.samsung \
android.hardware.camera.provider-service_32.samsung \
libgrallocusage.vendor \
vendor.qti.hardware.camera.device@1.0.vendor \
vendor.qti.hardware.camera.device@1.0.vendor
# CAS
PRODUCT_PACKAGES += \
@ -230,12 +233,8 @@ PRODUCT_PACKAGES += \
# 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 \
frameworks/av/media/libstagefright/data/media_codecs_google_c2_video.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_c2_video.xml \
frameworks/av/media/libstagefright/data/media_codecs_google_c2.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_c2.xml \
frameworks/av/media/libstagefright/data/media_codecs_google_video_le.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_video_le.xml
frameworks/av/media/libstagefright/data/media_codecs_google_c2.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_c2.xml
PRODUCT_COPY_FILES += \
$(COMMON_PATH)/configs/media/media_codecs_performance.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance.xml \
@ -334,16 +333,17 @@ PRODUCT_COPY_FILES += \
# Power
PRODUCT_PACKAGES += \
android.hardware.power-service.samsung-libperfmgr \
android.hardware.power-service.pixel-libperfmgr \
android.hardware.power@1.2.vendor
PRODUCT_COPY_FILES += \
$(COMMON_PATH)/configs/powerhint.json:$(TARGET_COPY_OUT_VENDOR)/etc/powerhint.json
# QMI
# QCOM
PRODUCT_PACKAGES += \
libjson \
libprotobuf-cpp-lite-3.9.1-vendorcompat
libprotobuf-cpp-lite-3.9.1-vendorcompat \
libsqlite.vendor
# Radio
PRODUCT_PACKAGES += \
@ -361,7 +361,9 @@ PRODUCT_PACKAGES += \
libxml2 \
librilutils \
librmnetctl \
secril_config_svc
secril_config_svc \
sehradiomanager \
libjsoncpp.vendor
# Sensors
PRODUCT_PACKAGES += \
@ -376,7 +378,8 @@ PRODUCT_COPY_FILES += \
# Thermal
PRODUCT_PACKAGES += \
android.hardware.thermal@2.0.vendor \
android.frameworks.cameraservice.service@2.1.vendor
android.frameworks.cameraservice.service@2.1.vendor \
libcamera_metadata.vendor
# Touch features
PRODUCT_PACKAGES += \
@ -386,9 +389,13 @@ PRODUCT_PACKAGES += \
PRODUCT_PACKAGES += \
vndservicemanager
# Update
AB_OTA_UPDATER := false
PRODUCT_SOONG_NAMESPACES += bootable/deprecated-ota
# USB
PRODUCT_PACKAGES += \
android.hardware.usb@1.3-service-qti \
android.hardware.usb-service.qti \
init.qcom.usb.rc \
init.qcom.usb.sh
@ -448,8 +455,11 @@ PRODUCT_SOONG_NAMESPACES += \
$(COMMON_PATH) \
hardware/google/interfaces \
hardware/google/pixel \
hardware/samsung \
hardware/samsung/aidl/power-libperfmgr
hardware/samsung
# libartpalette
PRODUCT_HOST_PACKAGES += \
libartpalette
# Prop files
TARGET_SYSTEM_PROP += $(COMMON_PATH)/system.prop

@ -1,88 +0,0 @@
<!--
Input:
compatibility_matrix.xml
device_compatibility_matrix.xml
device_compatibility_matrix.xml
vendor.samsung.frameworks.codecsolution-matrix.xml
-->
<compatibility-matrix version="2.0" type="device">
<hal format="hidl" optional="false">
<name>android.frameworks.schedulerservice</name>
<version>1.0</version>
<interface>
<name>ISchedulingPolicyService</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="false">
<name>android.frameworks.sensorservice</name>
<version>1.0</version>
<interface>
<name>ISensorManager</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="false">
<name>android.hidl.allocator</name>
<version>1.0</version>
<interface>
<name>IAllocator</name>
<instance>ashmem</instance>
</interface>
</hal>
<hal format="hidl" optional="false">
<name>android.hidl.manager</name>
<version>1.0</version>
<interface>
<name>IServiceManager</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="false">
<name>android.hidl.memory</name>
<version>1.0</version>
<interface>
<name>IMapper</name>
<instance>ashmem</instance>
</interface>
</hal>
<hal format="hidl" optional="false">
<name>android.hidl.token</name>
<version>1.0</version>
<interface>
<name>ITokenManager</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="false">
<name>android.system.wifi.keystore</name>
<version>1.0</version>
<interface>
<name>IKeystore</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.qti.hardware.qccsyshal</name>
<version>1.0</version>
<interface>
<name>IQccsyshal</name>
<instance>qccsyshal</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.qti.hardware.sigma_miracast</name>
<version>1.0</version>
<interface>
<name>Isigma_miracast</name>
<instance>sigmahal</instance>
</interface>
</hal>
<hal format="aidl" optional="true">
<name>vendor.samsung.frameworks.codecsolution</name>
<interface>
<name>ISehCodecSolution</name>
<instance>default</instance>
</interface>
</hal>
</compatibility-matrix>

@ -1,456 +1,4 @@
<compatibility-matrix version="2.0" type="framework">
<hal format="hidl" optional="true">
<name>android.hardware.automotive.evs</name>
<version>1.1</version>
<interface>
<name>IEvsEnumerator</name>
<instance>EvsEnumeratorHw</instance>
<instance>EvsEnumeratorHw-Mock</instance>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>android.hardware.gnss</name>
<version>1.0-1</version>
<version>2.0-1</version>
<interface>
<name>IGnss</name>
<instance>default</instance>
<instance>gnss_vendor</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>android.hardware.keymaster</name>
<version>4.0</version>
<interface>
<name>IKeymasterDevice</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>android.hardware.media.c2</name>
<version>1.0</version>
<interface>
<name>IComponentStore</name>
<instance>default</instance>
<instance>software</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>android.hardware.nfc</name>
<version>1.0</version>
<interface>
<name>INfc</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>android.hardware.nfc</name>
<version>1.2</version>
<interface>
<name>INfc</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>android.hardware.nfc</name>
<version>1.2</version>
<interface>
<name>INfc</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>android.hardware.radio</name>
<version>1.0-4</version>
<interface>
<name>IRadio</name>
<instance>slot1</instance>
<instance>slot2</instance>
</interface>
<interface>
<name>ISap</name>
<instance>slot1</instance>
<instance>slot2</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>android.hardware.radio</name>
<version>1.2</version>
<interface>
<name>ISap</name>
<instance>slot1</instance>
<instance>slot2</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>android.hardware.radio.config</name>
<version>1.0-1</version>
<interface>
<name>IRadioConfig</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>android.hardware.vibrator</name>
<version>1.3</version>
<interface>
<name>IVibrator</name>
<instance>default</instance>
</interface>
</hal>
<hal format="aidl" optional="true">
<name>android.hardware.power</name>
<interface>
<name>IPower</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>android.hardware.wifi.supplicant</name>
<version>1.0-4</version>
<interface>
<name>ISupplicant</name>
<instance>default</instance>
<instance>wigigp2p</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>com.qualcomm.qti.dpm.api</name>
<version>1.0</version>
<interface>
<name>IdpmQmi</name>
<instance>dpmQmiService</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>com.qualcomm.qti.wifidisplayhal</name>
<version>1.0</version>
<interface>
<name>IDSManager</name>
<instance>wifidisplaydshal</instance>
</interface>
<interface>
<name>IHDCPSession</name>
<instance>wifidisplayhdcphal</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>com.quicinc.cne.api</name>
<version>1.0-1</version>
<interface>
<name>IApiService</name>
<instance>cnd</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>com.quicinc.cne.server</name>
<version>2.0-2</version>
<interface>
<name>IServer</name>
<instance>cnd</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.display.color</name>
<version>1.0-5</version>
<interface>
<name>IDisplayColor</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.display.config</name>
<version>1.0-15</version>
<version>2.0</version>
<interface>
<name>IDisplayConfig</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.display.postproc</name>
<version>1.0</version>
<interface>
<name>IDisplayPostproc</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.qti.automotive.qcarcam</name>
<version>1.0</version>
<interface>
<name>IQcarCamera</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.qti.data.factory</name>
<version>1.0</version>
<version>2.0-1</version>
<interface>
<name>IFactory</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.qti.diaghal</name>
<version>1.0</version>
<interface>
<name>Idiag</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.qti.esepowermanager</name>
<version>1.0-1</version>
<interface>
<name>IEsePowerManager</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.qti.gnss</name>
<version>1.0-2</version>
<version>2.0-1</version>
<version>3.0</version>
<version>4.0</version>
<interface>
<name>ILocHidlGnss</name>
<instance>gnss_vendor</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.qti.hardware.alarm</name>
<version>1.0</version>
<interface>
<name>IAlarm</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.qti.hardware.audiohalext</name>
<version>1.0</version>
<interface>
<name>IAudioHalExt</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.qti.hardware.btconfigstore</name>
<version>1.0</version>
<version>2.0</version>
<interface>
<name>IBTConfigStore</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.qti.hardware.cacert</name>
<version>1.0</version>
<interface>
<name>IService</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.qti.hardware.camera.postproc</name>
<version>1.0</version>
<interface>
<name>IPostProcService</name>
<instance>camerapostprocservice</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.qti.hardware.capabilityconfigstore</name>
<version>1.0</version>
<interface>
<name>ICapabilityConfigStore</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.qti.hardware.cryptfshw</name>
<version>1.0</version>
<interface>
<name>ICryptfsHw</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.qti.hardware.cvp</name>
<version>1.0</version>
<interface>
<name>ICvp</name>
<instance>cvphalservice</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.qti.hardware.data.connection</name>
<version>1.0-1</version>
<interface>
<name>IDataConnection</name>
<instance>slot1</instance>
<instance>slot2</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.qti.hardware.data.latency</name>
<version>1.0</version>
<interface>
<name>ILinkLatency</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.qti.hardware.debugutils</name>
<version>1.0</version>
<interface>
<name>IDebugUtils</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.qti.hardware.display.allocator</name>
<version>1.0</version>
<version>3.0</version>
<version>4.0</version>
<interface>
<name>IQtiAllocator</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.qti.hardware.display.composer</name>
<version>2.0-1</version>
<version>3.0</version>
<interface>
<name>IQtiComposer</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.qti.hardware.display.demura</name>
<version>1.0</version>
<interface>
<name>IDemuraFileFinder</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.qti.hardware.display.mapper</name>
<version>2.0</version>
<version>3.0</version>
<version>4.0</version>
<interface>
<name>IQtiMapper</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.qti.hardware.dsp</name>
<version>1.0</version>
<interface>
<name>IDspService</name>
<instance>dspservice</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.qti.hardware.eid</name>
<version>1.0</version>
<interface>
<name>IEid</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.qti.hardware.embmssl</name>
<version>1.0-1</version>
<interface>
<name>IEmbms</name>
<instance>embmsslServer0</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.qti.hardware.factory</name>
<version>1.0-1</version>
<interface>
<name>IFactory</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.qti.hardware.fingerprint</name>
<version>1.0</version>
<interface>
<name>IQtiExtendedFingerprint</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.qti.hardware.fm</name>
<version>1.0</version>
<interface>
<name>IFmHci</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.qti.hardware.fstman</name>
<version>1.0</version>
<interface>
<name>IFstManager</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.qti.hardware.improvetouch.blobmanager</name>
<version>1.0</version>
<interface>
<name>IBlobManager</name>
<instance>BlobManagerService</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.qti.hardware.improvetouch.gesturemanager</name>
<version>1.0</version>
<interface>
<name>IGestureManager</name>
<instance>GestureManagerService</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.qti.hardware.improvetouch.touchcompanion</name>
<version>1.0</version>
<interface>
<name>ITouchCompanion</name>
<instance>TouchCompanionService</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.qti.hardware.iop</name>
<version>2.0</version>
<interface>
<name>IIop</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.qti.hardware.limits</name>
<version>1.0</version>
<interface>
<name>ILimits</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.qti.hardware.perf</name>
<version>2.0-2</version>
<interface>
<name>IPerf</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.qti.hardware.qccsyshal</name>
<version>1.0</version>
@ -459,400 +7,4 @@
<instance>qccsyshal</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.qti.hardware.qccvndhal</name>
<version>1.0</version>
<interface>
<name>IQccvndhal</name>
<instance>qccvndhal</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.qti.hardware.qconfig</name>
<version>1.0</version>
<interface>
<name>IQConfig</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.qti.hardware.qdutils_disp</name>
<version>1.0</version>
<interface>
<name>IQdutilsDisp</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.qti.hardware.qseecom</name>
<version>1.0</version>
<interface>
<name>IQSEECom</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.qti.hardware.qteeconnector</name>
<version>1.0</version>
<interface>
<name>IAppConnector</name>
<instance>default</instance>
</interface>
<interface>
<name>IGPAppConnector</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.qti.hardware.radio.am</name>
<version>1.0</version>
<interface>
<name>IQcRilAudio</name>
<instance>slot1</instance>
<instance>slot2</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.qti.hardware.radio.ims</name>
<version>1.0-6</version>
<interface>
<name>IImsRadio</name>
<instance>imsradio0</instance>
<instance>imsradio1</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.qti.hardware.radio.internal.deviceinfo</name>
<version>1.0</version>
<interface>
<name>IDeviceInfo</name>
<instance>deviceinfo</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.qti.hardware.radio.lpa</name>
<version>1.0-1</version>
<interface>
<name>IUimLpa</name>
<instance>UimLpa0</instance>
<instance>UimLpa1</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.qti.hardware.radio.qcrilhook</name>
<version>1.0</version>
<interface>
<name>IQtiOemHook</name>
<instance>oemhook0</instance>
<instance>oemhook1</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.qti.hardware.radio.qtiradio</name>
<version>1.0</version>
<version>2.0-4</version>
<interface>
<name>IQtiRadio</name>
<instance>slot1</instance>
<instance>slot2</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.qti.hardware.radio.uim</name>
<version>1.1-2</version>
<interface>
<name>IUim</name>
<instance>Uim0</instance>
<instance>Uim1</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.qti.hardware.radio.uim_remote_client</name>
<version>1.0</version>
<interface>
<name>IUimRemoteServiceClient</name>
<instance>uimRemoteClient0</instance>
<instance>uimRemoteClient1</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.qti.hardware.radio.uim_remote_server</name>
<version>1.0</version>
<interface>
<name>IUimRemoteServiceServer</name>
<instance>uimRemoteServer0</instance>
<instance>uimRemoteServer1</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.qti.hardware.scve.objecttracker</name>
<version>1.0</version>
<interface>
<name>IObjectTracker</name>
<instance>objectTracker</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.qti.hardware.scve.panorama</name>
<version>1.0</version>
<interface>
<name>IPanoramaStitching</name>
<instance>panoStitching</instance>
</interface>
<interface>
<name>IPanoramaTracking</name>
<instance>panoTracking</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.qti.hardware.seccam</name>
<version>1.0</version>
<interface>
<name>ISecCam</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.qti.hardware.secureprocessor.device</name>
<version>1.0</version>
<interface>
<name>ISecureProcessor</name>
<instance>qti-tee</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.qti.hardware.sensorscalibrate</name>
<version>1.0</version>
<interface>
<name>ISensorsCalibrate</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.qti.hardware.tui_comm</name>
<version>1.0</version>
<interface>
<name>ITuiComm</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.qti.hardware.vpp</name>
<version>1.1-3</version>
<version>2.0</version>
<interface>
<name>IHidlVppService</name>
<instance>vppService</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.qti.hardware.wifi.hostapd</name>
<version>1.0-3</version>
<interface>
<name>IHostapdVendor</name>
<instance>default</instance>
<instance>wigighostapd</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>android.hardware.wifi.hostapd</name>
<version>1.0-3</version>
<interface>
<name>IHostapd</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>android.hardware.wifi</name>
<version>1.0-5</version>
<interface>
<name>IWifi</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.qti.hardware.wifi.supplicant</name>
<version>2.0-3</version>
<interface>
<name>ISupplicantVendor</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.qti.hardware.wifi.wifilearner</name>
<version>1.0</version>
<interface>
<name>IWifiStats</name>
<instance>wifiStats</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.qti.hardware.wifidisplaysession</name>
<version>1.0</version>
<interface>
<name>IWifiDisplaySession</name>
<instance>wifidisplaysession</instance>
</interface>
<interface>
<name>IWifiDisplaySessionAudioTrack</name>
<instance>wifidisplaysessionaudiotrack</instance>
</interface>
<interface>
<name>IWifiDisplaySessionImageTrack</name>
<instance>wifidisplaysessionimagetrack</instance>
</interface>
<interface>
<name>IWifiDisplaySessionVideoTrack</name>
<instance>wifidisplaysessionvideotrack</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.qti.hardware.wigig.netperftuner</name>
<version>1.0</version>
<interface>
<name>INetPerfTuner</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.qti.hardware.wigig.supptunnel</name>
<version>1.0</version>
<interface>
<name>ISuppTunnelProvider</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.qti.hardware.wipower</name>
<version>1.0</version>
<interface>
<name>IWipower</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.qti.memory.pasrmanager</name>
<version>1.0</version>
<interface>
<name>IPasrManager</name>
<instance>pasrhal</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.qti.power.pasrmanager</name>
<version>1.0</version>
<interface>
<name>IPasrManager</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.qti.qspmhal</name>
<version>1.0</version>
<interface>
<name>IQspmhal</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.qti.spu</name>
<version>1.0-1</version>
<interface>
<name>ISPUManager</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.qti.voiceprint</name>
<version>1.0</version>
<interface>
<name>IQtiVoicePrintService</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.samsung.hardware.audio</name>
<version>1.0</version>
<interface>
<name>ISehDevicesFactory</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.samsung.hardware.bluetooth</name>
<version>2.0</version>
<interface>
<name>ISehBluetooth</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.samsung.hardware.bluetooth.a2dp</name>
<version>1.0</version>
<interface>
<name>ISehBluetoothAudioOffload</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.samsung.hardware.camera.provider</name>
<version>4.0</version>
<interface>
<name>ISehCameraProvider</name>
<instance>legacy/0</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.samsung.hardware.gnss</name>
<version>2.0</version>
<interface>
<name>ISehGnss</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.samsung.hardware.health</name>
<version>2.0</version>
<interface>
<name>ISehHealth</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.samsung.hardware.radio</name>
<version>2.1</version>
<interface>
<name>ISehRadio</name>
<instance>slot1</instance>
<instance>slot2</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.samsung.hardware.radio.bridge</name>
<version>2.0</version>
<interface>
<name>ISehBridge</name>
<instance>slot1</instance>
<instance>slot2</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.samsung.hardware.radio.channel</name>
<version>2.0</version>
<interface>
<name>ISehChannel</name>
<instance>epdgd</instance>
<instance>epdgd2</instance>
<instance>imsd</instance>
<instance>imsd2</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.samsung.hardware.thermal</name>
<version>1.0</version>
<interface>
<name>ISehThermal</name>
<instance>default</instance>
</interface>
</hal>
</compatibility-matrix>

@ -423,14 +423,14 @@
<hal format="hidl">
<name>vendor.samsung.hardware.radio</name>
<transport>hwbinder</transport>
<version>2.1</version>
<version>2.2</version>
<interface>
<name>ISehRadio</name>
<instance>slot1</instance>
<instance>slot2</instance>
</interface>
<fqname>@2.1::ISehRadio/slot1</fqname>
<fqname>@2.1::ISehRadio/slot2</fqname>
<fqname>@2.2::ISehRadio/slot1</fqname>
<fqname>@2.2::ISehRadio/slot2</fqname>
</hal>
<hal format="hidl">
<name>vendor.samsung.hardware.radio.bridge</name>

@ -120,6 +120,7 @@ Only the three quirks included above are recognized at this point:
<MediaCodecs>
<Settings>
<Setting name="max-video-encoder-input-buffers" value="11" />
<Domain name="telephony" enabled="true" />
</Settings>
<Encoders>
<!-- Video Hardware -->
@ -410,9 +411,5 @@ Only the three quirks included above are recognized at this point:
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-1920x1080" value="30" />
</MediaCodec>
<MediaCodec name="OMX.google.opus.decoder" type="audio/opus" update="true" rank="100"/>
</Decoders>
<Include href="media_codecs_google_video.xml" />
<Include href="media_codecs_google_audio.xml" />
<Include href="media_codecs_google_telephony.xml" />
</MediaCodecs>

@ -173,8 +173,8 @@ gSetRxChainmask1x1=1
# Scan Timing Parameters
# gPassiveMaxChannelTime=110
# gPassiveMinChannelTime=60
gActiveMaxChannelTime=40
gActiveMinChannelTime=20
gActiveMaxChannelTime=80
gActiveMinChannelTime=60
#If set to 0, MCC is not allowed.
gEnableMCCMode=1

@ -2,3 +2,5 @@ p2p_disabled=1
update_config=1
pmf=1
tdls_external_control=1
#PMK Lifetime value 259200 = 72 hours
dot11RSNAConfigPMKLifetime=259200

@ -62,16 +62,16 @@ function blob_fixup() {
case "${1}" in
vendor/lib64/libsec-ril.so|vendor/lib64/libsec-ril-dsds.so)
# Replace SlotID prop
sed -i 's/ril.dds.call.slotid/vendor.calls.slotid/g' "${2}"
# Pass an empty value to SecRil::RequestComplete in OnGetSmscAddressDone
xxd -p -c0 "${2}" | sed "s/600e40f9820c805224008052e10315aae30314aa/600e40f9820c805224008052e10315aa030080d2/g" | xxd -r -p > "${2}".patched
sed -i 's/ril.dds.call.ongoing/vendor.calls.slot_id/g' "${2}"
# Pass an empty value to SecRil::RequestComplete in OnGetSmscAddressDone (mov x3,x20 -> mov,x3,#0x0)
xxd -p -c0 "${2}" | sed "s/600e40f9820c805224008052e10315aa080040f9e30314aa/600e40f9820c805224008052e10315aa080040f9030080d2/g" | xxd -r -p > "${2}".patched
mv "${2}".patched "${2}"
;;
vendor/lib64/hw/android.hardware.health@2.0-impl-2.1-samsung.so)
# Replace libutils with vndk30 libutils
"${PATCHELF}" --replace-needed libutils.so libutils-v30.so "${2}"
;;
vendor/lib64/hw/gatekeeper.mdfpp.so|vendor/lib64/libskeymaster4device.so)
vendor/lib64/hw/gatekeeper.mdfpp.so|vendor/lib64/libskeymaster4device.so|vendor/lib/libwvhidl.so)
"${PATCHELF}" --replace-needed "libcrypto.so" "libcrypto-v33.so" "${2}"
;;
esac

@ -1,5 +1,5 @@
/*
* Copyright (C) 2022 The LineageOS Project
* Copyright (C) 2022-2024 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.
@ -17,6 +17,10 @@
#include <compositionengine/UdfpsExtension.h>
#include <drm/sde_drm.h>
uint32_t getUdfpsDimZOrder(uint32_t z) {
return z;
}
uint32_t getUdfpsZOrder(uint32_t z, bool touched) {
if (touched) {
z |= FOD_PRESSED_LAYER_ZORDER;

@ -0,0 +1,116 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
SPDX-FileCopyrightText: 2023 The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<adaptive-icon
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:aapt="http://schemas.android.com/aapt">
<background>
<!--
Base
-->
<vector android:height="108.0dp" android:width="108.0dp" android:viewportWidth="108.0" android:viewportHeight="108.0">
<path android:fillColor="#ff2A3232" android:pathData="M0,0h108v108h-108z" />
</vector>
</background>
<foreground>
<layer-list>
<item>
<!--
Hour hand
-->
<rotate android:fromDegrees="300.0" android:toDegrees="5300.0" android:pivotX="50.0%" android:pivotY="50.0%">
<vector android:height="108.0dp" android:width="108.0dp" android:viewportWidth="108.0" android:viewportHeight="108.0">
<path android:fillColor="@android:color/white" android:pathData="M54.0001 32C53.4338 32 52.9609 32.4318 52.9096 32.9959L51.2717 51.0123C51.2697 51.0348 51.2679 51.0572 51.2664 51.0796C51.319 51.0305 51.3731 50.9825 51.4289 50.9358C52.9967 49.6202 55.2776 49.7129 56.7338 51.0794C56.7323 51.0571 56.7306 51.0347 56.7285 51.0123L55.0907 32.9959C55.0394 32.4318 54.5665 32 54.0001 32Z" />
<path android:fillColor="#FF98A7A7" android:pathData="M56 54C56 55.1046 55.1046 56 54 56C52.8954 56 52 55.1046 52 54C52 52.8954 52.8954 52 54 52C55.1046 52 56 52.8954 56 54Z" />
</vector>
</rotate>
</item>
<item>
<!--
Minute hand
-->
<rotate android:fromDegrees="60.0" android:toDegrees="60060.0" android:pivotX="50.0%" android:pivotY="50.0%">
<vector android:height="108.0dp" android:width="108.0dp" android:viewportWidth="108.0" android:viewportHeight="108.0">
<path android:fillColor="@android:color/white" android:pathData="M54 25.9996C53.4365 25.9996 52.9689 26.435 52.9287 26.997L51.2137 51.0072C51.2106 51.0502 51.2085 51.093 51.2074 51.1356C52.6604 49.7155 54.9821 49.6022 56.5712 50.9356C56.648 51.0001 56.7218 51.0668 56.7925 51.1356C56.7914 51.093 56.7893 51.0502 56.7862 51.0072L55.0712 26.997C55.0311 26.435 54.5634 25.9996 54 25.9996Z" />
<path android:fillColor="#FF98A7A7" android:pathData="M56 54C56 55.1046 55.1046 56 54 56C52.8954 56 52 55.1046 52 54C52 52.8954 52.8954 52 54 52C55.1046 52 56 52.8954 56 54Z" />
</vector>
</rotate>
</item>
<item>
<!--
Second hand
-->
<rotate android:fromDegrees="180.0" android:toDegrees="6180.0" android:pivotX="50.0%" android:pivotY="50.0%">
<vector android:height="108.0dp" android:width="108.0dp" android:viewportWidth="108.0" android:viewportHeight="108.0">
<path android:strokeColor="#FFFFD250" android:strokeWidth="2" android:strokeLineCap="round" android:pathData="M54 29L54 54" />
<path android:fillColor="#FFF09F38" android:pathData="M60 54C60 57.3137 57.3137 60 54 60C50.6863 60 48 57.3137 48 54C48 50.6863 50.6863 48 54 48C57.3137 48 60 50.6863 60 54Z" />
</vector>
</rotate>
</item>
<item>
<!--
Finish
-->
<vector android:height="108.0dp" android:width="108.0dp" android:viewportWidth="108.0" android:viewportHeight="108.0">
<path
android:pathData="M28.54,28.54m-72,0a72,72 0,1 1,144 0a72,72 0,1 1,-144 0"
android:fillAlpha="0.6">
<aapt:attr name="android:fillColor">
<gradient
android:gradientRadius="72"
android:centerX="28.54"
android:centerY="28.54"
android:type="radial">
<item android:offset="0" android:color="#19FFFFFF"/>
<item android:offset="1" android:color="#00FFFFFF"/>
</gradient>
</aapt:attr>
</path>
</vector>
</item>
</layer-list>
</foreground>
<monochrome>
<layer-list>
<item>
<!--
Hour hand
-->
<rotate android:fromDegrees="300.0" android:toDegrees="5300.0" android:pivotX="50.0%" android:pivotY="50.0%">
<vector android:height="108.0dp" android:width="108.0dp" android:viewportWidth="108.0" android:viewportHeight="108.0">
<path android:fillColor="@android:color/white" android:pathData="M53.9998 35C53.4334 35 52.9605 35.4318 52.9092 35.9959L52.0718 45.2071C53.3459 44.9289 54.6633 44.9322 55.9278 45.2085L55.0903 35.9959C55.039 35.4318 54.5661 35 53.9998 35Z" />
</vector>
</rotate>
</item>
<item>
<!--
Minute hand
-->
<rotate android:fromDegrees="60.0" android:toDegrees="60060.0" android:pivotX="50.0%" android:pivotY="50.0%">
<vector android:height="108.0dp" android:width="108.0dp" android:viewportWidth="108.0" android:viewportHeight="108.0">
<path android:fillColor="@android:color/white" android:pathData="M54.0002 29.0002C53.4368 29.0002 52.9691 29.4356 52.929 29.9976L51.8386 45.2629C53.2509 44.9147 54.7373 44.9103 56.1617 45.2615L55.0714 29.9976C55.0313 29.4356 54.5636 29.0002 54.0002 29.0002Z" />
</vector>
</rotate>
</item>
<item>
<!--
Second hand
-->
<rotate android:fromDegrees="180.0" android:toDegrees="6180.0" android:pivotX="50.0%" android:pivotY="50.0%">
<vector android:height="108.0dp" android:width="108.0dp" android:viewportWidth="108.0" android:viewportHeight="108.0">
<path android:fillColor="@android:color/white" android:pathData="M53 45.0552C53.3283 45.0189 53.662 45.0002 54 45.0002C54.338 45.0002 54.6717 45.0189 55 45.0552L55 32.0002C55 31.448 54.5523 31.0002 54 31.0002C53.4477 31.0002 53 31.448 53 32.0002L53 45.0552Z" />
</vector>
</rotate>
</item>
<item>
<!--
Center
-->
<vector android:height="108.0dp" android:width="108.0dp" android:viewportWidth="108.0" android:viewportHeight="108.0">
<path android:fillColor="@android:color/white" android:pathData="M60 54C60 57.3137 57.3137 60 54 60C50.6863 60 48 57.3137 48 54C48 50.6863 50.6863 48 54 48C57.3137 48 60 50.6863 60 54Z" />
</vector>
</item>
</layer-list>
</monochrome>
</adaptive-icon>

@ -1,4 +1,4 @@
# All blobs are from A525FXXU6EWL3 (U), unless pinned
# All blobs are from A525FXXS9FXJ1 (U), unless pinned
# ACDB
vendor/lib/libacdb-fts.so
@ -520,7 +520,7 @@ system_ext/lib/vendor.qti.hardware.fm@1.0.so
system_ext/lib64/vendor.qti.hardware.fm@1.0.so
# Gatekeeper
vendor/lib64/hw/gatekeeper.mdfpp.so|5a16f16d118cdaa990b6b7924b94c419d366d624
vendor/lib64/hw/gatekeeper.mdfpp.so|31bf2921b6723975a4c89dd483953e34b5a6ae5d
# GPS
-vendor/app/CACertService/CACertService.apk
@ -679,18 +679,18 @@ vendor/lib64/libqseed3.so
vendor/lib/hw/vulkan.adreno.so
vendor/lib64/hw/vulkan.adreno.so
# Adreno
vendor/lib/egl/libq3dtools_adreno.so
vendor/lib64/egl/libq3dtools_adreno.so
vendor/lib/egl/libq3dtools_adreno.so;SYMLINK=vendor/lib/libq3dtools_adreno.so
vendor/lib64/egl/libq3dtools_adreno.so;SYMLINK=vendor/lib64/libq3dtools_adreno.so
vendor/lib/egl/libq3dtools_esx.so
vendor/lib64/egl/libq3dtools_esx.so
vendor/lib/egl/libEGL_adreno.so
vendor/lib64/egl/libEGL_adreno.so
vendor/lib/egl/libEGL_adreno.so;SYMLINK=vendor/lib/libEGL_adreno.so
vendor/lib64/egl/libEGL_adreno.so;SYMLINK=vendor/lib64/libEGL_adreno.so
vendor/lib/egl/eglSubDriverAndroid.so
vendor/lib64/egl/eglSubDriverAndroid.so
vendor/lib/egl/libGLESv1_CM_adreno.so
vendor/lib64/egl/libGLESv1_CM_adreno.so
vendor/lib/egl/libGLESv2_adreno.so
vendor/lib64/egl/libGLESv2_adreno.so
vendor/lib/egl/libGLESv2_adreno.so;SYMLINK=vendor/lib/libGLESv2_adreno.so
vendor/lib64/egl/libGLESv2_adreno.so;SYMLINK=vendor/lib64/libGLESv2_adreno.so
vendor/lib/libadreno_utils.so
vendor/lib64/libadreno_utils.so
@ -740,7 +740,7 @@ vendor/firmware/ipa_fws.mdt
# Keymaster
vendor/lib64/libkeymaster_helper.so
-vendor/lib64/libskeymaster4device.so|e4dcee6306be79bb3ca271466afeabd1b0b966d5
-vendor/lib64/libskeymaster4device.so|72bd574947d0312dcabb1a1b7fd10e6924ffd668
# Machine learning
vendor/lib64/libreffeature.so
@ -861,6 +861,28 @@ vendor/lib64/libprotobuf-cpp-lite-3.9.1.so
vendor/etc/public.libraries.txt
# QMI
vendor/bin/irsc_util
vendor/bin/pd-mapper
vendor/bin/qrtr-ns
vendor/bin/ssr_setup
vendor/lib/libdsutils.so
vendor/lib64/libdsutils.so
vendor/lib/libqmi.so
vendor/lib64/libqmi.so
vendor/lib/libqmi_cci.so
vendor/lib64/libqmi_cci.so
vendor/lib/libqmi_client_helper.so
vendor/lib64/libqmi_client_helper.so
vendor/lib/libqmi_client_qmux.so
vendor/lib64/libqmi_client_qmux.so
vendor/lib/libqmi_csi.so
vendor/lib64/libqmi_csi.so
vendor/lib/libqmiservices.so
vendor/lib64/libqmiservices.so
vendor/lib/libqdi.so
vendor/lib64/libqdi.so
vendor/lib/libqdp.so
vendor/lib64/libqdp.so
vendor/lib/libdiag.so
vendor/lib/libdiagjni.so
vendor/lib/libpdmapper.so
@ -889,6 +911,30 @@ vendor/etc/sec_config
vendor/etc/init/init.qti.qcv.rc
# RIL
vendor/bin/hw/rild
vendor/bin/adpl
vendor/bin/ipacm-diag
vendor/bin/tftp_server
vendor/bin/rmt_storage
vendor/etc/init/netmgrd.rc
vendor/etc/data/dsi_config.xml
vendor/etc/data/netmgr_config.xml
vendor/etc/locale/plmn_delta_eng.bin
vendor/etc/plmn_delta_hktw.bin
vendor/etc/plmn_se13.bin
vendor/etc/mtu-conf.xml
vendor/lib/libconfigdb.so
vendor/lib64/libconfigdb.so
vendor/lib/libdsi_netctrl.so
vendor/lib64/libdsi_netctrl.so
vendor/lib/libqcmaputils.so
vendor/lib64/libqcmaputils.so
vendor/lib64/libengmode_client.so
vendor/lib64/libsec-ril.so|89059627966559344cc526e7a533d4284afca1d4
vendor/lib64/libsecril-client.so
vendor/lib64/libril_sem.so
vendor/lib64/libSemTelephonyProps.so
vendor/lib64/libSemDataProps.so
vendor/etc/init/dataadpl.rc
vendor/etc/init/ipacm-diag.rc
vendor/etc/init/vendor.qti.tftp.rc
@ -910,70 +956,8 @@ vendor/lib64/libvkmanager_vendor.so
vendor/lib/libxml.so
vendor/lib64/libxml.so
vendor/lib64/vendor.samsung.hardware.radio.bridge@2.0.so
vendor/lib64/vendor.samsung.hardware.radio@2.0.so
vendor/lib64/vendor.samsung.hardware.radio.bridge@2.1.so
vendor/lib64/vendor.samsung.hardware.radio.channel@2.0.so
vendor/lib64/vendor.samsung.hardware.radio@2.1.so
# QMI - from A525FXXU4AUJ2
vendor/bin/irsc_util|c2cb91666e88000df258730cd4a0a81a207a2704
vendor/bin/pd-mapper|a4e55ee88823aa430b1631c98dc813754d3dc013
vendor/bin/qrtr-ns|09cff0de46c5d4eb1cd7dfa5b5bdda015e9d7a75
vendor/bin/ssr_setup|d29b53a3121e9e305eb5a31273d3fb9101d4ffc7
vendor/lib/libdsutils.so|36cdb350c59799aa0a80f519f96ead7d3ee89973
vendor/lib64/libdsutils.so|d46085964069785ea6b3bac24a69348ebd47d74c
vendor/lib/libqmi.so|721c5dc3a64d603d1aa80ee5a0692cccc7ecbdcd
vendor/lib64/libqmi.so|350b7221e85ac9930af92203aadfa8f785051917
vendor/lib/libqmi_cci.so|9e6e1f9410034b352a90d3636dbab77e04ac798e
vendor/lib64/libqmi_cci.so|fe28dceb33e9a3070b19ea394a26245f4cc9bda3
vendor/lib/libqmi_client_helper.so|71c4f5375645420915c2c4acdfdc82eb7ef92f76
vendor/lib64/libqmi_client_helper.so|906e317d26ab331745166bc5a42b767c3fa517f8
vendor/lib/libqmi_client_qmux.so|ed3d7ebdce68a988825e992143333dfa9aede478
vendor/lib64/libqmi_client_qmux.so|c79a6964a0e4684b45c5340a5fce7a96f3442cc1
vendor/lib/libqmi_csi.so|f65cbe21c2a8d8e1d375aeacadb1f31d2818497f
vendor/lib64/libqmi_csi.so|28b7dd8906c028af98500bbab2e912d16fab455f
vendor/lib/libqmiservices.so|97e8634aafcddc9520b788694dff0e6499ec2d00
vendor/lib64/libqmiservices.so|33b70e96e031e646758e5d887f1c9d6792e990ab
vendor/lib/librilqmiservices-ext.so|aeefecff17a9e4f247da67f878667760535cfd8b
vendor/lib64/librilqmiservices-ext.so|a020dafb8d1932ab90bbcfe362afb93dc74d010d
vendor/lib/libqdi.so|ba4b20f2c09fff4ffc3a14d4ae9746fa21c52179
vendor/lib64/libqdi.so|b57089bb6cdb17442b06952bf21f97ee2d4b1f30
vendor/lib/libqdp.so|738344f32ef0c1372fb1b207232bab22800c20a0
vendor/lib64/libqdp.so|14b4020c1cb9a04a52742b226913324ef060775b
# RIL - from A525FXXU4AUJ2
vendor/bin/hw/rild|72c84e72636177fd669be36a6eb8eda63fe270b0
vendor/bin/adpl|e4b48a55f8b9a8376daf115aace6f19c6289a325
vendor/bin/ATFWD-daemon|936e1d2b6127c551eabe6bfeeab31c2271bebf02
vendor/bin/ipacm-diag|aa89edba217878c5ea07b2d9f89a5410078b5f98
vendor/bin/netmgrd|6871b8c8ceb075ee710654fc2e11eff8e0eef2e1
vendor/bin/tftp_server|2a13e915980354f803b0dd04c53bf5318bcec173
vendor/bin/rmt_storage|17f8aa097adc319ef6b9c5caaf5ef267089f2b8d
vendor/etc/data/dsi_config.xml|ea5973ae0bffbdfbffb84fc2348b260d53b03b02
vendor/etc/data/netmgr_config.xml|ebd99ffce6bc051ee811478c4f866907cfb80046
vendor/etc/init/netmgrd.rc|3968aa11ebdebab2b5b53bbea1525e8cd5dfe837
vendor/etc/locale/plmn_delta_eng.bin|642c0104ac67f587f07fa79ceab34ba43c4522fa
vendor/etc/plmn_delta_hktw.bin|97a5a4747e8c32d463d8f26254257309b8a03a63
vendor/etc/plmn_se13.bin|e1961fbbab7d8ef092b76a707b8364ba8c4ef012
vendor/etc/seccomp_policy/atfwd@2.0.policy|74fdb7d47bdb6d0cb06b13701a96a76c9171ab5d
vendor/etc/mtu-conf.xml|febe82a2b92265b74e9ceb528f0c9da10a3b51e7
vendor/lib/libconfigdb.so|d6b7ee43c7cad7e9b1f296a2e9531540c5499f84
vendor/lib64/libconfigdb.so|1193bbec010e24102caa7974a22cc0dcf0ec6c47
vendor/lib/libdsi_netctrl.so|3ebe293a1bc3d217ad2c8acf39f4eaf9245c59f5
vendor/lib64/libdsi_netctrl.so|24cb384cc9b8ca1bc1c0c6f36cfce5d237064bd6
vendor/lib/libnetmgr.so|72f9fb23851dd6ffe6ac0aabfce5081d69f1839a
vendor/lib/libnetmgr_common.so|b7987fd703db7688086b10c612e910e445db65a6
vendor/lib64/libnetmgr.so|527afad81de5394679e6ef4c46e7faf4d03e5419
vendor/lib64/libnetmgr_common.so|9ffa3e00702aa3db43908cf44af70fb438aa5bd5
vendor/lib/libqcmaputils.so|287f2558403918db436c39b39fa731ddda2235ee
vendor/lib64/libqcmaputils.so|7ecfbdbec099854c60a6393ee7f568bedc28989b
vendor/lib64/libengmode_client.so|a0d931e18a4e81a8de4169a419b187568d042708
vendor/lib64/libsec-ril.so|5bc6b84fb09f11202d5bb61ca422bae351e9d0c7
vendor/lib64/libsec-ril-dsds.so|12bc89df6348392265fc240d461dfdba114aa434
vendor/lib64/libsecril-client.so|c49dbd56d93e00ccb3f008b955e81495573ff313
vendor/lib/libril.so|b7759521aeb60a07b929e4ff53ba25338c4cd087
vendor/lib64/libril.so|49d4eebf79faefd03b8378c3ed07cf44730a15ff
vendor/lib64/liblqe.so|732f3a617a90c2c96b54fe80d0ab2a409b2cb82a
vendor/lib64/vendor.qti.hardware.radio.atcmdfwd@1.0.so|c6dd375aba54c664e61cf1915477feb01154333f
# Sensors
vendor/bin/factory.ssc

@ -22,7 +22,7 @@ cc_library_static {
include_dirs: [
"system/libbase/include",
"bootable/recovery",
"bootable/recovery/edify/include",
"bootable/deprecated-ota/edify/include",
"bootable/recovery/otautil/include"
],
}

@ -117,10 +117,10 @@ LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)/init
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
LOCAL_MODULE := init.vendor.rilchip.rc
LOCAL_MODULE := vendor.samsung.rilchip.qcom.rc
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := ETC
LOCAL_SRC_FILES := etc/init.vendor.rilchip.rc
LOCAL_SRC_FILES := etc/vendor.samsung.rilchip.qcom.rc
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)/init
include $(BUILD_PREBUILT)

@ -171,7 +171,7 @@ on post-fs
on boot
# Permissions for Touchscreen
chown system radio /sys/class/sec/tsp/cmd
chown system system /sys/class/sec/tsp/cmd
chown system system /sys/class/sec/tsp/input/enabled
chmod 0660 /sys/class/sec/tsp/input/enabled
chown system system /sys/class/sec/tsp/enabled

@ -154,6 +154,8 @@ on boot
chown cameraserver cameraserver /dev/cpuset/camera-daemon/tasks
chmod 0660 /dev/cpuset/camera-daemon/tasks
setprop vendor.powerhal.init 1
#Load WLAN driver
# exec_background u:r:vendor_modprobe:s0 -- /vendor/bin/modprobe -a -d /vendor/lib/modules/ qca_cld3_wlan
# exec_background u:r:vendor_modprobe:s0 -- /vendor/bin/modprobe -a -d /vendor/lib/modules/5.4-gki qca_cld3_wlan

@ -10,9 +10,6 @@
on post-fs-data
mkdir /data/vendor/secradio 0770 radio radio
on property:ro.vendor.multisim.simslotcount=1
stop ril-daemon1
on property:vts.native_server.on=*
setprop vendor.vts.native_server.on ${vts.native_server.on}
@ -29,7 +26,10 @@ service sim_config /vendor/bin/secril_config_svc SimConfig
disabled
on fs
chown radio radio /mnt/vendor/efs/factory.prop
chmod 0600 /mnt/vendor/efs/factory.prop
exec_start sim_config
on post-fs-data
exec_start network_config
setprop ro.telephony.default_network ${ro.vendor.radio.default_network}

@ -177,7 +177,7 @@ on boot
chown system radio /sys/class/sensors/light_sensor/read_copr
chown system radio /sys/class/sensors/light_sensor/boled_enable
chown system radio /sys/class/sensors/light_sensor/hallic_info
chown system radio /sys/class/sensors/light_sensor/lcd_onoff
chown system system /sys/class/sensors/light_sensor/lcd_onoff
chown system radio /sys/class/sensors/light_sensor/sensorhub_ddi_spi_check
chown system radio /sys/class/sensors/light_sensor/light_cal
chown system radio /sys/class/sensors/light_sensor/set_aod_rect

@ -398,6 +398,9 @@ firmware_directories /vendor/firmware_mnt/image/ /vendor/firmware-modem/image/
/sys/class/dual_role_usb/* power_role 0660 system system
/sys/class/dual_role_usb/* mode 0660 system system
#permissions secure_lock
/sys/class/usb_notify/usb_control usb_sl 0664 system usb
#Memory Offline
/sys/devices/system/memory/memory* state 0660 system system

@ -11,18 +11,6 @@ service ril-daemon /vendor/bin/hw/rild
capabilities BLOCK_SUSPEND NET_ADMIN NET_RAW SYS_ADMIN CHOWN SYS_TIME
socket sap_uim_socket1 stream 660 bluetooth bluetooth
service ril-daemon1 /vendor/bin/hw/rild -c 2
class main
user radio
group radio cache inet misc audio log oem_2901 system drmrpc vpn readproc wakelock net_admin
capabilities BLOCK_SUSPEND NET_ADMIN NET_RAW SYS_ADMIN CHOWN SYS_TIME
# QMUX must be in multiple groups to support external process connections
service qmuxd /vendor/bin/qmuxd
class main
user root
group radio audio bluetooth gps oem_2901
service irsc_util_oem /vendor/bin/irsc_util "/vendor/etc/sec_config_oem"
class core
user root
@ -32,6 +20,9 @@ service irsc_util_oem /vendor/bin/irsc_util "/vendor/etc/sec_config_oem"
service vendor.ril-daemon /vendor/bin/hw/rild-dummy
override
service vendor.ril-daemon1 /vendor/bin/hw/rild-dummy
override
service vendor.ril-daemon2 /vendor/bin/hw/rild-dummy
override
@ -45,3 +36,12 @@ service vendor.embmsslServer /vendor/bin/embmsslServer
on property:init.svc.vendor.netmgrd=running && property:ro.vendor.use_data_netmgrd=false
stop vendor.netmgrd
# To enable QMS logs
on post-fs-data
mkdir /data/vendor/qms_logs 0775 radio system
mkdir /data/vendor/qms_logs/main 0775 radio system
mkdir /data/vendor/qms_logs/other 0775 radio system
mkdir /data/vendor/qms_logs/config 0775 radio system
copy /vendor/etc/qms_log_config /data/vendor/qms_logs/config/qms_log_config
chmod 0666 /data/vendor/qms_logs/config/qms_log_config

@ -37,9 +37,10 @@ on post-fs-data
chmod 0640 /sys/wifi/feature
# for WIFI MAC
mkdir /mnt/vendor/efs/wifi 0755 wifi wifi
chown wifi wifi /mnt/vendor/efs/wifi/.mac.info
chmod 0644 /mnt/vendor/efs/wifi/.mac.info
mkdir /mnt/vendor/efs/wifi 0775 system wifi
chmod 0775 /mnt/vendor/efs/wifi
chown system wifi /mnt/vendor/efs/wifi/.mac.info
chmod 0664 /mnt/vendor/efs/wifi/.mac.info
chown wifi wifi /mnt/vendor/efs/wifi/.mac.cob
chmod 0644 /mnt/vendor/efs/wifi/.mac.cob
chown wifi wifi /sys/wifi/mac_addr

@ -1,8 +0,0 @@
type audio_parameter_service, domain, coredomain;
type audio_parameter_service_exec, system_file_type, exec_type, file_type;
init_daemon_domain(audio_parameter_service)
hal_client_domain(audio_parameter_service, hal_audio)
set_prop(audio_parameter_service, vendor_call_prop)

@ -1 +0,0 @@
/(system_ext|system/system_ext)/bin/audio_parameter_service.samsung_sm7125 u:object_r:audio_parameter_service_exec:s0

@ -1 +0,0 @@
system_public_prop(vendor_call_prop)

@ -50,10 +50,10 @@
# VENDOR
/(vendor|system/vendor)/bin/factory\.ssc u:object_r:factory_ssc_exec:s0
/(vendor|system/vendor)/bin/hw/macloader u:object_r:macloader_exec:s0
/(vendor|system/vendor)/bin/hw/android\.hardware\.camera\.provider@2\.5-service\.samsung u:object_r:hal_camera_default_exec:s0
/(vendor|system/vendor)/bin/hw/android\.hardware\.camera\.provider-service_32\.samsung u:object_r:hal_camera_default_exec:s0
/(vendor|system/vendor)/bin/hw/android\.hardware\.drm@[0-9]\.[0-9]-service\.widevine u:object_r:hal_drm_widevine_exec:s0
/(vendor|system/vendor)/bin/hw/android\.hardware\.keymaster@[0-9]\.[0-9]-service\.samsung u:object_r:hal_keymaster_default_exec:s0
/(vendor|system/vendor)/bin/hw/android\.hardware\.power(@[0-9]\.[0-9])?-service\.samsung-libperfmgr u:object_r:hal_power_default_exec:s0
/(vendor|system/vendor)/bin/hw/android\.hardware\.power(@[0-9]\.[0-9])?-service\.pixel-libperfmgr u:object_r:hal_power_default_exec:s0
/(vendor|system/vendor)/bin/hw/android\.hardware\.nfc@[0-9]\.[0-9]-service\.samsung u:object_r:hal_nfc_default_exec:s0
/(vendor|system/vendor)/bin/hw/vendor\.lineage\.fastcharge@[0-9]\.[0-9]-service\.samsung u:object_r:hal_lineage_fastcharge_default_exec:s0
/(vendor|system/vendor)/bin/hw/vendor\.lineage\.touch\@[0-9]\.[0-9]-service.sm7125 u:object_r:hal_lineage_touch_default_exec:s0
@ -64,3 +64,4 @@
/(vendor|system/vendor)/bin/hw/android.hardware.sensors-service.samsung-multihal u:object_r:hal_sensors_default_exec:s0
/(vendor|system/vendor)/bin/hw/android\.hardware\.vibrator\-service\.samsung u:object_r:hal_vibrator_default_exec:s0
/(vendor|system/vendor)/bin/hw/android\.hardware\.health@2\.1-service-samsung u:object_r:hal_health_default_exec:s0
/(vendor|system/vendor)/bin/hw/sehradiomanager u:object_r:sehradiomanager_exec:s0

@ -6,4 +6,4 @@ allow hal_audio_default imei_efs_file:file { read open getattr };
allow hal_audio_default efs_file:dir search;
get_prop(hal_audio_default, vendor_call_prop)
get_prop(hal_audio_default, vendor_radio_prop)

@ -22,8 +22,7 @@ vendor.sec.rild. u:object_r:vendor_radio_prop:s0
ro.vendor.sec.radio. u:object_r:vendor_radio_prop:s0
ro.vendor.use_data_netmgrd u:object_r:vendor_radio_prop:s0
ro.vendor.epdg.support u:object_r:vendor_radio_prop:s0
vendor.calls u:object_r:vendor_call_prop:s0
vendor.calls u:object_r:vendor_radio_prop:s0
# Sensors
vendor.sensor.file.permission u:object_r:vendor_sensors_prop:s0

@ -3,8 +3,6 @@
get_prop(rild, vendor_radio_prop)
get_prop(rild, radio_prop)
set_prop(rild, vendor_call_prop)
allow rild block_device:dir search;
allow rild mnt_vendor_file:dir { getattr search };

@ -0,0 +1,13 @@
# sehradiomanager.te
type sehradiomanager, domain;
type sehradiomanager_exec, exec_type, file_type, vendor_file_type;
init_daemon_domain(sehradiomanager)
get_prop(sehradiomanager, vendor_radio_prop)
get_prop(sehradiomanager, hwservicemanager_prop)
binder_call(sehradiomanager, hwservicemanager)
binder_call(sehradiomanager, servicemanager)
binder_call(servicemanager, sehradiomanager)
hal_client_domain(sehradiomanager, hal_telephony)

@ -0,0 +1,14 @@
vendor.samsung.hardware.radio.bridge.ISehRadioBridge/slot1 u:object_r:hal_radio_service:s0
vendor.samsung.hardware.radio.bridge.ISehRadioBridge/slot2 u:object_r:hal_radio_service:s0
vendor.samsung.hardware.radio.channel.ISehRadioChannel/epdgd u:object_r:hal_radio_service:s0
vendor.samsung.hardware.radio.channel.ISehRadioChannel/epdgd2 u:object_r:hal_radio_service:s0
vendor.samsung.hardware.radio.channel.ISehRadioChannel/imsd u:object_r:hal_radio_service:s0
vendor.samsung.hardware.radio.channel.ISehRadioChannel/imsd2 u:object_r:hal_radio_service:s0
vendor.samsung.hardware.radio.data.ISehRadioData/slot1 u:object_r:hal_radio_service:s0
vendor.samsung.hardware.radio.data.ISehRadioData/slot2 u:object_r:hal_radio_service:s0
vendor.samsung.hardware.radio.messaging.ISehRadioMessaging/slot1 u:object_r:hal_radio_service:s0
vendor.samsung.hardware.radio.messaging.ISehRadioMessaging/slot2 u:object_r:hal_radio_service:s0
vendor.samsung.hardware.radio.network.ISehRadioNetwork/slot1 u:object_r:hal_radio_service:s0
vendor.samsung.hardware.radio.network.ISehRadioNetwork/slot2 u:object_r:hal_radio_service:s0
vendor.samsung.hardware.radio.sim.ISehRadioSim/slot1 u:object_r:hal_radio_service:s0
vendor.samsung.hardware.radio.sim.ISehRadioSim/slot2 u:object_r:hal_radio_service:s0

@ -175,9 +175,11 @@ debug.stagefright.ccodec=1
# Perf
ro.vendor.extension_library=libqti-perfd-client.so
# Power HAL
vendor.powerhal.disp.idle_support=false
# RIL
vendor.sec.rild.libpath=/vendor/lib64/libsec-ril.so
vendor.sec.rild.libpath2=/vendor/lib64/libsec-ril-dsds.so
persist.vendor.radio.atfwd.start=true
ro.vendor.sec.radio.def_network=9
persist.vendor.radio.enableadvancedscan=true

Loading…
Cancel
Save