# Bluetooth
persist.bluetooth.disableinbandringing=false

# Camera
vendor.camera.aux.packagelist=org.codeaurora.snapcam,com.fp.camera,foundation.e.camera

# Display 
debug.sf.enable_hwc_vds=1
debug.sf.latch_unsignaled=1

# Charger
ro.charger.enable_suspend=1

# CNE
persist.vendor.cne.feature=1

# e-SIM
masterclear.allow_retain_esim_profiles_after_fdr=1

# Google WFD Settings
persist.debug.wfd.enable=1

# IMS
persist.dbg.volte_avail_ovr=1
persist.dbg.vt_avail_ovr=1
persist.dbg.wfc_avail_ovr=1

# Media
debug.stagefright.ccodec=1
media.settings.xml=/vendor/etc/media_profiles_vendor.xml
media.stagefright.thumbnail.prefer_hw_codecs=true
ro.media.recorder-max-base-layer-fps = 60

# Netmgr
ro.vendor.use_data_netmgrd=true
persist.vendor.data.iwlan.enable=true
persist.vendor.data.mode=concurrent

# QMI
persist.vendor.data.profile_update=true

# Radio
ril.subscription.types=NV,RUIM
ro.telephony.default_network=26,26
telephony.lteOnCdmaDevice=1

# Sensors
persist.vendor.sensors.enable.mag_filter=true

# SSR
persist.vendor.ssr.restart_level=ALL_ENABLE
