summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Android.mk20
-rw-r--r--AndroidProducts.mk4
-rw-r--r--BoardConfigLineage.mk13
-rw-r--r--aosp_marlin.mk2
-rw-r--r--aosp_marlin_svelte.mk2
-rw-r--r--aosp_sailfish.mk2
-rw-r--r--device-common.mk19
-rw-r--r--device-lineage.mk39
l---------extract-files.sh1
-rw-r--r--liblight/Android.mk3
-rw-r--r--liblight/lights.c2
-rw-r--r--lineage.dependencies6
-rw-r--r--lineage_marlin.mk26
-rw-r--r--lineage_sailfish.mk26
-rw-r--r--marlin/BoardConfig.mk7
-rw-r--r--marlin/BoardConfigLineage.mk2
-rw-r--r--marlin/device-lineage.mk1
-rw-r--r--marlin/device-proprietary-files-vendor.txt677
-rw-r--r--marlin/device-proprietary-files.txt91
-rwxr-xr-xmarlin/extract-files.sh61
-rwxr-xr-xmarlin/setup-makefiles.sh48
-rw-r--r--overlay-lineage/lineage-sdk/lineage/res/res/values/config.xml66
-rw-r--r--overlay-lineage/packages/apps/Dialer/java/com/android/dialer/callrecord/res/values/config.xml35
-rw-r--r--overlay-lineage/packages/apps/Snap/res/values/strings.xml22
-rwxr-xr-xoverlay/frameworks/base/core/res/res/values/config.xml3
-rw-r--r--overlay/packages/apps/CarrierConfig/res/xml/vendor.xml323
-rw-r--r--permissions/privapp-permissions-marlin.xml7
-rw-r--r--qti_whitelist.xml2
-rw-r--r--sailfish/BoardConfig.mk7
-rw-r--r--sailfish/BoardConfigLineage.mk2
-rw-r--r--sailfish/device-lineage.mk1
-rw-r--r--sailfish/device-proprietary-files-vendor.txt676
-rw-r--r--sailfish/device-proprietary-files.txt91
-rwxr-xr-xsailfish/extract-files.sh61
-rwxr-xr-xsailfish/setup-makefiles.sh48
-rw-r--r--telephony/Android.mk2
36 files changed, 2381 insertions, 17 deletions
diff --git a/Android.mk b/Android.mk
index e1a60ab4..14d69283 100644
--- a/Android.mk
+++ b/Android.mk
@@ -29,4 +29,24 @@ LOCAL_PATH := $(call my-dir)
include $(call all-makefiles-under,$(LOCAL_PATH))
+IMS_LIBS := libimscamera_jni.so libimsmedia_jni.so
+IMS_SYMLINKS := $(addprefix $(TARGET_OUT)/app/ims/lib/arm64/,$(notdir $(IMS_LIBS)))
+$(IMS_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
+ @echo "IMS lib link: $@"
+ @mkdir -p $(dir $@)
+ @rm -rf $@
+ $(hide) ln -sf /system/lib64/$(notdir $@) $@
+
+ALL_DEFAULT_INSTALLED_MODULES += $(IMS_SYMLINKS)
+
+DM_LIBS := libdmengine.so libdmjavaplugin.so
+DM_SYMLINKS := $(addprefix $(TARGET_OUT)/priv-app/DMService/lib/arm/,$(notdir $(DM_LIBS)))
+$(DM_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
+ @echo "DMService lib link: $@"
+ @mkdir -p $(dir $@)
+ @rm -rf $@
+ $(hide) ln -sf /system/lib/$(notdir $@) $@
+
+ALL_DEFAULT_INSTALLED_MODULES += $(DM_SYMLINKS)
+
endif
diff --git a/AndroidProducts.mk b/AndroidProducts.mk
index 131a4ffd..bd57cbe2 100644
--- a/AndroidProducts.mk
+++ b/AndroidProducts.mk
@@ -1,4 +1,6 @@
PRODUCT_MAKEFILES := \
$(LOCAL_DIR)/aosp_marlin.mk \
$(LOCAL_DIR)/aosp_marlin_svelte.mk \
- $(LOCAL_DIR)/aosp_sailfish.mk
+ $(LOCAL_DIR)/aosp_sailfish.mk \
+ $(LOCAL_DIR)/lineage_marlin.mk \
+ $(LOCAL_DIR)/lineage_sailfish.mk
diff --git a/BoardConfigLineage.mk b/BoardConfigLineage.mk
new file mode 100644
index 00000000..c69bbb92
--- /dev/null
+++ b/BoardConfigLineage.mk
@@ -0,0 +1,13 @@
+# Common board config for marlin, sailfish
+
+# Build vendor image
+BOARD_VENDORIMAGE_PARTITION_SIZE := 314572800
+BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4
+
+# Kernel
+BOARD_KERNEL_IMAGE_NAME := Image.gz-dtb
+TARGET_COMPILE_WITH_MSM_KERNEL := true
+TARGET_KERNEL_CONFIG := lineageos_marlin_defconfig
+TARGET_KERNEL_SOURCE := kernel/google/marlin
+
+-include vendor/google/marlin/BoardConfigVendor.mk
diff --git a/aosp_marlin.mk b/aosp_marlin.mk
index b82aaf73..96cc5e95 100644
--- a/aosp_marlin.mk
+++ b/aosp_marlin.mk
@@ -25,7 +25,7 @@ PRODUCT_NAME := aosp_marlin
PRODUCT_DEVICE := marlin
PRODUCT_BRAND := Android
PRODUCT_MODEL := AOSP on msm8996
-PRODUCT_MANUFACTURER := google
+PRODUCT_MANUFACTURER := Google
PRODUCT_RESTRICT_VENDOR_FILES := true
PRODUCT_COPY_FILES += device/google/marlin/fstab.common:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.marlin
diff --git a/aosp_marlin_svelte.mk b/aosp_marlin_svelte.mk
index 5660552c..a5a44059 100644
--- a/aosp_marlin_svelte.mk
+++ b/aosp_marlin_svelte.mk
@@ -26,7 +26,7 @@ PRODUCT_NAME := aosp_marlin_svelte
PRODUCT_DEVICE := marlin
PRODUCT_BRAND := Android
PRODUCT_MODEL := AOSP svelte on msm8996
-PRODUCT_MANUFACTURER := google
+PRODUCT_MANUFACTURER := Google
PRODUCT_RESTRICT_VENDOR_FILES := true
TARGET_PREBUILT_KERNEL := device/google/marlin-kernel/Image.gz-dtb.svelte
diff --git a/aosp_sailfish.mk b/aosp_sailfish.mk
index 4c0ef719..b6e6427c 100644
--- a/aosp_sailfish.mk
+++ b/aosp_sailfish.mk
@@ -25,7 +25,7 @@ PRODUCT_NAME := aosp_sailfish
PRODUCT_DEVICE := sailfish
PRODUCT_BRAND := Android
PRODUCT_MODEL := AOSP on msm8996
-PRODUCT_MANUFACTURER := google
+PRODUCT_MANUFACTURER := Google
PRODUCT_RESTRICT_VENDOR_FILES := true
PRODUCT_COPY_FILES += device/google/marlin/fstab.common:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.sailfish
diff --git a/device-common.mk b/device-common.mk
index ea383bdd..c6d42f9b 100644
--- a/device-common.mk
+++ b/device-common.mk
@@ -26,8 +26,14 @@ endif
PRODUCT_SHIPPING_API_LEVEL := 25
+# Setting vendor SPL
+VENDOR_SECURITY_PATCH := "2019-04-05"
+
+# Enforce privapp-permissions whitelist
+PRODUCT_PROPERTY_OVERRIDES += \
+ ro.control_privapp_permissions=enforce
+
PRODUCT_COPY_FILES += \
- $(LOCAL_KERNEL):kernel \
frameworks/native/data/etc/android.software.verified_boot.xml:system/etc/permissions/android.software.verified_boot.xml
DEVICE_PACKAGE_OVERLAYS += device/google/marlin/overlay
@@ -282,10 +288,12 @@ PRODUCT_PACKAGES += \
# sensor utilities (only for userdebug and eng builds)
ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
+ifeq (,$(filter lineage_marlin lineage_sailfish, $(TARGET_PRODUCT)))
PRODUCT_PACKAGES += \
nanotool \
sensortest
endif
+endif
PRODUCT_COPY_FILES += \
device/google/marlin/sec_config:$(TARGET_COPY_OUT_VENDOR)/etc/sec_config
@@ -320,7 +328,7 @@ PRODUCT_PROPERTY_OVERRIDES += \
# Write Manufacturer & Model information in created media files.
# IMPORTANT: ONLY SET THIS PROPERTY TO TRUE FOR PUBLIC DEVICES
-ifneq ($(filter aosp_sailfish% sailfish% aosp_marlin% marlin%, $(TARGET_PRODUCT)),)
+ifneq ($(filter lineage_sailfish% aosp_sailfish% sailfish% lineage_marlin% aosp_marlin% marlin%, $(TARGET_PRODUCT)),)
PRODUCT_PROPERTY_OVERRIDES += \
media.recorder.show_manufacturer_and_model=true
else
@@ -403,7 +411,7 @@ PRODUCT_COPY_FILES += \
# Subsystem ramdump
PRODUCT_PROPERTY_OVERRIDES += \
- persist.sys.ssr.enable_ramdumps=1
+ persist.sys.ssr.enable_ramdumps=0
else
PRODUCT_COPY_FILES += \
device/google/marlin/init.common.diag.rc.user:$(INIT_COMMON_DIAG_RC)
@@ -460,7 +468,8 @@ PRODUCT_PACKAGES_DEBUG += \
# more partitions to this list for the bootloader and radio.
AB_OTA_PARTITIONS += \
boot \
- system
+ system \
+ vendor
# Bluetooth HAL
PRODUCT_PACKAGES += \
@@ -521,11 +530,13 @@ PRODUCT_PACKAGES += \
# Library used for VTS tests (only for userdebug and eng builds)
ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
+ifeq (,$(filter lineage_marlin lineage_sailfish, $(TARGET_PRODUCT)))
# For VTS profiling.
PRODUCT_PACKAGES += \
libvts_profiling \
libvts_multidevice_proto
endif
+endif
# NFC/camera interaction workaround - DO NOT COPY TO NEW DEVICES
PRODUCT_PROPERTY_OVERRIDES += \
diff --git a/device-lineage.mk b/device-lineage.mk
new file mode 100644
index 00000000..c3353af3
--- /dev/null
+++ b/device-lineage.mk
@@ -0,0 +1,39 @@
+# Camera
+PRODUCT_PACKAGES += \
+ libmm-qcamera \
+ Snap
+
+# DRM
+PRODUCT_PACKAGES += \
+ android.hardware.drm@1.1-service.clearkey
+
+PRODUCT_PROPERTY_OVERRIDES += \
+ drm.service.enabled=true \
+ media.mediadrmservice.enable=true
+
+# Google Assistant
+PRODUCT_SYSTEM_DEFAULT_PROPERTIES += ro.opa.eligible_device=true
+
+# IMS
+PRODUCT_PACKAGES += \
+ com.android.ims.rcsmanager \
+ RcsService \
+ PresencePolling
+
+# Overlays
+DEVICE_PACKAGE_OVERLAYS += device/google/marlin/overlay-lineage
+
+# Sensors
+PRODUCT_PACKAGES += \
+ libsensorndkbridge
+
+# Tool
+PRODUCT_PACKAGES += \
+ libtinyxml
+
+# VR Services
+PRODUCT_PACKAGES += \
+ bufferhubd \
+ performanced \
+ virtual_touchpad \
+ vr_hwc
diff --git a/extract-files.sh b/extract-files.sh
new file mode 120000
index 00000000..937477d6
--- /dev/null
+++ b/extract-files.sh
@@ -0,0 +1 @@
+marlin/extract-files.sh \ No newline at end of file
diff --git a/liblight/Android.mk b/liblight/Android.mk
index 192a9b6b..355d580d 100644
--- a/liblight/Android.mk
+++ b/liblight/Android.mk
@@ -17,6 +17,9 @@ LOCAL_PATH:= $(call my-dir)
# hw/<COPYPIX_HARDWARE_MODULE_ID>.<ro.board.platform>.so
include $(CLEAR_VARS)
+LOCAL_C_INCLUDES += $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr/include
+LOCAL_ADDITIONAL_DEPENDENCIES := $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr
+
LOCAL_SRC_FILES := lights.c
LOCAL_MODULE_RELATIVE_PATH := hw
LOCAL_SHARED_LIBRARIES := libc libcutils liblog
diff --git a/liblight/lights.c b/liblight/lights.c
index 3c45ba5a..c8578f45 100644
--- a/liblight/lights.c
+++ b/liblight/lights.c
@@ -36,7 +36,7 @@
/*
* Change this to 1 to support battery notifications via BatteryService
*/
-#define LIGHTS_SUPPORT_BATTERY 0
+#define LIGHTS_SUPPORT_BATTERY 1
#define CG_COLOR_ID_PROPERTY "ro.boot.hardware.color"
static pthread_once_t g_init = PTHREAD_ONCE_INIT;
diff --git a/lineage.dependencies b/lineage.dependencies
new file mode 100644
index 00000000..4c6fc10e
--- /dev/null
+++ b/lineage.dependencies
@@ -0,0 +1,6 @@
+[
+ {
+ "repository": "android_kernel_google_marlin",
+ "target_path": "kernel/google/marlin"
+ }
+]
diff --git a/lineage_marlin.mk b/lineage_marlin.mk
new file mode 100644
index 00000000..ed8d2116
--- /dev/null
+++ b/lineage_marlin.mk
@@ -0,0 +1,26 @@
+# Boot animation
+TARGET_SCREEN_HEIGHT := 2560
+TARGET_SCREEN_WIDTH := 1440
+
+# Inherit some common Lineage stuff.
+$(call inherit-product, vendor/lineage/config/common_full_phone.mk)
+
+# Inherit device configuration
+$(call inherit-product, device/google/marlin/aosp_marlin.mk)
+
+-include device/google/marlin/marlin/device-lineage.mk
+
+## Device identifier. This must come after all inclusions
+PRODUCT_NAME := lineage_marlin
+PRODUCT_BRAND := google
+PRODUCT_MODEL := Pixel XL
+TARGET_MANUFACTURER := HTC
+PRODUCT_RESTRICT_VENDOR_FILES := false
+
+PRODUCT_BUILD_PROP_OVERRIDES += \
+ PRODUCT_NAME=marlin \
+ PRIVATE_BUILD_DESC="marlin-user 9 PQ2A.190405.003 5310204 release-keys"
+
+BUILD_FINGERPRINT := google/marlin/marlin:9/PQ2A.190405.003/5310204:user/release-keys
+
+$(call inherit-product-if-exists, vendor/google/marlin/marlin-vendor.mk)
diff --git a/lineage_sailfish.mk b/lineage_sailfish.mk
new file mode 100644
index 00000000..36af0f52
--- /dev/null
+++ b/lineage_sailfish.mk
@@ -0,0 +1,26 @@
+# Boot animation
+TARGET_SCREEN_HEIGHT := 1920
+TARGET_SCREEN_WIDTH := 1080
+
+# Inherit some common Lineage stuff.
+$(call inherit-product, vendor/lineage/config/common_full_phone.mk)
+
+# Inherit device configuration
+$(call inherit-product, device/google/marlin/aosp_sailfish.mk)
+
+-include device/google/marlin/sailfish/device-lineage.mk
+
+## Device identifier. This must come after all inclusions
+PRODUCT_NAME := lineage_sailfish
+PRODUCT_BRAND := google
+PRODUCT_MODEL := Pixel
+TARGET_MANUFACTURER := HTC
+PRODUCT_RESTRICT_VENDOR_FILES := false
+
+PRODUCT_BUILD_PROP_OVERRIDES += \
+ PRODUCT_NAME=sailfish \
+ PRIVATE_BUILD_DESC="sailfish-user 9 PQ2A.190405.003 5310204 release-keys"
+
+BUILD_FINGERPRINT := google/sailfish/sailfish:9/PQ2A.190405.003/5310204:user/release-keys
+
+$(call inherit-product-if-exists, vendor/google/sailfish/sailfish-vendor.mk)
diff --git a/marlin/BoardConfig.mk b/marlin/BoardConfig.mk
index 3eb12019..4f015fdf 100644
--- a/marlin/BoardConfig.mk
+++ b/marlin/BoardConfig.mk
@@ -3,6 +3,9 @@
# Product-specific compile-time definitions
#
+# Allow Lineage config to override others
+-include device/google/marlin/marlin/BoardConfigLineage.mk
+
TARGET_BOARD_PLATFORM := msm8996
TARGET_BOOTLOADER_BOARD_NAME := marlin
TARGET_BOARD_INFO_FILE := device/google/marlin/marlin/board-info.txt
@@ -106,7 +109,7 @@ BOARD_ROOT_EXTRA_FOLDERS := firmware firmware/radio persist
BOARD_ROOT_EXTRA_SYMLINKS := /vendor/lib/dsp:/dsp
BOARD_SEPOLICY_DIRS += device/google/marlin/sepolicy
-ifneq ($(filter marlin marlinf, $(TARGET_PRODUCT)),)
+ifneq ($(filter lineage_marlin marlin marlinf, $(TARGET_PRODUCT)),)
BOARD_SEPOLICY_DIRS += device/google/marlin/sepolicy/verizon
endif
BOARD_PLAT_PRIVATE_SEPOLICY_DIR := device/google/marlin/sepolicy/private
@@ -128,7 +131,6 @@ endif
TARGET_KERNEL_ARCH := arm64
TARGET_KERNEL_HEADER_ARCH := arm64
TARGET_KERNEL_CROSS_COMPILE_PREFIX := aarch64-linux-android-
-TARGET_USES_UNCOMPRESSED_KERNEL := false
MAX_EGL_CACHE_KEY_SIZE := 12*1024
MAX_EGL_CACHE_SIZE := 2048*1024
@@ -166,7 +168,6 @@ CAMERA_DAEMON_NOT_PRESENT := true
# TARGET_COMPILE_WITH_MSM_KERNEL := true
-TARGET_KERNEL_APPEND_DTB := true
# Added to indicate that protobuf-c is supported in this build
PROTOBUF_SUPPORTED := false
diff --git a/marlin/BoardConfigLineage.mk b/marlin/BoardConfigLineage.mk
new file mode 100644
index 00000000..af21e4af
--- /dev/null
+++ b/marlin/BoardConfigLineage.mk
@@ -0,0 +1,2 @@
+# BoardConfig for lineage_marlin
+include device/google/marlin/BoardConfigLineage.mk
diff --git a/marlin/device-lineage.mk b/marlin/device-lineage.mk
new file mode 100644
index 00000000..137942dc
--- /dev/null
+++ b/marlin/device-lineage.mk
@@ -0,0 +1 @@
+$(call inherit-product, device/google/marlin/device-lineage.mk)
diff --git a/marlin/device-proprietary-files-vendor.txt b/marlin/device-proprietary-files-vendor.txt
new file mode 100644
index 00000000..eca05d11
--- /dev/null
+++ b/marlin/device-proprietary-files-vendor.txt
@@ -0,0 +1,677 @@
+-vendor/app/atfwd/atfwd.apk
+-vendor/app/colorservice/colorservice.apk
+-vendor/app/datastatusnotification/datastatusnotification.apk
+-vendor/app/embms/embms.apk
+vendor/app/embms/oem/config_params.xml
+vendor/app/embms/oem/provisioning_params.xml
+vendor/app/embms/oem/verizon_config_params.txt
+-vendor/app/fastdormancy/fastdormancy.apk
+-vendor/app/imssettings/imssettings.apk
+-vendor/app/QAS_DVC_MSP/QAS_DVC_MSP.apk
+-vendor/app/QtiTelephonyService/QtiTelephonyService.apk
+-vendor/app/radioconfig/radioconfig.apk
+-vendor/app/RCSBootstraputil/RCSBootstraputil.apk
+-vendor/app/SecureExtAuthService/SecureExtAuthService.apk
+-vendor/app/shutdownlistener/shutdownlistener.apk
+-vendor/app/TimeService/TimeService.apk
+-vendor/app/vzw_msdc_api/vzw_msdc_api.apk
+vendor/bin/adsprpcd
+vendor/bin/ATFWD-daemon
+vendor/bin/athdiag
+vendor/bin/cnd
+vendor/bin/cnss-daemon
+vendor/bin/cnss_diag
+vendor/bin/diag_callback_sample
+vendor/bin/diag_dci_sample
+vendor/bin/diag_mdlog
+vendor/bin/diag_socket_log
+vendor/bin/diag_uart_log
+vendor/bin/ftmdaemon
+vendor/bin/gptest
+vendor/bin/hdcp1prov
+vendor/bin/hw/android.hardware.bluetooth@1.0-service-qti
+vendor/bin/hw/android.hardware.drm@1.1-service.widevine
+vendor/bin/imsdatadaemon
+vendor/bin/imsqmidaemon
+vendor/bin/ims_rtp_daemon
+vendor/bin/irsc_util
+vendor/bin/loc_launcher
+vendor/bin/lowi-server
+vendor/bin/mct-unit-test-app
+vendor/bin/mdm_helper
+vendor/bin/mdm_helper_proxy
+vendor/bin/mm-qcamera-daemon
+vendor/bin/mm-qjpeg-dec-test
+vendor/bin/mm-qjpeg-enc-test
+vendor/bin/mm-qomx-idec-test
+vendor/bin/mm-qomx-ienc-test
+vendor/bin/msm_irqbalance
+vendor/bin/myftm
+vendor/bin/nanohub_slpi
+vendor/bin/netmgrd
+vendor/bin/nl_listener
+vendor/bin/perfd
+vendor/bin/PktRspTest
+vendor/bin/pm-proxy
+vendor/bin/pm-service
+vendor/bin/port-bridge
+vendor/bin/qfipsverify
+vendor/bin/qjpeg-dma-test
+vendor/bin/qseecomd
+vendor/bin/qseecom_sample_client
+vendor/bin/qti
+vendor/bin/radish
+vendor/bin/rmt_storage
+vendor/bin/slim_daemon
+vendor/bin/ssr_diag
+vendor/bin/ssr_setup
+vendor/bin/StoreKeybox
+vendor/bin/subsystem_ramdump
+vendor/bin/tbaseLoader
+vendor/bin/test_bet_8996
+vendor/bin/test_diag
+vendor/bin/test_module_pproc
+vendor/bin/thermal-engine
+vendor/bin/time_daemon
+vendor/bin/wdsdaemon
+vendor/bin/WifiLogger_app
+vendor/bin/xtra-daemon
+vendor/etc/acdbdata/Bluetooth_cal.acdb
+vendor/etc/acdbdata/General_cal.acdb
+vendor/etc/acdbdata/Global_cal.acdb
+vendor/etc/acdbdata/Handset_cal.acdb
+vendor/etc/acdbdata/Hdmi_cal.acdb
+vendor/etc/acdbdata/Headset_cal.acdb
+vendor/etc/acdbdata/Speaker_cal.acdb
+vendor/etc/camera/imx179_chromatix.xml
+vendor/etc/camera/imx378_chromatix.xml
+vendor/etc/camera/msm8996_camera.xml
+vendor/etc/data/dsi_config.xml
+vendor/etc/data/netmgr_config.xml
+vendor/etc/diag/CHRE.cfg
+vendor/etc/diag/IMS.cfg
+vendor/etc/diag/MarlinSailfish_Radio-generic.cfg
+vendor/etc/diag/wlan.cfg
+vendor/etc/flp.conf
+vendor/etc/init/android.hardware.bluetooth@1.0-service-qti.rc
+vendor/etc/init/android.hardware.drm@1.1-service.widevine.rc
+vendor/etc/izat.conf
+vendor/etc/lowi.conf
+vendor/etc/modem_stat.conf
+vendor/etc/perf-profile0.conf
+vendor/etc/permissions/LowPowerMonitorDeviceInterface.xml
+vendor/etc/permissions/LowPowerMonitorDeviceStub.xml
+vendor/etc/permissions/PowerAnomalyDataModemInterface.xml
+vendor/etc/permissions/PowerAnomalyStub.xml
+vendor/etc/permissions/embms.xml
+vendor/etc/permissions/qcrilhook.xml
+vendor/etc/permissions/qti_permissions.xml
+vendor/etc/permissions/qti-vzw-ims-internal.xml
+vendor/etc/permissions/rcsservice.xml
+vendor/etc/permissions/telephonyservice.xml
+vendor/etc/public.libraries.txt
+vendor/etc/qdcm_calib_data_M1_WQHD_SAMSUNG_S6E3HA3_5.5_command_mode_panel.xml
+vendor/etc/qfipsverify/bootimg.hmac
+vendor/etc/qfipsverify/qfipsverify.hmac
+vendor/etc/sap.conf
+vendor/firmware/a530_gpmu.fw2
+vendor/firmware/a530_pfp.fw
+vendor/firmware/a530_pm4.fw
+vendor/firmware/a530rnd.fw
+vendor/firmware/a530v3_gpmu.fw2
+vendor/firmware/a530v3_seq.fw2
+vendor/firmware/a530_zap.b00
+vendor/firmware/a530_zap.b01
+vendor/firmware/a530_zap.b02
+vendor/firmware/a530_zap.elf
+vendor/firmware/a530_zap.mdt
+vendor/firmware/a530_zap_signed.b00
+vendor/firmware/a530_zap_signed.b01
+vendor/firmware/a530_zap_signed.b02
+vendor/firmware/a530_zap_signed.elf
+vendor/firmware/a530_zap_signed.mbn
+vendor/firmware/a530_zap_signed.mdt
+vendor/firmware/activity.napp
+vendor/firmware/adsp.b00
+vendor/firmware/adsp.b01
+vendor/firmware/adsp.b02
+vendor/firmware/adsp.b03
+vendor/firmware/adsp.b04
+vendor/firmware/adsp.b05
+vendor/firmware/adsp.b06
+vendor/firmware/adsp.b08
+vendor/firmware/adsp.b09
+vendor/firmware/adsp.mdt
+vendor/firmware/adspver.cfg
+vendor/firmware/bdwlan30.b80
+vendor/firmware/bdwlan30.b81
+vendor/firmware/bdwlan30.b82
+vendor/firmware/bdwlan30.bin
+vendor/firmware/btfw32.tlv
+vendor/firmware/btnv32.bin
+vendor/firmware/cmnlib64.b00
+vendor/firmware/cmnlib64.b01
+vendor/firmware/cmnlib64.b02
+vendor/firmware/cmnlib64.b03
+vendor/firmware/cmnlib64.b04
+vendor/firmware/cmnlib64.b05
+vendor/firmware/cmnlib64.mdt
+vendor/firmware/cmnlib.b00
+vendor/firmware/cmnlib.b01
+vendor/firmware/cmnlib.b02
+vendor/firmware/cmnlib.b03
+vendor/firmware/cmnlib.b04
+vendor/firmware/cmnlib.b05
+vendor/firmware/cmnlib.mdt
+vendor/firmware/cpe_9335.b08
+vendor/firmware/cpe_9335.b09
+vendor/firmware/cpe_9335.b11
+vendor/firmware/cpe_9335.b14
+vendor/firmware/cpe_9335.b16
+vendor/firmware/cpe_9335.b18
+vendor/firmware/cpe_9335.b19
+vendor/firmware/cpe_9335.b20
+vendor/firmware/cpe_9335.b22
+vendor/firmware/cpe_9335.b24
+vendor/firmware/cpe_9335.b26
+vendor/firmware/cpe_9335.b28
+vendor/firmware/cpe_9335.b29
+vendor/firmware/cpe_9335.mdt
+vendor/firmware/cppf.b00
+vendor/firmware/cppf.b01
+vendor/firmware/cppf.b02
+vendor/firmware/cppf.b03
+vendor/firmware/cppf.b04
+vendor/firmware/cppf.b05
+vendor/firmware/cppf.b06
+vendor/firmware/cpp_firmware_v1_10_0.fw
+vendor/firmware/cpp_firmware_v1_1_1.fw
+vendor/firmware/cpp_firmware_v1_1_6.fw
+vendor/firmware/cpp_firmware_v1_2_0.fw
+vendor/firmware/cpp_firmware_v1_4_0.fw
+vendor/firmware/cpp_firmware_v1_5_0.fw
+vendor/firmware/cpp_firmware_v1_5_2.fw
+vendor/firmware/cpp_firmware_v1_6_0.fw
+vendor/firmware/cpp_firmware_v1_8_0.fw
+vendor/firmware/cppf.mdt
+vendor/firmware/Data.msc
+vendor/firmware/double_twist.napp
+vendor/firmware/fpctzappfingerprint.b00
+vendor/firmware/fpctzappfingerprint.b01
+vendor/firmware/fpctzappfingerprint.b02
+vendor/firmware/fpctzappfingerprint.b03
+vendor/firmware/fpctzappfingerprint.b04
+vendor/firmware/fpctzappfingerprint.b05
+vendor/firmware/fpctzappfingerprint.b06
+vendor/firmware/fpctzappfingerprint.mdt
+vendor/firmware/geofence.napp
+vendor/firmware/hotsound.sound_model
+vendor/firmware/nanohub.full.bin
+vendor/firmware/napp_list.cfg
+vendor/firmware/otp30.bin
+vendor/firmware/pickup_gesture.napp
+vendor/firmware/qwlan30.bin
+vendor/firmware/sig_motion.napp
+vendor/firmware/slpi.b00
+vendor/firmware/slpi.b01
+vendor/firmware/slpi.b02
+vendor/firmware/slpi.b03
+vendor/firmware/slpi.b04
+vendor/firmware/slpi.b05
+vendor/firmware/slpi.b06
+vendor/firmware/slpi.b07
+vendor/firmware/slpi.b08
+vendor/firmware/slpi.b09
+vendor/firmware/slpi.b10
+vendor/firmware/slpi.b11
+vendor/firmware/slpi.b12
+vendor/firmware/slpi.b13
+vendor/firmware/slpi.b14
+vendor/firmware/slpi.mdt
+vendor/firmware/slpiver.cfg
+vendor/firmware/synaptics_bl71.img
+vendor/firmware/synaptics_bl77.img
+vendor/firmware/tfa98xx.cnt
+vendor/firmware/utf30.bin
+vendor/firmware/venus.b00
+vendor/firmware/venus.b01
+vendor/firmware/venus.b02
+vendor/firmware/venus.b03
+vendor/firmware/venus.b04
+vendor/firmware/venus.flist
+vendor/firmware/venus.mbn
+vendor/firmware/venus.mdt
+vendor/firmware/widevine.b00
+vendor/firmware/widevine.b01
+vendor/firmware/widevine.b02
+vendor/firmware/widevine.b03
+vendor/firmware/widevine.b04
+vendor/firmware/widevine.b05
+vendor/firmware/widevine.b06
+vendor/firmware/widevine.mdt
+-vendor/framework/embmslibrary.jar
+-vendor/framework/QtiTelephonyServicelibrary.jar
+-vendor/framework/qti-vzw-ims-internal.jar
+-vendor/framework/rcsservice.jar
+vendor/lib64/egl/eglSubDriverAndroid.so
+vendor/lib64/egl/libEGL_adreno.so
+vendor/lib64/egl/libGLESv1_CM_adreno.so
+vendor/lib64/egl/libGLESv2_adreno.so
+vendor/lib64/egl/libq3dtools_adreno.so
+vendor/lib64/egl/libq3dtools_esx.so
+vendor/lib64/hw/android.hardware.bluetooth@1.0-impl-qti.so
+vendor/lib64/hw/fingerprint.marlin.so
+vendor/lib64/hw/flp.default.so
+vendor/lib64/hw/gatekeeper.msm8996.so
+vendor/lib64/hw/gps.default.so
+vendor/lib64/hw/keystore.msm8996.so
+vendor/lib64/hw/vulkan.msm8996.so
+vendor/lib64/libacdb-fts.so
+vendor/lib64/libacdbloader.so
+vendor/lib64/libacdbmapper.so
+vendor/lib64/libacdbrtac.so
+vendor/lib64/libadiertac.so
+vendor/lib64/libadreno_utils.so
+vendor/lib64/libadsp_default_listener.so
+vendor/lib64/libadsprpc.so
+vendor/lib64/libaudcal.so
+vendor/lib64/libaudioalsa.so
+vendor/lib64/libbccQTI.so
+vendor/lib64/libbtnv.so
+vendor/lib64/libC2D2.so
+vendor/lib64/libc2d30-a3xx.so
+vendor/lib64/libc2d30-a4xx.so
+vendor/lib64/libc2d30-a5xx.so
+vendor/lib64/libc2d30_bltlib.so
+vendor/lib64/libCB.so
+vendor/lib64/libcneapiclient.so
+vendor/lib64/libcne.so
+vendor/lib64/libconfigdb.so
+vendor/lib64/libdiag.so
+vendor/lib64/libdisp-aba.so
+vendor/lib64/lib-dplmedia.so
+vendor/lib64/libdrmfs.so
+vendor/lib64/libdrmtime.so
+vendor/lib64/libdsi_netctrl.so
+vendor/lib64/libdsutils.so
+vendor/lib64/libfastcvadsp_stub.so
+vendor/lib64/libfastcvopt.so
+vendor/lib64/libflp.so
+vendor/lib64/lib_fpc_tac_shared.so
+vendor/lib64/libgeofence.so
+vendor/lib64/libGPreqcancel.so
+vendor/lib64/libGPreqcancel_svc.so
+vendor/lib64/libgps.utils.so
+vendor/lib64/libGPTEE.so
+vendor/lib64/libgsl.so
+vendor/lib64/libhdcp1prov.so
+vendor/lib64/libidl.so
+vendor/lib64/lib-imsdpl.so
+vendor/lib64/lib-imsqimf.so
+vendor/lib64/lib-imsrcs.so
+vendor/lib64/lib-imsSDP.so
+vendor/lib64/lib-imsxml.so
+vendor/lib64/libizat_core.so
+vendor/lib64/liblbs_core.so
+vendor/lib64/libllvm-glnext.so
+vendor/lib64/libllvm-qcom.so
+vendor/lib64/libloc_api_v02.so
+vendor/lib64/libloc_core.so
+vendor/lib64/libloc_ds_api.so
+vendor/lib64/libloc_eng.so
+vendor/lib64/liblowi_client.so
+vendor/lib64/liblowi_wifihal.so
+vendor/lib64/liblqe.so
+vendor/lib64/libmdmdetect.so
+vendor/lib64/libmdmimgload.so
+vendor/lib64/libmdsprpc.so
+vendor/lib64/libmmcamera_dbg.so
+vendor/lib64/libmm-disp-apis.so
+vendor/lib64/libmm-hdcpmgr.so
+vendor/lib64/libmm-qdcm.so
+vendor/lib64/libnetmgr.so
+vendor/lib64/libperipheral_client.so
+vendor/lib64/libpvr.so
+vendor/lib64/libqcci_legacy.so
+vendor/lib64/libqcmaputils.so
+vendor/lib64/libqdi.so
+vendor/lib64/libqdp.so
+vendor/lib64/libqisl.so
+vendor/lib64/libqmi_cci.so
+vendor/lib64/libqmi_client_helper.so
+vendor/lib64/libqmi_client_qmux.so
+vendor/lib64/libqmi_common_so.so
+vendor/lib64/libqmi_csi.so
+vendor/lib64/libqmi_encdec.so
+vendor/lib64/libqmiservices_ext.so
+vendor/lib64/libqmiservices_htc.so
+vendor/lib64/libqmiservices.so
+vendor/lib64/libqmi.so
+vendor/lib64/libQSEEComAPI.so
+vendor/lib64/libqti-perfd-client.so
+vendor/lib64/libquipc_os_api.so
+vendor/lib64/lib-rcsjni.so
+vendor/lib64/libril-qc-qmi-1.so
+vendor/lib64/libril-qc-radioconfig.so
+vendor/lib64/libril-qcril-hook-oem.so
+vendor/lib64/librilqmiservices.so
+vendor/lib64/librmp.so
+vendor/lib64/librpmb.so
+vendor/lib64/librs_adreno_sha1.so
+vendor/lib64/librs_adreno.so
+vendor/lib64/libRSDriver_adreno.so
+vendor/lib64/lib-rtpcommon.so
+vendor/lib64/lib-rtpcore.so
+vendor/lib64/lib-rtpdaemoninterface.so
+vendor/lib64/lib-rtpsl.so
+vendor/lib64/libSampleAuthJNI.so
+vendor/lib64/libSampleExtAuthJNI.so
+vendor/lib64/libscalar.so
+vendor/lib64/libscale.so
+vendor/lib64/libsdm-color.so
+vendor/lib64/libsdm-diag.so
+vendor/lib64/libsdm-disp-apis.so
+vendor/lib64/libsdmextension.so
+vendor/lib64/libsd_sdk_display.so
+vendor/lib64/libsdsprpc.so
+vendor/lib64/lib-sec-disp.so
+vendor/lib64/libSecureExtAuthJNI.so
+vendor/lib64/libSecureSampleAuthJNI.so
+vendor/lib64/libSecureUILib.so
+vendor/lib64/libsecureui.so
+vendor/lib64/libsecureuisvc_jni.so
+vendor/lib64/libsecureui_svcsock.so
+vendor/lib64/libsi.so
+vendor/lib64/libsmemlog.so
+vendor/lib64/libssd.so
+vendor/lib64/libStDrvInt.so
+vendor/lib64/libsystem_health_mon.so
+vendor/lib64/libthermalclient.so
+vendor/lib64/libthermalioctl.so
+vendor/lib64/libtime_genoff.so
+vendor/lib64/libTimeService.so
+vendor/lib64/libtzdrmgenprov.so
+vendor/lib64/libwms.so
+vendor/lib64/libxml.so
+vendor/lib/dsp/EtsiEaacPlusEncAndCmnModule.so.1
+vendor/lib/dsp/fastrpc_shell_0
+vendor/lib/dsp/fluence_voiceplus_module.so.1
+vendor/lib/dsp/HeaacDecoderModule.so.1
+vendor/lib/dsp/libsysmon_skel.so
+vendor/lib/dsp/map_avs_shared_libs.txt
+vendor/lib/dsp/map_SHARED_LIBS_AAAAAAAAQ.txt
+vendor/lib/dsp/mmecns_module.so.1
+vendor/lib/dsp/SAPlusCmnModule.so.1
+vendor/lib/egl/eglSubDriverAndroid.so
+vendor/lib/egl/libEGL_adreno.so
+vendor/lib/egl/libGLESv1_CM_adreno.so
+vendor/lib/egl/libGLESv2_adreno.so
+vendor/lib/egl/libq3dtools_adreno.so
+vendor/lib/egl/libq3dtools_esx.so
+vendor/lib/hw/audio.primary.msm8996.so
+vendor/lib/hw/flp.default.so
+vendor/lib/hw/gatekeeper.msm8996.so
+vendor/lib/hw/gps.default.so
+vendor/lib/hw/keystore.msm8996.so
+vendor/lib/hw/sensors.vl530l0.tof.so
+vendor/lib/hw/sound_trigger.primary.msm8996.so
+vendor/lib/hw/vulkan.msm8996.so
+vendor/lib/libacdb-fts.so
+vendor/lib/libacdbloader.so
+vendor/lib/libacdbmapper.so
+vendor/lib/libacdbrtac.so
+vendor/lib/libactuator_lc898212xd_htc.so
+vendor/lib/libadiertac.so
+vendor/lib/libadm.so
+vendor/lib/libadpcmdec.so
+vendor/lib/libadreno_utils.so
+vendor/lib/libadsp_default_listener.so
+vendor/lib/libadsprpc.so
+vendor/lib/libaudcal.so
+vendor/lib/libaudioalsa.so
+vendor/lib/libbccQTI.so
+vendor/lib/libC2D2.so
+vendor/lib/libc2d30-a3xx.so
+vendor/lib/libc2d30-a4xx.so
+vendor/lib/libc2d30-a5xx.so
+vendor/lib/libc2d30_bltlib.so
+vendor/lib/libCB.so
+vendor/lib/libchromatix_imx179_common.so
+vendor/lib/libchromatix_imx179_postproc.so
+vendor/lib/libchromatix_imx179_video_16_9_3a.so
+vendor/lib/libchromatix_imx179_video_16_9_cpp.so
+vendor/lib/libchromatix_imx179_video_16_9_isp.so
+vendor/lib/libchromatix_imx179_video_qtr_16_9_3a.so
+vendor/lib/libchromatix_imx179_video_qtr_16_9_cpp.so
+vendor/lib/libchromatix_imx179_video_qtr_16_9_isp.so
+vendor/lib/libchromatix_imx179_zsl_snapshot_3a.so
+vendor/lib/libchromatix_imx179_zsl_snapshot_cpp.so
+vendor/lib/libchromatix_imx179_zsl_snapshot_isp.so
+vendor/lib/libchromatix_imx378_common.so
+vendor/lib/libchromatix_imx378_postproc.so
+vendor/lib/libchromatix_imx378_video_16_9_3a.so
+vendor/lib/libchromatix_imx378_video_16_9_cpp.so
+vendor/lib/libchromatix_imx378_video_16_9_isp.so
+vendor/lib/libchromatix_imx378_video_hfr_120_3a.so
+vendor/lib/libchromatix_imx378_video_hfr_120_cpp.so
+vendor/lib/libchromatix_imx378_video_hfr_120_isp.so
+vendor/lib/libchromatix_imx378_video_hfr_240_3a.so
+vendor/lib/libchromatix_imx378_video_hfr_240_cpp.so
+vendor/lib/libchromatix_imx378_video_hfr_240_isp.so
+vendor/lib/libchromatix_imx378_video_hfr_60_3a.so
+vendor/lib/libchromatix_imx378_video_hfr_60_cpp.so
+vendor/lib/libchromatix_imx378_video_hfr_60_isp.so
+vendor/lib/libchromatix_imx378_zsl_snapshot_3a.so
+vendor/lib/libchromatix_imx378_zsl_snapshot_cpp.so
+vendor/lib/libchromatix_imx378_zsl_snapshot_isp.so
+vendor/lib/libcneapiclient.so
+vendor/lib/libcne.so
+vendor/lib/libconfigdb.so
+vendor/lib/libcppf.so
+vendor/lib/libdiag.so
+vendor/lib/libdisp-aba.so
+vendor/lib/lib-dplmedia.so
+vendor/lib/libdrmfs.so
+vendor/lib/libdrmtime.so
+vendor/lib/libdsi_netctrl.so
+vendor/lib/libdsutils.so
+vendor/lib/libeglc2d.so
+vendor/lib/libfastcvadsp_stub.so
+vendor/lib/libfastcvopt.so
+vendor/lib/libflash_pmic.so
+vendor/lib/libflp.so
+vendor/lib/libgcam_ae.so
+vendor/lib/libgeofence.so
+vendor/lib/libgoog_eis_armeabi-v7a.so
+vendor/lib/libGPreqcancel.so
+vendor/lib/libGPreqcancel_svc.so
+vendor/lib/libgps.utils.so
+vendor/lib/libGPTEE.so
+vendor/lib/libgsl.so
+vendor/lib/libhdcp1prov.so
+vendor/lib/libidl.so
+vendor/lib/lib-imsdpl.so
+vendor/lib/lib-imsrcs.so
+vendor/lib/libizat_core.so
+vendor/lib/libjpegdhw.so
+vendor/lib/libjpegdmahw.so
+vendor/lib/libjpegehw.so
+vendor/lib/liblbs_core.so
+vendor/lib/libllvd_smore.so
+vendor/lib/libllvm-glnext.so
+vendor/lib/libllvm-qcom.so
+vendor/lib/libloc_api_v02.so
+vendor/lib/libloc_core.so
+vendor/lib/libloc_ds_api.so
+vendor/lib/libloc_eng.so
+vendor/lib/liblowi_client.so
+vendor/lib/libmdmdetect.so
+vendor/lib/libmdsprpc.so
+vendor/lib/libmmcamera2_c2d_module.so
+vendor/lib/libmmcamera2_cpp_module.so
+vendor/lib/libmmcamera2_frame_algorithm.so
+vendor/lib/libmmcamera2_iface_modules.so
+vendor/lib/libmmcamera2_imglib_modules.so
+vendor/lib/libmmcamera2_isp_modules.so
+vendor/lib/libmmcamera2_is.so
+vendor/lib/libmmcamera2_mct_shimlayer.so
+vendor/lib/libmmcamera2_mct.so
+vendor/lib/libmmcamera2_memleak.so
+vendor/lib/libmmcamera2_pp_buf_mgr.so
+vendor/lib/libmmcamera2_pproc_modules.so
+vendor/lib/libmmcamera2_q3a_core.so
+vendor/lib/libmmcamera2_sensor_modules.so
+vendor/lib/libmmcamera2_stats_algorithm.so
+vendor/lib/libmmcamera2_stats_modules.so
+vendor/lib/libmmcamera_dbg.so
+vendor/lib/libmmcamera_eeprom_util.so
+vendor/lib/libmmcamera_eztune_module.so
+vendor/lib/libmmcamera_facedetection_lib.so
+vendor/lib/libmmcamera_faceproc2.so
+vendor/lib/libmmcamera_faceproc.so
+vendor/lib/libmmcamera_imglib.so
+vendor/lib/libmmcamera_imx179_htc.so
+vendor/lib/libmmcamera_imx378_htc.so
+vendor/lib/libmmcamera_isp_abf47.so
+vendor/lib/libmmcamera_isp_aec_bg_stats47.so
+vendor/lib/libmmcamera_isp_bf_stats47.so
+vendor/lib/libmmcamera_isp_bg_stats46.so
+vendor/lib/libmmcamera_isp_bhist_stats44.so
+vendor/lib/libmmcamera_isp_black_level47.so
+vendor/lib/libmmcamera_isp_bpc47.so
+vendor/lib/libmmcamera_isp_cac47.so
+vendor/lib/libmmcamera_isp_chroma_enhan40.so
+vendor/lib/libmmcamera_isp_chroma_suppress40.so
+vendor/lib/libmmcamera_isp_clamp_encoder40.so
+vendor/lib/libmmcamera_isp_clamp_video40.so
+vendor/lib/libmmcamera_isp_clamp_viewfinder40.so
+vendor/lib/libmmcamera_isp_color_correct46.so
+vendor/lib/libmmcamera_isp_color_xform_encoder46.so
+vendor/lib/libmmcamera_isp_color_xform_video46.so
+vendor/lib/libmmcamera_isp_color_xform_viewfinder46.so
+vendor/lib/libmmcamera_isp_cs_stats46.so
+vendor/lib/libmmcamera_isp_demosaic47.so
+vendor/lib/libmmcamera_isp_demux40.so
+vendor/lib/libmmcamera_isp_fovcrop_encoder46.so
+vendor/lib/libmmcamera_isp_fovcrop_video46.so
+vendor/lib/libmmcamera_isp_fovcrop_viewfinder46.so
+vendor/lib/libmmcamera_isp_gamma44.so
+vendor/lib/libmmcamera_isp_gic46.so
+vendor/lib/libmmcamera_isp_gtm46.so
+vendor/lib/libmmcamera_isp_hdr46.so
+vendor/lib/libmmcamera_isp_hdr_be_stats46.so
+vendor/lib/libmmcamera_isp_ihist_stats46.so
+vendor/lib/libmmcamera_isp_linearization40.so
+vendor/lib/libmmcamera_isp_ltm47.so
+vendor/lib/libmmcamera_isp_mce40.so
+vendor/lib/libmmcamera_isp_mesh_rolloff44.so
+vendor/lib/libmmcamera_isp_pedestal_correct46.so
+vendor/lib/libmmcamera_isp_rs_stats46.so
+vendor/lib/libmmcamera_isp_scaler_encoder46.so
+vendor/lib/libmmcamera_isp_scaler_video46.so
+vendor/lib/libmmcamera_isp_scaler_viewfinder46.so
+vendor/lib/libmmcamera_isp_sce40.so
+vendor/lib/libmmcamera_isp_snr47.so
+vendor/lib/libmmcamera_isp_sub_module.so
+vendor/lib/libmmcamera_llvd.so
+vendor/lib/libmmcamera_paaf_lib.so
+vendor/lib/libmmcamera_pdafcamif.so
+vendor/lib/libmmcamera_pdaf.so
+vendor/lib/libmmcamera_ppbase_module.so
+vendor/lib/libmmcamera_sony_imx179_eeprom.so
+vendor/lib/libmmcamera_sony_imx378_eeprom.so
+vendor/lib/libmmcamera_thread_services.so
+vendor/lib/libmmcamera_tintless_algo.so
+vendor/lib/libmmcamera_tintless_bg_pca_algo.so
+vendor/lib/libmmcamera_tuning_lookup.so
+vendor/lib/libmmcamera_tuning.so
+vendor/lib/libmm-disp-apis.so
+vendor/lib/libmm-hdcpmgr.so
+vendor/lib/libmmjpeg.so
+vendor/lib/libmm-qdcm.so
+vendor/lib/libmmqjpeg_codec.so
+vendor/lib/libmmqjpegdma.so
+vendor/lib/libnetmgr.so
+vendor/lib/liboemcrypto.so
+vendor/lib/libperipheral_client.so
+vendor/lib/libpvr.so
+vendor/lib/libqcci_legacy.so
+vendor/lib/libqcmaputils.so
+vendor/lib/libqdi.so
+vendor/lib/libqisl.so
+vendor/lib/libqmi_cci.so
+vendor/lib/libqmi_client_helper.so
+vendor/lib/libqmi_client_qmux.so
+vendor/lib/libqmi_common_so.so
+vendor/lib/libqmi_csi.so
+vendor/lib/libqmi_encdec.so
+vendor/lib/libqmiservices_ext.so
+vendor/lib/libqmiservices.so
+vendor/lib/libqmi.so
+vendor/lib/libqomx_jpegdec.so
+vendor/lib/libqomx_jpegenc_pipe.so
+vendor/lib/libqomx_jpegenc.so
+vendor/lib/libQSEEComAPI.so
+vendor/lib/libqti-perfd-client.so
+vendor/lib/libquipc_os_api.so
+vendor/lib/lib-rcsjni.so
+vendor/lib/libril-qcril-hook-oem.so
+vendor/lib/librmp.so
+vendor/lib/librpmb.so
+vendor/lib/librs_adreno_sha1.so
+vendor/lib/librs_adreno.so
+vendor/lib/libRSDriver_adreno.so
+vendor/lib/lib-rtpcommon.so
+vendor/lib/lib-rtpcore.so
+vendor/lib/lib-rtpdaemoninterface.so
+vendor/lib/lib-rtpsl.so
+vendor/lib/libSampleAuthJNI.so
+vendor/lib/libSampleExtAuthJNI.so
+vendor/lib/libscale.so
+vendor/lib/libsdm-disp-apis.so
+vendor/lib/libsd_sdk_display.so
+vendor/lib/libsdsprpc.so
+vendor/lib/lib-sec-disp.so
+vendor/lib/libSecureExtAuthJNI.so
+vendor/lib/libSecureSampleAuthJNI.so
+vendor/lib/libSecureUILib.so
+vendor/lib/libsecureui.so
+vendor/lib/libsecureuisvc_jni.so
+vendor/lib/libsecureui_svcsock.so
+vendor/lib/libseemore.so
+vendor/lib/libsi.so
+vendor/lib/libsmemlog.so
+vendor/lib/libSonyIMX378PdafLibrary.so
+vendor/lib/libssd.so
+vendor/lib/libStDrvInt.so
+vendor/lib/libsystem_health_mon.so
+vendor/lib/libthermalclient.so
+vendor/lib/libtime_genoff.so
+vendor/lib/libTimeService.so
+vendor/lib/libtm_interface.so
+vendor/lib/libtzdrmgenprov.so
+vendor/lib/libwms.so
+vendor/lib/libwvhidl.so
+vendor/lib/libxml.so
+vendor/lib/rfsa/adsp/chre_drv_loc.so
+vendor/lib/rfsa/adsp/chre_drv_modem.so
+vendor/lib/rfsa/adsp/chre_drv_wifi.so
+vendor/lib/rfsa/adsp/chre_platform.so
+vendor/lib/rfsa/adsp/chre.so
+vendor/lib/rfsa/adsp/libnanohub_slpi_skel.so
+vendor/lib/rfsa/adsp/libseemore_hexagon_skel.so
+vendor/lib/rfsa/adsp/lowi_client.so
+vendor/lib/rfsa/adsp/nano_bridge.so
+vendor/lib/soundfx/libfmas.so
+vendor/lib/test_suite_all_modules.so
+vendor/lib/test_suite_no_sensor.so
+vendor/lib/test_suite_pproc.so
+vendor/lib/test_suite_vfe.so
+vendor/media/LMspeed_508.emd
+vendor/media/PFFprec_600.emd
+vendor/qcril_database/upgrade/1_version_intro.sql
+vendor/qcril_database/upgrade/2_db_upgrade.sql
+vendor/qcril_database/upgrade/3_remove_ecc_999_from_us_and_canada.sql
+vendor/qcril_database/upgrade/4_db_upgrade.sql
+vendor/qcril_database/upgrade/5_update_india_ecc.sql
+vendor/qcril.db
diff --git a/marlin/device-proprietary-files.txt b/marlin/device-proprietary-files.txt
new file mode 100644
index 00000000..47a84316
--- /dev/null
+++ b/marlin/device-proprietary-files.txt
@@ -0,0 +1,91 @@
+# Bluetooth
+lib64/libaptX_encoder.so
+lib64/libaptXHD_encoder.so
+lib/libaptX_encoder.so
+lib/libaptXHD_encoder.so
+
+# Camera
+etc/permissions/com.google.android.camera.experimental2016.xml
+-framework/com.google.android.camera.experimental2016.jar;PRESIGNED
+
+# CNE
+etc/cne/Nexus/ATT/ATT_profiles.xml
+etc/cne/Nexus/ROW/ROW_profiles.xml
+etc/cne/Nexus/VZW/VZW_profiles.xml
+
+# DRM
+bin/move_widevine_data.sh
+
+# Hotword Enrollment
+-priv-app/HotwordEnrollmentOKGoogleWCD9335/HotwordEnrollmentOKGoogleWCD9335.apk;PRESIGNED
+-priv-app/HotwordEnrollmentTGoogleWCD9335/HotwordEnrollmentTGoogleWCD9335.apk;PRESIGNED
+-priv-app/HotwordEnrollmentXGoogleWCD9335/HotwordEnrollmentXGoogleWCD9335.apk;PRESIGNED
+
+# IMS/HD Voice
+-app/ims/ims.apk
+-priv-app/CNEService/CNEService.apk
+lib64/lib-imsvideocodec.so
+lib64/lib-imsvtextutils.so
+lib64/lib-imsvt.so
+lib64/lib-imsvtutils.so
+lib64/libimscamera_jni.so
+lib64/libimsmedia_jni.so
+lib64/librcc.so
+lib/lib-imsvideocodec.so
+lib/lib-imsvtextutils.so
+lib/lib-imsvt.so
+lib/lib-imsvtutils.so
+lib/librcc.so
+
+# Permissions
+etc/permissions/privapp-permissions-google.xml
+
+# RIL
+-framework/LowPowerMonitorDeviceInterface.jar
+-framework/LowPowerMonitorDeviceStub.jar
+-framework/PowerAnomalyDataModemInterface.jar
+-framework/PowerAnomalyStub.jar
+-framework/qcrilhook.jar
+-priv-app/Asdiv/Asdiv.apk
+-priv-app/qcrilmsgtunnel/qcrilmsgtunnel.apk
+lib64/vendor.qti.atcmdfwd@1.0.so
+lib64/vendor.qti.qcril.am@1.0.so
+
+# Sprint
+etc/permissions/com.android.omadm.service.xml
+etc/permissions/com.android.sdm.plugins.sprintdm.xml
+etc/sysconfig/whitelist_com.android.omadm.service.xml
+lib/libdmengine.so
+lib/libdmjavaplugin.so
+-priv-app/DMService/DMService.apk
+-priv-app/DiagMon/DiagMon.apk
+-priv-app/SprintDM/SprintDM.apk
+-priv-app/SprintHM/SprintHM.apk
+
+# Sysconfig
+etc/sysconfig/nexus.xml
+etc/sysconfig/pixel_2016_exclusive.xml
+
+# VZW
+-app/VZWAPNLib/VZWAPNLib.apk;PRESIGNED
+etc/permissions/com.android.sdm.plugins.connmo.xml
+etc/permissions/com.android.vzwomatrigger.xml
+etc/permissions/com.verizon.apn.xml
+etc/permissions/com.verizon.embms.xml
+etc/permissions/com.verizon.provider.xml
+etc/permissions/com.verizon.services.xml
+etc/permissions/features-verizon.xml
+etc/permissions/obdm_permissions.xml
+etc/permissions/vzw_mvs_permissions.xml
+-framework/VerizonUnifiedSettings.jar;PRESIGNED
+-priv-app/CarrierSetup/CarrierSetup.apk
+-priv-app/ConnMO/ConnMO.apk
+-priv-app/DCMO/DCMO.apk
+priv-app/MyVerizonServices/lib/arm64/libmotricity.so
+-priv-app/MyVerizonServices/MyVerizonServices.apk;PRESIGNED
+-priv-app/OBDM_Permissions/OBDM_Permissions.apk
+-priv-app/OemDmTrigger/OemDmTrigger.apk
+-priv-app/VerizonAuthDialog/VerizonAuthDialog.apk;PRESIGNED
+-priv-app/VzwOmaTrigger/VzwOmaTrigger.apk;PRESIGNED
+-priv-app/WfcActivation/WfcActivation.apk;PRESIGNED
+-priv-app/obdm_stub/obdm_stub.apk;PRESIGNED
diff --git a/marlin/extract-files.sh b/marlin/extract-files.sh
new file mode 100755
index 00000000..d3f3ea93
--- /dev/null
+++ b/marlin/extract-files.sh
@@ -0,0 +1,61 @@
+#!/bin/bash
+#
+# Copyright (C) 2017-2019 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.
+
+set -e
+
+VENDOR=google
+DEVICE=marlin
+
+# Load extractutils and do some sanity checks
+MY_DIR="${BASH_SOURCE%/*}"
+if [[ ! -d "$MY_DIR" ]]; then MY_DIR="$PWD"; fi
+
+LINEAGE_ROOT="$MY_DIR"/../../..
+
+HELPER="$LINEAGE_ROOT"/vendor/lineage/build/tools/extract_utils.sh
+if [ ! -f "$HELPER" ]; then
+ echo "Unable to find helper script at $HELPER"
+ exit 1
+fi
+. "$HELPER"
+
+if [ $# -eq 0 ]; then
+ SRC=adb
+else
+ if [ $# -eq 1 ]; then
+ SRC=$1
+ else
+ echo "$0: bad number of arguments"
+ echo ""
+ echo "usage: $0 [PATH_TO_EXPANDED_ROM]"
+ echo ""
+ echo "If PATH_TO_EXPANDED_ROM is not specified, blobs will be extracted from"
+ echo "the device using adb pull."
+ exit 1
+ fi
+fi
+
+# Initialize the helper
+setup_vendor "$DEVICE" "$VENDOR" "$LINEAGE_ROOT"
+
+extract "$MY_DIR/$DEVICE"/device-proprietary-files.txt "$SRC"
+extract "$MY_DIR/$DEVICE"/device-proprietary-files-vendor.txt "$SRC"
+
+# Don't disable MyVerizonServices app
+sed -i 's|<disabled-until-used-preinstalled-carrier-app package="com.verizon.mips.services" />|<!--disabled-until-used-preinstalled-carrier-app package="com.verizon.mips.services" /-->|g'\
+ "$LINEAGE_ROOT"/vendor/"$VENDOR"/"$DEVICE"/proprietary/etc/sysconfig/nexus.xml
+
+"$MY_DIR/$DEVICE"/setup-makefiles.sh
diff --git a/marlin/setup-makefiles.sh b/marlin/setup-makefiles.sh
new file mode 100755
index 00000000..1a3385f6
--- /dev/null
+++ b/marlin/setup-makefiles.sh
@@ -0,0 +1,48 @@
+#!/bin/bash
+#
+# Copyright (C) 2017-2019 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.
+
+set -e
+
+VENDOR=google
+DEVICE=marlin
+
+INITIAL_COPYRIGHT_YEAR=2017
+
+# Load extractutils and do some sanity checks
+MY_DIR="${BASH_SOURCE%/*}"
+if [[ ! -d "$MY_DIR" ]]; then MY_DIR="$PWD"; fi
+
+LINEAGE_ROOT="$MY_DIR"/../../../..
+
+HELPER="$LINEAGE_ROOT"/vendor/lineage/build/tools/extract_utils.sh
+if [ ! -f "$HELPER" ]; then
+ echo "Unable to find helper script at $HELPER"
+ exit 1
+fi
+. "$HELPER"
+
+# Initialize the helper
+setup_vendor "$DEVICE" "$VENDOR" "$LINEAGE_ROOT"
+
+# Copyright headers and guards
+write_headers
+
+# The standard blobs
+write_makefiles "$MY_DIR"/device-proprietary-files.txt
+write_makefiles "$MY_DIR"/device-proprietary-files-vendor.txt true
+
+# Finish
+write_footers
diff --git a/overlay-lineage/lineage-sdk/lineage/res/res/values/config.xml b/overlay-lineage/lineage-sdk/lineage/res/res/values/config.xml
new file mode 100644
index 00000000..22c8a36a
--- /dev/null
+++ b/overlay-lineage/lineage-sdk/lineage/res/res/values/config.xml
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright (C) 2016 The CyanogenMod Project
+** Copyright (C) 2017-2018 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.
+*/
+-->
+
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+
+ <!-- All the capabilities of the LEDs on this device, stored as a bit field.
+ This integer should equal the sum of the corresponding value for each
+ of the following capabilities present:
+
+ // Device has a color adjustable battery light.
+ LIGHTS_RGB_NOTIFICATION_LED = 1
+
+ // Device has a color adjustable notification light.
+ LIGHTS_RGB_BATTERY_LED = 2
+
+ LIGHTS_MULTIPLE_NOTIFICATION_LED = 4 (deprecated)
+
+ // The notification light has adjustable pulsing capability.
+ LIGHTS_PULSATING_LED = 8
+
+ // Device has a multi-segment battery light that is able to
+ // use the light brightness value to determine how many
+ // segments to show (in order to represent battery level).
+ LIGHTS_SEGMENTED_BATTERY_LED = 16
+
+ // The notification light supports HAL adjustable brightness
+ // via the alpha channel.
+ // Note: if a device notification light supports LIGHTS_RGB_NOTIFICATION_LED
+ // then HAL support is not necessary for brightness control. In this case,
+ // brightness support will be provided by lineage-sdk through the scaling of
+ // RGB color values.
+ LIGHTS_ADJUSTABLE_NOTIFICATION_LED_BRIGHTNESS = 32
+
+ // Device has a battery light.
+ LIGHTS_BATTERY_LED = 64
+
+ // The battery light supports HAL adjustable brightness via
+ // the alpha channel.
+ // Note: if a device battery light supports LIGHTS_RGB_BATTERY_LED then HAL
+ // support is not necessary for brightness control. In this case,
+ // brightness support will be provided by lineage-sdk through the scaling of
+ // RGB color values.
+ LIGHTS_ADJUSTABLE_BATTERY_LED_BRIGHTNESS = 128
+
+ For example, a device with notification and battery lights that supports
+ pulsating and RGB control would set this config to 75. -->
+ <integer name="config_deviceLightCapabilities">75</integer>
+
+</resources>
diff --git a/overlay-lineage/packages/apps/Dialer/java/com/android/dialer/callrecord/res/values/config.xml b/overlay-lineage/packages/apps/Dialer/java/com/android/dialer/callrecord/res/values/config.xml
new file mode 100644
index 00000000..de79aeec
--- /dev/null
+++ b/overlay-lineage/packages/apps/Dialer/java/com/android/dialer/callrecord/res/values/config.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ /* Copyright (c) 2016, The Linux Foundation. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following
+ * disclaimer in the documentation and/or other materials provided
+ * with the distribution.
+ * * Neither the name of The Linux Foundation nor the names of its
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+ * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+ * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+-->
+<resources>
+ <bool name="call_recording_enabled">true</bool>
+ <integer name="call_recording_audio_source">4</integer>
+</resources>
diff --git a/overlay-lineage/packages/apps/Snap/res/values/strings.xml b/overlay-lineage/packages/apps/Snap/res/values/strings.xml
new file mode 100644
index 00000000..001cf1d5
--- /dev/null
+++ b/overlay-lineage/packages/apps/Snap/res/values/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2007 The Android Open Source Project
+ 2019 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.
+-->
+
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+
+ <string name="pref_video_quality_default" translatable="false">3840x2160</string>
+
+</resources>
diff --git a/overlay/frameworks/base/core/res/res/values/config.xml b/overlay/frameworks/base/core/res/res/values/config.xml
index eb80d4cd..e177abf2 100755
--- a/overlay/frameworks/base/core/res/res/values/config.xml
+++ b/overlay/frameworks/base/core/res/res/values/config.xml
@@ -402,6 +402,9 @@
<!-- Flag specifying whether VoLTE is available on device -->
<bool name="config_device_vt_available">true</bool>
+ <!-- Enable video pause workaround when enabling/disabling the camera. -->
+ <bool name="config_useVideoPauseWorkaround">true</bool>
+
<!-- Flag specifying whether WFC over IMS is availasble on device -->
<bool name="config_device_wfc_ims_available">true</bool>
diff --git a/overlay/packages/apps/CarrierConfig/res/xml/vendor.xml b/overlay/packages/apps/CarrierConfig/res/xml/vendor.xml
new file mode 100644
index 00000000..54edcaed
--- /dev/null
+++ b/overlay/packages/apps/CarrierConfig/res/xml/vendor.xml
@@ -0,0 +1,323 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- This is a place for device-specific config values. The format and
+ filtering rules are the same as those in carrier_config*.xml files. This
+ file is read after any specific config file from the assets folder, so it
+ must use explicit filters for MCC ad MNC if that is desired. -->
+<carrier_config_list>
+ <carrier_config mcc="204" mnc="04" gid1="BAE0000000000000">
+ <int name="carrier_default_wfc_ims_roaming_mode_int" value="1" />
+ <string name="carrier_setup_app_string">com.google.android.carriersetup/.VzwSetupActivity</string>
+ <boolean name="carrier_volte_override_wfc_provisioning_bool" value="true" />
+ <boolean name="carrier_vt_available_bool" value="true" />
+ <boolean name="carrier_wfc_ims_available_bool" value="true" />
+ <boolean name="ci_action_on_sys_update_bool" value="true" />
+ <string name="ci_action_on_sys_update_extra_string">ServerID</string>
+ <string name="ci_action_on_sys_update_intent_string">com.android.omadm.service.CONFIGURATION_UPDATE</string>
+ <string name="ci_action_on_sys_update_extra_val_string">com.vzwdmserver</string>
+ <int name="network_notification_delay_int" value="3000" />
+ <boolean name="notify_international_call_on_wfc_bool" value="true" />
+ <boolean name="editable_wfc_mode_bool" value="true" />
+ <boolean name="editable_wfc_roaming_mode_bool" value="true" />
+ <boolean name="disable_cdma_activation_code_bool" value="true" />
+ <boolean name="enhanced_4g_lte_title_variant_bool" value="true" />
+ <boolean name="show_iccid_in_sim_status_bool" value="true" />
+ <string-array name="carrier_app_wake_signal_config" num="1">
+ <item value="com.google.android.carriersetup/.VzwActivationReceiver:
+ com.android.internal.telephony.CARRIER_SIGNAL_PCO_VALUE" />
+ </string-array>
+ <boolean name="use_rcs_presence_bool" value="true" />
+ <string name="wfc_emergency_address_carrier_app_string">com.google.android.wfcactivation/.VzwEmergencyAddressActivity</string>
+ <int name="wfc_spn_format_idx_int" value="1" />
+ </carrier_config>
+ <carrier_config mcc="222" mnc="10">
+ <boolean name="carrier_volte_available_bool" value="false" />
+ </carrier_config>
+ <carrier_config mcc="230" mnc="01">
+ <boolean name="carrier_volte_available_bool" value="false" />
+ </carrier_config>
+ <carrier_config mcc="234" mnc="20">
+ <boolean name="prefer_2g_bool" value="false" />
+ </carrier_config>
+ <carrier_config mcc="234" mnc="30">
+ <boolean name="carrier_volte_available_bool" value="true" />
+ <boolean name="carrier_wfc_ims_available_bool" value="true" />
+ <boolean name="editable_enhanced_4g_lte_bool" value="false" />
+ <boolean name="hide_ims_apn_bool" value="true" />
+ <boolean name="editable_wfc_mode_bool" value="false" />
+ </carrier_config>
+ <carrier_config mcc="234" mnc="33">
+ <boolean name="carrier_volte_available_bool" value="true" />
+ <boolean name="carrier_wfc_ims_available_bool" value="true" />
+ <boolean name="editable_enhanced_4g_lte_bool" value="false" />
+ <boolean name="hide_ims_apn_bool" value="true" />
+ <boolean name="editable_wfc_mode_bool" value="false" />
+ </carrier_config>
+ <carrier_config mcc="262" mnc="01">
+ <int name="carrier_default_wfc_ims_mode_int" value="1" />
+ <boolean name="carrier_volte_available_bool" value="true" />
+ <boolean name="carrier_wfc_ims_available_bool" value="true" />
+ <boolean name="editable_wfc_mode_bool" value="false" />
+ <int name="wfc_spn_format_idx_int" value="1" />
+ </carrier_config>
+ <carrier_config mcc="262" mnc="01" gid1="44">
+ <boolean name="carrier_default_wfc_ims_enabled_bool" value="false" />
+ <boolean name="carrier_volte_available_bool" value="false" />
+ <boolean name="carrier_wfc_ims_available_bool" value="false" />
+ </carrier_config>
+ <carrier_config mcc="262" mnc="02">
+ <boolean name="carrier_volte_available_bool" value="false" />
+ </carrier_config>
+ <carrier_config mcc="262" mnc="07">
+ <boolean name="carrier_volte_available_bool" value="true" />
+ <boolean name="hide_ims_apn_bool" value="true" />
+ </carrier_config>
+ <carrier_config mcc="262" mnc="08">
+ <boolean name="carrier_volte_available_bool" value="true" />
+ <boolean name="hide_ims_apn_bool" value="true" />
+ </carrier_config>
+ <carrier_config mcc="268" mnc="01">
+ <boolean name="carrier_volte_available_bool" value="false" />
+ </carrier_config>
+ <carrier_config mcc="302" mnc="220" gid1="5455">
+ <int name="maxMessageSize" value="3670016" />
+ </carrier_config>
+ <carrier_config mcc="302" mnc="221" gid1="5455">
+ <int name="maxMessageSize" value="3670016" />
+ </carrier_config>
+ <carrier_config mcc="302" mnc="370" gid1="DD">
+ <boolean name="carrier_volte_available_bool" value="true" />
+ </carrier_config>
+ <carrier_config mcc="302" mnc="720">
+ <boolean name="carrier_volte_available_bool" value="true" />
+ </carrier_config>
+ <carrier_config mcc="310" mnc="004">
+ <int name="carrier_default_wfc_ims_roaming_mode_int" value="1" />
+ <string name="carrier_setup_app_string">com.google.android.carriersetup/.VzwSetupActivity</string>
+ <boolean name="carrier_volte_override_wfc_provisioning_bool" value="true" />
+ <boolean name="carrier_vt_available_bool" value="true" />
+ <boolean name="carrier_wfc_ims_available_bool" value="true" />
+ <boolean name="ci_action_on_sys_update_bool" value="true" />
+ <string name="ci_action_on_sys_update_extra_string">ServerID</string>
+ <string name="ci_action_on_sys_update_intent_string">com.android.omadm.service.CONFIGURATION_UPDATE</string>
+ <string name="ci_action_on_sys_update_extra_val_string">com.vzwdmserver</string>
+ <int name="network_notification_delay_int" value="3000" />
+ <boolean name="notify_international_call_on_wfc_bool" value="true" />
+ <boolean name="editable_wfc_mode_bool" value="true" />
+ <boolean name="editable_wfc_roaming_mode_bool" value="true" />
+ <boolean name="disable_cdma_activation_code_bool" value="true" />
+ <boolean name="enhanced_4g_lte_title_variant_bool" value="true" />
+ <boolean name="show_iccid_in_sim_status_bool" value="true" />
+ <string-array name="carrier_app_wake_signal_config" num="1">
+ <item value="com.google.android.carriersetup/.VzwActivationReceiver:
+ com.android.internal.telephony.CARRIER_SIGNAL_PCO_VALUE" />
+ </string-array>
+ <boolean name="use_rcs_presence_bool" value="true" />
+ <string name="wfc_emergency_address_carrier_app_string">com.google.android.wfcactivation/.VzwEmergencyAddressActivity</string>
+ <int name="wfc_spn_format_idx_int" value="1" />
+ </carrier_config>
+ <carrier_config mcc="310" mnc="260">
+ <boolean name="carrier_vt_available_bool" value="false" />
+ </carrier_config>
+ <carrier_config mcc="310" mnc="260" gid1="deff">
+ <boolean name="require_entitlement_checks_bool" value="false" />
+ </carrier_config>
+ <carrier_config mcc="310" mnc="260" gid1="ddff">
+ <boolean name="require_entitlement_checks_bool" value="false" />
+ </carrier_config>
+ <carrier_config mcc="311" mnc="480">
+ <int name="carrier_default_wfc_ims_roaming_mode_int" value="1" />
+ <string name="carrier_setup_app_string">com.google.android.carriersetup/.VzwSetupActivity</string>
+ <boolean name="carrier_volte_override_wfc_provisioning_bool" value="true" />
+ <boolean name="carrier_vt_available_bool" value="true" />
+ <boolean name="carrier_wfc_ims_available_bool" value="true" />
+ <boolean name="ci_action_on_sys_update_bool" value="true" />
+ <string name="ci_action_on_sys_update_extra_string">ServerID</string>
+ <string name="ci_action_on_sys_update_intent_string">com.android.omadm.service.CONFIGURATION_UPDATE</string>
+ <string name="ci_action_on_sys_update_extra_val_string">com.vzwdmserver</string>
+ <int name="network_notification_delay_int" value="3000" />
+ <boolean name="notify_international_call_on_wfc_bool" value="true" />
+ <boolean name="editable_wfc_mode_bool" value="true" />
+ <boolean name="editable_wfc_roaming_mode_bool" value="true" />
+ <boolean name="disable_cdma_activation_code_bool" value="true" />
+ <boolean name="enhanced_4g_lte_title_variant_bool" value="true" />
+ <boolean name="force_imei_bool" value="true" />
+ <boolean name="show_iccid_in_sim_status_bool" value="true" />
+ <string-array name="carrier_app_wake_signal_config" num="1">
+ <item value="com.google.android.carriersetup/.VzwActivationReceiver:
+ com.android.internal.telephony.CARRIER_SIGNAL_PCO_VALUE" />
+ </string-array>
+ <boolean name="use_rcs_presence_bool" value="true" />
+ <string name="wfc_emergency_address_carrier_app_string">com.google.android.wfcactivation/.VzwEmergencyAddressActivity</string>
+ <int name="wfc_spn_format_idx_int" value="1" />
+ </carrier_config>
+ <carrier_config mcc="405" mnc="840">
+ <boolean name="carrier_volte_available_bool" value="true" />
+ <boolean name="carrier_wfc_ims_available_bool" value="true" />
+ <boolean name="editable_wfc_mode_bool" value="false" />
+ <int name="wfc_spn_format_idx_int" value="1" />
+ </carrier_config>
+ <carrier_config mcc="405" mnc="854">
+ <boolean name="carrier_volte_available_bool" value="true" />
+ <boolean name="carrier_wfc_ims_available_bool" value="true" />
+ <boolean name="editable_wfc_mode_bool" value="false" />
+ <int name="wfc_spn_format_idx_int" value="1" />
+ </carrier_config>
+ <carrier_config mcc="405" mnc="855">
+ <boolean name="carrier_volte_available_bool" value="true" />
+ <boolean name="carrier_wfc_ims_available_bool" value="true" />
+ <boolean name="editable_wfc_mode_bool" value="false" />
+ <int name="wfc_spn_format_idx_int" value="1" />
+ </carrier_config>
+ <carrier_config mcc="405" mnc="856">
+ <boolean name="carrier_volte_available_bool" value="true" />
+ <boolean name="carrier_wfc_ims_available_bool" value="true" />
+ <boolean name="editable_wfc_mode_bool" value="false" />
+ <int name="wfc_spn_format_idx_int" value="1" />
+ </carrier_config>
+ <carrier_config mcc="405" mnc="857">
+ <boolean name="carrier_volte_available_bool" value="true" />
+ <boolean name="carrier_wfc_ims_available_bool" value="true" />
+ <boolean name="editable_wfc_mode_bool" value="false" />
+ <int name="wfc_spn_format_idx_int" value="1" />
+ </carrier_config>
+ <carrier_config mcc="405" mnc="858">
+ <boolean name="carrier_volte_available_bool" value="true" />
+ <boolean name="carrier_wfc_ims_available_bool" value="true" />
+ <boolean name="editable_wfc_mode_bool" value="false" />
+ <int name="wfc_spn_format_idx_int" value="1" />
+ </carrier_config>
+ <carrier_config mcc="405" mnc="859">
+ <boolean name="carrier_volte_available_bool" value="true" />
+ <boolean name="carrier_wfc_ims_available_bool" value="true" />
+ <boolean name="editable_wfc_mode_bool" value="false" />
+ <int name="wfc_spn_format_idx_int" value="1" />
+ </carrier_config>
+ <carrier_config mcc="405" mnc="860">
+ <boolean name="carrier_volte_available_bool" value="true" />
+ <boolean name="carrier_wfc_ims_available_bool" value="true" />
+ <boolean name="editable_wfc_mode_bool" value="false" />
+ <int name="wfc_spn_format_idx_int" value="1" />
+ </carrier_config>
+ <carrier_config mcc="405" mnc="861">
+ <boolean name="carrier_volte_available_bool" value="true" />
+ <boolean name="carrier_wfc_ims_available_bool" value="true" />
+ <boolean name="editable_wfc_mode_bool" value="false" />
+ <int name="wfc_spn_format_idx_int" value="1" />
+ </carrier_config>
+ <carrier_config mcc="405" mnc="862">
+ <boolean name="carrier_volte_available_bool" value="true" />
+ <boolean name="carrier_wfc_ims_available_bool" value="true" />
+ <boolean name="editable_wfc_mode_bool" value="false" />
+ <int name="wfc_spn_format_idx_int" value="1" />
+ </carrier_config>
+ <carrier_config mcc="405" mnc="863">
+ <boolean name="carrier_volte_available_bool" value="true" />
+ <boolean name="carrier_wfc_ims_available_bool" value="true" />
+ <boolean name="editable_wfc_mode_bool" value="false" />
+ <int name="wfc_spn_format_idx_int" value="1" />
+ </carrier_config>
+ <carrier_config mcc="405" mnc="864">
+ <boolean name="carrier_volte_available_bool" value="true" />
+ <boolean name="carrier_wfc_ims_available_bool" value="true" />
+ <boolean name="editable_wfc_mode_bool" value="false" />
+ <int name="wfc_spn_format_idx_int" value="1" />
+ </carrier_config>
+ <carrier_config mcc="405" mnc="865">
+ <boolean name="carrier_volte_available_bool" value="true" />
+ <boolean name="carrier_wfc_ims_available_bool" value="true" />
+ <boolean name="editable_wfc_mode_bool" value="false" />
+ <int name="wfc_spn_format_idx_int" value="1" />
+ </carrier_config>
+ <carrier_config mcc="405" mnc="866">
+ <boolean name="carrier_volte_available_bool" value="true" />
+ <boolean name="carrier_wfc_ims_available_bool" value="true" />
+ <boolean name="editable_wfc_mode_bool" value="false" />
+ <int name="wfc_spn_format_idx_int" value="1" />
+ </carrier_config>
+ <carrier_config mcc="405" mnc="867">
+ <boolean name="carrier_volte_available_bool" value="true" />
+ <boolean name="carrier_wfc_ims_available_bool" value="true" />
+ <boolean name="editable_wfc_mode_bool" value="false" />
+ <int name="wfc_spn_format_idx_int" value="1" />
+ </carrier_config>
+ <carrier_config mcc="405" mnc="868">
+ <boolean name="carrier_volte_available_bool" value="true" />
+ <boolean name="carrier_wfc_ims_available_bool" value="true" />
+ <boolean name="editable_wfc_mode_bool" value="false" />
+ <int name="wfc_spn_format_idx_int" value="1" />
+ </carrier_config>
+ <carrier_config mcc="405" mnc="869">
+ <boolean name="carrier_volte_available_bool" value="true" />
+ <boolean name="carrier_wfc_ims_available_bool" value="true" />
+ <boolean name="editable_wfc_mode_bool" value="false" />
+ <int name="wfc_spn_format_idx_int" value="1" />
+ </carrier_config>
+ <carrier_config mcc="405" mnc="870">
+ <boolean name="carrier_volte_available_bool" value="true" />
+ <boolean name="carrier_wfc_ims_available_bool" value="true" />
+ <boolean name="editable_wfc_mode_bool" value="false" />
+ <int name="wfc_spn_format_idx_int" value="1" />
+ </carrier_config>
+ <carrier_config mcc="405" mnc="871">
+ <boolean name="carrier_volte_available_bool" value="true" />
+ <boolean name="carrier_wfc_ims_available_bool" value="true" />
+ <boolean name="editable_wfc_mode_bool" value="false" />
+ <int name="wfc_spn_format_idx_int" value="1" />
+ </carrier_config>
+ <carrier_config mcc="405" mnc="872">
+ <boolean name="carrier_volte_available_bool" value="true" />
+ <boolean name="carrier_wfc_ims_available_bool" value="true" />
+ <boolean name="editable_wfc_mode_bool" value="false" />
+ <int name="wfc_spn_format_idx_int" value="1" />
+ </carrier_config>
+ <carrier_config mcc="405" mnc="873">
+ <boolean name="carrier_volte_available_bool" value="true" />
+ <boolean name="carrier_wfc_ims_available_bool" value="true" />
+ <boolean name="editable_wfc_mode_bool" value="false" />
+ <int name="wfc_spn_format_idx_int" value="1" />
+ </carrier_config>
+ <carrier_config mcc="405" mnc="874">
+ <boolean name="carrier_volte_available_bool" value="true" />
+ <boolean name="carrier_wfc_ims_available_bool" value="true" />
+ <boolean name="editable_wfc_mode_bool" value="false" />
+ <int name="wfc_spn_format_idx_int" value="1" />
+ </carrier_config>
+ <carrier_config mcc="440" mnc="00">
+ <int name="ims_dtmf_tone_delay_int" value="300" />
+ <int name="gsm_dtmf_tone_delay_int" value="300" />
+ </carrier_config>
+ <carrier_config mcc="440" mnc="20">
+ <int name="ims_dtmf_tone_delay_int" value="300" />
+ <int name="gsm_dtmf_tone_delay_int" value="300" />
+ </carrier_config>
+ <carrier_config mcc="440" mnc="51">
+ <boolean name="carrier_volte_available_bool" value="true" />
+ </carrier_config>
+ <carrier_config mcc="441" mnc="00">
+ <int name="ims_dtmf_tone_delay_int" value="300" />
+ <int name="gsm_dtmf_tone_delay_int" value="300" />
+ </carrier_config>
+ <carrier_config mcc="441" mnc="20">
+ <int name="ims_dtmf_tone_delay_int" value="300" />
+ <int name="gsm_dtmf_tone_delay_int" value="300" />
+ </carrier_config>
+ <carrier_config mcc="450" mnc="02">
+ <boolean name="carrier_instant_lettering_available_bool" value="false" />
+ </carrier_config>
+ <carrier_config mcc="450" mnc="05">
+ <boolean name="carrier_instant_lettering_available_bool" value="false" />
+ </carrier_config>
+ <carrier_config mcc="450" mnc="06">
+ <boolean name="carrier_instant_lettering_available_bool" value="false" />
+ <boolean name="hide_preferred_network_type_bool" value="false" />
+ <boolean name="editable_enhanced_4g_lte_bool" value="true" />
+ </carrier_config>
+ <carrier_config mcc="450" mnc="08">
+ <boolean name="carrier_instant_lettering_available_bool" value="false" />
+ </carrier_config>
+ <carrier_config mcc="505" mnc="01">
+ <boolean name="carrier_volte_available_bool" value="true" />
+ <boolean name="carrier_vt_available_bool" value="false" />
+ <boolean name="carrier_wfc_ims_available_bool" value="false" />
+ </carrier_config>
+</carrier_config_list>
diff --git a/permissions/privapp-permissions-marlin.xml b/permissions/privapp-permissions-marlin.xml
index 55675cbe..c2acf3ba 100644
--- a/permissions/privapp-permissions-marlin.xml
+++ b/permissions/privapp-permissions-marlin.xml
@@ -1,11 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<permissions>
+ <privapp-permissions package="com.htc.omadm.trigger">
+ <permission name="android.permission.MODIFY_PHONE_STATE"/>
+ </privapp-permissions>
+
<privapp-permissions package="com.qualcomm.qcrilmsgtunnel">
<permission name="android.permission.INTERACT_ACROSS_USERS"/>
</privapp-permissions>
<privapp-permissions package="com.quicinc.cne.CNEService">
<permission name="android.permission.PACKET_KEEPALIVE_OFFLOAD"/>
+ <permission name="android.permission.INTERACT_ACROSS_USERS"/>
</privapp-permissions>
-</permissions> \ No newline at end of file
+</permissions>
diff --git a/qti_whitelist.xml b/qti_whitelist.xml
index d5272f55..046566b9 100644
--- a/qti_whitelist.xml
+++ b/qti_whitelist.xml
@@ -36,7 +36,7 @@
<allow-in-power-save package="com.qti.qualcomm.datastatusnotification" />
<allow-in-power-save package="com.qualcomm.embms" />
<allow-in-power-save package="com.qualcomm.qti.telephonyservice" />
- <allow-in-power-save package="com.qulacomm.qcrilmsgtunnel" />
+ <allow-in-power-save package="com.qualcomm.qcrilmsgtunnel" />
<allow-in-power-save package="com.qualcomm.qti.ims" />
<allow-in-power-save package="com.qualcomm.qti.radioconfiginterface" />
</config>
diff --git a/sailfish/BoardConfig.mk b/sailfish/BoardConfig.mk
index ed726bb0..466c02d3 100644
--- a/sailfish/BoardConfig.mk
+++ b/sailfish/BoardConfig.mk
@@ -3,6 +3,9 @@
# Product-specific compile-time definitions
#
+# Allow Lineage config to override others
+-include device/google/marlin/sailfish/BoardConfigLineage.mk
+
TARGET_BOARD_PLATFORM := msm8996
TARGET_BOOTLOADER_BOARD_NAME := sailfish
TARGET_BOARD_INFO_FILE := device/google/marlin/sailfish/board-info.txt
@@ -96,7 +99,7 @@ BOARD_ROOT_EXTRA_FOLDERS := firmware firmware/radio persist
BOARD_ROOT_EXTRA_SYMLINKS := /vendor/lib/dsp:/dsp
BOARD_SEPOLICY_DIRS += device/google/marlin/sepolicy
-ifneq ($(filter sailfish sailfishf, $(TARGET_PRODUCT)),)
+ifneq ($(filter lineage_sailfish sailfish sailfishf, $(TARGET_PRODUCT)),)
BOARD_SEPOLICY_DIRS += device/google/marlin/sepolicy/verizon
endif
BOARD_PLAT_PRIVATE_SEPOLICY_DIR := device/google/marlin/sepolicy/private
@@ -118,7 +121,6 @@ endif
TARGET_KERNEL_ARCH := arm64
TARGET_KERNEL_HEADER_ARCH := arm64
TARGET_KERNEL_CROSS_COMPILE_PREFIX := aarch64-linux-android-
-TARGET_USES_UNCOMPRESSED_KERNEL := false
MAX_EGL_CACHE_KEY_SIZE := 12*1024
MAX_EGL_CACHE_SIZE := 2048*1024
@@ -156,7 +158,6 @@ CAMERA_DAEMON_NOT_PRESENT := true
# TARGET_COMPILE_WITH_MSM_KERNEL := true
-TARGET_KERNEL_APPEND_DTB := true
# Added to indicate that protobuf-c is supported in this build
PROTOBUF_SUPPORTED := false
diff --git a/sailfish/BoardConfigLineage.mk b/sailfish/BoardConfigLineage.mk
new file mode 100644
index 00000000..5543f1ac
--- /dev/null
+++ b/sailfish/BoardConfigLineage.mk
@@ -0,0 +1,2 @@
+# BoardConfig for lineage_sailfish
+include device/google/marlin/BoardConfigLineage.mk
diff --git a/sailfish/device-lineage.mk b/sailfish/device-lineage.mk
new file mode 100644
index 00000000..137942dc
--- /dev/null
+++ b/sailfish/device-lineage.mk
@@ -0,0 +1 @@
+$(call inherit-product, device/google/marlin/device-lineage.mk)
diff --git a/sailfish/device-proprietary-files-vendor.txt b/sailfish/device-proprietary-files-vendor.txt
new file mode 100644
index 00000000..96ee41f3
--- /dev/null
+++ b/sailfish/device-proprietary-files-vendor.txt
@@ -0,0 +1,676 @@
+-vendor/app/atfwd/atfwd.apk
+-vendor/app/colorservice/colorservice.apk
+-vendor/app/datastatusnotification/datastatusnotification.apk
+-vendor/app/embms/embms.apk
+vendor/app/embms/oem/config_params.xml
+vendor/app/embms/oem/provisioning_params.xml
+vendor/app/embms/oem/verizon_config_params.txt
+-vendor/app/fastdormancy/fastdormancy.apk
+-vendor/app/imssettings/imssettings.apk
+-vendor/app/QAS_DVC_MSP/QAS_DVC_MSP.apk
+-vendor/app/QtiTelephonyService/QtiTelephonyService.apk
+-vendor/app/radioconfig/radioconfig.apk
+-vendor/app/RCSBootstraputil/RCSBootstraputil.apk
+-vendor/app/SecureExtAuthService/SecureExtAuthService.apk
+-vendor/app/shutdownlistener/shutdownlistener.apk
+-vendor/app/TimeService/TimeService.apk
+-vendor/app/vzw_msdc_api/vzw_msdc_api.apk
+vendor/bin/adsprpcd
+vendor/bin/ATFWD-daemon
+vendor/bin/athdiag
+vendor/bin/cnd
+vendor/bin/cnss-daemon
+vendor/bin/cnss_diag
+vendor/bin/diag_callback_sample
+vendor/bin/diag_dci_sample
+vendor/bin/diag_mdlog
+vendor/bin/diag_socket_log
+vendor/bin/diag_uart_log
+vendor/bin/ftmdaemon
+vendor/bin/gptest
+vendor/bin/hdcp1prov
+vendor/bin/hw/android.hardware.bluetooth@1.0-service-qti
+vendor/bin/hw/android.hardware.drm@1.1-service.widevine
+vendor/bin/imsdatadaemon
+vendor/bin/imsqmidaemon
+vendor/bin/ims_rtp_daemon
+vendor/bin/irsc_util
+vendor/bin/loc_launcher
+vendor/bin/lowi-server
+vendor/bin/mct-unit-test-app
+vendor/bin/mdm_helper
+vendor/bin/mdm_helper_proxy
+vendor/bin/mm-qcamera-daemon
+vendor/bin/mm-qjpeg-dec-test
+vendor/bin/mm-qjpeg-enc-test
+vendor/bin/mm-qomx-idec-test
+vendor/bin/mm-qomx-ienc-test
+vendor/bin/msm_irqbalance
+vendor/bin/myftm
+vendor/bin/nanohub_slpi
+vendor/bin/netmgrd
+vendor/bin/nl_listener
+vendor/bin/perfd
+vendor/bin/PktRspTest
+vendor/bin/pm-proxy
+vendor/bin/pm-service
+vendor/bin/port-bridge
+vendor/bin/qfipsverify
+vendor/bin/qjpeg-dma-test
+vendor/bin/qseecomd
+vendor/bin/qseecom_sample_client
+vendor/bin/qti
+vendor/bin/radish
+vendor/bin/rmt_storage
+vendor/bin/slim_daemon
+vendor/bin/ssr_diag
+vendor/bin/ssr_setup
+vendor/bin/StoreKeybox
+vendor/bin/subsystem_ramdump
+vendor/bin/tbaseLoader
+vendor/bin/test_bet_8996
+vendor/bin/test_diag
+vendor/bin/test_module_pproc
+vendor/bin/thermal-engine
+vendor/bin/time_daemon
+vendor/bin/wdsdaemon
+vendor/bin/WifiLogger_app
+vendor/bin/xtra-daemon
+vendor/etc/acdbdata/Bluetooth_cal.acdb
+vendor/etc/acdbdata/General_cal.acdb
+vendor/etc/acdbdata/Global_cal.acdb
+vendor/etc/acdbdata/Handset_cal.acdb
+vendor/etc/acdbdata/Hdmi_cal.acdb
+vendor/etc/acdbdata/Headset_cal.acdb
+vendor/etc/acdbdata/Speaker_cal.acdb
+vendor/etc/camera/imx179_chromatix.xml
+vendor/etc/camera/imx378_chromatix.xml
+vendor/etc/camera/msm8996_camera.xml
+vendor/etc/data/dsi_config.xml
+vendor/etc/data/netmgr_config.xml
+vendor/etc/diag/CHRE.cfg
+vendor/etc/diag/IMS.cfg
+vendor/etc/diag/MarlinSailfish_Radio-generic.cfg
+vendor/etc/diag/wlan.cfg
+vendor/etc/flp.conf
+vendor/etc/init/android.hardware.bluetooth@1.0-service-qti.rc
+vendor/etc/init/android.hardware.drm@1.1-service.widevine.rc
+vendor/etc/izat.conf
+vendor/etc/lowi.conf
+vendor/etc/modem_stat.conf
+vendor/etc/perf-profile0.conf
+vendor/etc/permissions/LowPowerMonitorDeviceInterface.xml
+vendor/etc/permissions/LowPowerMonitorDeviceStub.xml
+vendor/etc/permissions/PowerAnomalyDataModemInterface.xml
+vendor/etc/permissions/PowerAnomalyStub.xml
+vendor/etc/permissions/embms.xml
+vendor/etc/permissions/qcrilhook.xml
+vendor/etc/permissions/qti_permissions.xml
+vendor/etc/permissions/qti-vzw-ims-internal.xml
+vendor/etc/permissions/rcsservice.xml
+vendor/etc/permissions/telephonyservice.xml
+vendor/etc/public.libraries.txt
+vendor/etc/qdcm_calib_data_S1_FHD_SAMSUNG_EA8064TG_5.0_command_mode_panel.xml
+vendor/etc/qfipsverify/bootimg.hmac
+vendor/etc/qfipsverify/qfipsverify.hmac
+vendor/etc/sap.conf
+vendor/firmware/a530_gpmu.fw2
+vendor/firmware/a530_pfp.fw
+vendor/firmware/a530_pm4.fw
+vendor/firmware/a530rnd.fw
+vendor/firmware/a530v3_gpmu.fw2
+vendor/firmware/a530v3_seq.fw2
+vendor/firmware/a530_zap.b00
+vendor/firmware/a530_zap.b01
+vendor/firmware/a530_zap.b02
+vendor/firmware/a530_zap.elf
+vendor/firmware/a530_zap.mdt
+vendor/firmware/a530_zap_signed.b00
+vendor/firmware/a530_zap_signed.b01
+vendor/firmware/a530_zap_signed.b02
+vendor/firmware/a530_zap_signed.elf
+vendor/firmware/a530_zap_signed.mbn
+vendor/firmware/a530_zap_signed.mdt
+vendor/firmware/activity.napp
+vendor/firmware/adsp.b00
+vendor/firmware/adsp.b01
+vendor/firmware/adsp.b02
+vendor/firmware/adsp.b03
+vendor/firmware/adsp.b04
+vendor/firmware/adsp.b05
+vendor/firmware/adsp.b06
+vendor/firmware/adsp.b08
+vendor/firmware/adsp.b09
+vendor/firmware/adsp.mdt
+vendor/firmware/adspver.cfg
+vendor/firmware/bdwlan30.b80
+vendor/firmware/bdwlan30.b81
+vendor/firmware/bdwlan30.b82
+vendor/firmware/bdwlan30.bin
+vendor/firmware/btfw32.tlv
+vendor/firmware/btnv32.bin
+vendor/firmware/cmnlib64.b00
+vendor/firmware/cmnlib64.b01
+vendor/firmware/cmnlib64.b02
+vendor/firmware/cmnlib64.b03
+vendor/firmware/cmnlib64.b04
+vendor/firmware/cmnlib64.b05
+vendor/firmware/cmnlib64.mdt
+vendor/firmware/cmnlib.b00
+vendor/firmware/cmnlib.b01
+vendor/firmware/cmnlib.b02
+vendor/firmware/cmnlib.b03
+vendor/firmware/cmnlib.b04
+vendor/firmware/cmnlib.b05
+vendor/firmware/cmnlib.mdt
+vendor/firmware/cpe_9335.b08
+vendor/firmware/cpe_9335.b09
+vendor/firmware/cpe_9335.b11
+vendor/firmware/cpe_9335.b14
+vendor/firmware/cpe_9335.b16
+vendor/firmware/cpe_9335.b18
+vendor/firmware/cpe_9335.b19
+vendor/firmware/cpe_9335.b20
+vendor/firmware/cpe_9335.b22
+vendor/firmware/cpe_9335.b24
+vendor/firmware/cpe_9335.b26
+vendor/firmware/cpe_9335.b28
+vendor/firmware/cpe_9335.b29
+vendor/firmware/cpe_9335.mdt
+vendor/firmware/cppf.b00
+vendor/firmware/cppf.b01
+vendor/firmware/cppf.b02
+vendor/firmware/cppf.b03
+vendor/firmware/cppf.b04
+vendor/firmware/cppf.b05
+vendor/firmware/cppf.b06
+vendor/firmware/cpp_firmware_v1_10_0.fw
+vendor/firmware/cpp_firmware_v1_1_1.fw
+vendor/firmware/cpp_firmware_v1_1_6.fw
+vendor/firmware/cpp_firmware_v1_2_0.fw
+vendor/firmware/cpp_firmware_v1_4_0.fw
+vendor/firmware/cpp_firmware_v1_5_0.fw
+vendor/firmware/cpp_firmware_v1_5_2.fw
+vendor/firmware/cpp_firmware_v1_6_0.fw
+vendor/firmware/cpp_firmware_v1_8_0.fw
+vendor/firmware/cppf.mdt
+vendor/firmware/Data.msc
+vendor/firmware/double_twist.napp
+vendor/firmware/fpctzappfingerprint.b00
+vendor/firmware/fpctzappfingerprint.b01
+vendor/firmware/fpctzappfingerprint.b02
+vendor/firmware/fpctzappfingerprint.b03
+vendor/firmware/fpctzappfingerprint.b04
+vendor/firmware/fpctzappfingerprint.b05
+vendor/firmware/fpctzappfingerprint.b06
+vendor/firmware/fpctzappfingerprint.mdt
+vendor/firmware/geofence.napp
+vendor/firmware/hotsound.sound_model
+vendor/firmware/nanohub.full.bin
+vendor/firmware/napp_list.cfg
+vendor/firmware/otp30.bin
+vendor/firmware/pickup_gesture.napp
+vendor/firmware/qwlan30.bin
+vendor/firmware/sig_motion.napp
+vendor/firmware/slpi.b00
+vendor/firmware/slpi.b01
+vendor/firmware/slpi.b02
+vendor/firmware/slpi.b03
+vendor/firmware/slpi.b04
+vendor/firmware/slpi.b05
+vendor/firmware/slpi.b06
+vendor/firmware/slpi.b07
+vendor/firmware/slpi.b08
+vendor/firmware/slpi.b09
+vendor/firmware/slpi.b10
+vendor/firmware/slpi.b11
+vendor/firmware/slpi.b12
+vendor/firmware/slpi.b13
+vendor/firmware/slpi.b14
+vendor/firmware/slpi.mdt
+vendor/firmware/slpiver.cfg
+vendor/firmware/synaptics_bl71.img
+vendor/firmware/tfa98xx.cnt
+vendor/firmware/utf30.bin
+vendor/firmware/venus.b00
+vendor/firmware/venus.b01
+vendor/firmware/venus.b02
+vendor/firmware/venus.b03
+vendor/firmware/venus.b04
+vendor/firmware/venus.flist
+vendor/firmware/venus.mbn
+vendor/firmware/venus.mdt
+vendor/firmware/widevine.b00
+vendor/firmware/widevine.b01
+vendor/firmware/widevine.b02
+vendor/firmware/widevine.b03
+vendor/firmware/widevine.b04
+vendor/firmware/widevine.b05
+vendor/firmware/widevine.b06
+vendor/firmware/widevine.mdt
+-vendor/framework/embmslibrary.jar
+-vendor/framework/QtiTelephonyServicelibrary.jar
+-vendor/framework/qti-vzw-ims-internal.jar
+-vendor/framework/rcsservice.jar
+vendor/lib64/egl/eglSubDriverAndroid.so
+vendor/lib64/egl/libEGL_adreno.so
+vendor/lib64/egl/libGLESv1_CM_adreno.so
+vendor/lib64/egl/libGLESv2_adreno.so
+vendor/lib64/egl/libq3dtools_adreno.so
+vendor/lib64/egl/libq3dtools_esx.so
+vendor/lib64/hw/android.hardware.bluetooth@1.0-impl-qti.so
+vendor/lib64/hw/fingerprint.sailfish.so
+vendor/lib64/hw/flp.default.so
+vendor/lib64/hw/gatekeeper.msm8996.so
+vendor/lib64/hw/gps.default.so
+vendor/lib64/hw/keystore.msm8996.so
+vendor/lib64/hw/vulkan.msm8996.so
+vendor/lib64/libacdb-fts.so
+vendor/lib64/libacdbloader.so
+vendor/lib64/libacdbmapper.so
+vendor/lib64/libacdbrtac.so
+vendor/lib64/libadiertac.so
+vendor/lib64/libadreno_utils.so
+vendor/lib64/libadsp_default_listener.so
+vendor/lib64/libadsprpc.so
+vendor/lib64/libaudcal.so
+vendor/lib64/libaudioalsa.so
+vendor/lib64/libbccQTI.so
+vendor/lib64/libbtnv.so
+vendor/lib64/libC2D2.so
+vendor/lib64/libc2d30-a3xx.so
+vendor/lib64/libc2d30-a4xx.so
+vendor/lib64/libc2d30-a5xx.so
+vendor/lib64/libc2d30_bltlib.so
+vendor/lib64/libCB.so
+vendor/lib64/libcneapiclient.so
+vendor/lib64/libcne.so
+vendor/lib64/libconfigdb.so
+vendor/lib64/libdiag.so
+vendor/lib64/libdisp-aba.so
+vendor/lib64/lib-dplmedia.so
+vendor/lib64/libdrmfs.so
+vendor/lib64/libdrmtime.so
+vendor/lib64/libdsi_netctrl.so
+vendor/lib64/libdsutils.so
+vendor/lib64/libfastcvadsp_stub.so
+vendor/lib64/libfastcvopt.so
+vendor/lib64/libflp.so
+vendor/lib64/lib_fpc_tac_shared.so
+vendor/lib64/libgeofence.so
+vendor/lib64/libGPreqcancel.so
+vendor/lib64/libGPreqcancel_svc.so
+vendor/lib64/libgps.utils.so
+vendor/lib64/libGPTEE.so
+vendor/lib64/libgsl.so
+vendor/lib64/libhdcp1prov.so
+vendor/lib64/libidl.so
+vendor/lib64/lib-imsdpl.so
+vendor/lib64/lib-imsqimf.so
+vendor/lib64/lib-imsrcs.so
+vendor/lib64/lib-imsSDP.so
+vendor/lib64/lib-imsxml.so
+vendor/lib64/libizat_core.so
+vendor/lib64/liblbs_core.so
+vendor/lib64/libllvm-glnext.so
+vendor/lib64/libllvm-qcom.so
+vendor/lib64/libloc_api_v02.so
+vendor/lib64/libloc_core.so
+vendor/lib64/libloc_ds_api.so
+vendor/lib64/libloc_eng.so
+vendor/lib64/liblowi_client.so
+vendor/lib64/liblowi_wifihal.so
+vendor/lib64/liblqe.so
+vendor/lib64/libmdmdetect.so
+vendor/lib64/libmdmimgload.so
+vendor/lib64/libmdsprpc.so
+vendor/lib64/libmmcamera_dbg.so
+vendor/lib64/libmm-disp-apis.so
+vendor/lib64/libmm-hdcpmgr.so
+vendor/lib64/libmm-qdcm.so
+vendor/lib64/libnetmgr.so
+vendor/lib64/libperipheral_client.so
+vendor/lib64/libpvr.so
+vendor/lib64/libqcci_legacy.so
+vendor/lib64/libqcmaputils.so
+vendor/lib64/libqdi.so
+vendor/lib64/libqdp.so
+vendor/lib64/libqisl.so
+vendor/lib64/libqmi_cci.so
+vendor/lib64/libqmi_client_helper.so
+vendor/lib64/libqmi_client_qmux.so
+vendor/lib64/libqmi_common_so.so
+vendor/lib64/libqmi_csi.so
+vendor/lib64/libqmi_encdec.so
+vendor/lib64/libqmiservices_ext.so
+vendor/lib64/libqmiservices_htc.so
+vendor/lib64/libqmiservices.so
+vendor/lib64/libqmi.so
+vendor/lib64/libQSEEComAPI.so
+vendor/lib64/libqti-perfd-client.so
+vendor/lib64/libquipc_os_api.so
+vendor/lib64/lib-rcsjni.so
+vendor/lib64/libril-qc-qmi-1.so
+vendor/lib64/libril-qc-radioconfig.so
+vendor/lib64/libril-qcril-hook-oem.so
+vendor/lib64/librilqmiservices.so
+vendor/lib64/librmp.so
+vendor/lib64/librpmb.so
+vendor/lib64/librs_adreno_sha1.so
+vendor/lib64/librs_adreno.so
+vendor/lib64/libRSDriver_adreno.so
+vendor/lib64/lib-rtpcommon.so
+vendor/lib64/lib-rtpcore.so
+vendor/lib64/lib-rtpdaemoninterface.so
+vendor/lib64/lib-rtpsl.so
+vendor/lib64/libSampleAuthJNI.so
+vendor/lib64/libSampleExtAuthJNI.so
+vendor/lib64/libscalar.so
+vendor/lib64/libscale.so
+vendor/lib64/libsdm-color.so
+vendor/lib64/libsdm-diag.so
+vendor/lib64/libsdm-disp-apis.so
+vendor/lib64/libsdmextension.so
+vendor/lib64/libsd_sdk_display.so
+vendor/lib64/libsdsprpc.so
+vendor/lib64/lib-sec-disp.so
+vendor/lib64/libSecureExtAuthJNI.so
+vendor/lib64/libSecureSampleAuthJNI.so
+vendor/lib64/libSecureUILib.so
+vendor/lib64/libsecureui.so
+vendor/lib64/libsecureuisvc_jni.so
+vendor/lib64/libsecureui_svcsock.so
+vendor/lib64/libsi.so
+vendor/lib64/libsmemlog.so
+vendor/lib64/libssd.so
+vendor/lib64/libStDrvInt.so
+vendor/lib64/libsystem_health_mon.so
+vendor/lib64/libthermalclient.so
+vendor/lib64/libthermalioctl.so
+vendor/lib64/libtime_genoff.so
+vendor/lib64/libTimeService.so
+vendor/lib64/libtzdrmgenprov.so
+vendor/lib64/libwms.so
+vendor/lib64/libxml.so
+vendor/lib/dsp/EtsiEaacPlusEncAndCmnModule.so.1
+vendor/lib/dsp/fastrpc_shell_0
+vendor/lib/dsp/fluence_voiceplus_module.so.1
+vendor/lib/dsp/HeaacDecoderModule.so.1
+vendor/lib/dsp/libsysmon_skel.so
+vendor/lib/dsp/map_avs_shared_libs.txt
+vendor/lib/dsp/map_SHARED_LIBS_AAAAAAAAQ.txt
+vendor/lib/dsp/mmecns_module.so.1
+vendor/lib/dsp/SAPlusCmnModule.so.1
+vendor/lib/egl/eglSubDriverAndroid.so
+vendor/lib/egl/libEGL_adreno.so
+vendor/lib/egl/libGLESv1_CM_adreno.so
+vendor/lib/egl/libGLESv2_adreno.so
+vendor/lib/egl/libq3dtools_adreno.so
+vendor/lib/egl/libq3dtools_esx.so
+vendor/lib/hw/audio.primary.msm8996.so
+vendor/lib/hw/flp.default.so
+vendor/lib/hw/gatekeeper.msm8996.so
+vendor/lib/hw/gps.default.so
+vendor/lib/hw/keystore.msm8996.so
+vendor/lib/hw/sensors.vl530l0.tof.so
+vendor/lib/hw/sound_trigger.primary.msm8996.so
+vendor/lib/hw/vulkan.msm8996.so
+vendor/lib/libacdb-fts.so
+vendor/lib/libacdbloader.so
+vendor/lib/libacdbmapper.so
+vendor/lib/libacdbrtac.so
+vendor/lib/libactuator_lc898212xd_htc.so
+vendor/lib/libadiertac.so
+vendor/lib/libadm.so
+vendor/lib/libadpcmdec.so
+vendor/lib/libadreno_utils.so
+vendor/lib/libadsp_default_listener.so
+vendor/lib/libadsprpc.so
+vendor/lib/libaudcal.so
+vendor/lib/libaudioalsa.so
+vendor/lib/libbccQTI.so
+vendor/lib/libC2D2.so
+vendor/lib/libc2d30-a3xx.so
+vendor/lib/libc2d30-a4xx.so
+vendor/lib/libc2d30-a5xx.so
+vendor/lib/libc2d30_bltlib.so
+vendor/lib/libCB.so
+vendor/lib/libchromatix_imx179_common.so
+vendor/lib/libchromatix_imx179_postproc.so
+vendor/lib/libchromatix_imx179_video_16_9_3a.so
+vendor/lib/libchromatix_imx179_video_16_9_cpp.so
+vendor/lib/libchromatix_imx179_video_16_9_isp.so
+vendor/lib/libchromatix_imx179_video_qtr_16_9_3a.so
+vendor/lib/libchromatix_imx179_video_qtr_16_9_cpp.so
+vendor/lib/libchromatix_imx179_video_qtr_16_9_isp.so
+vendor/lib/libchromatix_imx179_zsl_snapshot_3a.so
+vendor/lib/libchromatix_imx179_zsl_snapshot_cpp.so
+vendor/lib/libchromatix_imx179_zsl_snapshot_isp.so
+vendor/lib/libchromatix_imx378_common.so
+vendor/lib/libchromatix_imx378_postproc.so
+vendor/lib/libchromatix_imx378_video_16_9_3a.so
+vendor/lib/libchromatix_imx378_video_16_9_cpp.so
+vendor/lib/libchromatix_imx378_video_16_9_isp.so
+vendor/lib/libchromatix_imx378_video_hfr_120_3a.so
+vendor/lib/libchromatix_imx378_video_hfr_120_cpp.so
+vendor/lib/libchromatix_imx378_video_hfr_120_isp.so
+vendor/lib/libchromatix_imx378_video_hfr_240_3a.so
+vendor/lib/libchromatix_imx378_video_hfr_240_cpp.so
+vendor/lib/libchromatix_imx378_video_hfr_240_isp.so
+vendor/lib/libchromatix_imx378_video_hfr_60_3a.so
+vendor/lib/libchromatix_imx378_video_hfr_60_cpp.so
+vendor/lib/libchromatix_imx378_video_hfr_60_isp.so
+vendor/lib/libchromatix_imx378_zsl_snapshot_3a.so
+vendor/lib/libchromatix_imx378_zsl_snapshot_cpp.so
+vendor/lib/libchromatix_imx378_zsl_snapshot_isp.so
+vendor/lib/libcneapiclient.so
+vendor/lib/libcne.so
+vendor/lib/libconfigdb.so
+vendor/lib/libcppf.so
+vendor/lib/libdiag.so
+vendor/lib/libdisp-aba.so
+vendor/lib/lib-dplmedia.so
+vendor/lib/libdrmfs.so
+vendor/lib/libdrmtime.so
+vendor/lib/libdsi_netctrl.so
+vendor/lib/libdsutils.so
+vendor/lib/libeglc2d.so
+vendor/lib/libfastcvadsp_stub.so
+vendor/lib/libfastcvopt.so
+vendor/lib/libflash_pmic.so
+vendor/lib/libflp.so
+vendor/lib/libgcam_ae.so
+vendor/lib/libgeofence.so
+vendor/lib/libgoog_eis_armeabi-v7a.so
+vendor/lib/libGPreqcancel.so
+vendor/lib/libGPreqcancel_svc.so
+vendor/lib/libgps.utils.so
+vendor/lib/libGPTEE.so
+vendor/lib/libgsl.so
+vendor/lib/libhdcp1prov.so
+vendor/lib/libidl.so
+vendor/lib/lib-imsdpl.so
+vendor/lib/lib-imsrcs.so
+vendor/lib/libizat_core.so
+vendor/lib/libjpegdhw.so
+vendor/lib/libjpegdmahw.so
+vendor/lib/libjpegehw.so
+vendor/lib/liblbs_core.so
+vendor/lib/libllvd_smore.so
+vendor/lib/libllvm-glnext.so
+vendor/lib/libllvm-qcom.so
+vendor/lib/libloc_api_v02.so
+vendor/lib/libloc_core.so
+vendor/lib/libloc_ds_api.so
+vendor/lib/libloc_eng.so
+vendor/lib/liblowi_client.so
+vendor/lib/libmdmdetect.so
+vendor/lib/libmdsprpc.so
+vendor/lib/libmmcamera2_c2d_module.so
+vendor/lib/libmmcamera2_cpp_module.so
+vendor/lib/libmmcamera2_frame_algorithm.so
+vendor/lib/libmmcamera2_iface_modules.so
+vendor/lib/libmmcamera2_imglib_modules.so
+vendor/lib/libmmcamera2_isp_modules.so
+vendor/lib/libmmcamera2_is.so
+vendor/lib/libmmcamera2_mct_shimlayer.so
+vendor/lib/libmmcamera2_mct.so
+vendor/lib/libmmcamera2_memleak.so
+vendor/lib/libmmcamera2_pp_buf_mgr.so
+vendor/lib/libmmcamera2_pproc_modules.so
+vendor/lib/libmmcamera2_q3a_core.so
+vendor/lib/libmmcamera2_sensor_modules.so
+vendor/lib/libmmcamera2_stats_algorithm.so
+vendor/lib/libmmcamera2_stats_modules.so
+vendor/lib/libmmcamera_dbg.so
+vendor/lib/libmmcamera_eeprom_util.so
+vendor/lib/libmmcamera_eztune_module.so
+vendor/lib/libmmcamera_facedetection_lib.so
+vendor/lib/libmmcamera_faceproc2.so
+vendor/lib/libmmcamera_faceproc.so
+vendor/lib/libmmcamera_imglib.so
+vendor/lib/libmmcamera_imx179_htc.so
+vendor/lib/libmmcamera_imx378_htc.so
+vendor/lib/libmmcamera_isp_abf47.so
+vendor/lib/libmmcamera_isp_aec_bg_stats47.so
+vendor/lib/libmmcamera_isp_bf_stats47.so
+vendor/lib/libmmcamera_isp_bg_stats46.so
+vendor/lib/libmmcamera_isp_bhist_stats44.so
+vendor/lib/libmmcamera_isp_black_level47.so
+vendor/lib/libmmcamera_isp_bpc47.so
+vendor/lib/libmmcamera_isp_cac47.so
+vendor/lib/libmmcamera_isp_chroma_enhan40.so
+vendor/lib/libmmcamera_isp_chroma_suppress40.so
+vendor/lib/libmmcamera_isp_clamp_encoder40.so
+vendor/lib/libmmcamera_isp_clamp_video40.so
+vendor/lib/libmmcamera_isp_clamp_viewfinder40.so
+vendor/lib/libmmcamera_isp_color_correct46.so
+vendor/lib/libmmcamera_isp_color_xform_encoder46.so
+vendor/lib/libmmcamera_isp_color_xform_video46.so
+vendor/lib/libmmcamera_isp_color_xform_viewfinder46.so
+vendor/lib/libmmcamera_isp_cs_stats46.so
+vendor/lib/libmmcamera_isp_demosaic47.so
+vendor/lib/libmmcamera_isp_demux40.so
+vendor/lib/libmmcamera_isp_fovcrop_encoder46.so
+vendor/lib/libmmcamera_isp_fovcrop_video46.so
+vendor/lib/libmmcamera_isp_fovcrop_viewfinder46.so
+vendor/lib/libmmcamera_isp_gamma44.so
+vendor/lib/libmmcamera_isp_gic46.so
+vendor/lib/libmmcamera_isp_gtm46.so
+vendor/lib/libmmcamera_isp_hdr46.so
+vendor/lib/libmmcamera_isp_hdr_be_stats46.so
+vendor/lib/libmmcamera_isp_ihist_stats46.so
+vendor/lib/libmmcamera_isp_linearization40.so
+vendor/lib/libmmcamera_isp_ltm47.so
+vendor/lib/libmmcamera_isp_mce40.so
+vendor/lib/libmmcamera_isp_mesh_rolloff44.so
+vendor/lib/libmmcamera_isp_pedestal_correct46.so
+vendor/lib/libmmcamera_isp_rs_stats46.so
+vendor/lib/libmmcamera_isp_scaler_encoder46.so
+vendor/lib/libmmcamera_isp_scaler_video46.so
+vendor/lib/libmmcamera_isp_scaler_viewfinder46.so
+vendor/lib/libmmcamera_isp_sce40.so
+vendor/lib/libmmcamera_isp_snr47.so
+vendor/lib/libmmcamera_isp_sub_module.so
+vendor/lib/libmmcamera_llvd.so
+vendor/lib/libmmcamera_paaf_lib.so
+vendor/lib/libmmcamera_pdafcamif.so
+vendor/lib/libmmcamera_pdaf.so
+vendor/lib/libmmcamera_ppbase_module.so
+vendor/lib/libmmcamera_sony_imx179_eeprom.so
+vendor/lib/libmmcamera_sony_imx378_eeprom.so
+vendor/lib/libmmcamera_thread_services.so
+vendor/lib/libmmcamera_tintless_algo.so
+vendor/lib/libmmcamera_tintless_bg_pca_algo.so
+vendor/lib/libmmcamera_tuning_lookup.so
+vendor/lib/libmmcamera_tuning.so
+vendor/lib/libmm-disp-apis.so
+vendor/lib/libmm-hdcpmgr.so
+vendor/lib/libmmjpeg.so
+vendor/lib/libmm-qdcm.so
+vendor/lib/libmmqjpeg_codec.so
+vendor/lib/libmmqjpegdma.so
+vendor/lib/libnetmgr.so
+vendor/lib/liboemcrypto.so
+vendor/lib/libperipheral_client.so
+vendor/lib/libpvr.so
+vendor/lib/libqcci_legacy.so
+vendor/lib/libqcmaputils.so
+vendor/lib/libqdi.so
+vendor/lib/libqisl.so
+vendor/lib/libqmi_cci.so
+vendor/lib/libqmi_client_helper.so
+vendor/lib/libqmi_client_qmux.so
+vendor/lib/libqmi_common_so.so
+vendor/lib/libqmi_csi.so
+vendor/lib/libqmi_encdec.so
+vendor/lib/libqmiservices_ext.so
+vendor/lib/libqmiservices.so
+vendor/lib/libqmi.so
+vendor/lib/libqomx_jpegdec.so
+vendor/lib/libqomx_jpegenc_pipe.so
+vendor/lib/libqomx_jpegenc.so
+vendor/lib/libQSEEComAPI.so
+vendor/lib/libqti-perfd-client.so
+vendor/lib/libquipc_os_api.so
+vendor/lib/lib-rcsjni.so
+vendor/lib/libril-qcril-hook-oem.so
+vendor/lib/librmp.so
+vendor/lib/librpmb.so
+vendor/lib/librs_adreno_sha1.so
+vendor/lib/librs_adreno.so
+vendor/lib/libRSDriver_adreno.so
+vendor/lib/lib-rtpcommon.so
+vendor/lib/lib-rtpcore.so
+vendor/lib/lib-rtpdaemoninterface.so
+vendor/lib/lib-rtpsl.so
+vendor/lib/libSampleAuthJNI.so
+vendor/lib/libSampleExtAuthJNI.so
+vendor/lib/libscale.so
+vendor/lib/libsdm-disp-apis.so
+vendor/lib/libsd_sdk_display.so
+vendor/lib/libsdsprpc.so
+vendor/lib/lib-sec-disp.so
+vendor/lib/libSecureExtAuthJNI.so
+vendor/lib/libSecureSampleAuthJNI.so
+vendor/lib/libSecureUILib.so
+vendor/lib/libsecureui.so
+vendor/lib/libsecureuisvc_jni.so
+vendor/lib/libsecureui_svcsock.so
+vendor/lib/libseemore.so
+vendor/lib/libsi.so
+vendor/lib/libsmemlog.so
+vendor/lib/libSonyIMX378PdafLibrary.so
+vendor/lib/libssd.so
+vendor/lib/libStDrvInt.so
+vendor/lib/libsystem_health_mon.so
+vendor/lib/libthermalclient.so
+vendor/lib/libtime_genoff.so
+vendor/lib/libTimeService.so
+vendor/lib/libtm_interface.so
+vendor/lib/libtzdrmgenprov.so
+vendor/lib/libwms.so
+vendor/lib/libwvhidl.so
+vendor/lib/libxml.so
+vendor/lib/rfsa/adsp/chre_drv_loc.so
+vendor/lib/rfsa/adsp/chre_drv_modem.so
+vendor/lib/rfsa/adsp/chre_drv_wifi.so
+vendor/lib/rfsa/adsp/chre_platform.so
+vendor/lib/rfsa/adsp/chre.so
+vendor/lib/rfsa/adsp/libnanohub_slpi_skel.so
+vendor/lib/rfsa/adsp/libseemore_hexagon_skel.so
+vendor/lib/rfsa/adsp/lowi_client.so
+vendor/lib/rfsa/adsp/nano_bridge.so
+vendor/lib/soundfx/libfmas.so
+vendor/lib/test_suite_all_modules.so
+vendor/lib/test_suite_no_sensor.so
+vendor/lib/test_suite_pproc.so
+vendor/lib/test_suite_vfe.so
+vendor/media/LMspeed_508.emd
+vendor/media/PFFprec_600.emd
+vendor/qcril_database/upgrade/1_version_intro.sql
+vendor/qcril_database/upgrade/2_db_upgrade.sql
+vendor/qcril_database/upgrade/3_remove_ecc_999_from_us_and_canada.sql
+vendor/qcril_database/upgrade/4_db_upgrade.sql
+vendor/qcril_database/upgrade/5_update_india_ecc.sql
+vendor/qcril.db
diff --git a/sailfish/device-proprietary-files.txt b/sailfish/device-proprietary-files.txt
new file mode 100644
index 00000000..47a84316
--- /dev/null
+++ b/sailfish/device-proprietary-files.txt
@@ -0,0 +1,91 @@
+# Bluetooth
+lib64/libaptX_encoder.so
+lib64/libaptXHD_encoder.so
+lib/libaptX_encoder.so
+lib/libaptXHD_encoder.so
+
+# Camera
+etc/permissions/com.google.android.camera.experimental2016.xml
+-framework/com.google.android.camera.experimental2016.jar;PRESIGNED
+
+# CNE
+etc/cne/Nexus/ATT/ATT_profiles.xml
+etc/cne/Nexus/ROW/ROW_profiles.xml
+etc/cne/Nexus/VZW/VZW_profiles.xml
+
+# DRM
+bin/move_widevine_data.sh
+
+# Hotword Enrollment
+-priv-app/HotwordEnrollmentOKGoogleWCD9335/HotwordEnrollmentOKGoogleWCD9335.apk;PRESIGNED
+-priv-app/HotwordEnrollmentTGoogleWCD9335/HotwordEnrollmentTGoogleWCD9335.apk;PRESIGNED
+-priv-app/HotwordEnrollmentXGoogleWCD9335/HotwordEnrollmentXGoogleWCD9335.apk;PRESIGNED
+
+# IMS/HD Voice
+-app/ims/ims.apk
+-priv-app/CNEService/CNEService.apk
+lib64/lib-imsvideocodec.so
+lib64/lib-imsvtextutils.so
+lib64/lib-imsvt.so
+lib64/lib-imsvtutils.so
+lib64/libimscamera_jni.so
+lib64/libimsmedia_jni.so
+lib64/librcc.so
+lib/lib-imsvideocodec.so
+lib/lib-imsvtextutils.so
+lib/lib-imsvt.so
+lib/lib-imsvtutils.so
+lib/librcc.so
+
+# Permissions
+etc/permissions/privapp-permissions-google.xml
+
+# RIL
+-framework/LowPowerMonitorDeviceInterface.jar
+-framework/LowPowerMonitorDeviceStub.jar
+-framework/PowerAnomalyDataModemInterface.jar
+-framework/PowerAnomalyStub.jar
+-framework/qcrilhook.jar
+-priv-app/Asdiv/Asdiv.apk
+-priv-app/qcrilmsgtunnel/qcrilmsgtunnel.apk
+lib64/vendor.qti.atcmdfwd@1.0.so
+lib64/vendor.qti.qcril.am@1.0.so
+
+# Sprint
+etc/permissions/com.android.omadm.service.xml
+etc/permissions/com.android.sdm.plugins.sprintdm.xml
+etc/sysconfig/whitelist_com.android.omadm.service.xml
+lib/libdmengine.so
+lib/libdmjavaplugin.so
+-priv-app/DMService/DMService.apk
+-priv-app/DiagMon/DiagMon.apk
+-priv-app/SprintDM/SprintDM.apk
+-priv-app/SprintHM/SprintHM.apk
+
+# Sysconfig
+etc/sysconfig/nexus.xml
+etc/sysconfig/pixel_2016_exclusive.xml
+
+# VZW
+-app/VZWAPNLib/VZWAPNLib.apk;PRESIGNED
+etc/permissions/com.android.sdm.plugins.connmo.xml
+etc/permissions/com.android.vzwomatrigger.xml
+etc/permissions/com.verizon.apn.xml
+etc/permissions/com.verizon.embms.xml
+etc/permissions/com.verizon.provider.xml
+etc/permissions/com.verizon.services.xml
+etc/permissions/features-verizon.xml
+etc/permissions/obdm_permissions.xml
+etc/permissions/vzw_mvs_permissions.xml
+-framework/VerizonUnifiedSettings.jar;PRESIGNED
+-priv-app/CarrierSetup/CarrierSetup.apk
+-priv-app/ConnMO/ConnMO.apk
+-priv-app/DCMO/DCMO.apk
+priv-app/MyVerizonServices/lib/arm64/libmotricity.so
+-priv-app/MyVerizonServices/MyVerizonServices.apk;PRESIGNED
+-priv-app/OBDM_Permissions/OBDM_Permissions.apk
+-priv-app/OemDmTrigger/OemDmTrigger.apk
+-priv-app/VerizonAuthDialog/VerizonAuthDialog.apk;PRESIGNED
+-priv-app/VzwOmaTrigger/VzwOmaTrigger.apk;PRESIGNED
+-priv-app/WfcActivation/WfcActivation.apk;PRESIGNED
+-priv-app/obdm_stub/obdm_stub.apk;PRESIGNED
diff --git a/sailfish/extract-files.sh b/sailfish/extract-files.sh
new file mode 100755
index 00000000..91bb11bc
--- /dev/null
+++ b/sailfish/extract-files.sh
@@ -0,0 +1,61 @@
+#!/bin/bash
+#
+# Copyright (C) 2019 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.
+
+set -e
+
+VENDOR=google
+DEVICE=sailfish
+
+# Load extractutils and do some sanity checks
+MY_DIR="${BASH_SOURCE%/*}"
+if [[ ! -d "$MY_DIR" ]]; then MY_DIR="$PWD"; fi
+
+LINEAGE_ROOT="$MY_DIR"/../../..
+
+HELPER="$LINEAGE_ROOT"/vendor/lineage/build/tools/extract_utils.sh
+if [ ! -f "$HELPER" ]; then
+ echo "Unable to find helper script at $HELPER"
+ exit 1
+fi
+. "$HELPER"
+
+if [ $# -eq 0 ]; then
+ SRC=adb
+else
+ if [ $# -eq 1 ]; then
+ SRC=$1
+ else
+ echo "$0: bad number of arguments"
+ echo ""
+ echo "usage: $0 [PATH_TO_EXPANDED_ROM]"
+ echo ""
+ echo "If PATH_TO_EXPANDED_ROM is not specified, blobs will be extracted from"
+ echo "the device using adb pull."
+ exit 1
+ fi
+fi
+
+# Initialize the helper
+setup_vendor "$DEVICE" "$VENDOR" "$LINEAGE_ROOT"
+
+extract "$MY_DIR"/../marlin/$DEVICE/device-proprietary-files.txt "$SRC"
+extract "$MY_DIR"/../marlin/$DEVICE/device-proprietary-files-vendor.txt "$SRC"
+
+# Don't disable MyVerizonServices app
+sed -i 's|<disabled-until-used-preinstalled-carrier-app package="com.verizon.mips.services" />|<!--disabled-until-used-preinstalled-carrier-app package="com.verizon.mips.services" /-->|g'\
+ "$LINEAGE_ROOT"/vendor/"$VENDOR"/"$DEVICE"/proprietary/etc/sysconfig/nexus.xml
+
+"$MY_DIR/../marlin/$DEVICE"/setup-makefiles.sh
diff --git a/sailfish/setup-makefiles.sh b/sailfish/setup-makefiles.sh
new file mode 100755
index 00000000..0d3d70a5
--- /dev/null
+++ b/sailfish/setup-makefiles.sh
@@ -0,0 +1,48 @@
+#!/bin/bash
+#
+# Copyright (C) 2019 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.
+
+set -e
+
+VENDOR=google
+DEVICE=sailfish
+
+INITIAL_COPYRIGHT_YEAR=2019
+
+# Load extractutils and do some sanity checks
+MY_DIR="${BASH_SOURCE%/*}"
+if [[ ! -d "$MY_DIR" ]]; then MY_DIR="$PWD"; fi
+
+LINEAGE_ROOT="$MY_DIR"/../../../..
+
+HELPER="$LINEAGE_ROOT"/vendor/lineage/build/tools/extract_utils.sh
+if [ ! -f "$HELPER" ]; then
+ echo "Unable to find helper script at $HELPER"
+ exit 1
+fi
+. "$HELPER"
+
+# Initialize the helper
+setup_vendor "$DEVICE" "$VENDOR" "$LINEAGE_ROOT"
+
+# Copyright headers and guards
+write_headers
+
+# The standard blobs
+write_makefiles "$MY_DIR"/device-proprietary-files.txt
+write_makefiles "$MY_DIR"/device-proprietary-files-vendor.txt true
+
+# Finish
+write_footers
diff --git a/telephony/Android.mk b/telephony/Android.mk
index 5053e7d6..50da2484 100644
--- a/telephony/Android.mk
+++ b/telephony/Android.mk
@@ -1 +1,3 @@
+ifeq ($(LINEAGE_BUILD),)
include $(call all-subdir-makefiles)
+endif