Compare commits
122 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
31de3dd1ce | ||
|
|
aac335cb58 | ||
|
|
39262126ce | ||
|
|
db39bda965 | ||
|
|
d56eab61ff | ||
|
|
9a96ded3f5 | ||
|
|
eb1a87033f | ||
|
|
1af861c1bc | ||
|
|
d1015bea67 | ||
|
|
f5caeb7c79 | ||
|
|
ed71980826 | ||
|
|
50adf58370 | ||
|
|
93b545d19d | ||
|
|
365063b5fa | ||
|
|
9818d39a16 | ||
|
|
afeaf50833 | ||
|
|
fa6d44cab3 | ||
|
|
65a670a120 | ||
|
|
4297fc997e | ||
|
|
6b3519493c | ||
|
|
757f14a128 | ||
|
|
f0ec66ea17 | ||
|
|
ac8092d603 | ||
|
|
59313ce8f4 | ||
|
|
2b4ceabd16 | ||
|
|
1f70fe7596 | ||
|
|
bf1a55c009 | ||
|
|
9da1099ed6 | ||
|
|
fcefe81e3c | ||
|
|
b5fb157109 | ||
|
|
760b050f25 | ||
|
|
c93c27c631 | ||
|
|
30188ef76a | ||
|
|
a5ef4a468e | ||
|
|
5541f10f9b | ||
|
|
ca47b272ab | ||
|
|
663bd057c6 | ||
|
|
3e8c790568 | ||
|
|
32d520a2ab | ||
|
|
ad56f6fb78 | ||
|
|
8d7fe952a9 | ||
|
|
17530f7111 | ||
|
|
d859b9bf2d | ||
|
|
c9d77c075b | ||
|
|
2181592463 | ||
|
|
ae72fd85b3 | ||
|
|
e8d1e807b3 | ||
|
|
0e42d461e5 | ||
|
|
8e3a098379 | ||
|
|
df0130358e | ||
|
|
5cd6fae534 | ||
|
|
5dd980d9c2 | ||
|
|
7174dd3530 | ||
|
|
14c0a592e7 | ||
|
|
a0dbeeccfc | ||
|
|
fb1f775d88 | ||
|
|
2030016da3 | ||
|
|
8b11e4a70b | ||
|
|
6f0e584044 | ||
|
|
f7e3f15e7b | ||
|
|
9d3b8a1e30 | ||
|
|
b8831c9162 | ||
|
|
794cf8b6c2 | ||
|
|
0d53255cc3 | ||
|
|
e8e8df65f5 | ||
|
|
9c84b48a59 | ||
|
|
a40c1443f5 | ||
|
|
fdd4075f6c | ||
|
|
00f58574c5 | ||
|
|
70290609e7 | ||
|
|
1598f78c99 | ||
|
|
9a82df78aa | ||
|
|
8459690a52 | ||
|
|
1ca0f23e5d | ||
|
|
abed536c00 | ||
|
|
177320f711 | ||
|
|
6ffa9a3512 | ||
|
|
29825aab62 | ||
|
|
36352e4542 | ||
|
|
1d03566432 | ||
|
|
3424f39336 | ||
|
|
0f1e782f0c | ||
|
|
8cf6cebb9e | ||
|
|
e5e0c3fc16 | ||
|
|
fbc49b3d8b | ||
|
|
257c8300ae | ||
|
|
50bc24aa12 | ||
|
|
462fe6df98 | ||
|
|
e144a3d701 | ||
|
|
0357ac4f82 | ||
|
|
50a81a383f | ||
|
|
f82d0fb3c3 | ||
|
|
63e904f3d7 | ||
|
|
d7de007636 | ||
|
|
e25dcf3632 | ||
|
|
cea15f2d7b | ||
|
|
fac236a501 | ||
|
|
0ff1352559 | ||
|
|
8b78736022 | ||
|
|
7c88aadccc | ||
|
|
33f55353f1 | ||
|
|
bbc3935e59 | ||
|
|
0b59614277 | ||
|
|
b72a890f23 | ||
|
|
ff4fa261e2 | ||
|
|
6f7b559b65 | ||
|
|
a169c7cf66 | ||
|
|
7601d64207 | ||
|
|
53bfe718ae | ||
|
|
566e67dafa | ||
|
|
5bf3421cdf | ||
|
|
bd37d7c55f | ||
|
|
9297fa3b93 | ||
|
|
ef4b2b36b1 | ||
|
|
5d8ed33094 | ||
|
|
2725662273 | ||
|
|
59b7108aa2 | ||
|
|
fabb0ade08 | ||
|
|
1e25b25524 | ||
|
|
aa68669332 | ||
|
|
fc5155379f | ||
|
|
a632d88af4 |
@@ -1,3 +0,0 @@
|
||||
subdirs = [
|
||||
"light",
|
||||
]
|
||||
73
Android.mk
73
Android.mk
@@ -17,47 +17,29 @@ ifneq ($(filter sanders,$(TARGET_DEVICE)),)
|
||||
|
||||
LOCAL_PATH := $(call my-dir)
|
||||
|
||||
FIRMWARE_MOUNT_POINT := $(TARGET_OUT_VENDOR)/firmware_mnt
|
||||
DSP_MOUNT_POINT := $(TARGET_OUT_VENDOR)/dsp
|
||||
FSG_MOUNT_POINT := $(TARGET_OUT_VENDOR)/fsg
|
||||
ALL_DEFAULT_INSTALLED_MODULES += $(FIRMWARE_MOUNT_POINT) \
|
||||
$(DSP_MOUNT_POINT) \
|
||||
$(FSG_MOUNT_POINT)
|
||||
$(FIRMWARE_MOUNT_POINT):
|
||||
@echo "Creating $(FIRMWARE_MOUNT_POINT)"
|
||||
@mkdir -p $(TARGET_OUT_VENDOR)/firmware_mnt
|
||||
|
||||
$(DSP_MOUNT_POINT):
|
||||
@echo "Creating $(DSP_MOUNT_POINT)"
|
||||
@mkdir -p $(TARGET_OUT_VENDOR)/dsp
|
||||
|
||||
$(FSG_MOUNT_POINT):
|
||||
@echo "Creating $(FSG_MOUNT_POINT)"
|
||||
@mkdir -p $(TARGET_OUT_VENDOR)/fsg
|
||||
|
||||
FIRMWARE_ADSP_IMAGES := \
|
||||
adsp.b00 adsp.b01 adsp.b02 adsp.b03 adsp.b04 adsp.b05 adsp.b06 \
|
||||
adsp.b07 adsp.b08 adsp.b09 adsp.b10 adsp.b11 adsp.b12 adsp.b13 \
|
||||
adsp.mdt
|
||||
|
||||
FIRMWARE_ADSP_SYMLINKS := $(addprefix $(TARGET_OUT_VENDOR)/firmware/,$(notdir $(FIRMWARE_ADSP_IMAGES)))
|
||||
FIRMWARE_ADSP_SYMLINKS := $(addprefix $(TARGET_OUT_ETC)/firmware/,$(notdir $(FIRMWARE_ADSP_IMAGES)))
|
||||
$(FIRMWARE_ADSP_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
|
||||
@echo "ADSP Firmware link: $@"
|
||||
@mkdir -p $(dir $@)
|
||||
@rm -rf $@
|
||||
$(hide) ln -sf /vendor/firmware_mnt/image/$(notdir $@) $@
|
||||
$(hide) ln -sf /firmware/image/$(notdir $@) $@
|
||||
|
||||
ALL_DEFAULT_INSTALLED_MODULES += $(FIRMWARE_ADSP_SYMLINKS)
|
||||
|
||||
FIRMWARE_CPPF_IMAGES := \
|
||||
cppf.b00 cppf.b01 cppf.b02 cppf.b03 cppf.b04 cppf.b05 cppf.b06 cppf.mdt
|
||||
|
||||
FIRMWARE_CPPF_SYMLINKS := $(addprefix $(TARGET_OUT_VENDOR)/firmware/,$(notdir $(FIRMWARE_CPPF_IMAGES)))
|
||||
FIRMWARE_CPPF_SYMLINKS := $(addprefix $(TARGET_OUT_ETC)/firmware/,$(notdir $(FIRMWARE_CPPF_IMAGES)))
|
||||
$(FIRMWARE_CPPF_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
|
||||
@echo "Fingerprint Firmware link: $@"
|
||||
@mkdir -p $(dir $@)
|
||||
@rm -rf $@
|
||||
$(hide) ln -sf /vendor/firmware_mnt/image/$(notdir $@) $@
|
||||
$(hide) ln -sf /firmware/image/$(notdir $@) $@
|
||||
|
||||
ALL_DEFAULT_INSTALLED_MODULES += $(FIRMWARE_CPPF_SYMLINKS)
|
||||
|
||||
@@ -66,12 +48,12 @@ FIRMWARE_FINGERPRINT_IMAGES := \
|
||||
fpctzappfingerprint.b03 fpctzappfingerprint.b04 fpctzappfingerprint.b05 \
|
||||
fpctzappfingerprint.b06 fpctzappfingerprint.mdt
|
||||
|
||||
FIRMWARE_FINGERPRINT_SYMLINKS := $(addprefix $(TARGET_OUT_VENDOR)/firmware/,$(notdir $(FIRMWARE_FINGERPRINT_IMAGES)))
|
||||
FIRMWARE_FINGERPRINT_SYMLINKS := $(addprefix $(TARGET_OUT_ETC)/firmware/,$(notdir $(FIRMWARE_FINGERPRINT_IMAGES)))
|
||||
$(FIRMWARE_FINGERPRINT_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
|
||||
@echo "Fingerprint Firmware link: $@"
|
||||
@mkdir -p $(dir $@)
|
||||
@rm -rf $@
|
||||
$(hide) ln -sf /vendor/firmware_mnt/image/$(notdir $@) $@
|
||||
$(hide) ln -sf /firmware/image/$(notdir $@) $@
|
||||
|
||||
ALL_DEFAULT_INSTALLED_MODULES += $(FIRMWARE_FINGERPRINT_SYMLINKS)
|
||||
|
||||
@@ -81,12 +63,12 @@ FIRMWARE_MODEM_IMAGES := \
|
||||
modem.b13 modem.b16 modem.b17 modem.b18 modem.b19 modem.b20 \
|
||||
modem.mdt
|
||||
|
||||
FIRMWARE_MODEM_SYMLINKS := $(addprefix $(TARGET_OUT_VENDOR)/firmware/,$(notdir $(FIRMWARE_MODEM_IMAGES)))
|
||||
FIRMWARE_MODEM_SYMLINKS := $(addprefix $(TARGET_OUT_ETC)/firmware/,$(notdir $(FIRMWARE_MODEM_IMAGES)))
|
||||
$(FIRMWARE_MODEM_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
|
||||
@echo "Modem Firmware link: $@"
|
||||
@mkdir -p $(dir $@)
|
||||
@rm -rf $@
|
||||
$(hide) ln -sf /vendor/firmware_mnt/image/$(notdir $@) $@
|
||||
$(hide) ln -sf /firmware/image/$(notdir $@) $@
|
||||
|
||||
ALL_DEFAULT_INSTALLED_MODULES += $(FIRMWARE_MODEM_SYMLINKS)
|
||||
|
||||
@@ -94,12 +76,12 @@ FIRMWARE_WCNSS_IMAGES := \
|
||||
wcnss.b00 wcnss.b01 wcnss.b02 wcnss.b04 wcnss.b06 \
|
||||
wcnss.b09 wcnss.b10 wcnss.b11 wcnss.b12 wcnss.mdt
|
||||
|
||||
FIRMWARE_WCNSS_SYMLINKS := $(addprefix $(TARGET_OUT_VENDOR)/firmware/,$(notdir $(FIRMWARE_WCNSS_IMAGES)))
|
||||
FIRMWARE_WCNSS_SYMLINKS := $(addprefix $(TARGET_OUT_ETC)/firmware/,$(notdir $(FIRMWARE_WCNSS_IMAGES)))
|
||||
$(FIRMWARE_WCNSS_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
|
||||
@echo "WCNSS Firmware link: $@"
|
||||
@mkdir -p $(dir $@)
|
||||
@rm -rf $@
|
||||
$(hide) ln -sf /vendor/firmware_mnt/image/$(notdir $@) $@
|
||||
$(hide) ln -sf /firmware/image/$(notdir $@) $@
|
||||
|
||||
ALL_DEFAULT_INSTALLED_MODULES += $(FIRMWARE_WCNSS_SYMLINKS)
|
||||
|
||||
@@ -112,7 +94,7 @@ $(FIRMWARE_WIDEVINE_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
|
||||
@echo "Widevine Firmware link: $@"
|
||||
@mkdir -p $(dir $@)
|
||||
@rm -rf $@
|
||||
$(hide) ln -sf /vendor/firmware_mnt/image/$(notdir $@) $@
|
||||
$(hide) ln -sf /firmware/image/$(notdir $@) $@
|
||||
|
||||
ALL_DEFAULT_INSTALLED_MODULES += $(FIRMWARE_WIDEVINE_SYMLINKS)
|
||||
|
||||
@@ -122,10 +104,10 @@ $(RFS_MSM_ADSP_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
|
||||
@rm -rf $@/*
|
||||
@mkdir -p $(dir $@)/readonly/vendor
|
||||
$(hide) ln -sf /data/vendor/tombstones/rfs/lpass $@/ramdumps
|
||||
$(hide) ln -sf /mnt/vendor/persist/rfs/msm/adsp $@/readwrite
|
||||
$(hide) ln -sf /mnt/vendor/persist/rfs/shared $@/shared
|
||||
$(hide) ln -sf /mnt/vendor/persist/hlos_rfs/shared $@/hlos
|
||||
$(hide) ln -sf /vendor/firmware_mnt $@/readonly/firmware
|
||||
$(hide) ln -sf /persist/rfs/msm/adsp $@/readwrite
|
||||
$(hide) ln -sf /persist/rfs/shared $@/shared
|
||||
$(hide) ln -sf /persist/hlos_rfs/shared $@/hlos
|
||||
$(hide) ln -sf /firmware $@/readonly/firmware
|
||||
$(hide) ln -sf /vendor/firmware $@/readonly/vendor/firmware
|
||||
|
||||
RFS_MSM_SLPI_SYMLINKS := $(TARGET_OUT_VENDOR)/rfs/msm/slpi/
|
||||
@@ -134,10 +116,10 @@ $(RFS_MSM_SLPI_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
|
||||
@rm -rf $@/*
|
||||
@mkdir -p $(dir $@)/readonly/vendor
|
||||
$(hide) ln -sf /data/vendor/tombstones/rfs/lpass $@/ramdumps
|
||||
$(hide) ln -sf /mnt/vendor/persist/rfs/msm/slpi $@/readwrite
|
||||
$(hide) ln -sf /mnt/vendor/persist/rfs/shared $@/shared
|
||||
$(hide) ln -sf /mnt/vendor/persist/hlos_rfs/shared $@/hlos
|
||||
$(hide) ln -sf /vendor/firmware_mnt $@/readonly/firmware
|
||||
$(hide) ln -sf /persist/rfs/msm/slpi $@/readwrite
|
||||
$(hide) ln -sf /persist/rfs/shared $@/shared
|
||||
$(hide) ln -sf /persist/hlos_rfs/shared $@/hlos
|
||||
$(hide) ln -sf /firmware $@/readonly/firmware
|
||||
$(hide) ln -sf /vendor/firmware $@/readonly/vendor/firmware
|
||||
|
||||
RFS_MSM_MPSS_SYMLINKS := $(TARGET_OUT_VENDOR)/rfs/msm/mpss/
|
||||
@@ -146,10 +128,10 @@ $(RFS_MSM_MPSS_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
|
||||
@rm -rf $@/*
|
||||
@mkdir -p $(dir $@)/readonly/vendor
|
||||
$(hide) ln -sf /data/vendor/tombstones/rfs/modem $@/ramdumps
|
||||
$(hide) ln -sf /mnt/vendor/persist/rfs/msm/mpss $@/readwrite
|
||||
$(hide) ln -sf /mnt/vendor/persist/rfs/shared $@/shared
|
||||
$(hide) ln -sf /mnt/vendor/persist/hlos_rfs/shared $@/hlos
|
||||
$(hide) ln -sf /vendor/firmware_mnt $@/readonly/firmware
|
||||
$(hide) ln -sf /persist/rfs/msm/mpss $@/readwrite
|
||||
$(hide) ln -sf /persist/rfs/shared $@/shared
|
||||
$(hide) ln -sf /persist/hlos_rfs/shared $@/hlos
|
||||
$(hide) ln -sf /firmware $@/readonly/firmware
|
||||
$(hide) ln -sf /vendor/firmware $@/readonly/vendor/firmware
|
||||
|
||||
ALL_DEFAULT_INSTALLED_MODULES += $(RFS_MSM_ADSP_SYMLINKS) $(RFS_MSM_MPSS_SYMLINKS) $(RFS_MSM_SLPI_SYMLINKS)
|
||||
@@ -160,10 +142,17 @@ $(IMS_SYMLINKS): $(LOCAL_INSTALLED_MODULE)
|
||||
@echo "IMS lib link: $@"
|
||||
@mkdir -p $(dir $@)
|
||||
@rm -rf $@
|
||||
$(hide) ln -sf /vendor/lib64/$(notdir $@) $@
|
||||
$(hide) ln -sf /system/vendor/lib64/$(notdir $@) $@
|
||||
|
||||
ALL_DEFAULT_INSTALLED_MODULES += $(IMS_SYMLINKS)
|
||||
|
||||
NUKE_NOTEPAD := $(TARGET_OUT)/app/Notepadv3Solution
|
||||
$(NUKE_NOTEPAD): $(LOCAL_INSTALLED_MODULE)
|
||||
@echo "Removing: $@"
|
||||
@rm -rf $@
|
||||
|
||||
ALL_DEFAULT_INSTALLED_MODULES += $(NUKE_NOTEPAD)
|
||||
|
||||
include $(call all-makefiles-under,$(LOCAL_PATH))
|
||||
|
||||
endif
|
||||
|
||||
154
BoardConfig.mk
154
BoardConfig.mk
@@ -27,6 +27,7 @@ TARGET_FS_CONFIG_GEN := $(DEVICE_PATH)/config.fs
|
||||
|
||||
# Platform
|
||||
TARGET_BOARD_PLATFORM := msm8953
|
||||
TARGET_BOARD_PLATFORM_GPU := qcom-adreno506
|
||||
|
||||
# Bootloader
|
||||
TARGET_BOOTLOADER_BOARD_NAME := MSM8953
|
||||
@@ -38,30 +39,33 @@ TARGET_ARCH_VARIANT := armv8-a
|
||||
TARGET_CPU_ABI := arm64-v8a
|
||||
TARGET_CPU_ABI2 :=
|
||||
TARGET_CPU_VARIANT := cortex-a53
|
||||
TARGET_CPU_CORTEX_A53 := true
|
||||
TARGET_2ND_ARCH := arm
|
||||
TARGET_2ND_ARCH_VARIANT := armv8-a
|
||||
TARGET_2ND_ARCH_VARIANT := armv7-a-neon
|
||||
TARGET_2ND_CPU_ABI := armeabi-v7a
|
||||
TARGET_2ND_CPU_ABI2 := armeabi
|
||||
TARGET_2ND_CPU_VARIANT := cortex-a53
|
||||
TARGET_CPU_CORTEX_A53 := true
|
||||
TARGET_USES_64_BIT_BINDER := true
|
||||
|
||||
# Asserts
|
||||
TARGET_OTA_ASSERT_DEVICE := sanders,sanders_retail
|
||||
|
||||
# Enable dexpreopt to speed boot time
|
||||
WITH_DEXPREOPT_BOOT_IMG_AND_SYSTEM_SERVER_ONLY := true
|
||||
WITH_DEXPREOPT := true
|
||||
PRODUCT_DEXPREOPT_SPEED_APPS += SystemUI
|
||||
|
||||
# GPS
|
||||
TARGET_NO_RPC := true
|
||||
USE_DEVICE_SPECIFIC_GPS := true
|
||||
USING_DEVICE_GPS := true
|
||||
BOARD_VENDOR_QCOM_GPS_LOC_API_HARDWARE := $(TARGET_BOARD_PLATFORM)
|
||||
|
||||
# HDIL - enable this for ROMs build base/transport hidl in their sources
|
||||
#BUILD_DEVICE_LIBHIDL := false
|
||||
|
||||
# Init
|
||||
TARGET_INIT_VENDOR_LIB := libinit_sanders
|
||||
TARGET_RECOVERY_DEVICE_MODULES := libinit_sanders
|
||||
|
||||
# Kernel
|
||||
TARGET_COMPILE_WITH_MSM_KERNEL := true
|
||||
BOARD_KERNEL_CMDLINE := console=ttyHSL0,115200,n8 androidboot.console=ttyHSL0 androidboot.hardware=qcom user_debug=30 msm_rtb.filter=0x237 ehci-hcd.park=3 lpm_levels.sleep_disabled=1 androidboot.bootdevice=7824900.sdhci firmware_class.path=/vendor/firmware_mnt/image loop.max_part=7
|
||||
BOARD_KERNEL_CMDLINE += androidboot.selinux=permissive
|
||||
BOARD_KERNEL_CMDLINE := console=ttyHSL0,115200,n8 androidboot.console=ttyHSL0 androidboot.hardware=qcom user_debug=30 msm_rtb.filter=0x237
|
||||
BOARD_KERNEL_CMDLINE += ehci-hcd.park=3 androidboot.bootdevice=7824900.sdhci lpm_levels.sleep_disabled=1 vmalloc=350M androidboot.selinux=permissive
|
||||
BOARD_KERNEL_BASE := 0x80000000
|
||||
BOARD_KERNEL_IMAGE_NAME := Image.gz
|
||||
BOARD_KERNEL_PAGESIZE := 2048
|
||||
@@ -69,65 +73,47 @@ BOARD_KERNEL_SEPARATED_DT := true
|
||||
TARGET_CUSTOM_DTBTOOL := dtbTool_custom
|
||||
BOARD_DTBTOOL_ARGS := --force-v3 --motorola 1
|
||||
BOARD_MKBOOTIMG_ARGS := --ramdisk_offset 0x01000000 --tags_offset 0x00000100
|
||||
TARGET_KERNEL_ARCH := arm64
|
||||
TARGET_KERNEL_HEADER_ARCH := arm64
|
||||
TARGET_KERNEL_CONFIG := sanders_defconfig
|
||||
TARGET_KERNEL_SOURCE := kernel/motorola/msm8953
|
||||
|
||||
# CLANG
|
||||
TARGET_KERNEL_CLANG_COMPILE := true
|
||||
#TARGET_USE_SDCLANG := true
|
||||
TARGET_KERNEL_CLANG_PATH := $(ANDROID_BUILD_TOP)/prebuilts/clang/host/$(HOST_OS)-x86/7.0-DragonTC/bin
|
||||
|
||||
# SDCLANG
|
||||
TARGET_USE_SDCLANG := true
|
||||
|
||||
# Audio
|
||||
BOARD_USES_ALSA_AUDIO := true
|
||||
USE_CUSTOM_AUDIO_POLICY := 1
|
||||
AUDIO_FEATURE_ENABLED_AAC_ADTS_OFFLOAD := true
|
||||
AUDIO_FEATURE_ENABLED_COMPRESS_CAPTURE := false
|
||||
AUDIO_FEATURE_ENABLED_COMPRESS_VOIP := true
|
||||
AUDIO_FEATURE_ENABLED_EXTN_FORMATS := true
|
||||
AUDIO_FEATURE_ENABLED_EXTN_FLAC_DECODER := true
|
||||
AUDIO_FEATURE_ENABLED_EXTN_RESAMPLER := true
|
||||
AUDIO_FEATURE_ENABLED_FM_POWER_OPT := true
|
||||
AUDIO_FEATURE_ENABLED_PCM_OFFLOAD := true
|
||||
AUDIO_FEATURE_ENABLED_PCM_OFFLOAD_24 := true
|
||||
AUDIO_FEATURE_ENABLED_FLAC_OFFLOAD := true
|
||||
AUDIO_FEATURE_ENABLED_VORBIS_OFFLOAD := true
|
||||
AUDIO_FEATURE_ENABLED_WMA_OFFLOAD := true
|
||||
AUDIO_FEATURE_ENABLED_ALAC_OFFLOAD := true
|
||||
AUDIO_FEATURE_ENABLED_APE_OFFLOAD := true
|
||||
AUDIO_FEATURE_ENABLED_PROXY_DEVICE := true
|
||||
AUDIO_FEATURE_ENABLED_SSR := true
|
||||
AUDIO_FEATURE_ENABLED_DTS_EAGLE := false
|
||||
BOARD_USES_SRS_TRUEMEDIA := false
|
||||
DTS_CODEC_M_ := true
|
||||
MM_AUDIO_ENABLED_SAFX := true
|
||||
AUDIO_FEATURE_ENABLED_HW_ACCELERATED_EFFECTS := false
|
||||
AUDIO_FEATURE_ENABLED_DS2_DOLBY_DAP := false
|
||||
AUDIO_FEATURE_ENABLED_AUDIOSPHERE := true
|
||||
DOLBY_ENABLE := false
|
||||
USE_XML_AUDIO_POLICY_CONF := 1
|
||||
AUDIO_USE_LL_AS_PRIMARY_OUTPUT := true
|
||||
AUDIO_FEATURE_ENABLED_HIFI_AUDIO := true
|
||||
AUDIO_FEATURE_ENABLED_VBAT_MONITOR := true
|
||||
AUDIO_FEATURE_ENABLED_NT_PAUSE_TIMEOUT := true
|
||||
AUDIO_FEATURE_ENABLED_ANC_HEADSET := true
|
||||
AUDIO_FEATURE_ENABLED_CUSTOMSTEREO := true
|
||||
AUDIO_FEATURE_ENABLED_FLUENCE := true
|
||||
AUDIO_FEATURE_ENABLED_HDMI_SPK := true
|
||||
AUDIO_FEATURE_ENABLED_HDMI_EDID := true
|
||||
AUDIO_FEATURE_ENABLED_EXT_HDMI := true
|
||||
AUDIO_FEATURE_ENABLED_HFP := true
|
||||
AUDIO_FEATURE_ENABLED_INCALL_MUSIC := false
|
||||
AUDIO_FEATURE_ENABLED_MULTI_VOICE_SESSIONS := true
|
||||
AUDIO_FEATURE_ENABLED_KPI_OPTIMIZE := true
|
||||
AUDIO_FEATURE_ENABLED_SPKR_PROTECTION := true
|
||||
AUDIO_FEATURE_ENABLED_ACDB_LICENSE := true
|
||||
AUDIO_FEATURE_ENABLED_DEV_ARBI := false
|
||||
MM_AUDIO_ENABLED_FTM := true
|
||||
TARGET_USES_QCOM_MM_AUDIO := true
|
||||
AUDIO_FEATURE_ENABLED_AUDIOSPHERE := true
|
||||
AUDIO_FEATURE_ENABLED_ANC_HEADSET := true
|
||||
AUDIO_FEATURE_ENABLED_COMPRESS_VOIP := true
|
||||
AUDIO_FEATURE_ENABLED_DEV_ARBI := true
|
||||
AUDIO_FEATURE_ENABLED_EXT_HDMI := true
|
||||
AUDIO_FEATURE_ENABLED_EXTN_FLAC_DECODER := true
|
||||
AUDIO_FEATURE_ENABLED_EXTN_FORMATS := true
|
||||
AUDIO_FEATURE_ENABLED_FLAC_OFFLOAD := true
|
||||
AUDIO_FEATURE_ENABLED_FLUENCE := true
|
||||
AUDIO_FEATURE_ENABLED_HFP := true
|
||||
AUDIO_FEATURE_ENABLED_KPI_OPTIMIZE := true
|
||||
AUDIO_FEATURE_ENABLED_HIFI_AUDIO := true
|
||||
AUDIO_FEATURE_ENABLED_MULTI_VOICE_SESSIONS := true
|
||||
AUDIO_FEATURE_ENABLED_PCM_OFFLOAD := true
|
||||
AUDIO_FEATURE_ENABLED_PCM_OFFLOAD_24 := true
|
||||
AUDIO_FEATURE_ENABLED_FM_POWER_OPT := true
|
||||
AUDIO_FEATURE_ENABLED_SOURCE_TRACKING := true
|
||||
BOARD_SUPPORTS_QAHW := false
|
||||
AUDIO_FEATURE_ENABLED_SSR := true
|
||||
AUDIO_FEATURE_ENABLED_VBAT_MONITOR := true
|
||||
AUDIO_FEATURE_ENABLED_VORBIS_OFFLOAD := true
|
||||
AUDIO_FEATURE_ENABLED_WMA_OFFLOAD := true
|
||||
AUDIO_USE_LL_AS_PRIMARY_OUTPUT := true
|
||||
AUDIO_FEATURE_ENABLED_SND_MONITOR := true
|
||||
AUDIO_FEATURE_ENABLED_SVA_MULTI_STAGE := true
|
||||
AUDIO_FEATURE_ENABLED_DLKM := false
|
||||
BOARD_USES_ALSA_AUDIO := true
|
||||
BOARD_USES_GENERIC_AUDIO := true
|
||||
TARGET_USES_QCOM_MM_AUDIO := true
|
||||
|
||||
# Bluetooth
|
||||
BOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR := $(DEVICE_PATH)/bluetooth
|
||||
@@ -143,30 +129,46 @@ BACKLIGHT_PATH := /sys/class/leds/lcd-backlight/brightness
|
||||
BOARD_CHARGER_ENABLE_SUSPEND := true
|
||||
BOARD_NO_CHARGER_LED := true
|
||||
|
||||
# DT2W
|
||||
#TARGET_TAP_TO_WAKE_NODE := "/sys/android_touch/doubletap2wake"
|
||||
|
||||
# Crypto
|
||||
TARGET_HW_DISK_ENCRYPTION := true
|
||||
TARGET_USES_METADATA_AS_FDE_KEY := true
|
||||
|
||||
# Enable dexpreopt to speed boot time
|
||||
ifeq ($(HOST_OS),linux)
|
||||
ifneq ($(TARGET_BUILD_VARIANT),eng)
|
||||
ifeq ($(WITH_DEXPREOPT),)
|
||||
WITH_DEXPREOPT := true
|
||||
WITH_DEXPREOPT_BOOT_IMG_AND_SYSTEM_SERVER_ONLY := true
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
# Display
|
||||
BOARD_USES_ADRENO := true
|
||||
NUM_FRAMEBUFFER_SURFACE_BUFFERS := 3
|
||||
OVERRIDE_RS_DRIVER := libRSDriver_adreno.so
|
||||
TARGET_USES_C2D_COMPOSITION := true
|
||||
TARGET_USES_GRALLOC1 := true
|
||||
TARGET_USES_ION := true
|
||||
TARGET_USES_HWC2 := true
|
||||
TARGET_USES_OVERLAY := true
|
||||
TARGET_USES_NEW_ION_API := true
|
||||
USE_OPENGL_RENDERER := true
|
||||
MAX_EGL_CACHE_KEY_SIZE := 12*1024
|
||||
MAX_EGL_CACHE_SIZE := 2048*1024
|
||||
TARGET_USES_C2D_COMPOSITION := true
|
||||
MAX_VIRTUAL_DISPLAY_DIMENSION := 4096
|
||||
TARGET_FORCE_HWC_FOR_VIRTUAL_DISPLAYS := true
|
||||
VSYNC_EVENT_PHASE_OFFSET_NS := 2000000
|
||||
SF_VSYNC_EVENT_PHASE_OFFSET_NS := 6000000
|
||||
|
||||
# exfat
|
||||
TARGET_EXFAT_DRIVER := exfat
|
||||
|
||||
# FM
|
||||
BOARD_HAVE_QCOM_FM := true
|
||||
BOARD_HAVE_FM_RADIO := true
|
||||
TARGET_QCOM_NO_FM_FIRMWARE := true
|
||||
|
||||
# Keymaster
|
||||
TARGET_PROVIDES_KEYMASTER := true
|
||||
@@ -195,7 +197,7 @@ BOARD_USERDATAIMAGE_PARTITION_SIZE := 25614597120 # 25014255 * 1024 mmcblk0p54
|
||||
TARGET_PER_MGR_ENABLED := true
|
||||
|
||||
# Power
|
||||
TARGET_HAS_NO_WLAN_STATS := true
|
||||
TARGET_HAS_NO_WIFI_STATS := true
|
||||
|
||||
# QC flags
|
||||
BOARD_USES_QCOM_HARDWARE := true
|
||||
@@ -206,33 +208,29 @@ BOARD_HAS_NO_SELECT_BUTTON := true
|
||||
TARGET_RECOVERY_FSTAB := $(DEVICE_PATH)/rootdir/etc/fstab.recovery
|
||||
TARGET_USERIMAGES_USE_EXT4 := true
|
||||
TARGET_USERIMAGES_USE_F2FS := true
|
||||
LZMA_RAMDISK_TARGETS := recovery
|
||||
|
||||
# Releasetools
|
||||
TARGET_RELEASETOOLS_EXTENSIONS := $(DEVICE_PATH)/releasetools
|
||||
|
||||
# RIL
|
||||
TARGET_PROVIDES_QTI_TELEPHONY_JAR := true
|
||||
|
||||
# SELinux
|
||||
include device/qcom/sepolicy/sepolicy.mk
|
||||
BOARD_SEPOLICY_DIRS += $(DEVICE_PATH)/sepolicy/vendor
|
||||
#include device/qcom/sepolicy/sepolicy.mk
|
||||
#BOARD_SEPOLICY_DIRS += $(DEVICE_PATH)/sepolicy
|
||||
|
||||
SELINUX_IGNORE_NEVERALLOWS := true
|
||||
TARGET_ENABLE_MEDIADRM_64 := true
|
||||
# Shim
|
||||
TARGET_LD_SHIM_LIBS := \
|
||||
/system/vendor/bin/adspd|libshim_adsp.so \
|
||||
/system/vendor/lib64/libmdmcutback.so|libqsap_shim.so
|
||||
|
||||
# Thermal
|
||||
USE_DEVICE_SPECIFIC_THERMAL := true
|
||||
|
||||
# Treble
|
||||
BOARD_PROPERTY_OVERRIDES_SPLIT_ENABLED := true
|
||||
BOARD_VENDORIMAGE_PARTITION_SIZE := 805306368
|
||||
BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4
|
||||
PRODUCT_FULL_TREBLE_OVERRIDE := true
|
||||
PRODUCT_VENDOR_MOVE_ENABLED := true
|
||||
TARGET_COPY_OUT_VENDOR := vendor
|
||||
# Use mke2fs to create ext4 images
|
||||
TARGET_USES_MKE2FS := true
|
||||
|
||||
# Wifi
|
||||
BOARD_HAS_QCOM_WLAN := true
|
||||
BOARD_HAS_QCOM_WLAN_SDK := true
|
||||
BOARD_WLAN_DEVICE := qcwcn
|
||||
BOARD_HOSTAPD_DRIVER := NL80211
|
||||
BOARD_HOSTAPD_PRIVATE_LIB := lib_driver_cmd_qcwcn
|
||||
@@ -242,4 +240,6 @@ WIFI_DRIVER_FW_PATH_AP := "ap"
|
||||
WIFI_DRIVER_FW_PATH_STA := "sta"
|
||||
WIFI_DRIVER_FW_PATH_P2P := "p2p"
|
||||
WPA_SUPPLICANT_VERSION := VER_0_8_X
|
||||
TARGET_DISABLE_WCNSS_CONFIG_COPY := true
|
||||
|
||||
# MISSING_DEPENDENCIES
|
||||
ALLOW_MISSING_DEPENDENCIES=true
|
||||
|
||||
10
GoogleCameraMod/Android.mk
Normal file
10
GoogleCameraMod/Android.mk
Normal file
@@ -0,0 +1,10 @@
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := GoogleCameraMod
|
||||
LOCAL_MODULE_TAGS := optional
|
||||
LOCAL_SRC_FILES := GoogleCameraMod/Arnova_V6bt5_mod_jhenrique09.apk
|
||||
LOCAL_CERTIFICATE := PRESIGNED
|
||||
LOCAL_MODULE_CLASS := APPS
|
||||
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
|
||||
LOCAL_DEX_PREOPT := false
|
||||
LOCAL_OVERRIDES_PACKAGES := Camera2
|
||||
include $(BUILD_PREBUILT)
|
||||
BIN
GoogleCameraMod/Arnova_V6bt5_mod_jhenrique09.apk
Executable file
BIN
GoogleCameraMod/Arnova_V6bt5_mod_jhenrique09.apk
Executable file
Binary file not shown.
@@ -6,19 +6,32 @@ LOCAL_MODULE_TAGS := optional
|
||||
LOCAL_SRC_FILES := $(call all-java-files-under, src)
|
||||
|
||||
LOCAL_PACKAGE_NAME := MotoActions
|
||||
LOCAL_PRIVATE_PLATFORM_APIS := true
|
||||
LOCAL_CERTIFICATE := platform
|
||||
LOCAL_PRIVILEGED_MODULE := true
|
||||
LOCAL_USE_AAPT2 := true
|
||||
|
||||
LOCAL_STATIC_JAVA_LIBRARIES := \
|
||||
android-support-v14-preference \
|
||||
android-support-v7-appcompat \
|
||||
android-support-v7-preference \
|
||||
android-support-v7-recyclerview
|
||||
|
||||
LOCAL_PROGUARD_FLAG_FILES := proguard.flags
|
||||
|
||||
LOCAL_RESOURCE_DIR := \
|
||||
$(LOCAL_PATH)/res \
|
||||
$(TOP)/packages/resources/devicesettings/res
|
||||
$(LOCAL_PATH)/../../../../packages/resources/MotoActions/res \
|
||||
frameworks/support/v14/preference/res \
|
||||
frameworks/support/v7/appcompat/res \
|
||||
frameworks/support/v7/preference/res \
|
||||
frameworks/support/v7/recyclerview/res
|
||||
|
||||
LOCAL_AAPT_FLAGS := --auto-add-overlay \
|
||||
--extra-packages android.support.v14.preference:android.support.v7.appcompat:android.support.v7.preference:android.support.v7.recyclerview
|
||||
|
||||
LOCAL_PROGUARD_ENABLED := disabled
|
||||
|
||||
include frameworks/base/packages/SettingsLib/common.mk
|
||||
|
||||
include $(BUILD_PACKAGE)
|
||||
|
||||
include $(call all-makefiles-under,$(LOCAL_PATH))
|
||||
|
||||
@@ -7,7 +7,6 @@
|
||||
<original-package android:name="com.cyanogenmod.settings.device" />
|
||||
|
||||
<uses-permission android:name="android.permission.ACCESS_NOTIFICATION_POLICY" />
|
||||
<uses-permission android:name="android.permission.MODIFY_PHONE_STATE" />
|
||||
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
|
||||
<uses-permission android:name="android.permission.VIBRATE"/>
|
||||
<uses-permission android:name="android.permission.WAKE_LOCK" />
|
||||
@@ -15,9 +14,13 @@
|
||||
|
||||
<protected-broadcast android:name="com.android.systemui.doze.pulse" />
|
||||
|
||||
<uses-sdk
|
||||
android:minSdkVersion="27"
|
||||
android:targetSdkVersion="27" />
|
||||
|
||||
<application
|
||||
android:allowBackup="true"
|
||||
android:label="@string/moto_actions_title"
|
||||
android:label="@string/screen_gestures_panel_title"
|
||||
android:icon="@drawable/ic_gesture"
|
||||
android:persistent="true">
|
||||
|
||||
@@ -58,21 +61,9 @@
|
||||
|
||||
<activity
|
||||
android:name=".ActionsPreferenceActivity"
|
||||
android:label="@string/moto_actions_title"
|
||||
android:label="@string/screen_gestures_panel_title"
|
||||
android:summary="@string/device_gestures_summary"
|
||||
android:theme="@style/MotoActions">
|
||||
<intent-filter>
|
||||
<action android:name="com.android.settings.action.IA_SETTINGS" />
|
||||
</intent-filter>
|
||||
<meta-data
|
||||
android:name="com.android.settings.category"
|
||||
android:value="com.android.settings.category.ia.homepage" />
|
||||
<meta-data
|
||||
android:name="com.android.settings.icon"
|
||||
android:resource="@drawable/ic_settings_gestures_dashboard" />
|
||||
<meta-data
|
||||
android:name="com.android.settings.summary"
|
||||
android:resource="@string/device_gestures_summary" />
|
||||
</activity>
|
||||
|
||||
<activity
|
||||
|
||||
@@ -1,20 +0,0 @@
|
||||
<!--
|
||||
Copyright (c) google/material-design-icons
|
||||
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.
|
||||
-->
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:height="24dp"
|
||||
android:width="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24"
|
||||
android:tint="?android:attr/colorControlNormal" >
|
||||
<path android:fillColor="#000" android:pathData="M 10,9C 10,8.4477 10.4477,8 11,8C 11.5523,8 12,8.4477 12,9L 12,13.47L 13.21,13.6L 18.15,15.79C 18.6759,16.0317 19.0093,16.5613 19,17.14L 19,21.5C 18.974,22.3174 18.3174,22.974 17.5,23L 11,23C 10.6216,23.0009 10.2596,22.8453 10,22.57L 5.1,18.37L 5.84,17.6C 6.03083,17.3942 6.29936,17.2781 6.58,17.28L 6.8,17.28L 10,19L 10,9 Z M 11,5C 13.2091,5 15,6.79086 15,9C 15,10.4806 14.1956,11.7733 13,12.4649L 13,11.2361C 13.6137,10.6868 14,9.8885 14,9.00001C 14,7.34315 12.6568,6.00001 11,6.00001C 9.34314,6.00001 8,7.34315 8,9.00001C 8,9.88851 8.38625,10.6868 9,11.2361L 9,12.4649C 7.8044,11.7733 7,10.4806 7,9C 7,6.79086 8.79086,5 11,5 Z M 11,3C 14.3137,3 17,5.6863 17,9C 17,10.6993 16.2936,12.2336 15.1584,13.3253L 14.1554,12.8788C 15.2811,11.9619 16,10.5649 16,9C 16,6.23858 13.7614,4.00001 11,4.00001C 8.23857,4.00001 6,6.23858 6,9C 6,11.0503 7.23409,12.8124 9,13.584L 9,14.6586C 6.66961,13.8349 5,11.6124 5,9C 5,5.6863 7.68629,3 11,3 Z " />
|
||||
</vector>
|
||||
@@ -1,20 +0,0 @@
|
||||
<!--
|
||||
Copyright (c) google/material-design-icons
|
||||
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.
|
||||
-->
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:height="24dp"
|
||||
android:width="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24"
|
||||
android:tint="?android:attr/colorControlNormal" >
|
||||
<path android:fillColor="#000" android:pathData="M 17.8075,4.4675C 17.73,4.4675 17.6513,4.4488 17.5787,4.4088C 15.6587,3.4175 13.9987,2.9978 12.0113,2.9978C 10.0288,2.9978 8.15,3.4713 6.44,4.4088C 6.20125,4.5413 5.89875,4.4488 5.76125,4.2087C 5.63,3.9695 5.7175,3.6625 5.9625,3.53C 7.8225,2.5205 9.85875,2.0025 12.0113,2.0025C 14.1412,2.0025 16.0012,2.4713 18.0425,3.52C 18.2913,3.6521 18.3788,3.95 18.2525,4.19C 18.1588,4.37 17.9887,4.4675 17.8075,4.4675 Z M 3.50125,9.7212C 3.39875,9.7212 3.30125,9.6925 3.2075,9.6287C 2.97875,9.4675 2.93,9.16 3.09125,8.9312C 4.0825,7.5287 5.34125,6.4313 6.84125,5.6588C 9.98,4.0375 13.9987,4.0287 17.1488,5.65C 18.6525,6.4212 19.9125,7.51 20.8984,8.9012C 21.06,9.1213 21.0107,9.4388 20.7813,9.6C 20.5518,9.7612 20.2393,9.7125 20.0787,9.4825C 19.18,8.2175 18.0425,7.2312 16.69,6.5375C 13.8188,5.0687 10.1512,5.0687 7.29,6.5475C 5.9275,7.2512 4.79,8.2525 3.89125,9.5112C 3.80875,9.6488 3.6625,9.7212 3.50125,9.7212 Z M 9.75125,21.7925C 9.61875,21.7925 9.4925,21.7388 9.4,21.64C 8.53,20.7712 8.06125,20.21 7.3875,18.9988C 6.69875,17.7687 6.3375,16.27 6.3375,14.6588C 6.3375,11.69 8.88125,9.2675 12.0025,9.2675C 15.1225,9.2675 17.6612,11.69 17.6612,14.6588C 17.6612,14.9412 17.4413,15.1613 17.1587,15.1613C 16.88,15.1613 16.66,14.9412 16.66,14.6588C 16.66,12.2413 14.57,10.2688 12.0025,10.2688C 9.42875,10.2688 7.33875,12.2413 7.33875,14.6588C 7.33875,16.0988 7.66125,17.4313 8.27125,18.5113C 8.91125,19.6588 9.35,20.1512 10.1225,20.9275C 10.3075,21.1275 10.3075,21.44 10.1225,21.64C 10.01,21.7388 9.8775,21.7925 9.75125,21.7925 Z M 16.9188,19.9412C 15.7325,19.9412 14.6775,19.6388 13.8188,19.0475C 12.3287,18.0425 11.44,16.4012 11.44,14.6588C 11.44,14.38 11.66,14.16 11.9388,14.16C 12.2212,14.16 12.4413,14.38 12.4413,14.6588C 12.4413,16.0687 13.1587,17.4025 14.38,18.2175C 15.0875,18.7013 15.9175,18.9312 16.9188,18.9312C 17.1587,18.9312 17.5587,18.9012 17.9587,18.8275C 18.2325,18.7787 18.4912,18.96 18.54,19.2388C 18.5888,19.5112 18.4087,19.77 18.13,19.8187C 17.5587,19.9313 17.06,19.9412 16.9188,19.9412 Z M 14.9125,22.0025C 14.8688,22.0025 14.8187,21.9925 14.78,21.9825C 13.1888,21.5375 12.1488,20.9525 11.06,19.8775C 9.65875,18.4913 8.89125,16.64 8.89125,14.6588C 8.89125,13.0425 10.2688,11.7188 11.9675,11.7188C 13.6725,11.7188 15.0487,13.0425 15.0487,14.6588C 15.0487,15.7325 15.9813,16.6013 17.1288,16.6013C 18.2813,16.6013 19.2087,15.7325 19.2087,14.6588C 19.2087,10.8887 15.9625,7.8325 11.9575,7.8325C 9.12125,7.8325 6.51875,9.4087 5.35125,11.86C 4.96125,12.6713 4.76125,13.6187 4.76125,14.6588C 4.76125,15.44 4.82875,16.67 5.43,18.2712C 5.5325,18.53 5.4,18.8188 5.14125,18.9113C 4.8775,19.0087 4.59,18.8725 4.5025,18.6187C 4.00875,17.31 3.77,16.0113 3.77,14.6588C 3.77,13.4625 3.99875,12.3687 4.44875,11.4213C 5.78125,8.6275 8.73,6.8212 11.9575,6.8212C 16.5088,6.8212 20.21,10.3325 20.21,14.6487C 20.21,16.27 18.8287,17.5875 17.1288,17.5875C 15.43,17.5875 14.0475,16.27 14.0475,14.6487C 14.0475,13.5788 13.12,12.71 11.9675,12.71C 10.82,12.71 9.8875,13.5788 9.8875,14.6487C 9.8875,16.3625 10.5513,17.9587 11.7575,19.16C 12.71,20.0975 13.6188,20.62 15.0288,21.0113C 15.2975,21.0788 15.4488,21.3625 15.3813,21.6213C 15.3325,21.85 15.1225,22.0025 14.9125,22.0025 Z " />
|
||||
</vector>
|
||||
@@ -1,9 +0,0 @@
|
||||
<!-- drawable/ic_hand.xml -->
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:height="24dp"
|
||||
android:width="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24"
|
||||
android:tint="?android:attr/colorControlNormal" >
|
||||
<path android:fillColor="#000" android:pathData="M6.58,19H14.58V22H6.58V19M19.74,11.6C19.55,11.4 19.29,11.28 19,11.28L18.78,11.31L15.58,13V11.83L16.09,2.9C16.12,2.35 15.7,1.87 15.15,1.84C14.6,1.81 14.12,2.23 14.09,2.78L13.82,7.47H13.58L12.54,7.58V2A1,1 0 0,0 11.54,1C11,1 10.54,1.45 10.54,2V8.41L9.72,8.78L9.03,3.32C8.96,2.77 8.46,2.38 7.91,2.45C7.36,2.5 6.97,3 7.04,3.57L7.81,9.63L7.43,9.8C7.3,9.85 7.18,9.93 7.07,10L5.97,6.11C5.81,5.54 5.25,5.2 4.71,5.34C4.18,5.5 3.88,6.08 4.04,6.65L6.61,15.77C6.61,15.8 6.63,15.84 6.64,15.87L6.67,16H6.68C6.9,16.57 7.47,17 8.08,17H14.58C14.97,17 15.32,16.84 15.58,16.57L20.5,12.37L19.74,11.6Z" />
|
||||
</vector>
|
||||
@@ -1,9 +0,0 @@
|
||||
<!-- drawable/ic_pickup.xml -->
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:height="24dp"
|
||||
android:width="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24"
|
||||
android:tint="?android:attr/colorControlNormal" >
|
||||
<path android:fillColor="#000" android:pathData="M9.64,13.4C8.63,12.5 7.34,12.03 6,12V15L2,11L6,7V10C7.67,10 9.3,10.57 10.63,11.59C10.22,12.15 9.89,12.76 9.64,13.4M18,15V12C17.5,12 13.5,12.16 13.05,16.2C14.61,16.75 15.43,18.47 14.88,20.03C14.33,21.59 12.61,22.41 11.05,21.86C9.5,21.3 8.67,19.59 9.22,18.03C9.5,17.17 10.2,16.5 11.05,16.2C11.34,12.61 14.4,9.88 18,10V7L22,11L18,15M13,19A1,1 0 0,0 12,18A1,1 0 0,0 11,19A1,1 0 0,0 12,20A1,1 0 0,0 13,19M11,11.12C11.58,10.46 12.25,9.89 13,9.43V5H16L12,1L8,5H11V11.12Z" />
|
||||
</vector>
|
||||
@@ -1,28 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Copyright (c) 2015 The CyanogenMod 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.
|
||||
-->
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="32.0"
|
||||
android:viewportHeight="32.0">
|
||||
<path
|
||||
android:fillColor="#FFFFFFFF"
|
||||
android:pathData="M20,20.2V24H6V5.3h8.7l2.4,-4H7.6c-2.2,0 -4,1.8 -4,4v21.3c0,2.2 1.8,4 4,4h10.7c2.2,0 4,-1.8 4,-4V14.9L20,20.2zM15.6,28h-5.3v-1.3h5.3V28z"/>
|
||||
<path
|
||||
android:fillColor="#FFFFFFFF"
|
||||
android:pathData="M28.5,7l1.1,-2.4L32,3.5l-2.4,-1.1L28.5,0l-1.1,2.4L25,3.5l2.4,1.1L28.5,7zM21,7.4l-2.2,-4.8l-2.2,4.8l-4.8,2.2l4.8,2.2l2.2,4.8l2.2,-4.8l4.8,-2.2L21,7.4zM28.5,12.2l-1.1,2.4L25,15.6l2.4,1.1l1.1,2.4l1.1,-2.4l2.4,-1.1l-2.4,-1.1L28.5,12.2z"/>
|
||||
</vector>
|
||||
@@ -1,20 +0,0 @@
|
||||
<!--
|
||||
Copyright (c) google/material-design-icons
|
||||
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.
|
||||
-->
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:height="24dp"
|
||||
android:width="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24"
|
||||
android:tint="?android:attr/colorControlNormal" >
|
||||
<path android:fillColor="#000" android:pathData="M 10,9C 10,8.4477 10.4477,8 11,8C 11.5523,8 12,8.4477 12,9L 12,13.47L 13.21,13.6L 18.15,15.79C 18.6759,16.0317 19.0093,16.5613 19,17.14L 19,21.5C 18.974,22.3174 18.3174,22.974 17.5,23L 11,23C 10.6216,23.0009 10.2596,22.8453 10,22.57L 5.1,18.37L 5.84,17.6C 6.03083,17.3942 6.29936,17.2781 6.58,17.28L 6.8,17.28L 10,19L 10,9 Z M 3,4L 6,7L 6,5L 12,5L 12,3L 6,3L 6,1L 3,4 Z " />
|
||||
</vector>
|
||||
@@ -1,20 +0,0 @@
|
||||
<!--
|
||||
Copyright (c) google/material-design-icons
|
||||
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.
|
||||
-->
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:height="24dp"
|
||||
android:width="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24"
|
||||
android:tint="?android:attr/colorControlNormal" >
|
||||
<path android:fillColor="#000" android:pathData="M 10,9C 10,8.4477 10.4477,8 11,8C 11.5523,8 12,8.4477 12,9L 12,13.47L 13.21,13.6L 18.15,15.79C 18.6759,16.0317 19.0093,16.5613 19,17.14L 19,21.5C 18.974,22.3174 18.3174,22.974 17.5,23L 11,23C 10.6216,23.0009 10.2596,22.8453 10,22.57L 5.1,18.37L 5.84,17.6C 6.03083,17.3942 6.29936,17.2781 6.58,17.28L 6.8,17.28L 10,19L 10,9 Z M 12,4L 9,1L 9,3L 3,3L 3,5L 9,5L 9,7L 12,4 Z " />
|
||||
</vector>
|
||||
@@ -1,23 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Copyright (c) google/material-design-icons
|
||||
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.
|
||||
-->
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24.0"
|
||||
android:viewportHeight="24.0"
|
||||
android:tint="?android:attr/colorControlNormal" >
|
||||
<path
|
||||
android:fillColor="#000"
|
||||
android:pathData="M 10,9C 10,8.4477 10.4477,8 11,8C 11.5523,8 12,8.4477 12,9L 12,13.47L 13.21,13.6L 18.15,15.79C 18.6759,16.0317 19.0093,16.5613 19,17.14L 19,21.5C 18.974,22.3174 18.3174,22.974 17.5,23L 11,23C 10.6216,23.0009 10.2596,22.8453 10,22.57L 5.1,18.37L 5.84,17.6C 6.03083,17.3942 6.29936,17.2781 6.58,17.28L 6.8,17.28L 10,19L 10,9 Z M 11,5C 13.2091,5 15,6.79086 15,9C 15,10.4806 14.1956,11.7733 13,12.4649L 13,11.2361C 13.6137,10.6868 14,9.8885 14,9C 14,7.34315 12.6569,6 11,6C 9.34315,6 8,7.34315 8,9C 8,9.8885 8.38625,10.6868 9,11.2361L 9,12.4649C 7.8044,11.7733 7,10.4806 7,9C 7,6.79086 8.79086,5 11,5 Z "/>
|
||||
</vector>
|
||||
@@ -1,20 +0,0 @@
|
||||
<!--
|
||||
Copyright (c) google/material-design-icons
|
||||
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.
|
||||
-->
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:height="24dp"
|
||||
android:width="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24"
|
||||
android:tint="?android:attr/colorControlNormal" >
|
||||
<path android:fillColor="#000" android:pathData="M 10,9C 10,8.45 10.45,8 11,8C 11.55,8 12,8.45 12,9L 12,13.47L 13.21,13.6L 18.15,15.79C 18.68,16.03 19,16.56 19,17.14L 19,21.5C 18.97,22.32 18.32,22.97 17.5,23L 11,23C 10.62,23 10.26,22.85 10,22.57L 5.1,18.37L 5.84,17.6C 6.03,17.39 6.3,17.28 6.58,17.28L 6.8,17.28L 10,19L 10,9 Z M 9,12.441L 9,9C 9,7.897 9.897,7 11,7C 12.103,7 13,7.897 13,9L 13,12.441C 14.188,11.746 15,10.469 15,9C 15,6.8 13.2,5 11,5C 8.8,5 7,6.8 7,9C 7,10.469 7.812,11.746 9,12.441 Z " />
|
||||
</vector>
|
||||
@@ -1,20 +0,0 @@
|
||||
<!--
|
||||
Copyright (c) google/material-design-icons
|
||||
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.
|
||||
-->
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:height="24dp"
|
||||
android:width="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24"
|
||||
android:tint="?android:attr/colorControlNormal" >
|
||||
<path android:fillColor="#000" android:pathData="M 16,19L 8,19L 8,5L 16,5M 16.5,3L 7.5,3C 6.67,3 6,3.67 6,4.5L 6,19.5C 6,20.33 6.67,21 7.5,21L 16.5,21C 17.33,21 18,20.33 18,19.5L 18,4.5C 18,3.67 17.33,3 16.5,3 Z M 19,17L 21,17L 21,7L 19,7M 22,9L 22,15L 24,15L 24,9M 3,17L 5,17L 5,7L 3,7M 0,15L 2,15L 2,9L 0,9L 0,15 Z" />
|
||||
</vector>
|
||||
@@ -32,7 +32,7 @@
|
||||
android:paddingStart="48dp"
|
||||
android:maxLines="2"
|
||||
android:ellipsize="end"
|
||||
android:textAppearance="@*android:style/TextAppearanceTitle"
|
||||
android:textAppearance="@android:style/TextAppearance.Material.Title"
|
||||
android:textColor="?android:attr/textColorPrimary"
|
||||
android:textAlignment="viewStart"
|
||||
android:text="@string/switch_bar_on" />
|
||||
|
||||
@@ -18,6 +18,11 @@
|
||||
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:settings="http://schemas.android.com/apk/res/com.android.settings">
|
||||
|
||||
<SwitchPreference
|
||||
android:key="gesture_double_tap_power"
|
||||
android:title="@string/double_tap_power_for_camera_title"
|
||||
android:summary="@string/double_tap_power_for_camera_summary"/>
|
||||
|
||||
<SwitchPreference
|
||||
android:key="gesture_camera_action"
|
||||
android:defaultValue="true"
|
||||
|
||||
@@ -21,13 +21,12 @@
|
||||
android:key="gesture_pick_up"
|
||||
android:defaultValue="true"
|
||||
android:title="@string/pick_up_gesture_title"
|
||||
android:summary="@string/pick_up_gesture_summary"
|
||||
android:icon="@drawable/ic_pickup" />
|
||||
android:summary="@string/pick_up_gesture_summary" />
|
||||
|
||||
<SwitchPreference
|
||||
android:key="gesture_hand_wave"
|
||||
android:defaultValue="false"
|
||||
android:title="@string/hand_wave_gesture_title"
|
||||
android:summary="@string/hand_wave_gesture_summary"
|
||||
android:icon="@drawable/ic_hand" />
|
||||
android:summary="@string/hand_wave_gesture_summary" />
|
||||
|
||||
</PreferenceScreen>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Copyright (C) 2015-2016 The CyanogenMod Project
|
||||
Copyright (C) 2017-2019 The LineageOS Project
|
||||
Copyright (C) 2017 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
|
||||
@@ -19,7 +19,6 @@
|
||||
android:key="fp_home_scr_off"
|
||||
android:enabled="false"
|
||||
android:title="@string/fingerprint_gestures_screenoff_title"
|
||||
android:icon="@drawable/ic_fingerprint"
|
||||
android:summary="@string/fingerprint_gestures_screenoff_summary" />
|
||||
|
||||
<PreferenceCategory
|
||||
@@ -30,7 +29,6 @@
|
||||
android:key="fp_haptic"
|
||||
android:defaultValue="0"
|
||||
android:title="@string/haptic_feedback"
|
||||
android:icon="@drawable/ic_vibrate"
|
||||
android:summary="@string/haptic_feedback_summary" />
|
||||
|
||||
<ListPreference
|
||||
@@ -40,7 +38,6 @@
|
||||
android:key="fp_keys"
|
||||
android:defaultValue="0"
|
||||
android:entries="@array/fp_keys_listArray"
|
||||
android:icon="@drawable/ic_tap"
|
||||
android:entryValues="@array/fp_keys_listValues" />
|
||||
|
||||
<ListPreference
|
||||
@@ -50,7 +47,6 @@
|
||||
android:key="fp_key_dbltap"
|
||||
android:defaultValue="0"
|
||||
android:entries="@array/fp_keys_listArray"
|
||||
android:icon="@drawable/ic_double_tap"
|
||||
android:entryValues="@array/fp_keys_listValues" />
|
||||
|
||||
<ListPreference
|
||||
@@ -60,7 +56,6 @@
|
||||
android:key="fp_key_hold"
|
||||
android:defaultValue="0"
|
||||
android:entries="@array/fp_keys_listArray"
|
||||
android:icon="@drawable/ic_tap_hold"
|
||||
android:entryValues="@array/fp_keys_listValues" />
|
||||
|
||||
<ListPreference
|
||||
@@ -70,7 +65,6 @@
|
||||
android:key="fp_key_left"
|
||||
android:defaultValue="0"
|
||||
android:entries="@array/fp_keys_listArray"
|
||||
android:icon="@drawable/ic_swipe_left"
|
||||
android:entryValues="@array/fp_keys_listValues" />
|
||||
|
||||
<ListPreference
|
||||
@@ -80,7 +74,6 @@
|
||||
android:key="fp_key_right"
|
||||
android:defaultValue="0"
|
||||
android:entries="@array/fp_keys_listArray"
|
||||
android:icon="@drawable/ic_swipe_right"
|
||||
android:entryValues="@array/fp_keys_listValues" />
|
||||
</PreferenceCategory>
|
||||
|
||||
@@ -94,7 +87,6 @@
|
||||
android:dependency="fp_home_scr_off"
|
||||
android:defaultValue="0"
|
||||
android:title="@string/haptic_feedback"
|
||||
android:icon="@drawable/ic_vibrate"
|
||||
android:summary="@string/haptic_feedback_summary" />
|
||||
|
||||
<ListPreference
|
||||
@@ -105,7 +97,6 @@
|
||||
android:key="fp_keys_off"
|
||||
android:defaultValue="0"
|
||||
android:entries="@array/fp_keys_screen_off_listArray"
|
||||
android:icon="@drawable/ic_tap"
|
||||
android:entryValues="@array/fp_keys_screen_off_listValues" />
|
||||
|
||||
<ListPreference
|
||||
@@ -116,7 +107,6 @@
|
||||
android:key="fp_key_dbltap_off"
|
||||
android:defaultValue="0"
|
||||
android:entries="@array/fp_keys_screen_off_listArray"
|
||||
android:icon="@drawable/ic_double_tap"
|
||||
android:entryValues="@array/fp_keys_screen_off_listValues" />
|
||||
|
||||
<ListPreference
|
||||
@@ -127,7 +117,6 @@
|
||||
android:key="fp_key_hold_off"
|
||||
android:defaultValue="0"
|
||||
android:entries="@array/fp_keys_screen_off_listArray"
|
||||
android:icon="@drawable/ic_tap_hold"
|
||||
android:entryValues="@array/fp_keys_screen_off_listValues" />
|
||||
|
||||
<ListPreference
|
||||
@@ -138,7 +127,6 @@
|
||||
android:key="fp_key_left_off"
|
||||
android:defaultValue="0"
|
||||
android:entries="@array/fp_keys_screen_off_listArray"
|
||||
android:icon="@drawable/ic_swipe_left"
|
||||
android:entryValues="@array/fp_keys_screen_off_listValues" />
|
||||
|
||||
<ListPreference
|
||||
@@ -149,7 +137,6 @@
|
||||
android:key="fp_key_right_off"
|
||||
android:defaultValue="0"
|
||||
android:entries="@array/fp_keys_screen_off_listArray"
|
||||
android:icon="@drawable/ic_swipe_right"
|
||||
android:entryValues="@array/fp_keys_screen_off_listValues" />
|
||||
|
||||
</PreferenceCategory>
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
package com.moto.actions;
|
||||
|
||||
import android.os.Bundle;
|
||||
|
||||
import android.preference.PreferenceActivity;
|
||||
|
||||
public class ActionsPreferenceActivity extends PreferenceActivity {
|
||||
@@ -24,12 +25,9 @@ public class ActionsPreferenceActivity extends PreferenceActivity {
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
|
||||
if (getActionBar() != null) {
|
||||
getActionBar().setDisplayHomeAsUpEnabled(true);
|
||||
}
|
||||
|
||||
if (savedInstanceState == null){
|
||||
getFragmentManager().beginTransaction()
|
||||
.replace(android.R.id.content, new ActionsPreferenceFragment()).commit();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,6 +21,11 @@ import android.os.Bundle;
|
||||
import android.support.v14.preference.PreferenceFragment;
|
||||
|
||||
public class ActionsPreferenceFragment extends PreferenceFragment {
|
||||
@Override
|
||||
public void onActivityCreated(Bundle savedInstanceState) {
|
||||
super.onActivityCreated(savedInstanceState);
|
||||
getActivity().getActionBar().setDisplayHomeAsUpEnabled(true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
|
||||
|
||||
@@ -27,6 +27,7 @@ import android.content.ServiceConnection;
|
||||
import android.os.IBinder;
|
||||
import android.util.Log;
|
||||
|
||||
import com.moto.actions.util.FileUtils;
|
||||
import com.moto.actions.actions.Constants;
|
||||
import com.moto.actions.ServiceWrapper.LocalBinder;
|
||||
|
||||
@@ -40,10 +41,6 @@ public class BootCompletedReceiver extends BroadcastReceiver {
|
||||
public void onReceive(final Context context, Intent intent) {
|
||||
Log.i(TAG, "Booting");
|
||||
|
||||
if (intent.getAction() != null && !intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED)) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Restore nodes to saved preference values
|
||||
for (String pref : Constants.sPrefKeys) {
|
||||
Constants.writePreference(context, pref);
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
package com.moto.actions;
|
||||
|
||||
import android.os.Bundle;
|
||||
|
||||
import android.preference.PreferenceActivity;
|
||||
|
||||
public class DozeSettingsActivity extends PreferenceActivity {
|
||||
@@ -24,12 +25,9 @@ public class DozeSettingsActivity extends PreferenceActivity {
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
if (getActionBar() != null) {
|
||||
getActionBar().setDisplayHomeAsUpEnabled(true);
|
||||
getActionBar().setTitle(R.string.ambient_display_title);
|
||||
}
|
||||
|
||||
if (savedInstanceState == null){
|
||||
getFragmentManager().beginTransaction()
|
||||
.replace(android.R.id.content, new DozeSettingsFragment()).commit();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
|
||||
package com.moto.actions;
|
||||
|
||||
import android.app.ActionBar;
|
||||
import android.os.Bundle;
|
||||
import android.support.v14.preference.PreferenceFragment;
|
||||
import android.provider.Settings;
|
||||
@@ -40,6 +41,14 @@ public class DozeSettingsFragment extends PreferenceFragment {
|
||||
private String KEY_GESTURE_HAND_WAVE = "gesture_hand_wave";
|
||||
private String KEY_GESTURE_PICK_UP = "gesture_pick_up";
|
||||
|
||||
@Override
|
||||
public void onActivityCreated(Bundle savedInstanceState) {
|
||||
super.onActivityCreated(savedInstanceState);
|
||||
ActionBar actionbar = getActivity().getActionBar();
|
||||
actionbar.setDisplayHomeAsUpEnabled(true);
|
||||
actionbar.setTitle(R.string.ambient_display_title);
|
||||
}
|
||||
|
||||
@Override
|
||||
public View onCreateView(LayoutInflater inflater, ViewGroup container,
|
||||
Bundle savedInstanceState) {
|
||||
|
||||
@@ -25,13 +25,9 @@ public class FPGestureSettingsActivity extends PreferenceActivity {
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
|
||||
if (getActionBar() != null) {
|
||||
getActionBar().setDisplayHomeAsUpEnabled(true);
|
||||
getActionBar().setTitle(R.string.fingerprint_gestures_title);
|
||||
}
|
||||
|
||||
if (savedInstanceState == null){
|
||||
getFragmentManager().beginTransaction()
|
||||
.replace(android.R.id.content, new FPGestureSettingsFragment()).commit();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -47,6 +47,14 @@ public class FPGestureSettingsFragment extends PreferenceFragment {
|
||||
private TextView mSwitchBarText;
|
||||
private Switch mFPGestureSwitch;
|
||||
|
||||
@Override
|
||||
public void onActivityCreated(Bundle savedInstanceState) {
|
||||
super.onActivityCreated(savedInstanceState);
|
||||
ActionBar actionbar = getActivity().getActionBar();
|
||||
actionbar.setDisplayHomeAsUpEnabled(true);
|
||||
actionbar.setTitle(R.string.fingerprint_gestures_title);
|
||||
}
|
||||
|
||||
@Override
|
||||
public View onCreateView(LayoutInflater inflater, ViewGroup container,
|
||||
Bundle savedInstanceState) {
|
||||
|
||||
@@ -25,12 +25,9 @@ public class GestureSettingsActivity extends PreferenceActivity {
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
|
||||
if (getActionBar() != null) {
|
||||
getActionBar().setDisplayHomeAsUpEnabled(true);
|
||||
}
|
||||
|
||||
if (savedInstanceState == null){
|
||||
getFragmentManager().beginTransaction()
|
||||
.replace(android.R.id.content, new GestureSettingsFragment()).commit();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,13 +17,64 @@
|
||||
package com.moto.actions;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.support.v7.preference.Preference;
|
||||
import android.support.v14.preference.PreferenceFragment;
|
||||
import android.support.v14.preference.SwitchPreference;
|
||||
import android.os.UserHandle;
|
||||
import android.provider.Settings;
|
||||
import android.content.Context;
|
||||
import android.content.res.Resources;
|
||||
|
||||
public class GestureSettingsFragment extends PreferenceFragment {
|
||||
|
||||
private SwitchPreference mGestureDoubleTapPower;
|
||||
|
||||
@Override
|
||||
public void onActivityCreated(Bundle savedInstanceState) {
|
||||
super.onActivityCreated(savedInstanceState);
|
||||
getActivity().getActionBar().setDisplayHomeAsUpEnabled(true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
|
||||
addPreferencesFromResource(R.xml.actions_panel);
|
||||
mGestureDoubleTapPower = (SwitchPreference) findPreference("gesture_double_tap_power");
|
||||
if (isCameraDoubleTapPowerAllowed()){
|
||||
mGestureDoubleTapPower.setChecked(isCameraDoubleTapPowerEnabled());
|
||||
mGestureDoubleTapPower.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
|
||||
@Override
|
||||
public boolean onPreferenceChange(Preference preference, Object objValue) {
|
||||
boolean value = (Boolean) objValue;
|
||||
setCameraDoubleTapPowerEnabled(value);
|
||||
return true;
|
||||
}
|
||||
});
|
||||
try {
|
||||
Resources settingsRes = getActivity().createPackageContext("com.android.settings", 0).getResources();
|
||||
mGestureDoubleTapPower.setTitle(settingsRes.getString(
|
||||
settingsRes.getIdentifier("double_tap_power_for_camera_title", "string", "com.android.settings")));
|
||||
mGestureDoubleTapPower.setSummary(settingsRes.getString(
|
||||
settingsRes.getIdentifier("double_tap_power_for_camera_summary", "string", "com.android.settings")));
|
||||
} catch (Exception e) {
|
||||
}
|
||||
}else{
|
||||
getPreferenceScreen().removePreference(mGestureDoubleTapPower);
|
||||
}
|
||||
}
|
||||
|
||||
private boolean isCameraDoubleTapPowerAllowed() {
|
||||
return getActivity().getResources().getBoolean(
|
||||
com.android.internal.R.bool.config_cameraDoubleTapPowerGestureEnabled);
|
||||
}
|
||||
|
||||
private boolean isCameraDoubleTapPowerEnabled(){
|
||||
return Settings.Secure.getIntForUser(getActivity().getContentResolver(),
|
||||
Settings.Secure.CAMERA_DOUBLE_TAP_POWER_GESTURE_DISABLED, 0, UserHandle.USER_CURRENT) == 0;
|
||||
}
|
||||
|
||||
private void setCameraDoubleTapPowerEnabled(boolean enabled){
|
||||
Settings.Secure.putInt(getActivity().getContentResolver(),
|
||||
Settings.Secure.CAMERA_DOUBLE_TAP_POWER_GESTURE_DISABLED, enabled ? 0 : 1);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -30,6 +30,9 @@ import android.content.pm.PackageManager;
|
||||
import android.content.pm.ResolveInfo;
|
||||
import android.content.res.Resources;
|
||||
import android.hardware.Sensor;
|
||||
import android.hardware.SensorEvent;
|
||||
import android.hardware.SensorEventListener;
|
||||
import android.hardware.SensorManager;
|
||||
import android.hardware.camera2.CameraAccessException;
|
||||
import android.hardware.camera2.CameraCharacteristics;
|
||||
import android.hardware.camera2.CameraManager;
|
||||
@@ -84,13 +87,18 @@ public class KeyHandler implements DeviceKeyHandler {
|
||||
.build();
|
||||
private final Context mContext;
|
||||
private final PowerManager mPowerManager;
|
||||
WakeLock mProximityWakeLock;
|
||||
WakeLock mGestureWakeLock;
|
||||
private KeyguardManager mKeyguardManager;
|
||||
private FPScreenOffGesturesHandler mFPScreenOffGesturesHandler;
|
||||
private SensorManager mSensorManager;
|
||||
private CameraManager mCameraManager;
|
||||
private String mRearCameraId;
|
||||
private boolean mTorchEnabled;
|
||||
private Sensor mProximitySensor;
|
||||
private Vibrator mVibrator;
|
||||
private int mProximityTimeOut;
|
||||
private boolean mProximityWakeSupported;
|
||||
private ISearchManager mSearchManagerService;
|
||||
private Handler mHandler;
|
||||
private int fpTapCounts = 0;
|
||||
@@ -131,6 +139,19 @@ public class KeyHandler implements DeviceKeyHandler {
|
||||
mGestureWakeLock = mPowerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK,
|
||||
"GestureWakeLock");
|
||||
|
||||
final Resources resources = mContext.getResources();
|
||||
mProximityTimeOut = resources.getInteger(
|
||||
com.android.internal.R.integer.config_proximityCheckTimeout);
|
||||
mProximityWakeSupported = resources.getBoolean(
|
||||
com.android.internal.R.bool.config_proximityCheckOnWake);
|
||||
|
||||
if (mProximityWakeSupported) {
|
||||
mSensorManager = (SensorManager) context.getSystemService(Context.SENSOR_SERVICE);
|
||||
mProximitySensor = mSensorManager.getDefaultSensor(Sensor.TYPE_PROXIMITY);
|
||||
mProximityWakeLock = mPowerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK,
|
||||
"ProximityWakeLock");
|
||||
}
|
||||
|
||||
mVibrator = (Vibrator) context.getSystemService(Context.VIBRATOR_SERVICE);
|
||||
if (mVibrator == null || !mVibrator.hasVibrator()) {
|
||||
mVibrator = null;
|
||||
@@ -635,9 +656,45 @@ public class KeyHandler implements DeviceKeyHandler {
|
||||
if (!mFPScreenOffGesturesHandler.hasMessages(FP_ACTION_REQUEST)) {
|
||||
Message msg = mFPScreenOffGesturesHandler.obtainMessage(FP_ACTION_REQUEST);
|
||||
msg.arg1 = scanCode;
|
||||
boolean defaultProximity = mContext.getResources().getBoolean(
|
||||
com.android.internal.R.bool.config_proximityCheckOnWakeEnabledByDefault);
|
||||
boolean proximityWakeCheckEnabled = Settings.System.getInt(mContext.getContentResolver(),
|
||||
Settings.System.PROXIMITY_ON_WAKE, defaultProximity ? 1 : 0) == 1;
|
||||
if (mProximityWakeSupported && proximityWakeCheckEnabled && mProximitySensor != null) {
|
||||
mFPScreenOffGesturesHandler.sendMessageDelayed(msg, mProximityTimeOut);
|
||||
registerFPScreenOffListener(scanCode);
|
||||
} else {
|
||||
mFPScreenOffGesturesHandler.sendMessage(msg);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void registerFPScreenOffListener(final int scanCode) {
|
||||
mProximityWakeLock.acquire();
|
||||
mSensorManager.registerListener(new SensorEventListener() {
|
||||
@Override
|
||||
public void onSensorChanged(SensorEvent event) {
|
||||
mProximityWakeLock.release();
|
||||
mSensorManager.unregisterListener(this);
|
||||
if (!mFPScreenOffGesturesHandler.hasMessages(FP_ACTION_REQUEST)) {
|
||||
// The sensor took to long, ignoring.
|
||||
return;
|
||||
}
|
||||
mFPScreenOffGesturesHandler.removeMessages(FP_ACTION_REQUEST);
|
||||
if (event.values[0] == mProximitySensor.getMaximumRange()) {
|
||||
Message msg = mFPScreenOffGesturesHandler.obtainMessage(FP_ACTION_REQUEST);
|
||||
msg.arg1 = scanCode;
|
||||
mFPScreenOffGesturesHandler.sendMessage(msg);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAccuracyChanged(Sensor sensor, int accuracy) {
|
||||
}
|
||||
|
||||
}, mProximitySensor, SensorManager.SENSOR_DELAY_FASTEST);
|
||||
}
|
||||
|
||||
|
||||
private void resetFPGestureDelay() {
|
||||
fpGesturePending = false;
|
||||
|
||||
@@ -21,6 +21,7 @@ import android.app.IntentService;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.os.PowerManager;
|
||||
import android.provider.Settings;
|
||||
import android.util.Log;
|
||||
|
||||
import java.util.List;
|
||||
@@ -43,38 +44,44 @@ public class MotoActionsService extends IntentService implements ScreenStateNoti
|
||||
UpdatedStateNotifier {
|
||||
private static final String TAG = "MotoActions";
|
||||
|
||||
private final Context mContext;
|
||||
|
||||
private final DozePulseAction mDozePulseAction;
|
||||
private final PowerManager mPowerManager;
|
||||
private final PowerManager.WakeLock mWakeLock;
|
||||
private final ScreenReceiver mScreenReceiver;
|
||||
private final SensorHelper mSensorHelper;
|
||||
|
||||
private final List<ScreenStateNotifier> mScreenStateNotifiers = new LinkedList<>();
|
||||
private final List<UpdatedStateNotifier> mUpdatedStateNotifiers = new LinkedList<>();
|
||||
private final List<ScreenStateNotifier> mScreenStateNotifiers = new LinkedList<ScreenStateNotifier>();
|
||||
private final List<UpdatedStateNotifier> mUpdatedStateNotifiers =
|
||||
new LinkedList<UpdatedStateNotifier>();
|
||||
|
||||
public MotoActionsService(Context context) {
|
||||
super("MotoActionService");
|
||||
mContext = context;
|
||||
|
||||
Log.d(TAG, "Starting");
|
||||
|
||||
MotoActionsSettings motoActionsSettings = new MotoActionsSettings(context, this);
|
||||
SensorHelper sensorHelper = new SensorHelper(context);
|
||||
new ScreenReceiver(context, this);
|
||||
mSensorHelper = new SensorHelper(context);
|
||||
mScreenReceiver = new ScreenReceiver(context, this);
|
||||
|
||||
DozePulseAction mDozePulseAction = new DozePulseAction(context);
|
||||
mDozePulseAction = new DozePulseAction(context);
|
||||
mScreenStateNotifiers.add(mDozePulseAction);
|
||||
|
||||
// Actionable sensors get screen on/off notifications
|
||||
mScreenStateNotifiers.add(new GlanceSensor(motoActionsSettings, sensorHelper, mDozePulseAction));
|
||||
mScreenStateNotifiers.add(new ProximitySensor(motoActionsSettings, sensorHelper, mDozePulseAction));
|
||||
mScreenStateNotifiers.add(new GlanceSensor(motoActionsSettings, mSensorHelper, mDozePulseAction));
|
||||
mScreenStateNotifiers.add(new ProximitySensor(motoActionsSettings, mSensorHelper, mDozePulseAction));
|
||||
|
||||
// Other actions that are always enabled
|
||||
mUpdatedStateNotifiers.add(new CameraActivationSensor(motoActionsSettings, sensorHelper));
|
||||
mUpdatedStateNotifiers.add(new ChopChopSensor(motoActionsSettings, sensorHelper));
|
||||
mUpdatedStateNotifiers.add(new ProximitySilencer(motoActionsSettings, context, sensorHelper));
|
||||
mUpdatedStateNotifiers.add(new FlipToMute(motoActionsSettings, context, sensorHelper));
|
||||
mUpdatedStateNotifiers.add(new LiftToSilence(motoActionsSettings, context, sensorHelper));
|
||||
mUpdatedStateNotifiers.add(new CameraActivationSensor(motoActionsSettings, mSensorHelper));
|
||||
mUpdatedStateNotifiers.add(new ChopChopSensor(motoActionsSettings, mSensorHelper));
|
||||
mUpdatedStateNotifiers.add(new ProximitySilencer(motoActionsSettings, context, mSensorHelper));
|
||||
mUpdatedStateNotifiers.add(new FlipToMute(motoActionsSettings, context, mSensorHelper));
|
||||
mUpdatedStateNotifiers.add(new LiftToSilence(motoActionsSettings, context, mSensorHelper));
|
||||
|
||||
mPowerManager = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
|
||||
String tag = context.getPackageName() + ":ServiceWakeLock";
|
||||
mWakeLock = mPowerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, tag);
|
||||
mWakeLock = mPowerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "MotoActionsWakeLock");
|
||||
updateState();
|
||||
}
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@ import com.moto.actions.actions.UpdatedStateNotifier;
|
||||
import com.moto.actions.actions.CameraActivationAction;
|
||||
import com.moto.actions.actions.TorchAction;
|
||||
|
||||
public class MotoActionsSettings implements SharedPreferences.OnSharedPreferenceChangeListener {
|
||||
public class MotoActionsSettings {
|
||||
private static final String TAG = "MotoActions";
|
||||
|
||||
private static final String GESTURE_CAMERA_ACTION_KEY = "gesture_camera_action";
|
||||
@@ -55,7 +55,7 @@ public class MotoActionsSettings implements SharedPreferences.OnSharedPreference
|
||||
public MotoActionsSettings(Context context, UpdatedStateNotifier updatedStateNotifier) {
|
||||
SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(context);
|
||||
loadPreferences(sharedPrefs);
|
||||
sharedPrefs.registerOnSharedPreferenceChangeListener(this);
|
||||
sharedPrefs.registerOnSharedPreferenceChangeListener(mPrefListener);
|
||||
mContext = context;
|
||||
mUpdatedStateNotifier = updatedStateNotifier;
|
||||
}
|
||||
@@ -114,6 +114,8 @@ public class MotoActionsSettings implements SharedPreferences.OnSharedPreference
|
||||
mLiftToSilenceEnabled = sharedPreferences.getBoolean(GESTURE_LIFT_TO_SILENCE_KEY, false);
|
||||
}
|
||||
|
||||
private SharedPreferences.OnSharedPreferenceChangeListener mPrefListener =
|
||||
new SharedPreferences.OnSharedPreferenceChangeListener() {
|
||||
@Override
|
||||
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
|
||||
boolean updated = true;
|
||||
@@ -144,4 +146,5 @@ public class MotoActionsSettings implements SharedPreferences.OnSharedPreference
|
||||
mUpdatedStateNotifier.updateState();
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@@ -18,5 +18,5 @@
|
||||
package com.moto.actions;
|
||||
|
||||
public interface SensorAction {
|
||||
void action();
|
||||
public void action();
|
||||
}
|
||||
|
||||
@@ -26,6 +26,7 @@ import android.content.Context;
|
||||
import android.hardware.Sensor;
|
||||
import android.hardware.SensorEventListener;
|
||||
import android.hardware.SensorManager;
|
||||
import android.util.Log;
|
||||
|
||||
public class SensorHelper {
|
||||
private static final String TAG = "MotoActions";
|
||||
|
||||
@@ -17,6 +17,8 @@
|
||||
|
||||
package com.moto.actions.actions;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import android.app.KeyguardManager;
|
||||
import android.content.ComponentName;
|
||||
import android.content.Context;
|
||||
@@ -26,14 +28,12 @@ import android.content.pm.PackageManager;
|
||||
import android.content.pm.ResolveInfo;
|
||||
import android.os.PowerManager;
|
||||
import android.os.PowerManager.WakeLock;
|
||||
import android.os.VibrationEffect;
|
||||
import android.os.Vibrator;
|
||||
import android.provider.MediaStore;
|
||||
import android.util.Log;
|
||||
|
||||
import com.moto.actions.SensorAction;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class CameraActivationAction implements SensorAction {
|
||||
private static final String TAG = "MotoActions";
|
||||
|
||||
@@ -55,7 +55,7 @@ public class CameraActivationAction implements SensorAction {
|
||||
public void action() {
|
||||
vibrate();
|
||||
turnScreenOn();
|
||||
if (mKeyguardManager.isKeyguardLocked()) {
|
||||
if (mKeyguardManager.inKeyguardRestrictedInputMode()) {
|
||||
launchSecureCamera();
|
||||
} else {
|
||||
launchCamera();
|
||||
@@ -63,16 +63,13 @@ public class CameraActivationAction implements SensorAction {
|
||||
}
|
||||
|
||||
private void vibrate() {
|
||||
Vibrator vib = (Vibrator) mContext.getSystemService(Context.VIBRATOR_SERVICE);
|
||||
if (vib == null) return;
|
||||
VibrationEffect effect = VibrationEffect.createOneShot(500, VibrationEffect.DEFAULT_AMPLITUDE);
|
||||
vib.vibrate(effect);
|
||||
Vibrator v = (Vibrator) mContext.getSystemService(Context.VIBRATOR_SERVICE);
|
||||
v.vibrate(500);
|
||||
}
|
||||
|
||||
private void turnScreenOn() {
|
||||
String tag = mContext.getPackageName() + ":CameraWakeLock";
|
||||
WakeLock wl = mPowerManager.newWakeLock(
|
||||
PowerManager.SCREEN_BRIGHT_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP, tag);
|
||||
PowerManager.WakeLock wl = mPowerManager.newWakeLock(
|
||||
PowerManager.SCREEN_BRIGHT_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP, TAG);
|
||||
wl.acquire(TURN_SCREEN_ON_WAKE_LOCK_MS);
|
||||
}
|
||||
|
||||
|
||||
@@ -17,9 +17,12 @@
|
||||
|
||||
package com.moto.actions.actions;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import android.hardware.Sensor;
|
||||
import android.hardware.SensorEvent;
|
||||
import android.hardware.SensorEventListener;
|
||||
import android.hardware.SensorManager;
|
||||
import android.util.Log;
|
||||
|
||||
import com.moto.actions.MotoActionsSettings;
|
||||
@@ -28,14 +31,20 @@ import com.moto.actions.SensorHelper;
|
||||
public class CameraActivationSensor implements SensorEventListener, UpdatedStateNotifier {
|
||||
private static final String TAG = "MotoActions-CameraSensor";
|
||||
|
||||
private static final int TURN_SCREEN_ON_WAKE_LOCK_MS = 500;
|
||||
|
||||
private final MotoActionsSettings mMotoActionsSettings;
|
||||
private final SensorHelper mSensorHelper;
|
||||
|
||||
private final Sensor mSensor;
|
||||
|
||||
private boolean mIsEnabled;
|
||||
|
||||
public CameraActivationSensor(MotoActionsSettings motoActionsSettings, SensorHelper sensorHelper) {
|
||||
mMotoActionsSettings = motoActionsSettings;
|
||||
Sensor sensor = sensorHelper.getCameraActivationSensor();
|
||||
sensorHelper.registerListener(sensor, this);
|
||||
mSensorHelper = sensorHelper;
|
||||
mSensor = sensorHelper.getCameraActivationSensor();
|
||||
mSensorHelper.registerListener(mSensor, this);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -17,9 +17,12 @@
|
||||
|
||||
package com.moto.actions.actions;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import android.hardware.Sensor;
|
||||
import android.hardware.SensorEvent;
|
||||
import android.hardware.SensorEventListener;
|
||||
import android.hardware.SensorManager;
|
||||
import android.util.Log;
|
||||
|
||||
import com.moto.actions.MotoActionsSettings;
|
||||
@@ -28,6 +31,8 @@ import com.moto.actions.SensorHelper;
|
||||
public class ChopChopSensor implements SensorEventListener, UpdatedStateNotifier {
|
||||
private static final String TAG = "MotoActions-ChopChopSensor";
|
||||
|
||||
private static final int TURN_SCREEN_ON_WAKE_LOCK_MS = 500;
|
||||
|
||||
private final MotoActionsSettings mMotoActionsSettings;
|
||||
private final SensorHelper mSensorHelper;
|
||||
private final Sensor mSensor;
|
||||
|
||||
@@ -25,8 +25,6 @@ import android.content.IntentFilter;
|
||||
import android.hardware.Sensor;
|
||||
import android.hardware.SensorEvent;
|
||||
import android.hardware.SensorEventListener;
|
||||
import android.os.VibrationEffect;
|
||||
import android.os.Vibrator;
|
||||
import android.util.Log;
|
||||
|
||||
import com.moto.actions.MotoActionsSettings;
|
||||
@@ -41,7 +39,6 @@ public class FlipToMute implements UpdatedStateNotifier {
|
||||
private final Sensor mFlatDown;
|
||||
private final Sensor mStow;
|
||||
|
||||
private boolean canVibrate = false;
|
||||
private boolean mIsEnabled;
|
||||
private boolean mIsFlatDown;
|
||||
private boolean mIsStowed;
|
||||
@@ -58,9 +55,7 @@ public class FlipToMute implements UpdatedStateNotifier {
|
||||
mStow = sensorHelper.getStowSensor();
|
||||
mNotificationManager =
|
||||
(NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
|
||||
if (mNotificationManager != null) {
|
||||
mFilter = mNotificationManager.getCurrentInterruptionFilter();
|
||||
}
|
||||
mReceiver = new Receiver();
|
||||
}
|
||||
|
||||
@@ -111,33 +106,19 @@ public class FlipToMute implements UpdatedStateNotifier {
|
||||
Log.d(TAG, "event: " + mIsFlatDown + " mIsStowed=" + mIsStowed);
|
||||
|
||||
if (mIsFlatDown && mIsStowed) {
|
||||
vibrate();
|
||||
canVibrate = true;
|
||||
mNotificationManager.setInterruptionFilter(NotificationManager.INTERRUPTION_FILTER_PRIORITY);
|
||||
Log.d(TAG, "Interrupt filter: Allow priority");
|
||||
} else if (!mIsFlatDown) {
|
||||
if (canVibrate) {
|
||||
vibrate();
|
||||
canVibrate = false;
|
||||
}
|
||||
mNotificationManager.setInterruptionFilter(mFilter);
|
||||
Log.d(TAG, "Interrupt filter: Restore");
|
||||
}
|
||||
}
|
||||
|
||||
private void vibrate() {
|
||||
Vibrator vib = (Vibrator) mContext.getSystemService(Context.VIBRATOR_SERVICE);
|
||||
if (vib == null) return;
|
||||
VibrationEffect effect = VibrationEffect.createOneShot(250, VibrationEffect.DEFAULT_AMPLITUDE);
|
||||
vib.vibrate(effect);
|
||||
}
|
||||
|
||||
public class Receiver extends BroadcastReceiver {
|
||||
|
||||
@Override
|
||||
public void onReceive(Context context, Intent intent) {
|
||||
if (!mIsFlatDown && !mIsStowed) {
|
||||
if (mNotificationManager == null) return;
|
||||
mFilter = mNotificationManager.getCurrentInterruptionFilter();
|
||||
Log.d(TAG, "Interrupt filter: Backup");
|
||||
}
|
||||
|
||||
@@ -72,18 +72,22 @@ public class ProximitySilencer extends PhoneStateListener implements SensorEvent
|
||||
long now = System.currentTimeMillis();
|
||||
|
||||
if (isNear){
|
||||
mCoveredRinging = mIsRinging && (now - mRingStartedMs >= SILENCE_DELAY_MS);
|
||||
if (mIsRinging && (now - mRingStartedMs >= SILENCE_DELAY_MS)){
|
||||
mCoveredRinging = true;
|
||||
} else {
|
||||
mCoveredRinging = false;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
if (mIsRinging) {
|
||||
if (!isNear && mIsRinging) {
|
||||
Log.d(TAG, "event: " + event.values[0] + ", " + " covered " + Boolean.toString(mCoveredRinging));
|
||||
if (mCoveredRinging) {
|
||||
Log.d(TAG, "Silencing ringer");
|
||||
mTelecomManager.silenceRinger();
|
||||
} else {
|
||||
Log.d(TAG, "Ignoring silence gesture: " + now + " is too close to " +
|
||||
mRingStartedMs + ", delay=" + SILENCE_DELAY_MS);
|
||||
mRingStartedMs + ", delay=" + SILENCE_DELAY_MS + " or covered " + Boolean.toString(mCoveredRinging));
|
||||
}
|
||||
mCoveredRinging = false;
|
||||
}
|
||||
|
||||
@@ -18,18 +18,19 @@
|
||||
package com.moto.actions.actions;
|
||||
|
||||
import android.content.Context;
|
||||
import android.hardware.camera2.CameraAccessException;
|
||||
import android.hardware.camera2.CameraCharacteristics;
|
||||
import android.hardware.camera2.CameraManager;
|
||||
import android.os.VibrationEffect;
|
||||
import android.hardware.camera2.CameraCharacteristics;
|
||||
import android.hardware.camera2.CameraAccessException;
|
||||
import android.os.Vibrator;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.util.Log;
|
||||
|
||||
import com.moto.actions.SensorAction;
|
||||
|
||||
public class TorchAction implements SensorAction {
|
||||
private static final String TAG = "MotoActions";
|
||||
|
||||
private static final int TURN_SCREEN_ON_WAKE_LOCK_MS = 500;
|
||||
|
||||
private CameraManager mCameraManager;
|
||||
private final Vibrator mVibrator;
|
||||
private String mRearCameraId;
|
||||
@@ -50,20 +51,17 @@ public class TorchAction implements SensorAction {
|
||||
}
|
||||
}
|
||||
} catch (CameraAccessException e) {
|
||||
// Noop
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void action() {
|
||||
VibrationEffect vibrationEffect = VibrationEffect.createOneShot(250, VibrationEffect.DEFAULT_AMPLITUDE);
|
||||
mVibrator.vibrate(vibrationEffect);
|
||||
mVibrator.vibrate(250);
|
||||
if (mRearCameraId != null) {
|
||||
try {
|
||||
mCameraManager.setTorchMode(mRearCameraId, !mTorchEnabled);
|
||||
mTorchEnabled = !mTorchEnabled;
|
||||
} catch (CameraAccessException e) {
|
||||
// Noop
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -71,14 +69,14 @@ public class TorchAction implements SensorAction {
|
||||
private class MyTorchCallback extends CameraManager.TorchCallback {
|
||||
|
||||
@Override
|
||||
public void onTorchModeChanged(@NonNull String cameraId, boolean enabled) {
|
||||
public void onTorchModeChanged(String cameraId, boolean enabled) {
|
||||
if (!cameraId.equals(mRearCameraId))
|
||||
return;
|
||||
mTorchEnabled = enabled;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onTorchModeUnavailable(@NonNull String cameraId) {
|
||||
public void onTorchModeUnavailable(String cameraId) {
|
||||
if (!cameraId.equals(mRearCameraId))
|
||||
return;
|
||||
mTorchEnabled = false;
|
||||
|
||||
@@ -18,5 +18,5 @@
|
||||
package com.moto.actions.actions;
|
||||
|
||||
public interface UpdatedStateNotifier {
|
||||
void updateState();
|
||||
public void updateState();
|
||||
}
|
||||
|
||||
@@ -52,7 +52,7 @@ public class DozePulseAction implements SensorAction, ScreenStateNotifier {
|
||||
}
|
||||
}
|
||||
|
||||
private synchronized boolean mayDoze() {
|
||||
public synchronized boolean mayDoze() {
|
||||
long now = System.currentTimeMillis();
|
||||
if (now - mLastDoze > DELAY_BETWEEN_DOZES_IN_MS) {
|
||||
Log.d(TAG, "Allowing doze");
|
||||
|
||||
@@ -39,8 +39,6 @@ public class ScreenReceiver extends BroadcastReceiver {
|
||||
|
||||
@Override
|
||||
public void onReceive(Context context, Intent intent) {
|
||||
if (intent.getAction() == null) return;
|
||||
|
||||
if (intent.getAction().equals(Intent.ACTION_SCREEN_OFF)) {
|
||||
mNotifier.screenTurnedOff();
|
||||
} else if (intent.getAction().equals(Intent.ACTION_SCREEN_ON)) {
|
||||
|
||||
@@ -18,6 +18,6 @@
|
||||
package com.moto.actions.doze;
|
||||
|
||||
public interface ScreenStateNotifier {
|
||||
void screenTurnedOn();
|
||||
void screenTurnedOff();
|
||||
public void screenTurnedOn();
|
||||
public void screenTurnedOff();
|
||||
}
|
||||
|
||||
29
README.md
29
README.md
@@ -1,21 +1,22 @@
|
||||
Copyright (C) 2017-2019 - The LineageOS Project.
|
||||
|
||||
Device configuration for Moto G5S Plus (XT1802 XT1803 XT1804 XT1805 XT1806)
|
||||
Device Tree for Moto G5S Plus (sanders)
|
||||
===========================================
|
||||
|
||||
The Motorola Moto G5S Plus (codenamed _"sanders"_) is a mid-range smartphone from Motorola mobility.
|
||||
It was announced on August 2017.
|
||||
|
||||
Basic | Spec Sheet
|
||||
-------:|:-------------------------
|
||||
CPU | Octa-core 2.0 GHz Cortex-A53
|
||||
Chipset | Qualcomm MSM8953 Snapdragon 625
|
||||
GPU | 650MHz Adreno 506
|
||||
Memory | 3/4 GB (LPDDR3)
|
||||
Shipped Android Version | 7.1 (Nougat MR1)
|
||||
Storage | 32/64GB (eMMC)
|
||||
GPU | Adreno 506
|
||||
Memory | 3/4 GB RAM
|
||||
Shipped Android Version | 7.1.1
|
||||
Storage | 64/32 GB
|
||||
MicroSD | Up to 256 GB
|
||||
Battery | Li-Ion 3000mAh battery (non-removable)
|
||||
Dimensions | 153.5 x 76.2 x 8 mm
|
||||
Display | 1080 x 1920 pixels, 5.5" IPS LCD, 16:9 ratio (~401 PPI density)
|
||||
Rear Camera | 13.0 MP (f/2.0) & 13.0 MP, Dual-LED dual-tone flash
|
||||
Front Camera | 8.0 MP (f/2.0), LED flash
|
||||
Release Month | August 2017
|
||||
Battery | Li-Ion 3000mAh battery
|
||||
Display | 1080 x 1920 pixels, 5.2 inches (~402 ppi pixel density)
|
||||
Camera | Dual 13 MP, f/2.0, autofocus, dual-LED (dual tone) flash, 2150 x 1440 pixels
|
||||
|
||||

|
||||
Copyright 2017 - The LineageOS Project.
|
||||
|
||||

|
||||
|
||||
@@ -1,17 +1,26 @@
|
||||
[
|
||||
{
|
||||
"repository": "AlissonGrizotti/kernel_motorola_msm8953",
|
||||
"remote": "github",
|
||||
"repository": "Keertesh19/kernel_motorola_msm8953",
|
||||
"target_path": "kernel/motorola/msm8953",
|
||||
"branch": "perf+"
|
||||
"branch": "8.1-moto"
|
||||
},
|
||||
{
|
||||
"repository": "vendor_motorola_sanders",
|
||||
"remote": "github",
|
||||
"repository": "Keertesh19/vendor_motorola_sanders",
|
||||
"target_path": "vendor/motorola/sanders",
|
||||
"branch": "pie"
|
||||
"branch": "oreo-mr1"
|
||||
},
|
||||
{
|
||||
"repository": "LineageOS/android_packages_resources_devicesettings",
|
||||
"target_path": "packages/resources/devicesettings",
|
||||
"branch": "lineage-16.0"
|
||||
"remote": "github",
|
||||
"repository": "PixelExperience/packages_resources_MotoActions",
|
||||
"target_path": "packages/resources/MotoActions",
|
||||
"branch": "oreo-mr1"
|
||||
},
|
||||
{
|
||||
"repository": "jhenrique09/prebuilts_clang_host_linux-x86_7.0-DragonTC",
|
||||
"target_path": "prebuilts/clang/host/linux-x86/7.0-DragonTC",
|
||||
"branch": "master",
|
||||
"remote": "github"
|
||||
}
|
||||
]
|
||||
|
||||
@@ -15,17 +15,14 @@
|
||||
# limitations under the License.
|
||||
|
||||
|
||||
# Inherit from those products.
|
||||
$(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk)
|
||||
$(call inherit-product, $(SRC_TARGET_DIR)/product/full_base_telephony.mk)
|
||||
$(call inherit-product, $(SRC_TARGET_DIR)/product/product_launched_with_n_mr1.mk)
|
||||
# Inherit from those products. Most specific first.
|
||||
$(call inherit-product, device/motorola/sanders/full_sanders.mk)
|
||||
|
||||
$(call inherit-product, device/motorola/sanders/device.mk)
|
||||
$(call inherit-product, vendor/aosp/config/common_full_phone.mk)
|
||||
|
||||
# Pixel Stuffs
|
||||
# Inherit some common PixelExperience stuff.
|
||||
TARGET_GAPPS_ARCH := arm64
|
||||
TARGET_BOOT_ANIMATION_RES := 1080
|
||||
TARGET_INCLUDE_ARCORE := true
|
||||
$(call inherit-product, vendor/aosp/config/common_full_phone.mk)
|
||||
|
||||
## Device identifier. This must come after all inclusions
|
||||
PRODUCT_DEVICE := sanders
|
||||
@@ -33,15 +30,8 @@ PRODUCT_NAME := aosp_sanders
|
||||
PRODUCT_BRAND := motorola
|
||||
PRODUCT_MANUFACTURER := motorola
|
||||
|
||||
PRODUCT_GMS_CLIENTID_BASE := android-motorola
|
||||
|
||||
PRODUCT_SYSTEM_PROPERTY_BLACKLIST := ro.product.model
|
||||
|
||||
PRODUCT_BUILD_PROP_OVERRIDES += \
|
||||
PRODUCT_NAME="Moto G (5S) Plus" \
|
||||
PRIVATE_BUILD_DESC="sanders-user 8.1.0 OPS28.65-36 9fea release-keys"
|
||||
|
||||
BUILD_FINGERPRINT := google/walleye/walleye:8.1.0/OPM1.171019.011/4448085:user/release-keys
|
||||
|
||||
PRODUCT_ENFORCE_RRO_TARGETS := \
|
||||
framework-res
|
||||
PRODUCT_NAME="Moto G5S Plus"
|
||||
DEVICE_MAINTAINERS="Keertesh"
|
||||
|
||||
286
audio/audio_effects.conf
Normal file
286
audio/audio_effects.conf
Normal file
@@ -0,0 +1,286 @@
|
||||
# List of effect libraries to load. Each library element must contain a "path" element
|
||||
# giving the full path of the library .so file.
|
||||
# libraries {
|
||||
# <lib name> {
|
||||
# path <lib path>
|
||||
# }
|
||||
# }
|
||||
libraries {
|
||||
bundle {
|
||||
path /vendor/lib/soundfx/libbundlewrapper.so
|
||||
}
|
||||
reverb {
|
||||
path /vendor/lib/soundfx/libreverbwrapper.so
|
||||
}
|
||||
visualizer_sw {
|
||||
path /vendor/lib/soundfx/libvisualizer.so
|
||||
}
|
||||
visualizer_hw {
|
||||
path /vendor/lib/soundfx/libqcomvisualizer.so
|
||||
}
|
||||
downmix {
|
||||
path /vendor/lib/soundfx/libdownmix.so
|
||||
}
|
||||
loudness_enhancer {
|
||||
path /vendor/lib/soundfx/libldnhncr.so
|
||||
}
|
||||
proxy {
|
||||
path /vendor/lib/soundfx/libeffectproxy.so
|
||||
}
|
||||
offload_bundle {
|
||||
path /vendor/lib/soundfx/libqcompostprocbundle.so
|
||||
}
|
||||
audio_pre_processing {
|
||||
path /vendor/lib/soundfx/libqcomvoiceprocessing.so
|
||||
}
|
||||
}
|
||||
|
||||
# Default pre-processing library. Add to audio_effect.conf "libraries" section if
|
||||
# audio HAL implements support for default software audio pre-processing effects
|
||||
#
|
||||
# pre_processing {
|
||||
# path /system/lib/soundfx/libaudiopreprocessing.so
|
||||
# }
|
||||
|
||||
# list of effects to load. Each effect element must contain a "library" and a "uuid" element.
|
||||
# The value of the "library" element must correspond to the name of one library element in the
|
||||
# "libraries" element.
|
||||
# The name of the effect element is indicative, only the value of the "uuid" element
|
||||
# designates the effect.
|
||||
# The uuid is the implementation specific UUID as specified by the effect vendor. This is not the
|
||||
# generic effect type UUID.
|
||||
# effects {
|
||||
# <fx name> {
|
||||
# library <lib name>
|
||||
# uuid <effect uuid>
|
||||
# }
|
||||
# ...
|
||||
# }
|
||||
|
||||
effects {
|
||||
|
||||
# additions for the proxy implementation
|
||||
# Proxy implementation
|
||||
#effectname {
|
||||
#library proxy
|
||||
#uuid xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
|
||||
|
||||
# SW implemetation of the effect. Added as a node under the proxy to
|
||||
# indicate this as a sub effect.
|
||||
#libsw {
|
||||
#library libSW
|
||||
#uuid yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy
|
||||
#} End of SW effect
|
||||
|
||||
# HW implementation of the effect. Added as a node under the proxy to
|
||||
# indicate this as a sub effect.
|
||||
#libhw {
|
||||
#library libHW
|
||||
#uuid zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzzzzzz
|
||||
#}End of HW effect
|
||||
#} End of effect proxy
|
||||
|
||||
bassboost {
|
||||
library proxy
|
||||
uuid 14804144-a5ee-4d24-aa88-0002a5d5c51b
|
||||
|
||||
libsw {
|
||||
library bundle
|
||||
uuid 8631f300-72e2-11df-b57e-0002a5d5c51b
|
||||
}
|
||||
|
||||
libhw {
|
||||
library offload_bundle
|
||||
uuid 2c4a8c24-1581-487f-94f6-0002a5d5c51b
|
||||
}
|
||||
}
|
||||
virtualizer {
|
||||
library proxy
|
||||
uuid d3467faa-acc7-4d34-acaf-0002a5d5c51b
|
||||
|
||||
libsw {
|
||||
library bundle
|
||||
uuid 1d4033c0-8557-11df-9f2d-0002a5d5c51b
|
||||
}
|
||||
|
||||
libhw {
|
||||
library offload_bundle
|
||||
uuid 509a4498-561a-4bea-b3b1-0002a5d5c51b
|
||||
}
|
||||
}
|
||||
equalizer {
|
||||
library proxy
|
||||
uuid c8e70ecd-48ca-456e-8a4f-0002a5d5c51b
|
||||
|
||||
libsw {
|
||||
library bundle
|
||||
uuid ce772f20-847d-11df-bb17-0002a5d5c51b
|
||||
}
|
||||
|
||||
libhw {
|
||||
library offload_bundle
|
||||
uuid a0dac280-401c-11e3-9379-0002a5d5c51b
|
||||
}
|
||||
}
|
||||
volume {
|
||||
library bundle
|
||||
uuid 119341a0-8469-11df-81f9-0002a5d5c51b
|
||||
}
|
||||
reverb_env_aux {
|
||||
library proxy
|
||||
uuid 48404ac9-d202-4ccc-bf84-0002a5d5c51b
|
||||
|
||||
libsw {
|
||||
library reverb
|
||||
uuid 4a387fc0-8ab3-11df-8bad-0002a5d5c51b
|
||||
}
|
||||
|
||||
libhw {
|
||||
library offload_bundle
|
||||
uuid 79a18026-18fd-4185-8233-0002a5d5c51b
|
||||
}
|
||||
}
|
||||
reverb_env_ins {
|
||||
library proxy
|
||||
uuid b707403a-a1c1-4291-9573-0002a5d5c51b
|
||||
|
||||
libsw {
|
||||
library reverb
|
||||
uuid c7a511a0-a3bb-11df-860e-0002a5d5c51b
|
||||
}
|
||||
|
||||
libhw {
|
||||
library offload_bundle
|
||||
uuid eb64ea04-973b-43d2-8f5e-0002a5d5c51b
|
||||
}
|
||||
}
|
||||
reverb_pre_aux {
|
||||
library proxy
|
||||
uuid 1b78f587-6d1c-422e-8b84-0002a5d5c51b
|
||||
|
||||
libsw {
|
||||
library reverb
|
||||
uuid f29a1400-a3bb-11df-8ddc-0002a5d5c51b
|
||||
}
|
||||
|
||||
libhw {
|
||||
library offload_bundle
|
||||
uuid 6987be09-b142-4b41-9056-0002a5d5c51b
|
||||
}
|
||||
}
|
||||
reverb_pre_ins {
|
||||
library proxy
|
||||
uuid f3e178d2-ebcb-408e-8357-0002a5d5c51b
|
||||
|
||||
libsw {
|
||||
library reverb
|
||||
uuid 172cdf00-a3bc-11df-a72f-0002a5d5c51b
|
||||
}
|
||||
|
||||
libhw {
|
||||
library offload_bundle
|
||||
uuid aa2bebf6-47cf-4613-9bca-0002a5d5c51b
|
||||
}
|
||||
}
|
||||
visualizer {
|
||||
library proxy
|
||||
uuid 1d0a1a53-7d5d-48f2-8e71-27fbd10d842c
|
||||
|
||||
libsw {
|
||||
library visualizer_sw
|
||||
uuid d069d9e0-8329-11df-9168-0002a5d5c51b
|
||||
}
|
||||
|
||||
libhw {
|
||||
library visualizer_hw
|
||||
uuid 7a8044a0-1a71-11e3-a184-0002a5d5c51b
|
||||
}
|
||||
}
|
||||
downmix {
|
||||
library downmix
|
||||
uuid 93f04452-e4fe-41cc-91f9-e475b6d1d69f
|
||||
}
|
||||
hw_acc {
|
||||
library offload_bundle
|
||||
uuid 7d1580bd-297f-4683-9239-e475b6d1d69f
|
||||
}
|
||||
loudness_enhancer {
|
||||
library loudness_enhancer
|
||||
uuid fa415329-2034-4bea-b5dc-5b381c8d1e2c
|
||||
}
|
||||
aec {
|
||||
library audio_pre_processing
|
||||
uuid 0f8d0d2a-59e5-45fe-b6e4-248c8a799109
|
||||
}
|
||||
ns {
|
||||
library audio_pre_processing
|
||||
uuid 1d97bb0b-9e2f-4403-9ae3-58c2554306f8
|
||||
}
|
||||
}
|
||||
|
||||
# Default pre-processing effects. Add to audio_effect.conf "effects" section if
|
||||
# audio HAL implements support for them.
|
||||
#
|
||||
# agc {
|
||||
# library pre_processing
|
||||
# uuid aa8130e0-66fc-11e0-bad0-0002a5d5c51b
|
||||
# }
|
||||
# aec {
|
||||
# library pre_processing
|
||||
# uuid bb392ec0-8d4d-11e0-a896-0002a5d5c51b
|
||||
# }
|
||||
# ns {
|
||||
# library pre_processing
|
||||
# uuid c06c8400-8e06-11e0-9cb6-0002a5d5c51b
|
||||
# }
|
||||
|
||||
# Audio preprocessor configurations.
|
||||
# The pre processor configuration consists in a list of elements each describing
|
||||
# pre processor settings for a given input source. Valid input source names are:
|
||||
# "mic", "camcorder", "voice_recognition", "voice_communication"
|
||||
# Each input source element contains a list of effects elements. The name of the effect
|
||||
# element must be the name of one of the effects in the "effects" list of the file.
|
||||
# Each effect element may optionally contain a list of parameters and their
|
||||
# default value to apply when the pre processor effect is created.
|
||||
# A parameter is defined by a "param" element and a "value" element. Each of these elements
|
||||
# consists in one or more elements specifying a type followed by a value.
|
||||
# The types defined are: "int", "short", "float", "bool" and "string"
|
||||
# When both "param" and "value" are a single int, a simple form is allowed where just
|
||||
# the param and value pair is present in the parameter description
|
||||
# pre_processing {
|
||||
# <input source name> {
|
||||
# <fx name> {
|
||||
# <param 1 name> {
|
||||
# param {
|
||||
# int|short|float|bool|string <value>
|
||||
# [ int|short|float|bool|string <value> ]
|
||||
# ...
|
||||
# }
|
||||
# value {
|
||||
# int|short|float|bool|string <value>
|
||||
# [ int|short|float|bool|string <value> ]
|
||||
# ...
|
||||
# }
|
||||
# }
|
||||
# <param 2 name > {<param> <value>}
|
||||
# ...
|
||||
# }
|
||||
# ...
|
||||
# }
|
||||
# ...
|
||||
# }
|
||||
|
||||
# Added aec, ns effects for voice_commuincation, which are supported by the board
|
||||
|
||||
pre_processing {
|
||||
voice_communication {
|
||||
aec {
|
||||
}
|
||||
ns {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#
|
||||
# TODO: add default audio pre processor configurations after debug and tuning phase
|
||||
#
|
||||
@@ -1,62 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<audio_effects_conf version="2.0" xmlns="http://schemas.android.com/audio/audio_effects_conf/v2_0">
|
||||
<libraries>
|
||||
<library name="bundle" path="libbundlewrapper.so"/>
|
||||
<library name="reverb" path="libreverbwrapper.so"/>
|
||||
<library name="visualizer_sw" path="libvisualizer.so"/>
|
||||
<library name="visualizer_hw" path="libqcomvisualizer.so"/>
|
||||
<library name="downmix" path="libdownmix.so"/>
|
||||
<library name="dynamics_processing" path="libdynproc.so"/>
|
||||
<library name="loudness_enhancer" path="libldnhncr.so"/>
|
||||
<library name="proxy" path="libeffectproxy.so"/>
|
||||
<library name="offload_bundle" path="libqcompostprocbundle.so"/>
|
||||
<library name="audio_pre_processing" path="libqcomvoiceprocessing.so"/>
|
||||
</libraries>
|
||||
<effects>
|
||||
<effectProxy name="bassboost" library="proxy" uuid="14804144-a5ee-4d24-aa88-0002a5d5c51b">
|
||||
<libsw library="bundle" uuid="8631f300-72e2-11df-b57e-0002a5d5c51b"/>
|
||||
<libhw library="offload_bundle" uuid="2c4a8c24-1581-487f-94f6-0002a5d5c51b"/>
|
||||
</effectProxy>
|
||||
<effectProxy name="virtualizer" library="proxy" uuid="d3467faa-acc7-4d34-acaf-0002a5d5c51b">
|
||||
<libsw library="bundle" uuid="1d4033c0-8557-11df-9f2d-0002a5d5c51b"/>
|
||||
<libhw library="offload_bundle" uuid="509a4498-561a-4bea-b3b1-0002a5d5c51b"/>
|
||||
</effectProxy>
|
||||
<effectProxy name="equalizer" library="proxy" uuid="c8e70ecd-48ca-456e-8a4f-0002a5d5c51b">
|
||||
<libsw library="bundle" uuid="ce772f20-847d-11df-bb17-0002a5d5c51b"/>
|
||||
<libhw library="offload_bundle" uuid="a0dac280-401c-11e3-9379-0002a5d5c51b"/>
|
||||
</effectProxy>
|
||||
<effect name="volume" library="bundle" uuid="119341a0-8469-11df-81f9-0002a5d5c51b"/>
|
||||
<effectProxy name="reverb_env_aux" library="proxy" uuid="48404ac9-d202-4ccc-bf84-0002a5d5c51b">
|
||||
<libsw library="reverb" uuid="4a387fc0-8ab3-11df-8bad-0002a5d5c51b"/>
|
||||
<libhw library="offload_bundle" uuid="79a18026-18fd-4185-8233-0002a5d5c51b"/>
|
||||
</effectProxy>
|
||||
<effectProxy name="reverb_env_ins" library="proxy" uuid="b707403a-a1c1-4291-9573-0002a5d5c51b">
|
||||
<libsw library="reverb" uuid="c7a511a0-a3bb-11df-860e-0002a5d5c51b"/>
|
||||
<libhw library="offload_bundle" uuid="eb64ea04-973b-43d2-8f5e-0002a5d5c51b"/>
|
||||
</effectProxy>
|
||||
<effectProxy name="reverb_pre_aux" library="proxy" uuid="1b78f587-6d1c-422e-8b84-0002a5d5c51b">
|
||||
<libsw library="reverb" uuid="f29a1400-a3bb-11df-8ddc-0002a5d5c51b"/>
|
||||
<libhw library="offload_bundle" uuid="6987be09-b142-4b41-9056-0002a5d5c51b"/>
|
||||
</effectProxy>
|
||||
<effectProxy name="reverb_pre_ins" library="proxy" uuid="f3e178d2-ebcb-408e-8357-0002a5d5c51b">
|
||||
<libsw library="reverb" uuid="172cdf00-a3bc-11df-a72f-0002a5d5c51b"/>
|
||||
<libhw library="offload_bundle" uuid="aa2bebf6-47cf-4613-9bca-0002a5d5c51b"/>
|
||||
</effectProxy>
|
||||
<effectProxy name="visualizer" library="proxy" uuid="1d0a1a53-7d5d-48f2-8e71-27fbd10d842c">
|
||||
<libsw library="visualizer_sw" uuid="d069d9e0-8329-11df-9168-0002a5d5c51b"/>
|
||||
<libhw library="visualizer_hw" uuid="7a8044a0-1a71-11e3-a184-0002a5d5c51b"/>
|
||||
</effectProxy>
|
||||
<effect name="downmix" library="downmix" uuid="93f04452-e4fe-41cc-91f9-e475b6d1d69f"/>
|
||||
<effect name="hw_acc" library="offload_bundle" uuid="7d1580bd-297f-4683-9239-e475b6d1d69f"/>
|
||||
<effect name="loudness_enhancer" library="loudness_enhancer" uuid="fa415329-2034-4bea-b5dc-5b381c8d1e2c"/>
|
||||
<effect name="aec" library="audio_pre_processing" uuid="0f8d0d2a-59e5-45fe-b6e4-248c8a799109"/>
|
||||
<effect name="ns" library="audio_pre_processing" uuid="1d97bb0b-9e2f-4403-9ae3-58c2554306f8"/>
|
||||
<effect name="dynamics_processing" library="dynamics_processing" uuid="e0e6539b-1781-7261-676f-6d7573696340"/>
|
||||
</effects>
|
||||
<preprocess>
|
||||
<stream type="voice_communication">
|
||||
<apply effect="aec"/>
|
||||
<apply effect="ns"/>
|
||||
</stream>
|
||||
</preprocess>
|
||||
</audio_effects_conf>
|
||||
@@ -1,30 +1,26 @@
|
||||
global_config {
|
||||
name Sanders
|
||||
sonification_pad 21
|
||||
sonification_pad 20
|
||||
sonification_prox_timeout_sec 5
|
||||
force_ring_ramp true
|
||||
}
|
||||
|
||||
ring {
|
||||
#dB to attenuate playback to meet safety level at each volume step
|
||||
#16 steps total, 15...0. In case of truncated list, last attenuation
|
||||
#given will be applied to all lower volume steps
|
||||
attenuation 35,33,30,28,26,23,21,19,16,14,11,9,7,3,0,0
|
||||
knee_step 16
|
||||
#attenuation 28,28,25,25,22,22,20,20,20,20,20,20,20,20,20,20
|
||||
}
|
||||
|
||||
voice {
|
||||
#dB to attenuate playback to meet safety level at each volume step
|
||||
#16 steps total, 15...0. In case of truncated list, last attenuation
|
||||
#given will be applied to all lower volume steps
|
||||
attenuation 32,29,29,26,26,23,23,20,20,17,17,14,14,11,11,11
|
||||
knee_step 16
|
||||
#attenuation 35,35,32,32,29,29,26,26,23,23,20,20,17,17,14,14
|
||||
}
|
||||
|
||||
media {
|
||||
#dB to attenuate playback to meet safety level at each volume step
|
||||
#16 steps total, 15...0. In case of truncated list, last attenuation
|
||||
#given will be applied to all lower volume steps
|
||||
attenuation 35,33,30,28,26,23,21,19,16,14,11,9,7,3,0,0
|
||||
knee_step 16
|
||||
#attenuation 38,36,34,32,30,28,26,24,22,20,18,16,14,12,10,8
|
||||
}
|
||||
|
||||
56
audio/audio_output_policy.conf
Normal file
56
audio/audio_output_policy.conf
Normal file
@@ -0,0 +1,56 @@
|
||||
# List of profiles for the output device session where stream is routed.
|
||||
# A stream opened with the inputs attributes which match the "flags" and
|
||||
# "formats" as specified in the profile is routed to a device at
|
||||
# sample rate specified under "sampling_rates" and bit width under
|
||||
# "bit_width" and the topology extracted from the acdb data against
|
||||
# the "app_type".
|
||||
#
|
||||
# the flags and formats are specified using the strings corresponding to
|
||||
# enums in audio.h and audio_policy.h. They are concatenated with "|"
|
||||
# without space or "\n".
|
||||
# the flags and formats should match the ones in "audio_policy.conf"
|
||||
|
||||
outputs {
|
||||
default {
|
||||
flags AUDIO_OUTPUT_FLAG_PRIMARY
|
||||
formats AUDIO_FORMAT_PCM_16_BIT
|
||||
sampling_rates 48000
|
||||
bit_width 16
|
||||
app_type 69937
|
||||
}
|
||||
deep_buffer {
|
||||
flags AUDIO_OUTPUT_FLAG_DEEP_BUFFER
|
||||
formats AUDIO_FORMAT_PCM_16_BIT
|
||||
sampling_rates 48000
|
||||
bit_width 16
|
||||
app_type 69936
|
||||
}
|
||||
direct {
|
||||
flags AUDIO_OUTPUT_FLAG_DIRECT
|
||||
formats AUDIO_FORMAT_PCM_16_BIT
|
||||
sampling_rates 48000
|
||||
bit_width 16
|
||||
app_type 69936
|
||||
}
|
||||
direct_pcm {
|
||||
flags AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_DIRECT_PCM
|
||||
formats AUDIO_FORMAT_PCM_16_BIT
|
||||
sampling_rates 44100|48000|96000|192000
|
||||
bit_width 16
|
||||
app_type 69936
|
||||
}
|
||||
compress_offload_16 {
|
||||
flags AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD|AUDIO_OUTPUT_FLAG_NON_BLOCKING
|
||||
formats AUDIO_FORMAT_MP3|AUDIO_FORMAT_AC3|AUDIO_FORMAT_E_AC3|AUDIO_FORMAT_PCM_16_BIT_OFFLOAD|AUDIO_FORMAT_PCM_24_BIT_OFFLOAD|AUDIO_FORMAT_FLAC|AUDIO_FORMAT_ALAC|AUDIO_FORMAT_APE|AUDIO_FORMAT_AAC_LC|AUDIO_FORMAT_AAC_HE_V1|AUDIO_FORMAT_AAC_HE_V2|AUDIO_FORMAT_WMA|AUDIO_FORMAT_WMA_PRO|AUDIO_FORMAT_VORBIS|AUDIO_FORMAT_AAC_ADTS_LC|AUDIO_FORMAT_AAC_ADTS_HE_V1|AUDIO_FORMAT_AAC_ADTS_HE_V2
|
||||
sampling_rates 44100|48000
|
||||
bit_width 16
|
||||
app_type 69936
|
||||
}
|
||||
compress_offload_24 {
|
||||
flags AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD|AUDIO_OUTPUT_FLAG_NON_BLOCKING
|
||||
formats AUDIO_FORMAT_PCM_24_BIT_OFFLOAD|AUDIO_FORMAT_FLAC|AUDIO_FORMAT_ALAC|AUDIO_FORMAT_APE|AUDIO_FORMAT_VORBIS
|
||||
sampling_rates 44100|48000|96000|192000
|
||||
bit_width 24
|
||||
app_type 69940
|
||||
}
|
||||
}
|
||||
67
audio/audio_platform_info_extcodec.xml
Normal file
67
audio/audio_platform_info_extcodec.xml
Normal file
@@ -0,0 +1,67 @@
|
||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<audio_platform_info>
|
||||
|
||||
<acdb_ids>
|
||||
<!-- Output devices -->
|
||||
<device name="SND_DEVICE_OUT_VOICE_HANDSET" acdb_id="7" />
|
||||
<device name="SND_DEVICE_OUT_VOICE_HANDSET_TMUS" acdb_id="7" />
|
||||
<device name="SND_DEVICE_OUT_HEADPHONES" acdb_id="9" />
|
||||
<device name="SND_DEVICE_OUT_SPEAKER_AND_HEADPHONES" acdb_id="9" />
|
||||
<device name="SND_DEVICE_OUT_SPEAKER_SAFE_AND_HEADPHONES" acdb_id="9" />
|
||||
<device name="SND_DEVICE_OUT_SPEAKER" acdb_id="14" />
|
||||
<device name="SND_DEVICE_OUT_SPEAKER_PROTECTED" acdb_id="14" />
|
||||
<device name="SND_DEVICE_OUT_SPEAKER_REVERSE" acdb_id="14" />
|
||||
<device name="SND_DEVICE_OUT_SPEAKER_SAFE" acdb_id="14" />
|
||||
<device name="SND_DEVICE_OUT_VOICE_SPEAKER_PROTECTED" acdb_id="15" />
|
||||
<device name="SND_DEVICE_OUT_SPEAKER_AND_HDMI" acdb_id="18" />
|
||||
<device name="SND_DEVICE_OUT_VOICE_LINE" acdb_id="78" />
|
||||
<device name="SND_DEVICE_OUT_VOLTE_NB_ANC_HANDSET" acdb_id="200" />
|
||||
<device name="SND_DEVICE_OUT_VOLTE_NB_HANDSET_TMUS" acdb_id="200" />
|
||||
<device name="SND_DEVICE_OUT_VOLTE_NB_TX" acdb_id="245" />
|
||||
|
||||
<!-- Input devices -->
|
||||
<device name="SND_DEVICE_IN_CAPTURE_VI_FEEDBACK" acdb_id="0" />
|
||||
<device name="SND_DEVICE_IN_HANDSET_MIC_AEC" acdb_id="4" />
|
||||
<device name="SND_DEVICE_IN_HANDSET_MIC_AEC_NS" acdb_id="4" />
|
||||
<device name="SND_DEVICE_IN_HANDSET_MIC_NS" acdb_id="4" />
|
||||
<device name="SND_DEVICE_IN_VOICE_TTY_VCO_HANDSET_MIC" acdb_id="4" />
|
||||
<device name="SND_DEVICE_IN_SPEAKER_MIC_AEC" acdb_id="11" />
|
||||
<device name="SND_DEVICE_IN_SPEAKER_MIC_AEC_NS" acdb_id="11" />
|
||||
<device name="SND_DEVICE_IN_SPEAKER_MIC_NS" acdb_id="11" />
|
||||
<device name="SND_DEVICE_IN_UNPROCESSED_MIC" acdb_id="11" />
|
||||
<device name="SND_DEVICE_IN_VOICE_REC_DMIC_FLUENCE" acdb_id="35" />
|
||||
<device name="SND_DEVICE_IN_VOICE_DMIC_TMUS" acdb_id="41" />
|
||||
<device name="SND_DEVICE_IN_UNPROCESSED_STEREO_MIC" acdb_id="43" />
|
||||
<device name="SND_DEVICE_IN_HEADSET_MIC_AEC" acdb_id="47" />
|
||||
<device name="SND_DEVICE_IN_VOICE_REC_MIC_AEC" acdb_id="62" />
|
||||
<device name="SND_DEVICE_IN_VOICE_REC_MIC_NS" acdb_id="62" />
|
||||
<device name="SND_DEVICE_IN_HANDSET_DMIC_AEC" acdb_id="111" />
|
||||
<device name="SND_DEVICE_IN_HANDSET_DMIC_NS" acdb_id="111" />
|
||||
<device name="SND_DEVICE_IN_SPEAKER_DMIC_AEC" acdb_id="117" />
|
||||
<device name="SND_DEVICE_IN_SPEAKER_DMIC_NS" acdb_id="117" />
|
||||
<device name="SND_DEVICE_IN_QUAD_MIC" acdb_id="125" />
|
||||
<device name="SND_DEVICE_IN_THREE_MIC" acdb_id="125" />
|
||||
</acdb_ids>
|
||||
|
||||
<pcm_ids>
|
||||
<usecase name="USECASE_AUDIO_PLAYBACK_LOW_LATENCY" type="out" id="12" />
|
||||
<usecase name="USECASE_AUDIO_RECORD_LOW_LATENCY" type="in" id="12" />
|
||||
<usecase name="USECASE_VOICEMMODE1_CALL" type="in" id="35" />
|
||||
<usecase name="USECASE_VOICEMMODE1_CALL" type="out" id="35" />
|
||||
<usecase name="USECASE_VOICEMMODE2_CALL" type="in" id="36" />
|
||||
<usecase name="USECASE_VOICEMMODE2_CALL" type="out" id="36" />
|
||||
<usecase name="USECASE_AUDIO_DSM_FEEDBACK" type="in" id="61" />
|
||||
<usecase name="USECASE_MOTVR_COMMAND" type="in" id="40" />
|
||||
<usecase name="USECASE_MOTVR_TRACE" type="in" id="41" />
|
||||
</pcm_ids>
|
||||
|
||||
<backend_names>
|
||||
<device name="SND_DEVICE_OUT_HEADPHONES" backend="headphones" />
|
||||
<device name="SND_DEVICE_OUT_LINE" backend="headphones" />
|
||||
</backend_names>
|
||||
|
||||
<config_params>
|
||||
<param key="input_mic_max_count" value="3"/>
|
||||
</config_params>
|
||||
|
||||
</audio_platform_info>
|
||||
123
audio/audio_policy.conf
Normal file
123
audio/audio_policy.conf
Normal file
@@ -0,0 +1,123 @@
|
||||
# Global configuration section:
|
||||
# - lists input and output devices always present on the device
|
||||
# as well as the output device selected by default.
|
||||
# Devices are designated by a string that corresponds to the enum in audio.h
|
||||
# - defines whether the speaker output path uses DRC
|
||||
# "TRUE" means DRC is enabled, "FALSE" or omission means DRC isn't used.
|
||||
|
||||
global_configuration {
|
||||
attached_output_devices AUDIO_DEVICE_OUT_EARPIECE|AUDIO_DEVICE_OUT_SPEAKER|AUDIO_DEVICE_OUT_TELEPHONY_TX
|
||||
default_output_device AUDIO_DEVICE_OUT_SPEAKER
|
||||
attached_input_devices AUDIO_DEVICE_IN_BUILTIN_MIC|AUDIO_DEVICE_IN_BACK_MIC|AUDIO_DEVICE_IN_REMOTE_SUBMIX|AUDIO_DEVICE_IN_FM_TUNER|AUDIO_DEVICE_IN_TELEPHONY_RX
|
||||
}
|
||||
|
||||
# audio hardware module section: contains descriptors for all audio hw modules present on the
|
||||
# device. Each hw module node is named after the corresponding hw module library base name.
|
||||
# For instance, "primary" corresponds to audio.primary.<device>.so.
|
||||
# The "primary" module is mandatory and must include at least one output with
|
||||
# AUDIO_OUTPUT_FLAG_PRIMARY flag.
|
||||
# Each module descriptor contains one or more output profile descriptors and zero or more
|
||||
# input profile descriptors. Each profile lists all the parameters supported by a given output
|
||||
# or input stream category.
|
||||
# The "channel_masks", "formats", "devices" and "flags" are specified using strings corresponding
|
||||
# to enums in audio.h and audio_policy.h. They are concatenated by use of "|" without space or "\n".
|
||||
|
||||
audio_hw_modules {
|
||||
primary {
|
||||
outputs {
|
||||
primary {
|
||||
sampling_rates 44100|48000
|
||||
channel_masks AUDIO_CHANNEL_OUT_STEREO
|
||||
formats AUDIO_FORMAT_PCM_16_BIT
|
||||
devices AUDIO_DEVICE_OUT_EARPIECE|AUDIO_DEVICE_OUT_SPEAKER|AUDIO_DEVICE_OUT_WIRED_HEADSET|AUDIO_DEVICE_OUT_WIRED_HEADPHONE|AUDIO_DEVICE_OUT_ALL_SCO|AUDIO_DEVICE_OUT_LINE|AUDIO_DEVICE_OUT_ANLG_DOCK_HEADSET|AUDIO_DEVICE_OUT_FM
|
||||
flags AUDIO_OUTPUT_FLAG_FAST|AUDIO_OUTPUT_FLAG_PRIMARY
|
||||
}
|
||||
deep_buffer {
|
||||
sampling_rates 8000|11025|12000|16000|22050|24000|32000|44100|48000
|
||||
channel_masks AUDIO_CHANNEL_OUT_STEREO
|
||||
formats AUDIO_FORMAT_PCM_16_BIT
|
||||
devices AUDIO_DEVICE_OUT_EARPIECE|AUDIO_DEVICE_OUT_SPEAKER|AUDIO_DEVICE_OUT_WIRED_HEADSET|AUDIO_DEVICE_OUT_WIRED_HEADPHONE|AUDIO_DEVICE_OUT_ALL_SCO|AUDIO_DEVICE_OUT_LINE|AUDIO_DEVICE_OUT_ANLG_DOCK_HEADSET
|
||||
flags AUDIO_OUTPUT_FLAG_DEEP_BUFFER
|
||||
}
|
||||
compress_offload {
|
||||
sampling_rates 8000|11025|12000|16000|22050|24000|32000|44100|48000|88200|96000|176400|192000
|
||||
channel_masks AUDIO_CHANNEL_OUT_MONO|AUDIO_CHANNEL_OUT_STEREO
|
||||
formats AUDIO_FORMAT_MP3|AUDIO_FORMAT_AAC_LC|AUDIO_FORMAT_AAC_HE_V1|AUDIO_FORMAT_AAC_HE_V2|AUDIO_FORMAT_FLAC
|
||||
devices AUDIO_DEVICE_OUT_EARPIECE|AUDIO_DEVICE_OUT_SPEAKER|AUDIO_DEVICE_OUT_WIRED_HEADSET|AUDIO_DEVICE_OUT_WIRED_HEADPHONE|AUDIO_DEVICE_OUT_ALL_SCO|AUDIO_DEVICE_OUT_LINE
|
||||
flags AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD|AUDIO_OUTPUT_FLAG_NON_BLOCKING
|
||||
}
|
||||
voice_tx {
|
||||
sampling_rates 8000|16000|48000
|
||||
channel_masks AUDIO_CHANNEL_OUT_STEREO|AUDIO_CHANNEL_OUT_MONO
|
||||
formats AUDIO_FORMAT_PCM_16_BIT
|
||||
devices AUDIO_DEVICE_OUT_TELEPHONY_TX
|
||||
}
|
||||
}
|
||||
inputs {
|
||||
primary {
|
||||
sampling_rates 8000|11025|12000|16000|22050|24000|32000|44100|48000
|
||||
channel_masks AUDIO_CHANNEL_IN_MONO|AUDIO_CHANNEL_IN_STEREO
|
||||
formats AUDIO_FORMAT_PCM_16_BIT
|
||||
devices AUDIO_DEVICE_IN_BUILTIN_MIC|AUDIO_DEVICE_IN_WIRED_HEADSET|AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET|AUDIO_DEVICE_IN_BACK_MIC|AUDIO_DEVICE_IN_FM_TUNER
|
||||
}
|
||||
voice_rx {
|
||||
sampling_rates 8000|16000|48000
|
||||
channel_masks AUDIO_CHANNEL_IN_STEREO|AUDIO_CHANNEL_IN_MONO
|
||||
formats AUDIO_FORMAT_PCM_16_BIT
|
||||
devices AUDIO_DEVICE_IN_TELEPHONY_RX
|
||||
}
|
||||
}
|
||||
}
|
||||
a2dp {
|
||||
outputs {
|
||||
a2dp {
|
||||
sampling_rates 44100
|
||||
channel_masks AUDIO_CHANNEL_OUT_STEREO
|
||||
formats AUDIO_FORMAT_PCM_16_BIT
|
||||
devices AUDIO_DEVICE_OUT_ALL_A2DP
|
||||
}
|
||||
}
|
||||
}
|
||||
usb {
|
||||
outputs {
|
||||
usb_accessory {
|
||||
sampling_rates 44100
|
||||
channel_masks AUDIO_CHANNEL_OUT_STEREO
|
||||
formats AUDIO_FORMAT_PCM_16_BIT
|
||||
devices AUDIO_DEVICE_OUT_USB_ACCESSORY
|
||||
}
|
||||
usb_device {
|
||||
sampling_rates dynamic
|
||||
channel_masks dynamic
|
||||
formats dynamic
|
||||
devices AUDIO_DEVICE_OUT_USB_DEVICE|AUDIO_DEVICE_OUT_USB_HEADSET
|
||||
}
|
||||
}
|
||||
inputs {
|
||||
usb_device {
|
||||
sampling_rates dynamic
|
||||
channel_masks dynamic
|
||||
formats dynamic
|
||||
devices AUDIO_DEVICE_IN_USB_DEVICE|AUDIO_DEVICE_IN_USB_HEADSET
|
||||
}
|
||||
}
|
||||
}
|
||||
r_submix {
|
||||
outputs {
|
||||
submix {
|
||||
sampling_rates 48000
|
||||
channel_masks AUDIO_CHANNEL_OUT_STEREO
|
||||
formats AUDIO_FORMAT_PCM_16_BIT
|
||||
devices AUDIO_DEVICE_OUT_REMOTE_SUBMIX
|
||||
}
|
||||
}
|
||||
inputs {
|
||||
submix {
|
||||
sampling_rates 48000
|
||||
channel_masks AUDIO_CHANNEL_IN_STEREO
|
||||
formats AUDIO_FORMAT_PCM_16_BIT
|
||||
devices AUDIO_DEVICE_IN_REMOTE_SUBMIX
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,203 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<!-- Copyright (C) 2016 The Android Open Source Project
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
|
||||
<audioPolicyConfiguration version="1.0" xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||
<globalConfiguration speaker_drc_enabled="true"/>
|
||||
|
||||
<modules>
|
||||
<module name="primary" halVersion="2.0">
|
||||
<attachedDevices>
|
||||
<item>Speaker</item>
|
||||
<item>Earpiece</item>
|
||||
<item>Telephony Tx</item>
|
||||
<item>FM Tuner</item>
|
||||
<item>Built-In Mic</item>
|
||||
<item>Built-In Back Mic</item>
|
||||
<item>Telephony Rx</item>
|
||||
</attachedDevices>
|
||||
<defaultOutputDevice>Speaker</defaultOutputDevice>
|
||||
<mixPorts>
|
||||
<mixPort name="primary output" role="source" flags="AUDIO_OUTPUT_FLAG_PRIMARY|AUDIO_OUTPUT_FLAG_FAST">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="44100,48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</mixPort>
|
||||
<mixPort name="deep_buffer" role="source"
|
||||
flags="AUDIO_OUTPUT_FLAG_DEEP_BUFFER">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</mixPort>
|
||||
<mixPort name="compressed_offload" role="source"
|
||||
flags="AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD|AUDIO_OUTPUT_FLAG_NON_BLOCKING">
|
||||
<profile name="" format="AUDIO_FORMAT_MP3"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
|
||||
<profile name="" format="AUDIO_FORMAT_AAC_LC"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,88200,96000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
|
||||
<profile name="" format="AUDIO_FORMAT_AAC_HE_V1"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,88200,96000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
|
||||
<profile name="" format="AUDIO_FORMAT_AAC_HE_V2"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,88200,96000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
|
||||
<profile name="" format="AUDIO_FORMAT_FLAC"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000,88200,96000,176400,192000"
|
||||
channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
|
||||
</mixPort>
|
||||
<mixPort name="voice_tx" role="source">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,16000,48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_MONO"/>
|
||||
</mixPort>
|
||||
<mixPort name="primary input" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_INDEX_MASK_3"/>
|
||||
</mixPort>
|
||||
<mixPort name="fast input" role="sink" flags="AUDIO_INPUT_FLAG_FAST">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_INDEX_MASK_3"/>
|
||||
</mixPort>
|
||||
<mixPort name="voice_rx" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,16000,48000" channelMasks="AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_MONO"/>
|
||||
</mixPort>
|
||||
</mixPorts>
|
||||
<devicePorts>
|
||||
<devicePort tagName="Earpiece" type="AUDIO_DEVICE_OUT_EARPIECE" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_IN_MONO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="Speaker" type="AUDIO_DEVICE_OUT_SPEAKER" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="Wired Headset" type="AUDIO_DEVICE_OUT_WIRED_HEADSET" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="Wired Headphones" type="AUDIO_DEVICE_OUT_WIRED_HEADPHONE" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="Line" type="AUDIO_DEVICE_OUT_LINE" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="BT SCO" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,16000" channelMasks="AUDIO_CHANNEL_OUT_MONO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="BT SCO Headset" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_HEADSET" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,16000" channelMasks="AUDIO_CHANNEL_OUT_MONO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="BT SCO Car Kit" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_CARKIT" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,16000" channelMasks="AUDIO_CHANNEL_OUT_MONO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="BT SCO All" type="AUDIO_DEVICE_OUT_ALL_SCO" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,16000" channelMasks="AUDIO_CHANNEL_OUT_MONO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="Telephony Tx" type="AUDIO_DEVICE_OUT_TELEPHONY_TX" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,16000" channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="FM" type="AUDIO_DEVICE_OUT_FM" role="sink">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="44100,48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="Built-In Mic" type="AUDIO_DEVICE_IN_BUILTIN_MIC" role="source">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="Built-In Back Mic" type="AUDIO_DEVICE_IN_BACK_MIC" role="source">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="FM Tuner" type="AUDIO_DEVICE_IN_FM_TUNER" role="source">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="Wired Headset Mic" type="AUDIO_DEVICE_IN_WIRED_HEADSET" role="source">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
|
||||
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="BT SCO Headset Mic" type="AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET" role="source">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,16000" channelMasks="AUDIO_CHANNEL_IN_MONO"/>
|
||||
</devicePort>
|
||||
<devicePort tagName="Telephony Rx" type="AUDIO_DEVICE_IN_TELEPHONY_RX" role="source">
|
||||
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||
samplingRates="8000,16000,48000" channelMasks="AUDIO_CHANNEL_IN_MONO"/>
|
||||
</devicePort>
|
||||
</devicePorts>
|
||||
<routes>
|
||||
<route type="mix" sink="Earpiece"
|
||||
sources="primary output,deep_buffer"/>
|
||||
<route type="mix" sink="Speaker"
|
||||
sources="primary output,deep_buffer,compressed_offload"/>
|
||||
<route type="mix" sink="Wired Headset"
|
||||
sources="primary output,deep_buffer,compressed_offload"/>
|
||||
<route type="mix" sink="Wired Headphones"
|
||||
sources="primary output,deep_buffer,compressed_offload"/>
|
||||
<route type="mix" sink="FM"
|
||||
sources="primary output"/>
|
||||
<route type="mix" sink="Line"
|
||||
sources="primary output,deep_buffer,compressed_offload"/>
|
||||
<route type="mix" sink="BT SCO"
|
||||
sources="primary output,deep_buffer"/>
|
||||
<route type="mix" sink="BT SCO Headset"
|
||||
sources="primary output,deep_buffer"/>
|
||||
<route type="mix" sink="BT SCO Car Kit"
|
||||
sources="primary output,deep_buffer"/>
|
||||
<route type="mix" sink="BT SCO All"
|
||||
sources="primary output,deep_buffer"/>
|
||||
<route type="mix" sink="Telephony Tx"
|
||||
sources="voice_tx"/>
|
||||
<route type="mix" sink="primary input"
|
||||
sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic,BT SCO Headset Mic,FM Tuner"/>
|
||||
<route type="mix" sink="fast input"
|
||||
sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic,BT SCO Headset Mic"/>
|
||||
<route type="mix" sink="voice_rx"
|
||||
sources="Telephony Rx"/>
|
||||
</routes>
|
||||
|
||||
</module>
|
||||
|
||||
<!-- A2dp Audio HAL -->
|
||||
<xi:include href="/vendor/etc/a2dp_audio_policy_configuration.xml"/>
|
||||
|
||||
<!-- Usb Audio HAL -->
|
||||
<xi:include href="/vendor/etc/usb_audio_policy_configuration.xml"/>
|
||||
|
||||
<!-- Remote Submix Audio HAL -->
|
||||
<xi:include href="/vendor/etc/r_submix_audio_policy_configuration.xml"/>
|
||||
|
||||
</modules>
|
||||
|
||||
<!-- Volume section -->
|
||||
<xi:include href="/vendor/etc/audio_policy_volumes.xml"/>
|
||||
<xi:include href="/vendor/etc/default_volume_tables.xml"/>
|
||||
|
||||
</audioPolicyConfiguration>
|
||||
|
||||
@@ -1,144 +0,0 @@
|
||||
#ANC_TEST_P_PATH_MIC_STEREO Capture
|
||||
acdb_dev_id:85
|
||||
!Capture
|
||||
Txdevice:0
|
||||
|
||||
enable
|
||||
TX7 HPF Switch:0
|
||||
TX8 HPF Switch:0
|
||||
AIF1_CAP Mixer SLIM TX7:1
|
||||
AIF1_CAP Mixer SLIM TX8:1
|
||||
SLIM TX7 MUX:DEC9
|
||||
DEC9 MUX:DMIC4
|
||||
SLIM TX8 MUX:DEC10
|
||||
DEC10 MUX:DMIC3
|
||||
SLIM_0_TX Channels:Two
|
||||
MultiMedia1 Mixer SLIM_0_TX:1
|
||||
|
||||
disable
|
||||
MultiMedia1 Mixer SLIM_0_TX:0
|
||||
AIF1_CAP Mixer SLIM TX7:0
|
||||
AIF1_CAP Mixer SLIM TX8:0
|
||||
SLIM TX7 MUX:ZERO
|
||||
SLIM TX8 MUX:ZERO
|
||||
DEC10 MUX:ZERO
|
||||
DEC9 MUX:ZERO
|
||||
TX7 HPF Switch:0
|
||||
TX8 HPF Switch:0
|
||||
|
||||
#ANC_TEST_S_PATH_MIC_STEREO Capture
|
||||
acdb_dev_id:88
|
||||
!Capture
|
||||
Txdevice:0
|
||||
|
||||
enable
|
||||
TX7 HPF Switch:0
|
||||
TX8 HPF Switch:0
|
||||
AIF1_CAP Mixer SLIM TX7:1
|
||||
AIF1_CAP Mixer SLIM TX8:1
|
||||
SLIM TX7 MUX:DEC8
|
||||
DEC7 MUX:ANC2_FB
|
||||
ANC2 MUX:DMIC3
|
||||
SLIM TX8 MUX:DEC7
|
||||
DEC8 MUX:ANC1_FB
|
||||
ANC1 MUX:DMIC3
|
||||
ANC1 FB MUX:EAR_HPH_L
|
||||
SLIM_0_TX Channels:Two
|
||||
MultiMedia1 Mixer SLIM_0_TX:1
|
||||
|
||||
disable
|
||||
MultiMedia1 Mixer SLIM_0_TX:0
|
||||
AIF1_CAP Mixer SLIM TX7:0
|
||||
AIF1_CAP Mixer SLIM TX8:0
|
||||
SLIM TX7 MUX:ZERO
|
||||
SLIM TX8 MUX:ZERO
|
||||
DEC7 MUX:ZERO
|
||||
ANC2 MUX:ZERO
|
||||
ANC1 MUX:ZERO
|
||||
DEC8 MUX:ZERO
|
||||
ANC1 FB MUX:ZERO
|
||||
TX7 HPF Switch:0
|
||||
TX8 HPF Switch:0
|
||||
|
||||
#ANC_TEST_E_PATH_MIC_STEREO Capture
|
||||
acdb_dev_id:91
|
||||
!Capture
|
||||
Txdevice:0
|
||||
|
||||
enable
|
||||
TX7 HPF Switch:0
|
||||
TX8 HPF Switch:0
|
||||
AIF1_CAP Mixer SLIM TX7:1
|
||||
AIF1_CAP Mixer SLIM TX8:1
|
||||
SLIM TX7 MUX:DEC8
|
||||
DEC7 MUX:ANC2_FB
|
||||
ANC2 MUX:DMIC4
|
||||
ANC1 MUX:DMIC4
|
||||
SLIM TX8 MUX:DEC7
|
||||
DEC8 MUX:ANC1_FB
|
||||
ANC1 FB MUX:EAR_HPH_L
|
||||
SLIM_0_TX Channels:Two
|
||||
MultiMedia1 Mixer SLIM_0_TX:1
|
||||
|
||||
disable
|
||||
MultiMedia1 Mixer SLIM_0_TX:0
|
||||
AIF1_CAP Mixer SLIM TX7:0
|
||||
AIF1_CAP Mixer SLIM TX8:0
|
||||
SLIM TX7 MUX:ZERO
|
||||
SLIM TX8 MUX:ZERO
|
||||
DEC7 MUX:ZERO
|
||||
ANC2 MUX:ZERO
|
||||
DEC10 MUX:ZERO
|
||||
ANC1 FB MUX:ZERO
|
||||
TX7 HPF Switch:0
|
||||
TX8 HPF Switch:0
|
||||
|
||||
#ANC_TEST_S_PATH_HANDSET_SPKR_ANC_MONO
|
||||
acdb_dev_id:86
|
||||
!Playback
|
||||
Rxdevice:0
|
||||
|
||||
enable
|
||||
ANC Function:ON
|
||||
SLIM RX1 MUX:AIF1_PB
|
||||
SLIM_0_RX Channels:One
|
||||
RX1 MIX1 INP1:RX1
|
||||
CLASS_H_DSM MUX:DSM_HPHL_RX1
|
||||
RX1 Digital Volume:87
|
||||
DAC1 Switch:1
|
||||
ANC Slot:7
|
||||
SLIMBUS_0_RX Audio Mixer MultiMedia1:1
|
||||
|
||||
disable
|
||||
SLIMBUS_0_RX Audio Mixer MultiMedia1:0
|
||||
ANC Slot:0
|
||||
SLIM RX1 MUX:ZERO
|
||||
RX1 MIX1 INP1:ZERO
|
||||
RX1 Digital Volume:0
|
||||
DAC1 Switch:0
|
||||
ANC Function:OFF
|
||||
|
||||
#ANC_TEST_E_PATH_HANDSET_SPKR_ANC_MONO
|
||||
acdb_dev_id:89
|
||||
!Playback
|
||||
Rxdevice:0
|
||||
|
||||
enable
|
||||
ANC Function:ON
|
||||
SLIM RX1 MUX:AIF1_PB
|
||||
SLIM_0_RX Channels:One
|
||||
RX1 MIX1 INP1:RX1
|
||||
CLASS_H_DSM MUX:DSM_HPHL_RX1
|
||||
RX1 Digital Volume:87
|
||||
DAC1 Switch:1
|
||||
ANC Slot:8
|
||||
SLIMBUS_0_RX Audio Mixer MultiMedia1:1
|
||||
|
||||
disable
|
||||
SLIMBUS_0_RX Audio Mixer MultiMedia1:0
|
||||
ANC Slot:0
|
||||
SLIM RX1 MUX:ZERO
|
||||
RX1 MIX1 INP1:ZERO
|
||||
RX1 Digital Volume:0
|
||||
DAC1 Switch:0
|
||||
ANC Function:OFF
|
||||
@@ -23,9 +23,9 @@
|
||||
<ctl name="RX HPH Mode" value="NORMAL" />
|
||||
<ctl name="COMP0 RX1" value="0" />
|
||||
<ctl name="COMP0 RX2" value="0" />
|
||||
<ctl name="RX1 Digital Volume" value="88" />
|
||||
<ctl name="RX2 Digital Volume" value="88" />
|
||||
<ctl name="RX3 Digital Volume" value="88" />
|
||||
<ctl name="RX1 Digital Volume" value="84" />
|
||||
<ctl name="RX2 Digital Volume" value="84" />
|
||||
<ctl name="RX3 Digital Volume" value="84" />
|
||||
<ctl name="IIR1 INP1 MUX" value="ZERO" />
|
||||
<ctl name="IIR1 INP1 Volume" value="84" />
|
||||
<ctl name="IIR1 INP2 Volume" value="84" />
|
||||
@@ -839,7 +839,7 @@
|
||||
<path name="handset">
|
||||
<ctl name="RX1 MIX1 INP1" value="RX1" />
|
||||
<ctl name="RDAC2 MUX" value="RX1" />
|
||||
<ctl name="RX1 Digital Volume" value="87" />
|
||||
<ctl name="RX1 Digital Volume" value="84" />
|
||||
<ctl name="EAR PA Gain" value="POS_6_DB" />
|
||||
<ctl name="EAR_S" value="Switch" />
|
||||
<ctl name="OSPL Rx" value="Disable" />
|
||||
@@ -852,8 +852,8 @@
|
||||
|
||||
<path name="headphones">
|
||||
<ctl name="MI2S_RX Channels" value="Two" />
|
||||
<ctl name="RX1 Digital Volume" value="86" />
|
||||
<ctl name="RX2 Digital Volume" value="86" />
|
||||
<ctl name="RX1 Digital Volume" value="77" />
|
||||
<ctl name="RX2 Digital Volume" value="77" />
|
||||
<ctl name="RX1 MIX1 INP1" value="RX1" />
|
||||
<ctl name="RX2 MIX1 INP1" value="RX2" />
|
||||
<ctl name="RX HPH Mode" value="HD2" />
|
||||
|
||||
@@ -17,6 +17,9 @@
|
||||
#ifndef _BDROID_BUILDCFG_H
|
||||
#define _BDROID_BUILDCFG_H
|
||||
|
||||
#include <cutils/properties.h>
|
||||
#include <string.h>
|
||||
|
||||
#define BTM_DEF_LOCAL_NAME "Moto G5S Plus"
|
||||
#define BLUETOOTH_QTI_SW TRUE
|
||||
#define MAX_ACL_CONNECTIONS 16
|
||||
@@ -26,5 +29,4 @@
|
||||
#define BTM_WBS_INCLUDED TRUE
|
||||
#define BTIF_HF_WBS_PREFERRED TRUE
|
||||
#define BTM_SCO_ENHANCED_SYNC_ENABLED FALSE
|
||||
#undef PROPERTY_VALUE_MAX
|
||||
#endif
|
||||
|
||||
85
config.fs
85
config.fs
@@ -13,76 +13,61 @@
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
[AID_VENDOR_QCOM_DIAG]
|
||||
value:2950
|
||||
|
||||
[AID_VENDOR_RFS]
|
||||
[AID_RFS]
|
||||
value:2951
|
||||
|
||||
[AID_VENDOR_RFS_SHARED]
|
||||
[AID_RFS_SHARED]
|
||||
value:2952
|
||||
|
||||
[vendor/bin/wcnss_filter]
|
||||
[system/vendor/bin/wcnss_filter]
|
||||
mode: 0755
|
||||
user: AID_BLUETOOTH
|
||||
group: AID_BLUETOOTH
|
||||
caps: BLOCK_SUSPEND
|
||||
|
||||
[vendor/bin/cnss-daemon]
|
||||
[system/vendor/bin/cnss-daemon]
|
||||
mode: 0755
|
||||
user: AID_BLUETOOTH
|
||||
group: AID_BLUETOOTH
|
||||
caps: NET_BIND_SERVICE
|
||||
|
||||
[vendor/bin/imsdatadaemon]
|
||||
[system/vendor/bin/imsdatadaemon]
|
||||
user: AID_SYSTEM
|
||||
group: AID_SYSTEM
|
||||
mode: 0755
|
||||
caps: NET_BIND_SERVICE
|
||||
|
||||
[vendor/bin/ims_rtp_daemon]
|
||||
[system/vendor/bin/ims_rtp_daemon]
|
||||
user: AID_SYSTEM
|
||||
group: AID_RADIO
|
||||
mode: 0755
|
||||
caps: NET_BIND_SERVICE
|
||||
|
||||
[vendor/bin/pm-service]
|
||||
[system/vendor/bin/pm-service]
|
||||
user: AID_SYSTEM
|
||||
group: AID_SYSTEM
|
||||
mode: 0755
|
||||
caps: NET_BIND_SERVICE
|
||||
|
||||
[vendor/bin/cnd]
|
||||
[system/vendor/bin/cnd]
|
||||
mode: 0755
|
||||
user: AID_SYSTEM
|
||||
group: AID_SYSTEM
|
||||
caps: NET_BIND_SERVICE BLOCK_SUSPEND NET_ADMIN
|
||||
|
||||
[vendor/bin/slim_daemon]
|
||||
[system/vendor/bin/slim_daemon]
|
||||
mode: 0755
|
||||
user: AID_GPS
|
||||
group: AID_GPS
|
||||
caps: NET_BIND_SERVICE
|
||||
|
||||
[vendor/bin/loc_launcher]
|
||||
mode: 0755
|
||||
user: AID_GPS
|
||||
group: AID_GPS
|
||||
caps: SETUID SETGID
|
||||
|
||||
[vendor/bin/xtwifi-client]
|
||||
[system/vendor/bin/xtwifi-client]
|
||||
mode: 0755
|
||||
user: AID_GPS
|
||||
group: AID_GPS
|
||||
caps: NET_BIND_SERVICE BLOCK_SUSPEND
|
||||
|
||||
[vendor/bin/sensors.qti]
|
||||
mode: 0755
|
||||
user: AID_SYSTEM
|
||||
group: AID_SYSTEM
|
||||
caps: NET_BIND_SERVICE
|
||||
|
||||
[vendor/bin/mm-qcamera-daemon]
|
||||
[system/vendor/bin/mm-qcamera-daemon]
|
||||
mode: 0700
|
||||
user: AID_CAMERA
|
||||
group: AID_SHELL
|
||||
@@ -100,74 +85,74 @@ user: AID_SYSTEM
|
||||
group: AID_SYSTEM
|
||||
caps: 0
|
||||
|
||||
[AID_VENDOR_MOT_ACCY]
|
||||
[AID_MOT_ACCY]
|
||||
value: 5000
|
||||
|
||||
[AID_VENDOR_MOT_PWRIC]
|
||||
[AID_MOT_PWRIC]
|
||||
value: 5001
|
||||
|
||||
[AID_VENDOR_MOT_USB]
|
||||
[AID_MOT_USB]
|
||||
value: 5002
|
||||
|
||||
[AID_VENDOR_MOT_DRM]
|
||||
[AID_MOT_DRM]
|
||||
value: 5003
|
||||
|
||||
[AID_VENDOR_MOT_TCMD]
|
||||
[AID_MOT_TCMD]
|
||||
value: 5004
|
||||
|
||||
[AID_VENDOR_MOT_SEC_RTC]
|
||||
[AID_MOT_SEC_RTC]
|
||||
value: 5005
|
||||
|
||||
[AID_VENDOR_MOT_TOMBSTONE]
|
||||
[AID_MOT_TOMBSTONE]
|
||||
value: 5006
|
||||
|
||||
[AID_VENDOR_MOT_TPAPI]
|
||||
[AID_MOT_TPAPI]
|
||||
value: 5007
|
||||
|
||||
[AID_VENDOR_MOT_SECCLKD]
|
||||
[AID_MOT_SECCLKD]
|
||||
value: 5008
|
||||
|
||||
[AID_VENDOR_MOT_WHISPER]
|
||||
[AID_MOT_WHISPER]
|
||||
value: 5009
|
||||
|
||||
[AID_VENDOR_MOT_CAIF]
|
||||
[AID_MOT_CAIF]
|
||||
value: 5010
|
||||
|
||||
[AID_VENDOR_MOT_DLNA]
|
||||
[AID_MOT_DLNA]
|
||||
value: 5011
|
||||
|
||||
[AID_VENDOR_MOT_ATVC]
|
||||
[AID_MOT_ATVC]
|
||||
value: 5012
|
||||
|
||||
[AID_VENDOR_MOT_DBVC]
|
||||
[AID_MOT_DBVC]
|
||||
value: 5014
|
||||
|
||||
[AID_VENDOR_FINGERP]
|
||||
[AID_FINGERP]
|
||||
value: 5015
|
||||
|
||||
[AID_VENDOR_MOT_ESDFS]
|
||||
[AID_MOT_ESDFS]
|
||||
value: 5016
|
||||
|
||||
[AID_VENDOR_MOT_ESDFS]
|
||||
[AID_MOT_ESDFS]
|
||||
value: 5016
|
||||
|
||||
[AID_VENDOR_MOT_ESDFS]
|
||||
[AID_MOT_ESDFS]
|
||||
value: 5016
|
||||
|
||||
[AID_VENDOR_POWER]
|
||||
[AID_POWER]
|
||||
value: 5017
|
||||
|
||||
[AID_VENDOR_ITSON]
|
||||
[AID_ITSON]
|
||||
value: 5018
|
||||
|
||||
[AID_VENDOR_MOT_DTV]
|
||||
[AID_MOT_DTV]
|
||||
value: 5019
|
||||
|
||||
[AID_VENDOR_MOT_MOD]
|
||||
[AID_MOT_MOD]
|
||||
value: 5020
|
||||
|
||||
[AID_VENDOR_MOT_SHARED]
|
||||
[AID_MOT_SHARED]
|
||||
value: 5323
|
||||
|
||||
[AID_VENDOR_MOT_COMMON]
|
||||
[AID_MOT_COMMON]
|
||||
value: 5341
|
||||
|
||||
59
configs/calibration_cad.xml
Normal file
59
configs/calibration_cad.xml
Normal file
@@ -0,0 +1,59 @@
|
||||
<!-- This calibration file was created by fidning an average of the factory
|
||||
calibration for 12 different marlin devices -->
|
||||
<rig>
|
||||
<device_id>0</device_id>
|
||||
<camera>
|
||||
<camera_model name="" index="3" type="calibu_fu_fv_u0_v0_k1_k2_k3">
|
||||
<width>320</width>
|
||||
<height>180</height>
|
||||
<params> [260.215; 260.277; 157.511; 86.24160000000001; 0.23834; -0.688656; 0.664354] </params>
|
||||
</camera_model>
|
||||
<pose />
|
||||
</camera>
|
||||
<camera>
|
||||
<camera_model name="Narrow" index="1" type="calibu_fu_fv_u0_v0_k1_k2_k3">
|
||||
<width>1920</width>
|
||||
<height>1080</height>
|
||||
<params> [1436.454; 1436.235; 961.194; 544.107; 0.0226009; -0.0657141; 0.0971462] </params>
|
||||
</camera_model>
|
||||
<pose />
|
||||
</camera>
|
||||
<camera>
|
||||
<camera_model name="MotionTracking" index="0" type="calibu_fu_fv_u0_v0_k1_k2_k3">
|
||||
<rolling_shutter_readout_time>0.032</rolling_shutter_readout_time>
|
||||
<rolling_shutter_direction>vertical</rolling_shutter_direction>
|
||||
<width>640</width>
|
||||
<height>480</height>
|
||||
<params> [478.818; 478.745; 320.398; 241.369; 0.0226009; -0.0657141; 0.0971462] </params>
|
||||
</camera_model>
|
||||
<pose />
|
||||
</camera>
|
||||
|
||||
<intrinsic_imu_calibration name="" imu_id="100" type="linear_imu_sg_mg_sa_ma_gqa">
|
||||
<b_w_b_a> [-3.07369782e-04; 4.28678044e-04; 9.12135974e-05; -1.85969238e-02; 2.03411118e-01; 5.32338456e-02] </b_w_b_a>
|
||||
<intrinsics> [1.010190509929088; 0.99952874560230054; 0.99875073981115248; 0.00020295094237530545; -0.0010146324225753722; -0.0015288737491827727; 1.0037397346218304; 0.9998363203309959; 1.0086648122514161; -2.7183776773623861e-05; -0.011104403267733234; 0.0017284620688527564; 9.30533440e-04; 4.04378542e-03; -2.00236441e-03; 9.99989386e-01] </intrinsics>
|
||||
<gyro_noise_sigma>0.00053088400000000002</gyro_noise_sigma>
|
||||
<gyro_bias_sigma>0.000141254</gyro_bias_sigma>
|
||||
<accel_noise_sigma>0.0048836499999999998</accel_noise_sigma>
|
||||
<accel_bias_sigma>0.012589299999999999</accel_bias_sigma>
|
||||
</intrinsic_imu_calibration>
|
||||
|
||||
<extrinsic_calibration name="Device_T_OpenGl" index="0" frame_A_id="40" frame_B_id="42">
|
||||
<A_T_B> [0, 1, 0, 0; -1, 0, 0, 0; 0, 0, 1, 0] </A_T_B>
|
||||
</extrinsic_calibration>
|
||||
<extrinsic_calibration name="Imu_T_Device" index="0" frame_A_id="100" frame_B_id="40">
|
||||
<A_T_B> [0, -1, 0, 0; 1, 0, 0, 0; 0, 0, 1, 0] </A_T_B>
|
||||
</extrinsic_calibration>
|
||||
<extrinsic_calibration name="Imu_T_3" index="0" frame_A_id="100" frame_B_id="3">
|
||||
<A_q_B> [-0.99996425050397042; 0.00011372; -0.00485282; 0.00692351] </A_q_B>
|
||||
<A_p_B> [-0.008424721099186037; 0.007710053076859457; -0.006284916910266555] </A_p_B>
|
||||
</extrinsic_calibration>
|
||||
<extrinsic_calibration name="Imu_T_Narrow" index="0" frame_A_id="100" frame_B_id="1">
|
||||
<A_q_B> [-0.99996425050397042; 0.00011372; -0.00485282; 0.00692351] </A_q_B>
|
||||
<A_p_B> [-0.008424721099186037; 0.007710053076859457; -0.006284916910266555] </A_p_B>
|
||||
</extrinsic_calibration>
|
||||
<extrinsic_calibration name="Imu_T_MotionTracking" index="0" frame_A_id="100" frame_B_id="0">
|
||||
<A_q_B> [-0.99996425050397042; 0.00011372; -0.00485282; 0.00692351] </A_q_B>
|
||||
<A_p_B> [-0.008424721099186037; 0.007710053076859457; -0.006284916910266555] </A_p_B>
|
||||
</extrinsic_calibration>
|
||||
</rig>
|
||||
1361
configs/camera/vfwconfig.json
Normal file
1361
configs/camera/vfwconfig.json
Normal file
File diff suppressed because it is too large
Load Diff
@@ -1,15 +1,30 @@
|
||||
#!/sbin/sh
|
||||
|
||||
# 1802 - Brazil
|
||||
# 1803 - Europe
|
||||
# 1804 - India
|
||||
# 1805 - Europe
|
||||
# 1806 - USA
|
||||
|
||||
sku=`getprop ro.boot.hardware.sku`
|
||||
|
||||
if [ "$sku" = "XT1806" ]; then
|
||||
# XT1806 doesn't have NFC chip
|
||||
rm /vendor/etc/permissions/android.hardware.nfc.xml
|
||||
rm /vendor/etc/permissions/android.hardware.nfc.hce.xml
|
||||
rm /vendor/etc/permissions/android.hardware.nfc.hcef.xml
|
||||
rm /vendor/etc/permissions/com.android.nfc_extras.xml
|
||||
rm /system/vendor/etc/permissions/android.hardware.nfc.xml
|
||||
rm /system/vendor/etc/permissions/android.hardware.nfc.hce.xml
|
||||
rm /system/vendor/etc/permissions/com.android.nfc_extras.xml
|
||||
rm -r /system/app/NfcNci
|
||||
else
|
||||
# Only XT1806 variant got a compass
|
||||
rm /vendor/etc/permissions/android.hardware.sensor.compass.xml
|
||||
fi
|
||||
|
||||
if ! [ "$sku" = "XT1802" ]; then
|
||||
# Others variants doesn't have DTV support
|
||||
rm /system/vendor/etc/permissions/com.motorola.hardware.dtv.xml
|
||||
rm /system/vendor/etc/permissions/mot_dtv_permissions.xml
|
||||
rm /system/vendor/lib/libdtvtuner.so
|
||||
rm /system/vendor/lib64/libdtvtuner.so
|
||||
rm /system/vendor/lib/libdtvhal.so
|
||||
rm /system/vendor/lib64/libdtvhal.so
|
||||
rm -r /system/vendor/app/DTVPlayer
|
||||
rm -r /system/vendor/app/DTVService
|
||||
fi
|
||||
|
||||
|
||||
@@ -55,23 +55,7 @@
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="native" optional="false">
|
||||
<name>netutils-wrapper</name>
|
||||
<!--
|
||||
netutils-wrapper should only list a single version x.0.
|
||||
netutils-wrapper next version has less functionalities than
|
||||
previous versions, so unlike a HAL, netutils-wrapper are not
|
||||
backwards compatible. Hence the major version must be bumped for
|
||||
each update.
|
||||
Vendor code should switch to (x+1).0 completely before when the
|
||||
requirement is updated here.
|
||||
-->
|
||||
<version>1.0</version>
|
||||
</hal>
|
||||
<vndk>
|
||||
<version>0.0.0</version>
|
||||
</vndk>
|
||||
<avb>
|
||||
<vbmeta-version>0.0</vbmeta-version>
|
||||
</avb>
|
||||
</compatibility-matrix>
|
||||
|
||||
@@ -1,14 +0,0 @@
|
||||
<ExternalCamera>
|
||||
<Provider>
|
||||
<!-- Internal video devices to be ignored by external camera HAL -->
|
||||
<ignore>
|
||||
<id>0</id>
|
||||
<id>1</id>
|
||||
<id>2</id>
|
||||
<id>3</id>
|
||||
<id>38</id>
|
||||
<id>39</id>
|
||||
<id>100</id>
|
||||
</ignore>
|
||||
</Provider>
|
||||
</ExternalCamera>
|
||||
402
configs/libnfc-brcm.conf
Normal file
402
configs/libnfc-brcm.conf
Normal file
@@ -0,0 +1,402 @@
|
||||
###################### Start of libnfc-common.conf #######################
|
||||
|
||||
###############################################################################
|
||||
# Application options
|
||||
APPL_TRACE_LEVEL=0xFF
|
||||
PROTOCOL_TRACE_LEVEL=0xFFFFFFFF
|
||||
|
||||
###############################################################################
|
||||
# performance measurement
|
||||
# Change this setting to control how often USERIAL log the performance (throughput)
|
||||
# data on read/write/poll
|
||||
# defailt is to log performance dara for every 100 read or write
|
||||
#REPORT_PERFORMANCE_MEASURE=100
|
||||
|
||||
###############################################################################
|
||||
# File used for NFA storage
|
||||
NFA_STORAGE="/data/nfc"
|
||||
|
||||
###############################################################################
|
||||
# Snooze Mode Settings
|
||||
#
|
||||
# By default snooze mode is enabled. Set SNOOZE_MODE_CFG byte[0] to 0
|
||||
# to disable.
|
||||
#
|
||||
# If SNOOZE_MODE_CFG is not provided, the default settings are used:
|
||||
# They are as follows:
|
||||
# 8 Sleep Mode (0=Disabled 1=UART 8=SPI/I2C)
|
||||
# 0 Idle Threshold Host
|
||||
# 0 Idle Threshold HC
|
||||
# 0 NFC Wake active mode (0=ActiveLow 1=ActiveHigh)
|
||||
# 1 Host Wake active mode (0=ActiveLow 1=ActiveHigh)
|
||||
#
|
||||
#SNOOZE_MODE_CFG={08:00:00:00:01}
|
||||
|
||||
###############################################################################
|
||||
# Insert a delay in milliseconds after NFC_WAKE and before write to NFCC
|
||||
#NFC_WAKE_DELAY=20
|
||||
|
||||
###############################################################################
|
||||
# Various Delay settings (in ms) used in USERIAL
|
||||
# POWER_ON_DELAY
|
||||
# Delay after turning on chip, before writing to transport (default 300)
|
||||
# PRE_POWER_OFF_DELAY
|
||||
# Delay after deasserting NFC-Wake before turn off chip (default 0)
|
||||
# POST_POWER_OFF_DELAY
|
||||
# Delay after turning off chip, before USERIAL_close returns (default 0)
|
||||
#
|
||||
#POWER_ON_DELAY=300
|
||||
#PRE_POWER_OFF_DELAY=0
|
||||
#POST_POWER_OFF_DELAY=0
|
||||
|
||||
###############################################################################
|
||||
# Maximum time (ms) to wait for RESET NTF after setting REG_PU to high
|
||||
# The default is 1000.
|
||||
#NFCC_ENABLE_TIMEOUT=0
|
||||
|
||||
###############################################################################
|
||||
# LPTD mode configuration
|
||||
# byte[0] is the length of the remaining bytes in this value
|
||||
# if set to 0, LPTD params will NOT be sent to NFCC (i.e. disabled).
|
||||
# byte[1] is the param id it should be set to B9.
|
||||
# byte[2] is the length of the LPTD parameters
|
||||
# byte[3] indicates if LPTD is enabled
|
||||
# if set to 0, LPTD will be disabled (parameters will still be sent).
|
||||
# byte[4-n] are the LPTD parameters.
|
||||
# By default, LPTD is enabled and default settings are used.
|
||||
# See nfc_hal_dm_cfg.c for defaults
|
||||
#LPTD_CFG={23:B9:21:01:02:FF:FF:04:A0:0F:40:00:80:02:02:10:00:00:00:31:0C:30:00:00:00:00:00:00:00:00:00:00:00:00:00:00}
|
||||
|
||||
###############################################################################
|
||||
# Startup Configuration (100 bytes maximum)
|
||||
#
|
||||
# For the 0xCA parameter, byte[9] (marked by 'AA') is for UICC0, and byte[10] (marked by BB) is
|
||||
# for UICC1. The values are defined as:
|
||||
# 0 : UICCx only supports ISO_DEP in low power mode.
|
||||
# 2 : UICCx only supports Mifare in low power mode.
|
||||
# 3 : UICCx supports both ISO_DEP and Mifare in low power mode.
|
||||
#
|
||||
# AA BB
|
||||
#NFA_DM_START_UP_CFG={1F:CB:01:01:A5:01:01:CA:14:00:00:00:00:06:E8:03:00:00:00:00:00:00:00:00:00:00:00:00:00:80:01:01}
|
||||
|
||||
###############################################################################
|
||||
# Startup Vendor Specific Configuration (100 bytes maximum);
|
||||
# byte[0] TLV total len = 0x5
|
||||
# byte[1] NCI_MTS_CMD|NCI_GID_PROP = 0x2f
|
||||
# byte[2] NCI_MSG_FRAME_LOG = 0x9
|
||||
# byte[3] 2
|
||||
# byte[4] 0=turn off RF frame logging; 1=turn on
|
||||
# byte[5] 0=turn off SWP frame logging; 1=turn on
|
||||
# NFA_DM_START_UP_VSC_CFG={05:2F:09:02:01:01}
|
||||
|
||||
###############################################################################
|
||||
# Antenna Configuration - This data is used when setting 0xC8 config item
|
||||
# at startup (before discovery is started). If not used, no value is sent.
|
||||
#
|
||||
# The settings for this value are documented here:
|
||||
# http://wcgbu.broadcom.com/wpan/PM/Project%20Document%20Library/bcm20791B0/
|
||||
# Design/Doc/PHY%20register%20settings/BCM20791-B2-1027-02_PHY_Recommended_Reg_Settings.xlsx
|
||||
# This document is maintained by Paul Forshaw.
|
||||
#
|
||||
# The values marked as ?? should be tweaked per antenna or customer/app:
|
||||
# {20:C8:1E:06:??:00:??:??:??:00:??:24:00:1C:00:75:00:77:00:76:00:1C:00:03:00:0A:00:??:01:00:00:40:04}
|
||||
# array[0] = 0x20 is length of the payload from array[1] to the end
|
||||
# array[1] = 0xC8 is PREINIT_DSP_CFG
|
||||
#PREINIT_DSP_CFG={20:C8:1E:06:1F:00:0F:03:3C:00:04:24:00:1C:00:75:00:77:00:76:00:1C:00:03:00:0A:00:48:01:00:00:40:04}
|
||||
|
||||
###############################################################################
|
||||
# Configure crystal frequency when internal LPO can't detect the frequency.
|
||||
#XTAL_FREQUENCY=0
|
||||
###############################################################################
|
||||
# Configure the default Destination Gate used by HCI (the default is 4, which
|
||||
# is the ETSI loopback gate.
|
||||
NFA_HCI_DEFAULT_DEST_GATE=0xF0
|
||||
|
||||
###############################################################################
|
||||
# Configure the single default SE to use. The default is to use the first
|
||||
# SE that is detected by the stack. This value might be used when the phone
|
||||
# supports multiple SE (e.g. 0xF3 and 0xF4) but you want to force it to use
|
||||
# one of them (e.g. 0xF4).
|
||||
#ACTIVE_SE=0xF3
|
||||
|
||||
###############################################################################
|
||||
# Configure the default NfcA/IsoDep techology and protocol route. Can be
|
||||
# either a secure element (e.g. 0xF4) or the host (0x00)
|
||||
#DEFAULT_ISODEP_ROUTE=0x00
|
||||
|
||||
###############################################################################
|
||||
# Configure the NFC Extras to open and use a static pipe. If the value is
|
||||
# not set or set to 0, then the default is use a dynamic pipe based on a
|
||||
# destination gate (see NFA_HCI_DEFAULT_DEST_GATE). Note there is a value
|
||||
# for each UICC (where F3="UICC0" and F4="UICC1")
|
||||
#NFA_HCI_STATIC_PIPE_ID_F3=0x70
|
||||
#NFA_HCI_STATIC_PIPE_ID_01=0x19
|
||||
NFA_HCI_STATIC_PIPE_ID_C0=0x19
|
||||
###############################################################################
|
||||
# When disconnecting from Oberthur secure element, perform a warm-reset of
|
||||
# the secure element to deselect the applet.
|
||||
# The default hex value of the command is 0x3. If this variable is undefined,
|
||||
# then this feature is not used.
|
||||
#OBERTHUR_WARM_RESET_COMMAND=0x03
|
||||
|
||||
###############################################################################
|
||||
# Force UICC to only listen to the following technology(s).
|
||||
# The bits are defined as tNFA_TECHNOLOGY_MASK in nfa_api.h.
|
||||
# Default is NFA_TECHNOLOGY_MASK_A | NFA_TECHNOLOGY_MASK_B | NFA_TECHNOLOGY_MASK_F
|
||||
UICC_LISTEN_TECH_MASK=0x07
|
||||
|
||||
###############################################################################
|
||||
# Force HOST listen feature enable or disable.
|
||||
# 0: Disable
|
||||
# 1: Enable
|
||||
HOST_LISTEN_ENABLE=0x01
|
||||
|
||||
###############################################################################
|
||||
# Enabling/Disabling Forward functionality
|
||||
# Disable 0x00
|
||||
# Enable 0x01
|
||||
NXP_FWD_FUNCTIONALITY_ENABLE=0x01
|
||||
|
||||
###############################################################################
|
||||
# Allow UICC to be powered off if there is no traffic.
|
||||
# Timeout is in ms. If set to 0, then UICC will not be powered off.
|
||||
#UICC_IDLE_TIMEOUT=30000
|
||||
UICC_IDLE_TIMEOUT=0
|
||||
|
||||
###############################################################################
|
||||
# AID for Empty Select command
|
||||
# If specified, this AID will be substituted when an Empty SELECT command is
|
||||
# detected. The first byte is the length of the AID. Maximum length is 16.
|
||||
AID_FOR_EMPTY_SELECT={08:A0:00:00:01:51:00:00:00}
|
||||
###############################################################################
|
||||
# Maximum Number of Credits to be allowed by the NFCC
|
||||
# This value overrides what the NFCC specifices allowing the host to have
|
||||
# the control to work-around transport limitations. If this value does
|
||||
# not exist or is set to 0, the NFCC will provide the number of credits.
|
||||
MAX_RF_DATA_CREDITS=1
|
||||
|
||||
###############################################################################
|
||||
# This setting allows you to disable registering the T4t Virtual SE that causes
|
||||
# the NFCC to send PPSE requests to the DH.
|
||||
# The default setting is enabled (i.e. T4t Virtual SE is registered).
|
||||
#REGISTER_VIRTUAL_SE=1
|
||||
|
||||
###############################################################################
|
||||
# When screen is turned off, specify the desired power state of the controller.
|
||||
# 0: power-off-sleep state; DEFAULT
|
||||
# 1: full-power state
|
||||
# 2: screen-off card-emulation (CE4/CE3/CE1 modes are used)
|
||||
SCREEN_OFF_POWER_STATE=1
|
||||
|
||||
###############################################################################
|
||||
# Firmware patch file
|
||||
# If the value is not set then patch download is disabled.
|
||||
#FW_PATCH="/vendor/firmware/bcm2079x_firmware.ncd"
|
||||
|
||||
###############################################################################
|
||||
# Firmware pre-patch file (sent before the above patch file)
|
||||
# If the value is not set then pre-patch is not used.
|
||||
#FW_PRE_PATCH="/vendor/firmware/bcm2079x_pre_firmware.ncd"
|
||||
|
||||
###############################################################################
|
||||
# Firmware patch format
|
||||
# 1 = HCD
|
||||
# 2 = NCD (default)
|
||||
#NFA_CONFIG_FORMAT=2
|
||||
|
||||
###############################################################################
|
||||
# SPD Debug mode
|
||||
# If set to 1, any failure of downloading a patch will trigger a hard-stop
|
||||
#SPD_DEBUG=0
|
||||
|
||||
###############################################################################
|
||||
# SPD Max Retry Count
|
||||
# The number of attempts to download a patch before giving up (defualt is 3).
|
||||
# Note, this resets after a power-cycle.
|
||||
#SPD_MAX_RETRY_COUNT=3
|
||||
|
||||
###############################################################################
|
||||
# transport driver
|
||||
#
|
||||
# TRANSPORT_DRIVER=<driver>
|
||||
#
|
||||
# where <driver> can be, for example:
|
||||
# "/dev/ttyS" (UART)
|
||||
# "/dev/bcmi2cnfc" (I2C)
|
||||
# "hwtun" (HW Tunnel)
|
||||
# "/dev/bcmspinfc" (SPI)
|
||||
# "/dev/btusb0" (BT USB)
|
||||
#TRANSPORT_DRIVER="/dev/bcm2079x-i2c"
|
||||
|
||||
###############################################################################
|
||||
# power control driver
|
||||
# Specify a kernel driver that support ioctl commands to control NFC_EN and
|
||||
# NFC_WAKE gpio signals.
|
||||
#
|
||||
# POWER_CONTRL_DRIVER=<driver>
|
||||
# where <driver> can be, for example:
|
||||
# "/dev/nfcpower"
|
||||
# "/dev/bcmi2cnfc" (I2C)
|
||||
# "/dev/bcmspinfc" (SPI)
|
||||
# i2c and spi driver may be used to control NFC_EN and NFC_WAKE signal
|
||||
#POWER_CONTROL_DRIVER="/dev/bcm2079x-i2c"
|
||||
|
||||
###############################################################################
|
||||
# I2C transport driver options
|
||||
# Mako does not support 10-bit I2C addresses
|
||||
# Revert to 7-bit address
|
||||
#BCMI2CNFC_ADDRESS=0x77
|
||||
|
||||
###############################################################################
|
||||
# I2C transport driver try to read multiple packets in read() if data is available
|
||||
# remove the comment below to enable this feature
|
||||
#READ_MULTIPLE_PACKETS=1
|
||||
|
||||
###############################################################################
|
||||
# SPI transport driver options
|
||||
#SPI_NEGOTIATION={0A:F0:00:01:00:00:00:FF:FF:00:00}
|
||||
|
||||
###############################################################################
|
||||
# UART transport driver options
|
||||
#
|
||||
# PORT=1,2,3,...
|
||||
# BAUD=115200, 19200, 9600, 4800,
|
||||
# DATABITS=8, 7, 6, 5
|
||||
# PARITY="even" | "odd" | "none"
|
||||
# STOPBITS="0" | "1" | "1.5" | "2"
|
||||
|
||||
#UART_PORT=2
|
||||
#UART_BAUD=115200
|
||||
#UART_DATABITS=8
|
||||
#UART_PARITY="none"
|
||||
#UART_STOPBITS="1"
|
||||
|
||||
###############################################################################
|
||||
# Insert a delay in microseconds per byte after a write to NFCC.
|
||||
# after writing a block of data to the NFCC, delay this an amopunt of time before
|
||||
# writing next block of data. the delay is calculated as below
|
||||
# NFC_WRITE_DELAY * (number of byte written) / 1000 milliseconds
|
||||
# e.g. after 259 bytes is written, delay (259 * 20 / 1000) 5 ms before next write
|
||||
#NFC_WRITE_DELAY=20
|
||||
|
||||
###############################################################################
|
||||
# Maximum Number of Credits to be allowed by the NFCC
|
||||
# This value overrides what the NFCC specifices allowing the host to have
|
||||
# the control to work-around transport limitations. If this value does
|
||||
# not exist or is set to 0, the NFCC will provide the number of credits.
|
||||
MAX_RF_DATA_CREDITS=1
|
||||
|
||||
###############################################################################
|
||||
# Default poll duration (in ms)
|
||||
# The defualt is 500ms if not set (see nfc_target.h)
|
||||
#NFA_DM_DISC_DURATION_POLL=333
|
||||
###############################################################################
|
||||
# Antenna Configuration - This data is used when setting 0xC8 config item
|
||||
# at startup (before discovery is started). If not used, no value is sent.
|
||||
#
|
||||
# The settings for this value are documented here:
|
||||
# http://wcgbu.broadcom.com/wpan/PM/Project%20Document%20Library/bcm20791B0/
|
||||
# Design/Doc/PHY%20register%20settings/BCM20791-B2-1027-02_PHY_Recommended_Reg_Settings.xlsx
|
||||
# This document is maintained by Paul Forshaw.
|
||||
#
|
||||
# The values marked as ?? should be tweaked per antenna or customer/app:
|
||||
# {20:C8:1E:06:??:00:??:??:??:00:??:24:00:1C:00:75:00:77:00:76:00:1C:00:03:00:0A:00:??:01:00:00:40:04}
|
||||
# array[0] = 0x20 is length of the payload from array[1] to the end
|
||||
# array[1] = 0xC8 is PREINIT_DSP_CFG
|
||||
#PREINIT_DSP_CFG={20:C8:1E:06:1F:00:0F:03:3C:00:04:24:00:1C:00:75:00:77:00:76:00:1C:00:03:00:0A:00:48:01:00:00:40:04}
|
||||
|
||||
|
||||
###############################################################################
|
||||
# Choose the presence-check algorithm for type-4 tag. If not defined, the default value is 1.
|
||||
# 0 NFA_RW_PRES_CHK_DEFAULT; Let stack selects an algorithm
|
||||
# 1 NFA_RW_PRES_CHK_I_BLOCK; ISO-DEP protocol's empty I-block
|
||||
# 2 NFA_RW_PRES_CHK_RESET; Deactivate to Sleep, then re-activate
|
||||
# 3 NFA_RW_PRES_CHK_RB_CH0; Type-4 tag protocol's ReadBinary command on channel 0
|
||||
# 4 NFA_RW_PRES_CHK_RB_CH3; Type-4 tag protocol's ReadBinary command on channel 3
|
||||
PRESENCE_CHECK_ALGORITHM=1
|
||||
|
||||
###############################################################################
|
||||
# Force tag polling for the following technology(s).
|
||||
# The bits are defined as tNFA_TECHNOLOGY_MASK in nfa_api.h.
|
||||
# Default is NFA_TECHNOLOGY_MASK_A | NFA_TECHNOLOGY_MASK_B |
|
||||
# NFA_TECHNOLOGY_MASK_F | NFA_TECHNOLOGY_MASK_ISO15693 |
|
||||
# NFA_TECHNOLOGY_MASK_B_PRIME | NFA_TECHNOLOGY_MASK_KOVIO |
|
||||
# NFA_TECHNOLOGY_MASK_A_ACTIVE | NFA_TECHNOLOGY_MASK_F_ACTIVE.
|
||||
#
|
||||
# Notable bits:
|
||||
# NFA_TECHNOLOGY_MASK_A 0x01 /* NFC Technology A */
|
||||
# NFA_TECHNOLOGY_MASK_B 0x02 /* NFC Technology B */
|
||||
# NFA_TECHNOLOGY_MASK_F 0x04 /* NFC Technology F */
|
||||
# NFA_TECHNOLOGY_MASK_ISO15693 0x08 /* Proprietary Technology */
|
||||
# NFA_TECHNOLOGY_MASK_KOVIO 0x20 /* Proprietary Technology */
|
||||
# NFA_TECHNOLOGY_MASK_A_ACTIVE 0x40 /* NFC Technology A active mode */
|
||||
# NFA_TECHNOLOGY_MASK_F_ACTIVE 0x80 /* NFC Technology F active mode */
|
||||
POLLING_TECH_MASK=0xEF
|
||||
|
||||
###############################################################################
|
||||
# Force P2P to only listen for the following technology(s).
|
||||
# The bits are defined as tNFA_TECHNOLOGY_MASK in nfa_api.h.
|
||||
# Default is NFA_TECHNOLOGY_MASK_A | NFA_TECHNOLOGY_MASK_F |
|
||||
# NFA_TECHNOLOGY_MASK_A_ACTIVE | NFA_TECHNOLOGY_MASK_F_ACTIVE
|
||||
#
|
||||
# Notable bits:
|
||||
# NFA_TECHNOLOGY_MASK_A 0x01 /* NFC Technology A */
|
||||
# NFA_TECHNOLOGY_MASK_F 0x04 /* NFC Technology F */
|
||||
# NFA_TECHNOLOGY_MASK_A_ACTIVE 0x40 /* NFC Technology A active mode */
|
||||
# NFA_TECHNOLOGY_MASK_F_ACTIVE 0x80 /* NFC Technology F active mode */
|
||||
P2P_LISTEN_TECH_MASK=0xC5
|
||||
|
||||
PRESERVE_STORAGE=0x01
|
||||
|
||||
###############################################################################
|
||||
# Override the stack default for NFA_EE_MAX_EE_SUPPORTED set in nfc_target.h.
|
||||
# The value is set to 3 by default as it assumes we will discover 0xF2,
|
||||
# 0xF3, and 0xF4. If a platform will exclude and SE, this value can be reduced
|
||||
# so that the stack will not wait any longer than necessary.
|
||||
|
||||
# Maximum EE supported number
|
||||
# NXP PN547C2 0x02
|
||||
# NXP PN65T 0x03
|
||||
# NXP PN548C2 0x02
|
||||
# NXP PN66T 0x03
|
||||
NFA_MAX_EE_SUPPORTED=0x02
|
||||
|
||||
###############################################################################
|
||||
# NCI Hal Module name
|
||||
NCI_HAL_MODULE="nfc_nci"
|
||||
|
||||
##############################################################################
|
||||
# Deactivate notification wait time out in seconds used in ETSI Reader mode
|
||||
# 0 - Infinite wait
|
||||
#NFA_DM_DISC_NTF_TIMEOUT=0
|
||||
|
||||
###############################################################################
|
||||
# AID_MATCHING constants
|
||||
# AID_MATCHING_EXACT_ONLY 0x00
|
||||
# AID_MATCHING_EXACT_OR_PREFIX 0x01
|
||||
# AID_MATCHING_PREFIX_ONLY 0x02
|
||||
AID_MATCHING_MODE=0x01
|
||||
|
||||
###############################################################################
|
||||
# Default Secure Element route id
|
||||
DEFAULT_OFFHOST_ROUTE=0x02
|
||||
|
||||
###############################################################################
|
||||
# Vendor Specific Proprietary Protocol & Discovery Configuration
|
||||
# Set to 0xFF if unsupported
|
||||
# byte[0] NCI_PROTOCOL_18092_ACTIVE
|
||||
# byte[1] NCI_PROTOCOL_B_PRIME
|
||||
# byte[2] NCI_PROTOCOL_DUAL
|
||||
# byte[3] NCI_PROTOCOL_15693
|
||||
# byte[4] NCI_PROTOCOL_KOVIO
|
||||
# byte[5] NCI_PROTOCOL_MIFARE
|
||||
# byte[6] NCI_DISCOVERY_TYPE_POLL_KOVIO
|
||||
# byte[7] NCI_DISCOVERY_TYPE_POLL_B_PRIME
|
||||
# byte[8] NCI_DISCOVERY_TYPE_LISTEN_B_PRIME
|
||||
NFA_PROPRIETARY_CFG={05:FF:FF:06:81:80:70:FF:FF}
|
||||
|
||||
#################################################################################
|
||||
# Bail out mode
|
||||
# If set to 1, NFCC is using bail out mode for either Type A or Type B poll.
|
||||
NFA_POLL_BAIL_OUT_MODE=0x01
|
||||
#################################################################################
|
||||
@@ -1,68 +0,0 @@
|
||||
###############################################################################
|
||||
# Application options
|
||||
NFC_DEBUG_ENABLED=0
|
||||
|
||||
###############################################################################
|
||||
# File used for NFA storage
|
||||
NFA_STORAGE="/data/vendor/nfc"
|
||||
|
||||
###############################################################################
|
||||
# Force UICC to only listen to the following technology(s).
|
||||
# The bits are defined as tNFA_TECHNOLOGY_MASK in nfa_api.h.
|
||||
# Default is NFA_TECHNOLOGY_MASK_A | NFA_TECHNOLOGY_MASK_B | NFA_TECHNOLOGY_MASK_F
|
||||
UICC_LISTEN_TECH_MASK=0x07
|
||||
|
||||
###############################################################################
|
||||
# AID for Empty Select command
|
||||
# If specified, this AID will be substituted when an Empty SELECT command is
|
||||
# detected. The first byte is the length of the AID. Maximum length is 16.
|
||||
AID_FOR_EMPTY_SELECT={08:A0:00:00:01:51:00:00:00}
|
||||
|
||||
###############################################################################
|
||||
# When screen is turned off, specify the desired power state of the controller.
|
||||
# 0: power-off-sleep state; DEFAULT
|
||||
# 1: full-power state
|
||||
# 2: screen-off card-emulation (CE4/CE3/CE1 modes are used)
|
||||
SCREEN_OFF_POWER_STATE=1
|
||||
|
||||
###############################################################################
|
||||
# Force tag polling for the following technology(s).
|
||||
# The bits are defined as tNFA_TECHNOLOGY_MASK in nfa_api.h.
|
||||
# Default is NFA_TECHNOLOGY_MASK_A | NFA_TECHNOLOGY_MASK_B |
|
||||
# NFA_TECHNOLOGY_MASK_F | NFA_TECHNOLOGY_MASK_ISO15693 |
|
||||
# NFA_TECHNOLOGY_MASK_B_PRIME | NFA_TECHNOLOGY_MASK_KOVIO |
|
||||
# NFA_TECHNOLOGY_MASK_A_ACTIVE | NFA_TECHNOLOGY_MASK_F_ACTIVE.
|
||||
#
|
||||
# Notable bits:
|
||||
# NFA_TECHNOLOGY_MASK_A 0x01 /* NFC Technology A */
|
||||
# NFA_TECHNOLOGY_MASK_B 0x02 /* NFC Technology B */
|
||||
# NFA_TECHNOLOGY_MASK_F 0x04 /* NFC Technology F */
|
||||
# NFA_TECHNOLOGY_MASK_ISO15693 0x08 /* Proprietary Technology */
|
||||
# NFA_TECHNOLOGY_MASK_KOVIO 0x20 /* Proprietary Technology */
|
||||
# NFA_TECHNOLOGY_MASK_A_ACTIVE 0x40 /* NFC Technology A active mode */
|
||||
# NFA_TECHNOLOGY_MASK_F_ACTIVE 0x80 /* NFC Technology F active mode */
|
||||
POLLING_TECH_MASK=0xEF
|
||||
|
||||
###############################################################################
|
||||
# Force P2P to only listen for the following technology(s).
|
||||
# The bits are defined as tNFA_TECHNOLOGY_MASK in nfa_api.h.
|
||||
# Default is NFA_TECHNOLOGY_MASK_A | NFA_TECHNOLOGY_MASK_F |
|
||||
# NFA_TECHNOLOGY_MASK_A_ACTIVE | NFA_TECHNOLOGY_MASK_F_ACTIVE
|
||||
#
|
||||
# Notable bits:
|
||||
# NFA_TECHNOLOGY_MASK_A 0x01 /* NFC Technology A */
|
||||
# NFA_TECHNOLOGY_MASK_F 0x04 /* NFC Technology F */
|
||||
# NFA_TECHNOLOGY_MASK_A_ACTIVE 0x40 /* NFC Technology A active mode */
|
||||
# NFA_TECHNOLOGY_MASK_F_ACTIVE 0x80 /* NFC Technology F active mode */
|
||||
P2P_LISTEN_TECH_MASK=0xC4
|
||||
|
||||
PRESERVE_STORAGE=0x01
|
||||
|
||||
###############################################################################
|
||||
# AID_MATCHING constants
|
||||
# AID_MATCHING_EXACT_ONLY 0x00
|
||||
# AID_MATCHING_EXACT_OR_PREFIX 0x01
|
||||
# AID_MATCHING_PREFIX_ONLY 0x02
|
||||
AID_MATCHING_MODE=0x01
|
||||
|
||||
#################################################################################
|
||||
@@ -14,13 +14,12 @@
|
||||
# ANDROID_LOG_ERROR 0x01
|
||||
# ANDROID_LOG_SILENT 0x00
|
||||
#
|
||||
NXPLOG_EXTNS_LOGLEVEL=0x03
|
||||
NXPLOG_NCIHAL_LOGLEVEL=0x03
|
||||
NXPLOG_NCIX_LOGLEVEL=0x03
|
||||
NXPLOG_NCIR_LOGLEVEL=0x03
|
||||
NXPLOG_FWDNLD_LOGLEVEL=0x03
|
||||
NXPLOG_TML_LOGLEVEL=0x03
|
||||
NFC_DEBUG_ENABLED=0x00
|
||||
NXPLOG_EXTNS_LOGLEVEL=0x01
|
||||
NXPLOG_NCIHAL_LOGLEVEL=0x01
|
||||
NXPLOG_NCIX_LOGLEVEL=0x01
|
||||
NXPLOG_NCIR_LOGLEVEL=0x01
|
||||
NXPLOG_FWDNLD_LOGLEVEL=0x01
|
||||
NXPLOG_TML_LOGLEVEL=0x01
|
||||
|
||||
###############################################################################
|
||||
# Nfc Device Node name
|
||||
@@ -33,10 +32,14 @@ NXP_NFC_DEV_NODE="/dev/pn544"
|
||||
MIFARE_READER_ENABLE=0x01
|
||||
|
||||
###############################################################################
|
||||
# Firmware file type
|
||||
#.so file 0x01
|
||||
#.bin file 0x02
|
||||
NXP_FW_TYPE=0x01
|
||||
# Vzw Feature enable
|
||||
# Disabled - 0x00
|
||||
# Enabled - 0x01
|
||||
VZW_FEATURE_ENABLE=0x01
|
||||
|
||||
###############################################################################
|
||||
# File name for Firmware
|
||||
NXP_FW_NAME="libpn548ad_fw.so"
|
||||
|
||||
###############################################################################
|
||||
# System clock source selection configuration
|
||||
@@ -69,6 +72,19 @@ NXP_ACT_PROP_EXTN={2F, 02, 00}
|
||||
# NFC forum profile settings
|
||||
NXP_NFC_PROFILE_EXTN={20, 02, 05, 01, A0, 44, 01, 00}
|
||||
|
||||
###############################################################################
|
||||
# NFCC Configuration Control
|
||||
# Allow NFCC to manage RF Config 0x01
|
||||
# Don't allow NFCC to manage RF Config 0x00
|
||||
NXP_NFC_MERGE_RF_PARAMS={20, 02, 04, 01, 85, 01, 01}
|
||||
|
||||
###############################################################################
|
||||
# Standby enable settings
|
||||
# Disabled - 0x00
|
||||
# Enabled - 0x01
|
||||
NXP_CORE_STANDBY={2F, 00, 01, 01}
|
||||
|
||||
|
||||
###############################################################################
|
||||
# NXP TVDD configurations settings
|
||||
# Allow NFCC to configure the external TVDD
|
||||
@@ -391,6 +407,15 @@ NXP_RF_CONF_BLK_5={
|
||||
A0, 0D, 03, 0A, 40, 00
|
||||
}
|
||||
|
||||
|
||||
|
||||
###############################################################################
|
||||
## Set configuration optimization decision setting
|
||||
## Enable = 0x01
|
||||
## Disable = 0x00
|
||||
NXP_SET_CONFIG_ALWAYS=0x01
|
||||
|
||||
|
||||
###############################################################################
|
||||
# Core configuration extensions
|
||||
# It includes
|
||||
@@ -479,27 +504,107 @@ NXP_CORE_CONF={20, 02, 2A, 0E,
|
||||
32, 01, 60
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
# Mifare Classic Key settings
|
||||
#NXP_CORE_MFCKEY_SETTING={20, 02, 25,04, A0, 51, 06, A0, A1, A2, A3, A4, A5,
|
||||
# A0, 52, 06, D3, F7, D3, F7, D3, F7,
|
||||
# A0, 53, 06, FF, FF, FF, FF, FF, FF,
|
||||
# A0, 54, 06, 00, 00, 00, 00, 00, 00}
|
||||
|
||||
###############################################################################
|
||||
# Default SE Options
|
||||
# No secure element 0x00
|
||||
# eSE 0x01
|
||||
# UICC 0x02
|
||||
|
||||
NXP_DEFAULT_SE=0x02
|
||||
|
||||
###############################################################################
|
||||
#Enable SWP full power mode when phone is power off
|
||||
NXP_SWP_FULL_PWR_ON=0x00
|
||||
|
||||
###############################################################################
|
||||
#Set the default Felica T3T System Code OffHost route Location :
|
||||
# host 0x00
|
||||
# UICC 0x02
|
||||
# UICC2 0x03
|
||||
DEFAULT_SYS_CODE_ROUTE=0x02
|
||||
#### Select the CHIP ####
|
||||
#PN547C2 0x01
|
||||
#PN65T 0x02
|
||||
#PN548AD 0x03
|
||||
#PN66T 0x04
|
||||
|
||||
NXP_NFC_CHIP=0x03
|
||||
|
||||
###############################################################################
|
||||
#Set the Felica T3T System Code Power state :
|
||||
# CE when Screen state is locked
|
||||
# Disable 0x00
|
||||
# Enable 0x01
|
||||
NXP_CE_ROUTE_STRICT_DISABLE=0x01
|
||||
|
||||
###############################################################################
|
||||
# Timeout in secs to get NFCEE Discover notification
|
||||
NXP_DEFAULT_NFCEE_DISC_TIMEOUT=20
|
||||
|
||||
NXP_DEFAULT_NFCEE_TIMEOUT=0x06
|
||||
|
||||
###############################################################################
|
||||
# SWP Reader feature
|
||||
# Timeout in seconds
|
||||
NXP_SWP_RD_START_TIMEOUT=0x0A
|
||||
|
||||
#Timeout in secs
|
||||
NXP_SWP_RD_TAG_OP_TIMEOUT=0x01
|
||||
|
||||
###############################################################################
|
||||
#Set the default AID route Location :
|
||||
#This settings will be used when application does not set this parameter
|
||||
# host 0x00
|
||||
# eSE 0x01
|
||||
# UICC 0x02
|
||||
DEFAULT_AID_ROUTE=0x02
|
||||
|
||||
###############################################################################
|
||||
#Set the Mifare Desfire route Location :
|
||||
#This settings will be used when application does not set this parameter
|
||||
# host 0x00
|
||||
# eSE 0x01
|
||||
# UICC 0x02
|
||||
DEFAULT_DESFIRE_ROUTE=0x02
|
||||
|
||||
###############################################################################
|
||||
#Set the Mifare CLT route Location :
|
||||
#This settings will be used when application does not set this parameter
|
||||
# host 0x00
|
||||
# eSE 0x01
|
||||
# UICC 0x02
|
||||
DEFAULT_MIFARE_CLT_ROUTE=0x02
|
||||
|
||||
###############################################################################
|
||||
#Set the default AID Power state :
|
||||
#This settings will be used when application does not set this parameter
|
||||
# bit pos 0 = Switch On
|
||||
# bit pos 1 = Switch Off
|
||||
# bit pos 2 = Battery Off
|
||||
# bit pos 3 = Screen On lock
|
||||
# bit pos 4 = Screen off unlock
|
||||
# bit pos 5 = Screen Off lock
|
||||
DEFAULT_SYS_CODE_PWR_STATE=0x1B
|
||||
# bit pos 3 = Screen Lock
|
||||
# bit pos 4 = Screen Off
|
||||
DEFAULT_AID_PWR_STATE=0x19
|
||||
|
||||
###############################################################################
|
||||
#Set the Mifare Desfire Power state :
|
||||
#This settings will be used when application does not set this parameter
|
||||
# bit pos 0 = Switch On
|
||||
# bit pos 1 = Switch Off
|
||||
# bit pos 2 = Battery Off
|
||||
# bit pos 3 = Screen Lock
|
||||
# bit pos 4 = Screen Off
|
||||
DEFAULT_DESFIRE_PWR_STATE=0x1B
|
||||
|
||||
###############################################################################
|
||||
#Set the Mifare CLT Power state :
|
||||
#This settings will be used when application does not set this parameter
|
||||
# bit pos 0 = Switch On
|
||||
# bit pos 1 = Switch Off
|
||||
# bit pos 2 = Battery Off
|
||||
# bit pos 3 = Screen Lock
|
||||
# bit pos 4 = Screen Off
|
||||
DEFAULT_MIFARE_CLT_PWR_STATE=0x1B
|
||||
|
||||
###############################################################################
|
||||
# AID Matching platform options
|
||||
@@ -522,27 +627,10 @@ NXP_CHINA_TIANJIN_RF_ENABLED=0x01
|
||||
NXP_SWP_SWITCH_TIMEOUT=0x0A
|
||||
|
||||
###############################################################################
|
||||
# Vendor Specific Proprietary Protocol & Discovery Configuration
|
||||
# Set to 0xFF if unsupported
|
||||
# byte[0] NCI_PROTOCOL_18092_ACTIVE
|
||||
# byte[1] NCI_PROTOCOL_B_PRIME
|
||||
# byte[2] NCI_PROTOCOL_DUAL
|
||||
# byte[3] NCI_PROTOCOL_15693
|
||||
# byte[4] NCI_PROTOCOL_KOVIO
|
||||
# byte[5] NCI_PROTOCOL_MIFARE
|
||||
# byte[6] NCI_DISCOVERY_TYPE_POLL_KOVIO
|
||||
# byte[7] NCI_DISCOVERY_TYPE_POLL_B_PRIME
|
||||
# byte[8] NCI_DISCOVERY_TYPE_LISTEN_B_PRIME
|
||||
NFA_PROPRIETARY_CFG={05, FF, FF, 06, 81, 80, 70, FF, FF}
|
||||
|
||||
###############################################################################
|
||||
# Choose the presence-check algorithm for type-4 tag. If not defined, the default value is 1.
|
||||
# 0 NFA_RW_PRES_CHK_DEFAULT; Let stack selects an algorithm
|
||||
# 1 NFA_RW_PRES_CHK_I_BLOCK; ISO-DEP protocol's empty I-block
|
||||
# 2 NFA_RW_PRES_CHK_RESET; Deactivate to Sleep, then re-activate
|
||||
# 3 NFA_RW_PRES_CHK_RB_CH0; Type-4 tag protocol's ReadBinary command on channel 0
|
||||
# 4 NFA_RW_PRES_CHK_RB_CH3; Type-4 tag protocol's ReadBinary command on channel 3
|
||||
PRESENCE_CHECK_ALGORITHM=1
|
||||
#Dynamic RSSI feature enable
|
||||
# Disable 0x00
|
||||
# Enable 0x01
|
||||
NXP_AGC_DEBUG_ENABLE=0x00
|
||||
|
||||
###############################################################################
|
||||
# UICC mode supported
|
||||
@@ -550,6 +638,19 @@ PRESENCE_CHECK_ALGORITHM=1
|
||||
# Enable 0x01
|
||||
NXP_DUAL_UICC_ENABLE=0x00
|
||||
|
||||
###############################################################################
|
||||
#Config to allow adding aids
|
||||
#NFC on/off is required after this config
|
||||
#1 = enabling adding aid to NFCC routing table.
|
||||
#0 = disabling adding aid to NFCC routing table.
|
||||
NXP_ENABLE_ADD_AID=0x01
|
||||
|
||||
###############################################################################
|
||||
# Enable/Disable checking default proto SE Id
|
||||
# Disable 0x00
|
||||
# Enable 0x01
|
||||
NXP_CHECK_DEFAULT_PROTO_SE_ID=0x01
|
||||
|
||||
################################################################################
|
||||
# Restriction of Type A UICC baud rate
|
||||
# Default supported - 0x00
|
||||
@@ -565,7 +666,3 @@ NXP_TYPEA_UICC_BAUD_RATE=0x00
|
||||
# 424kbps maximum supported - 0x02
|
||||
# 848kbps maximum supported - 0x03
|
||||
NXP_TYPEB_UICC_BAUD_RATE=0x00
|
||||
|
||||
###############################################################################
|
||||
# Extended APDU length for ISO_DEP
|
||||
ISO_DEP_MAX_TRANSCEIVE=0xFEFF
|
||||
|
||||
@@ -1,101 +1,4 @@
|
||||
<manifest version="1.0" type="device" target-level="1">
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.audio</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>4.0</version>
|
||||
<interface>
|
||||
<name>IDevicesFactory</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.audio.effect</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>4.0</version>
|
||||
<interface>
|
||||
<name>IEffectsFactory</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.biometrics.fingerprint</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>2.1</version>
|
||||
<interface>
|
||||
<name>IBiometricsFingerprint</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.bluetooth</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IBluetoothHci</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.camera.provider</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>2.4</version>
|
||||
<interface>
|
||||
<name>ICameraProvider</name>
|
||||
<instance>legacy/0</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.cas</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IMediaCasService</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.configstore</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.1</version>
|
||||
<interface>
|
||||
<name>ISurfaceFlingerConfigs</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.drm</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>ICryptoFactory</name>
|
||||
<instance>widevine</instance>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
<interface>
|
||||
<name>IDrmFactory</name>
|
||||
<instance>widevine</instance>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.gatekeeper</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IGatekeeper</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.gnss</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IGnss</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
<fqname>@1.0::IGnss/gnss_vendor</fqname>
|
||||
</hal>
|
||||
<manifest version="1.0" type="device">
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.graphics.allocator</name>
|
||||
<transport>hwbinder</transport>
|
||||
@@ -124,29 +27,20 @@
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.health</name>
|
||||
<name>android.hardware.wifi</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>2.0</version>
|
||||
<version>1.1</version>
|
||||
<interface>
|
||||
<name>IHealth</name>
|
||||
<name>IWifi</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.keymaster</name>
|
||||
<name>android.hardware.wifi.supplicant</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>3.0</version>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IKeymasterDevice</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.light</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>2.0</version>
|
||||
<interface>
|
||||
<name>ILight</name>
|
||||
<name>ISupplicant</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
@@ -164,232 +58,38 @@
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.memtrack</name>
|
||||
<name>android.hardware.drm</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IMemtrack</name>
|
||||
<name>ICryptoFactory</name>
|
||||
<instance>widevine</instance>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
<interface>
|
||||
<name>IDrmFactory</name>
|
||||
<instance>widevine</instance>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.nfc</name>
|
||||
<name>android.hardware.light</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.1</version>
|
||||
<version>2.0</version>
|
||||
<interface>
|
||||
<name>INfc</name>
|
||||
<name>ILight</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.power</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.1</version>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IPower</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.radio</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IRadio</name>
|
||||
<instance>slot1</instance>
|
||||
<instance>slot2</instance>
|
||||
</interface>
|
||||
<interface>
|
||||
<name>ISap</name>
|
||||
<instance>slot1</instance>
|
||||
<instance>slot2</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.radio.deprecated</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IOemHook</name>
|
||||
<instance>slot1</instance>
|
||||
<instance>slot2</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.renderscript</name>
|
||||
<transport arch="32+64">passthrough</transport>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IDevice</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.sensors</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>ISensors</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.thermal</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IThermal</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.usb</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IUsb</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.vibrator</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IVibrator</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.wifi</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.2</version>
|
||||
<interface>
|
||||
<name>IWifi</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.wifi.hostapd</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IHostapd</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.wifi.supplicant</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.1</version>
|
||||
<interface>
|
||||
<name>ISupplicant</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>com.fingerprints.extension</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IFingerprintNavigation</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
<interface>
|
||||
<name>IFingerprintSensorTest</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>com.qualcomm.qti.imscmservice</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IImsCmService</name>
|
||||
<instance>qti.ims.connectionmanagerservice</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>com.quicinc.cne.api</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IApiService</name>
|
||||
<instance>cnd</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>com.quicinc.cne.server</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IServer</name>
|
||||
<instance>cnd</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>com.quicinc.cne.server</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>2.0</version>
|
||||
<interface>
|
||||
<name>IServer</name>
|
||||
<instance>cnd</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>vendor.display.color</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IDisplayColor</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>vendor.display.config</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.1</version>
|
||||
<interface>
|
||||
<name>IDisplayConfig</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>vendor.display.postproc</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IDisplayPostproc</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>vendor.qti.esepowermanager</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IEsePowerManager</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>vendor.qti.gnss</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>ILocHidlGnss</name>
|
||||
<instance>gnss_vendor</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>vendor.qti.hardware.alarm</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IAlarm</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>vendor.qti.hardware.perf</name>
|
||||
<transport>hwbinder</transport>
|
||||
@@ -399,6 +99,121 @@
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.gnss</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IGnss</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>vendor.qti.gnss</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>ILocHidlGnss</name>
|
||||
<instance>gnss_vendor</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.keymaster</name>
|
||||
<transport>hwbinder</transport>
|
||||
<impl level="generic"></impl>
|
||||
<version>3.0</version>
|
||||
<interface>
|
||||
<name>IKeymasterDevice</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>com.quicinc.cne.server</name>
|
||||
<transport>hwbinder</transport>
|
||||
<impl level="generic"></impl>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IServer</name>
|
||||
<instance>cnd</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>com.quicinc.cne.api</name>
|
||||
<transport>hwbinder</transport>
|
||||
<impl level="generic"></impl>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IApiService</name>
|
||||
<instance>cnd</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>com.quicinc.cne.server</name>
|
||||
<transport>hwbinder</transport>
|
||||
<impl level="generic"></impl>
|
||||
<version>2.0</version>
|
||||
<interface>
|
||||
<name>IServer</name>
|
||||
<instance>cnd</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.thermal</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IThermal</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.renderscript</name>
|
||||
<transport arch="32+64">passthrough</transport>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IDevice</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<!-- Iop HAL service -->
|
||||
<hal format="hidl">
|
||||
<name>vendor.qti.hardware.iop</name>
|
||||
<transport>hwbinder</transport>
|
||||
<impl level="generic"></impl>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IIop</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>vendor.display.config</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.1</version>
|
||||
<interface>
|
||||
<name>IDisplayConfig</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>vendor.display.color</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IDisplayColor</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>vendor.display.postproc</name>
|
||||
<transport>hwbinder</transport>
|
||||
<impl level="generic"></impl>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IDisplayPostproc</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>vendor.qti.hardware.qdutils_disp</name>
|
||||
<transport>hwbinder</transport>
|
||||
@@ -408,6 +223,33 @@
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.bluetooth</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IBluetoothHci</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>com.qualcomm.qti.bluetooth_audio</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IBluetoothAudio</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>vendor.qti.hardware.radio.atcmdfwd</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IAtCmdFwd</name>
|
||||
<instance>AtCmdFwdService</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>vendor.qti.hardware.radio.am</name>
|
||||
<transport>hwbinder</transport>
|
||||
@@ -418,15 +260,6 @@
|
||||
<instance>slot2</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>vendor.qti.hardware.radio.atcmdfwd</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IAtCmdFwd</name>
|
||||
<instance>AtCmdFwdService</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>vendor.qti.hardware.radio.config</name>
|
||||
<transport>hwbinder</transport>
|
||||
@@ -498,32 +331,94 @@
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>vendor.qti.hardware.sensorscalibrate</name>
|
||||
<name>android.hardware.radio</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>ISensorsCalibrate</name>
|
||||
<name>IRadio</name>
|
||||
<instance>slot1</instance>
|
||||
<instance>slot2</instance>
|
||||
</interface>
|
||||
<interface>
|
||||
<name>ISap</name>
|
||||
<instance>slot1</instance>
|
||||
<instance>slot2</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.radio.deprecated</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IOemHook</name>
|
||||
<instance>slot1</instance>
|
||||
<instance>slot2</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.gatekeeper</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IGatekeeper</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>vendor.qti.hardware.wifi.hostapd</name>
|
||||
<name>android.hardware.vibrator</name>
|
||||
<transport>hwbinder</transport>
|
||||
<impl level="generic"></impl>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IHostapdVendor</name>
|
||||
<name>IVibrator</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>vendor.qti.hardware.wifi.supplicant</name>
|
||||
<name>vendor.qti.esepowermanager</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>2.0</version>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>ISupplicantVendor</name>
|
||||
<name>IEsePowerManager</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.cas</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IMediaCasService</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.configstore</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>ISurfaceFlingerConfigs</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>vendor.qti.hardware.alarm</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IAlarm</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>com.qualcomm.qti.imscmservice</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IImsCmService</name>
|
||||
<instance>qti.ims.connectionmanagerservice</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>vendor.qti.imsrtpservice</name>
|
||||
<transport>hwbinder</transport>
|
||||
@@ -534,16 +429,39 @@
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>com.qualcomm.qti.wifidisplayhal</name>
|
||||
<name>android.hardware.health</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IDSManager</name>
|
||||
<instance>wifidisplaydshal</instance>
|
||||
<name>IHealth</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.sensors</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IHDCPSession</name>
|
||||
<instance>wifidisplayhdcphal</instance>
|
||||
<name>ISensors</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.camera.provider</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>2.4</version>
|
||||
<interface>
|
||||
<name>ICameraProvider</name>
|
||||
<instance>legacy/0</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.memtrack</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IMemtrack</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
</manifest>
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
<!ELEMENT EncoderOutputFileFormat EMPTY>
|
||||
<!ATTLIST EncoderOutputFileFormat name (mp4|3gp) #REQUIRED>
|
||||
<!ELEMENT VideoEncoderCap EMPTY>
|
||||
<!ATTLIST VideoEncoderCap name (hevc|h264|h263|m4v|wmv) #REQUIRED>
|
||||
<!ATTLIST VideoEncoderCap name (h264|h263|m4v|wmv) #REQUIRED>
|
||||
<!ATTLIST VideoEncoderCap enabled (true|false) #REQUIRED>
|
||||
<!ATTLIST VideoEncoderCap minBitRate CDATA #REQUIRED>
|
||||
<!ATTLIST VideoEncoderCap maxBitRate CDATA #REQUIRED>
|
||||
@@ -89,45 +89,6 @@
|
||||
<!-- Each camcorder profile defines a set of predefined configuration parameters -->
|
||||
<CamcorderProfiles cameraId="0">
|
||||
|
||||
<EncoderProfile quality="low" fileFormat="3gp" duration="30">
|
||||
<Video codec="h264"
|
||||
bitRate="192000"
|
||||
width="176"
|
||||
height="144"
|
||||
frameRate="30" />
|
||||
|
||||
<Audio codec="amrnb"
|
||||
bitRate="12200"
|
||||
sampleRate="8000"
|
||||
channels="1" />
|
||||
</EncoderProfile>
|
||||
|
||||
<EncoderProfile quality="high" fileFormat="mp4" duration="30">
|
||||
<Video codec="h264"
|
||||
bitRate="42000000"
|
||||
width="3840"
|
||||
height="2160"
|
||||
frameRate="30" />
|
||||
|
||||
<Audio codec="aac"
|
||||
bitRate="156000"
|
||||
sampleRate="48000"
|
||||
channels="2" />
|
||||
</EncoderProfile>
|
||||
|
||||
<EncoderProfile quality="qcif" fileFormat="3gp" duration="30">
|
||||
<Video codec="h264"
|
||||
bitRate="192000"
|
||||
width="176"
|
||||
height="144"
|
||||
frameRate="30" />
|
||||
|
||||
<Audio codec="amrnb"
|
||||
bitRate="12200"
|
||||
sampleRate="8000"
|
||||
channels="1" />
|
||||
</EncoderProfile>
|
||||
|
||||
<EncoderProfile quality="qvga" fileFormat="3gp" duration="60">
|
||||
<Video codec="m4v"
|
||||
bitRate="128000"
|
||||
@@ -188,19 +149,6 @@
|
||||
channels="1" />
|
||||
</EncoderProfile>
|
||||
|
||||
<EncoderProfile quality="2160p" fileFormat="mp4" duration="30">
|
||||
<Video codec="h264"
|
||||
bitRate="42000000"
|
||||
width="3840"
|
||||
height="2160"
|
||||
frameRate="30" />
|
||||
|
||||
<Audio codec="aac"
|
||||
bitRate="156000"
|
||||
sampleRate="48000"
|
||||
channels="2" />
|
||||
</EncoderProfile>
|
||||
|
||||
<EncoderProfile quality="timelapseqcif" fileFormat="mp4" duration="30">
|
||||
<Video codec="h264"
|
||||
bitRate="192000"
|
||||
@@ -266,19 +214,6 @@
|
||||
channels="1" />
|
||||
</EncoderProfile>
|
||||
|
||||
<EncoderProfile quality="timelapse2160p" fileFormat="mp4" duration="30">
|
||||
<Video codec="h264"
|
||||
bitRate="42000000"
|
||||
width="3840"
|
||||
height="2160"
|
||||
frameRate="30" />
|
||||
|
||||
<Audio codec="aac"
|
||||
bitRate="156000"
|
||||
sampleRate="48000"
|
||||
channels="2" />
|
||||
</EncoderProfile>
|
||||
|
||||
<ImageEncoding quality="95" />
|
||||
<ImageEncoding quality="80" />
|
||||
<ImageEncoding quality="70" />
|
||||
@@ -288,45 +223,6 @@
|
||||
|
||||
<CamcorderProfiles cameraId="1">
|
||||
|
||||
<EncoderProfile quality="low" fileFormat="3gp" duration="30">
|
||||
<Video codec="h264"
|
||||
bitRate="192000"
|
||||
width="176"
|
||||
height="144"
|
||||
frameRate="30" />
|
||||
|
||||
<Audio codec="amrnb"
|
||||
bitRate="12200"
|
||||
sampleRate="8000"
|
||||
channels="1" />
|
||||
</EncoderProfile>
|
||||
|
||||
<EncoderProfile quality="high" fileFormat="mp4" duration="30">
|
||||
<Video codec="h264"
|
||||
bitRate="42000000"
|
||||
width="3840"
|
||||
height="2160"
|
||||
frameRate="30" />
|
||||
|
||||
<Audio codec="aac"
|
||||
bitRate="156000"
|
||||
sampleRate="48000"
|
||||
channels="2" />
|
||||
</EncoderProfile>
|
||||
|
||||
<EncoderProfile quality="qcif" fileFormat="3gp" duration="30">
|
||||
<Video codec="h264"
|
||||
bitRate="192000"
|
||||
width="176"
|
||||
height="144"
|
||||
frameRate="30" />
|
||||
|
||||
<Audio codec="amrnb"
|
||||
bitRate="12200"
|
||||
sampleRate="8000"
|
||||
channels="1" />
|
||||
</EncoderProfile>
|
||||
|
||||
<EncoderProfile quality="qvga" fileFormat="3gp" duration="60">
|
||||
<Video codec="m4v"
|
||||
bitRate="128000"
|
||||
@@ -375,19 +271,6 @@
|
||||
channels="1" />
|
||||
</EncoderProfile>
|
||||
|
||||
<EncoderProfile quality="1080p" fileFormat="mp4" duration="30">
|
||||
<Video codec="h264"
|
||||
bitRate="20000000"
|
||||
width="1920"
|
||||
height="1080"
|
||||
frameRate="30" />
|
||||
|
||||
<Audio codec="aac"
|
||||
bitRate="156000"
|
||||
sampleRate="48000"
|
||||
channels="2" />
|
||||
</EncoderProfile>
|
||||
|
||||
<EncoderProfile quality="timelapseqcif" fileFormat="mp4" duration="30">
|
||||
<Video codec="h264"
|
||||
bitRate="192000"
|
||||
@@ -455,16 +338,10 @@
|
||||
In other words, the applications won't be able to use the codec
|
||||
or query the capabilities of the codec at all if it is disabled
|
||||
-->
|
||||
<VideoEncoderCap name="hevc" enabled="true"
|
||||
minBitRate="64000" maxBitRate="100000000"
|
||||
minFrameWidth="176" maxFrameWidth="4096"
|
||||
minFrameHeight="144" maxFrameHeight="2160"
|
||||
minFrameRate="15" maxFrameRate="30" />
|
||||
|
||||
<VideoEncoderCap name="h264" enabled="true"
|
||||
minBitRate="64000" maxBitRate="42000000"
|
||||
minFrameWidth="176" maxFrameWidth="3840"
|
||||
minFrameHeight="144" maxFrameHeight="2160"
|
||||
minBitRate="64000" maxBitRate="40000000"
|
||||
minFrameWidth="176" maxFrameWidth="1920"
|
||||
minFrameHeight="144" maxFrameHeight="1080"
|
||||
minFrameRate="15" maxFrameRate="30" />
|
||||
|
||||
<VideoEncoderCap name="h263" enabled="true"
|
||||
@@ -482,7 +359,7 @@
|
||||
<AudioEncoderCap name="aac" enabled="true"
|
||||
minBitRate="758" maxBitRate="288000"
|
||||
minSampleRate="8000" maxSampleRate="48000"
|
||||
minChannels="1" maxChannels="6" />
|
||||
minChannels="1" maxChannels="1" />
|
||||
|
||||
<AudioEncoderCap name="heaac" enabled="true"
|
||||
minBitRate="8000" maxBitRate="64000"
|
||||
|
||||
@@ -6,8 +6,6 @@
|
||||
|
||||
<privapp-permissions package="com.qualcomm.location">
|
||||
<permission name="android.permission.CONTROL_LOCATION_UPDATES"/>
|
||||
<permission name="android.permission.WRITE_SECURE_SETTINGS"/>
|
||||
<permission name="android.permission.MANAGE_USERS"/>
|
||||
</privapp-permissions>
|
||||
|
||||
<privapp-permissions package="com.qualcomm.qcrilmsgtunnel">
|
||||
@@ -18,83 +16,4 @@
|
||||
<permission name="android.permission.INTERACT_ACROSS_USERS"/>
|
||||
<permission name="android.permission.PACKET_KEEPALIVE_OFFLOAD"/>
|
||||
</privapp-permissions>
|
||||
|
||||
<privapp-permissions package="org.codeaurora.qti.qtiNetworkApp">
|
||||
<permission name="android.permission.MODIFY_PHONE_STATE"/>
|
||||
</privapp-permissions>
|
||||
|
||||
<privapp-permissions package="org.codeaurora.ims">
|
||||
<permission name="android.permission.READ_PRECISE_PHONE_STATE"/>
|
||||
<permission name="android.permission.INTERACT_ACROSS_USERS"/>
|
||||
<permission name="android.permission.SUBSTITUTE_NOTIFICATION_APP_NAME"/>
|
||||
</privapp-permissions>
|
||||
|
||||
<privapp-permissions package="com.qualcomm.wfd.service">
|
||||
<permission name="android.permission.READ_FRAME_BUFFER"/>
|
||||
<permission name="android.permission.WRITE_MEDIA_STORAGE"/>
|
||||
</privapp-permissions>
|
||||
|
||||
<privapp-permissions package="com.android.soundrecorder">
|
||||
<permission name="android.permission.WRITE_MEDIA_STORAGE"/>
|
||||
<permission name="android.permission.CAPTURE_AUDIO_OUTPUT"/>
|
||||
</privapp-permissions>
|
||||
|
||||
<privapp-permissions package="com.quicinc.voice.activation">
|
||||
<permission name="android.permission.CAPTURE_AUDIO_HOTWORD"/>
|
||||
<permission name="android.permission.MANAGE_SOUND_TRIGGER"/>
|
||||
</privapp-permissions>
|
||||
|
||||
<privapp-permissions package="com.qualcomm.qti.carrierswitch">
|
||||
<permission name="android.permission.REBOOT"/>
|
||||
</privapp-permissions>
|
||||
|
||||
<privapp-permissions package="com.android.mms">
|
||||
<permission name="android.permission.READ_PRIVILEGED_PHONE_STATE"/>
|
||||
<permission name="android.permission.WRITE_APN_SETTINGS"/>
|
||||
</privapp-permissions>
|
||||
|
||||
<privapp-permissions package="org.codeaurora.bluetooth.batestapp">
|
||||
<permission name="android.permission.BLUETOOTH_PRIVILEGED"/>
|
||||
<permission name="android.permission.LOCAL_MAC_ADDRESS"/>
|
||||
</privapp-permissions>
|
||||
|
||||
<privapp-permissions package="org.codeaurora.snapcam">
|
||||
<permission name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
|
||||
<permission name="android.permission.WRITE_MEDIA_STORAGE"/>
|
||||
</privapp-permissions>
|
||||
|
||||
<privapp-permissions package="com.qualcomm.qti.callenhancement">
|
||||
<permission name="android.permission.RECORD_AUDIO" />
|
||||
<permission name="android.permission.CAPTURE_AUDIO_OUTPUT" />
|
||||
<permission name="android.permission.READ_EXTERNAL_STORAGE" />
|
||||
<permission name="android.permission.WRITE_EXTERNAL_STORAGE" />
|
||||
<permission name="android.permission.READ_BLOCKED_NUMBERS" />
|
||||
<permission name="android.permission.VIBRATE" />
|
||||
</privapp-permissions>
|
||||
|
||||
<privapp-permissions package="com.android.fmradio">
|
||||
<permission name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
|
||||
<permission name="android.permission.ACCESS_FM_RADIO"/>
|
||||
<permission name="android.permission.MODIFY_AUDIO_ROUTING"/>
|
||||
</privapp-permissions>
|
||||
|
||||
<privapp-permissions package="com.qualcomm.atfwd">
|
||||
<permission name="android.permission.INTERACT_ACROSS_USERS"/>
|
||||
</privapp-permissions>
|
||||
|
||||
<privapp-permissions package="com.android.hotwordenrollment.okgoogle">
|
||||
<permission name="android.permission.MANAGE_VOICE_KEYPHRASES"/>
|
||||
</privapp-permissions>
|
||||
|
||||
<privapp-permissions package="com.android.hotwordenrollment.tgoogle">
|
||||
<permission name="android.permission.MANAGE_VOICE_KEYPHRASES"/>
|
||||
</privapp-permissions>
|
||||
|
||||
<privapp-permissions package="com.android.hotwordenrollment.xgoogle">
|
||||
<permission name="android.permission.MANAGE_VOICE_KEYPHRASES"/>
|
||||
</privapp-permissions>
|
||||
|
||||
<privapp-permissions package="com.moto.actions">
|
||||
<permission name="android.permission.MODIFY_PHONE_STATE"/>
|
||||
</privapp-permissions>
|
||||
</permissions>
|
||||
|
||||
186
configs/qdcm_calib_data_mipi_mot_vid_djn_1080p_550.xml
Normal file
186
configs/qdcm_calib_data_mipi_mot_vid_djn_1080p_550.xml
Normal file
File diff suppressed because one or more lines are too long
186
configs/qdcm_calib_data_mipi_mot_vid_tianma_1080p_550.xml
Normal file
186
configs/qdcm_calib_data_mipi_mot_vid_tianma_1080p_550.xml
Normal file
File diff suppressed because one or more lines are too long
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
|
||||
|
||||
<!--
|
||||
/* Copyright (c) 2017-2018, The Linux Foundation. All rights reserved.
|
||||
/* Copyright (c) 2017, 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
|
||||
@@ -34,7 +34,7 @@
|
||||
<!-- These are telephony components that need to freely run in the background -->
|
||||
<allow-in-power-save package="com.qualcomm.atfwd" />
|
||||
<allow-in-power-save package="com.qualcomm.qti.telephonyservice" />
|
||||
<allow-in-power-save package="com.qualcomm.qcrilmsgtunnel" />
|
||||
<allow-in-power-save package="com.qulacomm.qcrilmsgtunnel" />
|
||||
<allow-in-power-save package="com.qualcomm.qti.ims" />
|
||||
<allow-in-power-save package="com.qualcomm.qti.radioconfiginterface" />
|
||||
<allow-in-power-save package="com.qualcomm.simcontacts" />
|
||||
@@ -42,74 +42,4 @@
|
||||
<allow-in-power-save package="com.qualcomm.qti.server.wigigapp" />
|
||||
<allow-in-power-save package="com.qualcomm.qti.StatsPollManager" />
|
||||
<allow-in-power-save package="com.qualcomm.qti.gsma.services.nfc" />
|
||||
<allow-in-power-save package="com.quicinc.voice.activation" />
|
||||
<allow-in-power-save package="com.android.mms" />
|
||||
<allow-in-power-save package="com.qualcomm.qti.callenhancement" />
|
||||
<allow-in-power-save package="com.qualcomm.qti.smartassistant" />
|
||||
<!-- These telephony applications need access to non-[System]SDK APIs -->
|
||||
<hidden-api-whitelisted-app package="com.qualcomm.uimremoteserver" />
|
||||
<hidden-api-whitelisted-app package="com.qualcomm.uimremoteclient" />
|
||||
<hidden-api-whitelisted-app package="com.qualcomm.atfwd" />
|
||||
<hidden-api-whitelisted-app package="com.qualcomm.qti.autoregistration" />
|
||||
<hidden-api-whitelisted-app package="com.qualcomm.qti.callenhancement" />
|
||||
<hidden-api-whitelisted-app package="com.qualcomm.qti.callfeaturessetting" />
|
||||
<hidden-api-whitelisted-app package="com.qualcomm.qti.confdialer" />
|
||||
<hidden-api-whitelisted-app package="org.codeaurora.dialer" />
|
||||
<hidden-api-whitelisted-app package="com.qti.qualcomm.datastatusnotification" />
|
||||
<hidden-api-whitelisted-app package="com.qti.qualcomm.deviceinfo" />
|
||||
<hidden-api-whitelisted-app package="com.qualcomm.qti.modemtestmode" />
|
||||
<hidden-api-whitelisted-app package="com.qualcomm.qti.networksetting" />
|
||||
<hidden-api-whitelisted-app package="com.qualcomm.qti.qtisystemservice" />
|
||||
<hidden-api-whitelisted-app package="com.qualcomm.qti.telephonyservice" />
|
||||
<hidden-api-whitelisted-app package="com.qualcomm.qti.radioconfiginterface" />
|
||||
<hidden-api-whitelisted-app package="com.qualcomm.qti.radioconfigtest" />
|
||||
<hidden-api-whitelisted-app package="com.qualcomm.qti.roamingsettings" />
|
||||
<hidden-api-whitelisted-app package="com.qualcomm.simcontacts" />
|
||||
<hidden-api-whitelisted-app package="com.qualcomm.qti.simsettings" />
|
||||
<hidden-api-whitelisted-app package="org.codeaurora.ims" />
|
||||
<hidden-api-whitelisted-app package="com.qualcomm.qti.ims" />
|
||||
<hidden-api-whitelisted-app package="com.qti.xdivert" />
|
||||
<hidden-api-whitelisted-app package="com.qualcomm.qcrilmsgtunnel" />
|
||||
<hidden-api-whitelisted-app package="com.qti.confuridialer" />
|
||||
<hidden-api-whitelisted-app package="com.qti.editnumber" />
|
||||
<hidden-api-whitelisted-app package="com.qualcomm.embmstest" />
|
||||
<hidden-api-whitelisted-app package="com.qualcomm.qti.ltedirect" />
|
||||
<hidden-api-whitelisted-app package="com.android.MultiplePdpTest" />
|
||||
<hidden-api-whitelisted-app package="com.qualcomm.qti.app" />
|
||||
<hidden-api-whitelisted-app package="com.qualcomm.embms" />
|
||||
<hidden-api-whitelisted-app package="com.qualcomm.qti.embmstuneaway" />
|
||||
<hidden-api-whitelisted-app package="com.qualcomm.qti.uimlpatest" />
|
||||
<hidden-api-whitelisted-app package="com.qualcomm.qti.lpa" />
|
||||
<hidden-api-whitelisted-app package="com.qualcomm.qti.uim" />
|
||||
|
||||
<hidden-api-whitelisted-app package="org.codeaurora.snapcam" />
|
||||
<hidden-api-whitelisted-app package="com.android.mms" />
|
||||
<hidden-api-whitelisted-app package="com.qualcomm.qti.carrierswitch" />
|
||||
<hidden-api-whitelisted-app package="com.qualcomm.qti.carrierconfigure" />
|
||||
<hidden-api-whitelisted-app package="com.qualcomm.qti.sva" />
|
||||
<hidden-api-whitelisted-app package="com.qualcomm.qti.smartassistant" />
|
||||
<hidden-api-whitelisted-app package="com.quicinc.voice.activation" />
|
||||
<hidden-api-whitelisted-app package="com.android.backup" />
|
||||
<hidden-api-whitelisted-app package="com.android.contacts" />
|
||||
<hidden-api-whitelisted-app package="com.android.exchange" />
|
||||
<hidden-api-whitelisted-app package="com.android.soundrecorder" />
|
||||
<hidden-api-whitelisted-app package="com.android.camera2" />
|
||||
<hidden-api-whitelisted-app package="org.codeaurora.gallery" />
|
||||
<hidden-api-whitelisted-app package="com.example.connmgr" />
|
||||
<hidden-api-whitelisted-app package="com.android.email" />
|
||||
<hidden-api-whitelisted-app package="com.cyanogenmod.filemanager" />
|
||||
<hidden-api-whitelisted-app package="com.qualcomm.qti.presenceappSub2" />
|
||||
<hidden-api-whitelisted-app package="com.qualcomm.secureindicator" />
|
||||
<hidden-api-whitelisted-app package="com.qualcomm.qti.sysmonappExternal" />
|
||||
<hidden-api-whitelisted-app package="com.qualcomm.qti.biometrics.voiceprint.voiceprintdemo" />
|
||||
<hidden-api-whitelisted-app package="com.qti.vtloopback " />
|
||||
<hidden-api-whitelisted-app package="com.android.bluetooth" />
|
||||
<hidden-api-whitelisted-app package="org.codeaurora.bluetooth" />
|
||||
<hidden-api-whitelisted-app package="org.codeaurora.bluetooth.hidtestapp" />
|
||||
<hidden-api-whitelisted-app package="com.qualcomm.qti.qmmi" />
|
||||
<hidden-api-whitelisted-app package="com.qualcomm.qti.perfdump" />
|
||||
<hidden-api-whitelisted-app package="com.qualcomm.wfd.client" />
|
||||
<hidden-api-whitelisted-app package="com.qualcomm.wfd.service" />
|
||||
<hidden-api-whitelisted-app package="com.qualcomm.qti.server.wigigapp" />
|
||||
<hidden-api-whitelisted-app package="com.qti.service.colorservice" />
|
||||
</config>
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
/* IPC Security Config */
|
||||
/* <GPS QMI Service ID - 16>:<GPS QMI Instance ID - all instances>:<Client Group ID> */
|
||||
16:4294967295:1000:1021:1026
|
||||
/* <QDMA QMI Service ID - 75>:<QDMA QMI Instance ID - all instances>:<Client Group ID> */
|
||||
75:4294967295:1000:1001:3006
|
||||
16:4294967295:1000:1021
|
||||
/* <LOWI QMI Service ID - 38>:<LOWI QMI Instance ID - all instances>:<Client Group ID> */
|
||||
56:4294967295:1021
|
||||
/* Allow SS CTL service to be used by system and net_raw processes */
|
||||
@@ -14,270 +12,264 @@
|
||||
/* QMI-SLIM service permitted to gps and net_raw */
|
||||
55:4294967295:1021
|
||||
/* Allow Sensor services to be used by sensor process */
|
||||
256:4294967295:1000:1006:1013:1021:1047:3011
|
||||
257:4294967295:1000:1006:1013:1021:1047:3011
|
||||
258:4294967295:1000:1006:1013:1021:1047:3011
|
||||
259:4294967295:1000:1006:1013:1021:1047:3011
|
||||
260:4294967295:1000:1006:1013:1021:1047:3011
|
||||
261:4294967295:1000:1006:1013:1021:1047:3011
|
||||
262:4294967295:1000:1006:1013:1021:1047:3011
|
||||
263:4294967295:1000:1006:1013:1021:1047:3011
|
||||
264:4294967295:1000:1006:1013:1021:1047:3011
|
||||
265:4294967295:1000:1006:1013:1021:1047:3011
|
||||
266:4294967295:1000:1006:1013:1021:1047:3011
|
||||
267:4294967295:1000:1006:1013:1021:1047:3011
|
||||
268:4294967295:1000:1006:1013:1021:1047:3011
|
||||
269:4294967295:1000:1006:1013:1021:1047:3011
|
||||
270:4294967295:1000:1006:1013:1021:1047:3011
|
||||
271:4294967295:1000:1006:1013:1021:1047:3011
|
||||
272:4294967295:1000:1006:1013:1021:1047:3011
|
||||
273:4294967295:1000:1006:1013:1021:1047:3011
|
||||
274:4294967295:1000:1006:1013:1021:1047:3011
|
||||
275:4294967295:1000:1006:1013:1021:1047:3011
|
||||
276:4294967295:1000:1006:1013:1021:1047:3011
|
||||
277:4294967295:1000:1006:1013:1021:1047:3011
|
||||
278:4294967295:1000:1006:1013:1021:1047:3011
|
||||
279:4294967295:1000:1006:1013:1021:1047:3011
|
||||
280:4294967295:1000:1006:1013:1021:1047:3011
|
||||
281:4294967295:1000:1006:1013:1021:1047:3011
|
||||
282:4294967295:1000:1006:1013:1021:1047:3011
|
||||
283:4294967295:1000:1006:1013:1021:1047:3011
|
||||
284:4294967295:1000:1006:1013:1021:1047:3011
|
||||
285:4294967295:1000:1006:1013:1021:1047:3011
|
||||
286:4294967295:1000:1006:1013:1021:1047:3011
|
||||
287:4294967295:1000:1006:1013:1021:1047:3011
|
||||
288:4294967295:1000:1006:1013:1021:1047:3011
|
||||
289:4294967295:1000:1006:1013:1021:1047:3011
|
||||
290:4294967295:1000:1006:1013:1021:1047:3011
|
||||
291:4294967295:1000:1006:1013:1021:1047:3011
|
||||
292:4294967295:1000:1006:1013:1021:1047:3011
|
||||
293:4294967295:1000:1006:1013:1021:1047:3011
|
||||
294:4294967295:1000:1006:1013:1021:1047:3011
|
||||
295:4294967295:1000:1006:1013:1021:1047:3011
|
||||
296:4294967295:1000:1006:1013:1021:1047:3011
|
||||
297:4294967295:1000:1006:1013:1021:1047:3011
|
||||
298:4294967295:1000:1006:1013:1021:1047:3011
|
||||
299:4294967295:1000:1006:1013:1021:1047:3011
|
||||
300:4294967295:1000:1006:1013:1021:1047:3011
|
||||
301:4294967295:1000:1006:1013:1021:1047:3011
|
||||
302:4294967295:1000:1006:1013:1021:1047:3011
|
||||
303:4294967295:1000:1006:1013:1021:1047:3011
|
||||
304:4294967295:1000:1006:1013:1021:1047:3011
|
||||
305:4294967295:1000:1006:1013:1021:1047:3011
|
||||
306:4294967295:1000:1006:1013:1021:1047:3011
|
||||
307:4294967295:1000:1006:1013:1021:1047:3011
|
||||
308:4294967295:1000:1006:1013:1021:1047:3011
|
||||
309:4294967295:1000:1006:1013:1021:1047:3011
|
||||
310:4294967295:1000:1006:1013:1021:1047:3011
|
||||
311:4294967295:1000:1006:1013:1021:1047:3011
|
||||
312:4294967295:1000:1006:1013:1021:1047:3011
|
||||
313:4294967295:1000:1006:1013:1021:1047:3011
|
||||
314:4294967295:1000:1006:1013:1021:1047:3011
|
||||
315:4294967295:1000:1006:1013:1021:1047:3011
|
||||
316:4294967295:1000:1006:1013:1021:1047:3011
|
||||
317:4294967295:1000:1006:1013:1021:1047:3011
|
||||
318:4294967295:1000:1006:1013:1021:1047:3011
|
||||
319:4294967295:1000:1006:1013:1021:1047:3011
|
||||
320:4294967295:1000:1006:1013:1021:1047:3011
|
||||
321:4294967295:1000:1006:1013:1021:1047:3011
|
||||
322:4294967295:1000:1006:1013:1021:1047:3011
|
||||
323:4294967295:1000:1006:1013:1021:1047:3011
|
||||
324:4294967295:1000:1006:1013:1021:1047:3011
|
||||
325:4294967295:1000:1006:1013:1021:1047:3011
|
||||
326:4294967295:1000:1006:1013:1021:1047:3011
|
||||
327:4294967295:1000:1006:1013:1021:1047:3011
|
||||
328:4294967295:1000:1006:1013:1021:1047:3011
|
||||
329:4294967295:1000:1006:1013:1021:1047:3011
|
||||
330:4294967295:1000:1006:1013:1021:1047:3011
|
||||
331:4294967295:1000:1006:1013:1021:1047:3011
|
||||
332:4294967295:1000:1006:1013:1021:1047:3011
|
||||
333:4294967295:1000:1006:1013:1021:1047:3011
|
||||
334:4294967295:1000:1006:1013:1021:1047:3011
|
||||
335:4294967295:1000:1006:1013:1021:1047:3011
|
||||
336:4294967295:1000:1006:1013:1021:1047:3011
|
||||
337:4294967295:1000:1006:1013:1021:1047:3011
|
||||
338:4294967295:1000:1006:1013:1021:1047:3011
|
||||
339:4294967295:1000:1006:1013:1021:1047:3011
|
||||
340:4294967295:1000:1006:1013:1021:1047:3011
|
||||
341:4294967295:1000:1006:1013:1021:1047:3011
|
||||
342:4294967295:1000:1006:1013:1021:1047:3011
|
||||
343:4294967295:1000:1006:1013:1021:1047:3011
|
||||
344:4294967295:1000:1006:1013:1021:1047:3011
|
||||
345:4294967295:1000:1006:1013:1021:1047:3011
|
||||
346:4294967295:1000:1006:1013:1021:1047:3011
|
||||
347:4294967295:1000:1006:1013:1021:1047:3011
|
||||
348:4294967295:1000:1006:1013:1021:1047:3011
|
||||
349:4294967295:1000:1006:1013:1021:1047:3011
|
||||
350:4294967295:1000:1006:1013:1021:1047:3011
|
||||
351:4294967295:1000:1006:1013:1021:1047:3011
|
||||
352:4294967295:1000:1006:1013:1021:1047:3011
|
||||
353:4294967295:1000:1006:1013:1021:1047:3011
|
||||
354:4294967295:1000:1006:1013:1021:1047:3011
|
||||
355:4294967295:1000:1006:1013:1021:1047:3011
|
||||
356:4294967295:1000:1006:1013:1021:1047:3011
|
||||
357:4294967295:1000:1006:1013:1021:1047:3011
|
||||
358:4294967295:1000:1006:1013:1021:1047:3011
|
||||
359:4294967295:1000:1006:1013:1021:1047:3011
|
||||
360:4294967295:1000:1006:1013:1021:1047:3011
|
||||
361:4294967295:1000:1006:1013:1021:1047:3011
|
||||
362:4294967295:1000:1006:1013:1021:1047:3011
|
||||
363:4294967295:1000:1006:1013:1021:1047:3011
|
||||
364:4294967295:1000:1006:1013:1021:1047:3011
|
||||
365:4294967295:1000:1006:1013:1021:1047:3011
|
||||
366:4294967295:1000:1006:1013:1021:1047:3011
|
||||
367:4294967295:1000:1006:1013:1021:1047:3011
|
||||
368:4294967295:1000:1006:1013:1021:1047:3011
|
||||
369:4294967295:1000:1006:1013:1021:1047:3011
|
||||
370:4294967295:1000:1006:1013:1021:1047:3011
|
||||
371:4294967295:1000:1006:1013:1021:1047:3011
|
||||
372:4294967295:1000:1006:1013:1021:1047:3011
|
||||
373:4294967295:1000:1006:1013:1021:1047:3011
|
||||
374:4294967295:1000:1006:1013:1021:1047:3011
|
||||
375:4294967295:1000:1006:1013:1021:1047:3011
|
||||
376:4294967295:1000:1006:1013:1021:1047:3011
|
||||
377:4294967295:1000:1006:1013:1021:1047:3011
|
||||
378:4294967295:1000:1006:1013:1021:1047:3011
|
||||
379:4294967295:1000:1006:1013:1021:1047:3011
|
||||
380:4294967295:1000:1006:1013:1021:1047:3011
|
||||
381:4294967295:1000:1006:1013:1021:1047:3011
|
||||
382:4294967295:1000:1006:1013:1021:1047:3011
|
||||
383:4294967295:1000:1006:1013:1021:1047:3011
|
||||
384:4294967295:1000:1006:1013:1021:1047:3011
|
||||
385:4294967295:1000:1006:1013:1021:1047:3011
|
||||
386:4294967295:1000:1006:1013:1021:1047:3011
|
||||
387:4294967295:1000:1006:1013:1021:1047:3011
|
||||
388:4294967295:1000:1006:1013:1021:1047:3011
|
||||
389:4294967295:1000:1006:1013:1021:1047:3011
|
||||
390:4294967295:1000:1006:1013:1021:1047:3011
|
||||
391:4294967295:1000:1006:1013:1021:1047:3011
|
||||
392:4294967295:1000:1006:1013:1021:1047:3011
|
||||
393:4294967295:1000:1006:1013:1021:1047:3011
|
||||
394:4294967295:1000:1006:1013:1021:1047:3011
|
||||
395:4294967295:1000:1006:1013:1021:1047:3011
|
||||
396:4294967295:1000:1006:1013:1021:1047:3011
|
||||
397:4294967295:1000:1006:1013:1021:1047:3011
|
||||
398:4294967295:1000:1006:1013:1021:1047:3011
|
||||
399:4294967295:1000:1006:1013:1021:1047:3011
|
||||
400:4294967295:1000:1006:1013:1021:1047:3011
|
||||
401:4294967295:1000:1006:1013:1021:1047:3011
|
||||
402:4294967295:1000:1006:1013:1021:1047:3011
|
||||
403:4294967295:1000:1006:1013:1021:1047:3011
|
||||
404:4294967295:1000:1006:1013:1021:1047:3011
|
||||
405:4294967295:1000:1006:1013:1021:1047:3011
|
||||
406:4294967295:1000:1006:1013:1021:1047:3011
|
||||
407:4294967295:1000:1006:1013:1021:1047:3011
|
||||
408:4294967295:1000:1006:1013:1021:1047:3011
|
||||
409:4294967295:1000:1006:1013:1021:1047:3011
|
||||
410:4294967295:1000:1006:1013:1021:1047:3011
|
||||
411:4294967295:1000:1006:1013:1021:1047:3011
|
||||
412:4294967295:1000:1006:1013:1021:1047:3011
|
||||
413:4294967295:1000:1006:1013:1021:1047:3011
|
||||
414:4294967295:1000:1006:1013:1021:1047:3011
|
||||
415:4294967295:1000:1006:1013:1021:1047:3011
|
||||
416:4294967295:1000:1006:1013:1021:1047:3011
|
||||
417:4294967295:1000:1006:1013:1021:1047:3011
|
||||
418:4294967295:1000:1006:1013:1021:1047:3011
|
||||
419:4294967295:1000:1006:1013:1021:1047:3011
|
||||
420:4294967295:1000:1006:1013:1021:1047:3011
|
||||
421:4294967295:1000:1006:1013:1021:1047:3011
|
||||
422:4294967295:1000:1006:1013:1021:1047:3011
|
||||
423:4294967295:1000:1006:1013:1021:1047:3011
|
||||
424:4294967295:1000:1006:1013:1021:1047:3011
|
||||
425:4294967295:1000:1006:1013:1021:1047:3011
|
||||
426:4294967295:1000:1006:1013:1021:1047:3011
|
||||
427:4294967295:1000:1006:1013:1021:1047:3011
|
||||
428:4294967295:1000:1006:1013:1021:1047:3011
|
||||
429:4294967295:1000:1006:1013:1021:1047:3011
|
||||
430:4294967295:1000:1006:1013:1021:1047:3011
|
||||
431:4294967295:1000:1006:1013:1021:1047:3011
|
||||
432:4294967295:1000:1006:1013:1021:1047:3011
|
||||
433:4294967295:1000:1006:1013:1021:1047:3011
|
||||
434:4294967295:1000:1006:1013:1021:1047:3011
|
||||
435:4294967295:1000:1006:1013:1021:1047:3011
|
||||
436:4294967295:1000:1006:1013:1021:1047:3011
|
||||
437:4294967295:1000:1006:1013:1021:1047:3011
|
||||
438:4294967295:1000:1006:1013:1021:1047:3011
|
||||
439:4294967295:1000:1006:1013:1021:1047:3011
|
||||
440:4294967295:1000:1006:1013:1021:1047:3011
|
||||
441:4294967295:1000:1006:1013:1021:1047:3011
|
||||
442:4294967295:1000:1006:1013:1021:1047:3011
|
||||
443:4294967295:1000:1006:1013:1021:1047:3011
|
||||
444:4294967295:1000:1006:1013:1021:1047:3011
|
||||
445:4294967295:1000:1006:1013:1021:1047:3011
|
||||
446:4294967295:1000:1006:1013:1021:1047:3011
|
||||
447:4294967295:1000:1006:1013:1021:1047:3011
|
||||
448:4294967295:1000:1006:1013:1021:1047:3011
|
||||
449:4294967295:1000:1006:1013:1021:1047:3011
|
||||
450:4294967295:1000:1006:1013:1021:1047:3011
|
||||
451:4294967295:1000:1006:1013:1021:1047:3011
|
||||
452:4294967295:1000:1006:1013:1021:1047:3011
|
||||
453:4294967295:1000:1006:1013:1021:1047:3011
|
||||
454:4294967295:1000:1006:1013:1021:1047:3011
|
||||
455:4294967295:1000:1006:1013:1021:1047:3011
|
||||
456:4294967295:1000:1006:1013:1021:1047:3011
|
||||
457:4294967295:1000:1006:1013:1021:1047:3011
|
||||
458:4294967295:1000:1006:1013:1021:1047:3011
|
||||
459:4294967295:1000:1006:1013:1021:1047:3011
|
||||
460:4294967295:1000:1006:1013:1021:1047:3011
|
||||
461:4294967295:1000:1006:1013:1021:1047:3011
|
||||
462:4294967295:1000:1006:1013:1021:1047:3011
|
||||
463:4294967295:1000:1006:1013:1021:1047:3011
|
||||
464:4294967295:1000:1006:1013:1021:1047:3011
|
||||
465:4294967295:1000:1006:1013:1021:1047:3011
|
||||
466:4294967295:1000:1006:1013:1021:1047:3011
|
||||
467:4294967295:1000:1006:1013:1021:1047:3011
|
||||
468:4294967295:1000:1006:1013:1021:1047:3011
|
||||
469:4294967295:1000:1006:1013:1021:1047:3011
|
||||
470:4294967295:1000:1006:1013:1021:1047:3011
|
||||
471:4294967295:1000:1006:1013:1021:1047:3011
|
||||
472:4294967295:1000:1006:1013:1021:1047:3011
|
||||
473:4294967295:1000:1006:1013:1021:1047:3011
|
||||
474:4294967295:1000:1006:1013:1021:1047:3011
|
||||
475:4294967295:1000:1006:1013:1021:1047:3011
|
||||
476:4294967295:1000:1006:1013:1021:1047:3011
|
||||
477:4294967295:1000:1006:1013:1021:1047:3011
|
||||
478:4294967295:1000:1006:1013:1021:1047:3011
|
||||
479:4294967295:1000:1006:1013:1021:1047:3011
|
||||
480:4294967295:1000:1006:1013:1021:1047:3011
|
||||
481:4294967295:1000:1006:1013:1021:1047:3011
|
||||
482:4294967295:1000:1006:1013:1021:1047:3011
|
||||
483:4294967295:1000:1006:1013:1021:1047:3011
|
||||
484:4294967295:1000:1006:1013:1021:1047:3011
|
||||
485:4294967295:1000:1006:1013:1021:1047:3011
|
||||
486:4294967295:1000:1006:1013:1021:1047:3011
|
||||
487:4294967295:1000:1006:1013:1021:1047:3011
|
||||
488:4294967295:1000:1006:1013:1021:1047:3011
|
||||
489:4294967295:1000:1006:1013:1021:1047:3011
|
||||
490:4294967295:1000:1006:1013:1021:1047:3011
|
||||
491:4294967295:1000:1006:1013:1021:1047:3011
|
||||
492:4294967295:1000:1006:1013:1021:1047:3011
|
||||
493:4294967295:1000:1006:1013:1021:1047:3011
|
||||
494:4294967295:1000:1006:1013:1021:1047:3011
|
||||
495:4294967295:1000:1006:1013:1021:1047:3011
|
||||
496:4294967295:1000:1006:1013:1021:1047:3011
|
||||
497:4294967295:1000:1006:1013:1021:1047:3011
|
||||
498:4294967295:1000:1006:1013:1021:1047:3011
|
||||
499:4294967295:1000:1006:1013:1021:1047:3011
|
||||
500:4294967295:1000:1006:1013:1021:1047:3011
|
||||
501:4294967295:1000:1006:1013:1021:1047:3011
|
||||
502:4294967295:1000:1006:1013:1021:1047:3011
|
||||
503:4294967295:1000:1006:1013:1021:1047:3011
|
||||
504:4294967295:1000:1006:1013:1021:1047:3011
|
||||
505:4294967295:1000:1006:1013:1021:1047:3011
|
||||
506:4294967295:1000:1006:1013:1021:1047:3011
|
||||
507:4294967295:1000:1006:1013:1021:1047:3011
|
||||
508:4294967295:1000:1006:1013:1021:1047:3011
|
||||
509:4294967295:1000:1006:1013:1021:1047:3011
|
||||
510:4294967295:1000:1006:1013:1021:1047:3011
|
||||
511:4294967295:1000:1006:1013:1021:1047:3011
|
||||
256:4294967295:1000:1006:1013:1021:1047
|
||||
257:4294967295:1000:1006:1013:1021:1047
|
||||
258:4294967295:1000:1006:1013:1021:1047
|
||||
259:4294967295:1000:1006:1013:1021:1047
|
||||
260:4294967295:1000:1006:1013:1021:1047
|
||||
261:4294967295:1000:1006:1013:1021:1047
|
||||
262:4294967295:1000:1006:1013:1021:1047
|
||||
263:4294967295:1000:1006:1013:1021:1047
|
||||
264:4294967295:1000:1006:1013:1021:1047
|
||||
265:4294967295:1000:1006:1013:1021:1047
|
||||
266:4294967295:1000:1006:1013:1021:1047
|
||||
267:4294967295:1000:1006:1013:1021:1047
|
||||
268:4294967295:1000:1006:1013:1021:1047
|
||||
269:4294967295:1000:1006:1013:1021:1047
|
||||
270:4294967295:1000:1006:1013:1021:1047
|
||||
271:4294967295:1000:1006:1013:1021:1047
|
||||
272:4294967295:1000:1006:1013:1021:1047
|
||||
273:4294967295:1000:1006:1013:1021:1047
|
||||
274:4294967295:1000:1006:1013:1021:1047
|
||||
275:4294967295:1000:1006:1013:1021:1047
|
||||
276:4294967295:1000:1006:1013:1021:1047
|
||||
277:4294967295:1000:1006:1013:1021:1047
|
||||
278:4294967295:1000:1006:1013:1021:1047
|
||||
279:4294967295:1000:1006:1013:1021:1047
|
||||
280:4294967295:1000:1006:1013:1021:1047
|
||||
281:4294967295:1000:1006:1013:1021:1047
|
||||
282:4294967295:1000:1006:1013:1021:1047
|
||||
283:4294967295:1000:1006:1013:1021:1047
|
||||
284:4294967295:1000:1006:1013:1021:1047
|
||||
285:4294967295:1000:1006:1013:1021:1047
|
||||
286:4294967295:1000:1006:1013:1021:1047
|
||||
287:4294967295:1000:1006:1013:1021:1047
|
||||
288:4294967295:1000:1006:1013:1021:1047
|
||||
289:4294967295:1000:1006:1013:1021:1047
|
||||
290:4294967295:1000:1006:1013:1021:1047
|
||||
291:4294967295:1000:1006:1013:1021:1047
|
||||
292:4294967295:1000:1006:1013:1021:1047
|
||||
293:4294967295:1000:1006:1013:1021:1047
|
||||
294:4294967295:1000:1006:1013:1021:1047
|
||||
295:4294967295:1000:1006:1013:1021:1047
|
||||
296:4294967295:1000:1006:1013:1021:1047
|
||||
297:4294967295:1000:1006:1013:1021:1047
|
||||
298:4294967295:1000:1006:1013:1021:1047
|
||||
299:4294967295:1000:1006:1013:1021:1047
|
||||
300:4294967295:1000:1006:1013:1021:1047
|
||||
301:4294967295:1000:1006:1013:1021:1047
|
||||
302:4294967295:1000:1006:1013:1021:1047
|
||||
303:4294967295:1000:1006:1013:1021:1047
|
||||
304:4294967295:1000:1006:1013:1021:1047
|
||||
305:4294967295:1000:1006:1013:1021:1047
|
||||
306:4294967295:1000:1006:1013:1021:1047
|
||||
307:4294967295:1000:1006:1013:1021:1047
|
||||
308:4294967295:1000:1006:1013:1021:1047
|
||||
309:4294967295:1000:1006:1013:1021:1047
|
||||
310:4294967295:1000:1006:1013:1021:1047
|
||||
311:4294967295:1000:1006:1013:1021:1047
|
||||
312:4294967295:1000:1006:1013:1021:1047
|
||||
313:4294967295:1000:1006:1013:1021:1047
|
||||
314:4294967295:1000:1006:1013:1021:1047
|
||||
315:4294967295:1000:1006:1013:1021:1047
|
||||
316:4294967295:1000:1006:1013:1021:1047
|
||||
317:4294967295:1000:1006:1013:1021:1047
|
||||
318:4294967295:1000:1006:1013:1021:1047
|
||||
319:4294967295:1000:1006:1013:1021:1047
|
||||
320:4294967295:1000:1006:1013:1021:1047
|
||||
321:4294967295:1000:1006:1013:1021:1047
|
||||
322:4294967295:1000:1006:1013:1021:1047
|
||||
323:4294967295:1000:1006:1013:1021:1047
|
||||
324:4294967295:1000:1006:1013:1021:1047
|
||||
325:4294967295:1000:1006:1013:1021:1047
|
||||
326:4294967295:1000:1006:1013:1021:1047
|
||||
327:4294967295:1000:1006:1013:1021:1047
|
||||
328:4294967295:1000:1006:1013:1021:1047
|
||||
329:4294967295:1000:1006:1013:1021:1047
|
||||
330:4294967295:1000:1006:1013:1021:1047
|
||||
331:4294967295:1000:1006:1013:1021:1047
|
||||
332:4294967295:1000:1006:1013:1021:1047
|
||||
333:4294967295:1000:1006:1013:1021:1047
|
||||
334:4294967295:1000:1006:1013:1021:1047
|
||||
335:4294967295:1000:1006:1013:1021:1047
|
||||
336:4294967295:1000:1006:1013:1021:1047
|
||||
337:4294967295:1000:1006:1013:1021:1047
|
||||
338:4294967295:1000:1006:1013:1021:1047
|
||||
339:4294967295:1000:1006:1013:1021:1047
|
||||
340:4294967295:1000:1006:1013:1021:1047
|
||||
341:4294967295:1000:1006:1013:1021:1047
|
||||
342:4294967295:1000:1006:1013:1021:1047
|
||||
343:4294967295:1000:1006:1013:1021:1047
|
||||
344:4294967295:1000:1006:1013:1021:1047
|
||||
345:4294967295:1000:1006:1013:1021:1047
|
||||
346:4294967295:1000:1006:1013:1021:1047
|
||||
347:4294967295:1000:1006:1013:1021:1047
|
||||
348:4294967295:1000:1006:1013:1021:1047
|
||||
349:4294967295:1000:1006:1013:1021:1047
|
||||
350:4294967295:1000:1006:1013:1021:1047
|
||||
351:4294967295:1000:1006:1013:1021:1047
|
||||
352:4294967295:1000:1006:1013:1021:1047
|
||||
353:4294967295:1000:1006:1013:1021:1047
|
||||
354:4294967295:1000:1006:1013:1021:1047
|
||||
355:4294967295:1000:1006:1013:1021:1047
|
||||
356:4294967295:1000:1006:1013:1021:1047
|
||||
357:4294967295:1000:1006:1013:1021:1047
|
||||
358:4294967295:1000:1006:1013:1021:1047
|
||||
359:4294967295:1000:1006:1013:1021:1047
|
||||
360:4294967295:1000:1006:1013:1021:1047
|
||||
361:4294967295:1000:1006:1013:1021:1047
|
||||
362:4294967295:1000:1006:1013:1021:1047
|
||||
363:4294967295:1000:1006:1013:1021:1047
|
||||
364:4294967295:1000:1006:1013:1021:1047
|
||||
365:4294967295:1000:1006:1013:1021:1047
|
||||
366:4294967295:1000:1006:1013:1021:1047
|
||||
367:4294967295:1000:1006:1013:1021:1047
|
||||
368:4294967295:1000:1006:1013:1021:1047
|
||||
369:4294967295:1000:1006:1013:1021:1047
|
||||
370:4294967295:1000:1006:1013:1021:1047
|
||||
371:4294967295:1000:1006:1013:1021:1047
|
||||
372:4294967295:1000:1006:1013:1021:1047
|
||||
373:4294967295:1000:1006:1013:1021:1047
|
||||
374:4294967295:1000:1006:1013:1021:1047
|
||||
375:4294967295:1000:1006:1013:1021:1047
|
||||
376:4294967295:1000:1006:1013:1021:1047
|
||||
377:4294967295:1000:1006:1013:1021:1047
|
||||
378:4294967295:1000:1006:1013:1021:1047
|
||||
379:4294967295:1000:1006:1013:1021:1047
|
||||
380:4294967295:1000:1006:1013:1021:1047
|
||||
381:4294967295:1000:1006:1013:1021:1047
|
||||
382:4294967295:1000:1006:1013:1021:1047
|
||||
383:4294967295:1000:1006:1013:1021:1047
|
||||
384:4294967295:1000:1006:1013:1021:1047
|
||||
385:4294967295:1000:1006:1013:1021:1047
|
||||
386:4294967295:1000:1006:1013:1021:1047
|
||||
387:4294967295:1000:1006:1013:1021:1047
|
||||
388:4294967295:1000:1006:1013:1021:1047
|
||||
389:4294967295:1000:1006:1013:1021:1047
|
||||
390:4294967295:1000:1006:1013:1021:1047
|
||||
391:4294967295:1000:1006:1013:1021:1047
|
||||
392:4294967295:1000:1006:1013:1021:1047
|
||||
393:4294967295:1000:1006:1013:1021:1047
|
||||
394:4294967295:1000:1006:1013:1021:1047
|
||||
395:4294967295:1000:1006:1013:1021:1047
|
||||
396:4294967295:1000:1006:1013:1021:1047
|
||||
397:4294967295:1000:1006:1013:1021:1047
|
||||
398:4294967295:1000:1006:1013:1021:1047
|
||||
399:4294967295:1000:1006:1013:1021:1047
|
||||
400:4294967295:1000:1006:1013:1021:1047
|
||||
401:4294967295:1000:1006:1013:1021:1047
|
||||
402:4294967295:1000:1006:1013:1021:1047
|
||||
403:4294967295:1000:1006:1013:1021:1047
|
||||
404:4294967295:1000:1006:1013:1021:1047
|
||||
405:4294967295:1000:1006:1013:1021:1047
|
||||
406:4294967295:1000:1006:1013:1021:1047
|
||||
407:4294967295:1000:1006:1013:1021:1047
|
||||
408:4294967295:1000:1006:1013:1021:1047
|
||||
409:4294967295:1000:1006:1013:1021:1047
|
||||
410:4294967295:1000:1006:1013:1021:1047
|
||||
411:4294967295:1000:1006:1013:1021:1047
|
||||
412:4294967295:1000:1006:1013:1021:1047
|
||||
413:4294967295:1000:1006:1013:1021:1047
|
||||
414:4294967295:1000:1006:1013:1021:1047
|
||||
415:4294967295:1000:1006:1013:1021:1047
|
||||
416:4294967295:1000:1006:1013:1021:1047
|
||||
417:4294967295:1000:1006:1013:1021:1047
|
||||
418:4294967295:1000:1006:1013:1021:1047
|
||||
419:4294967295:1000:1006:1013:1021:1047
|
||||
420:4294967295:1000:1006:1013:1021:1047
|
||||
421:4294967295:1000:1006:1013:1021:1047
|
||||
422:4294967295:1000:1006:1013:1021:1047
|
||||
423:4294967295:1000:1006:1013:1021:1047
|
||||
424:4294967295:1000:1006:1013:1021:1047
|
||||
425:4294967295:1000:1006:1013:1021:1047
|
||||
426:4294967295:1000:1006:1013:1021:1047
|
||||
427:4294967295:1000:1006:1013:1021:1047
|
||||
428:4294967295:1000:1006:1013:1021:1047
|
||||
429:4294967295:1000:1006:1013:1021:1047
|
||||
430:4294967295:1000:1006:1013:1021:1047
|
||||
431:4294967295:1000:1006:1013:1021:1047
|
||||
432:4294967295:1000:1006:1013:1021:1047
|
||||
433:4294967295:1000:1006:1013:1021:1047
|
||||
434:4294967295:1000:1006:1013:1021:1047
|
||||
435:4294967295:1000:1006:1013:1021:1047
|
||||
436:4294967295:1000:1006:1013:1021:1047
|
||||
437:4294967295:1000:1006:1013:1021:1047
|
||||
438:4294967295:1000:1006:1013:1021:1047
|
||||
439:4294967295:1000:1006:1013:1021:1047
|
||||
440:4294967295:1000:1006:1013:1021:1047
|
||||
441:4294967295:1000:1006:1013:1021:1047
|
||||
442:4294967295:1000:1006:1013:1021:1047
|
||||
443:4294967295:1000:1006:1013:1021:1047
|
||||
444:4294967295:1000:1006:1013:1021:1047
|
||||
445:4294967295:1000:1006:1013:1021:1047
|
||||
446:4294967295:1000:1006:1013:1021:1047
|
||||
447:4294967295:1000:1006:1013:1021:1047
|
||||
448:4294967295:1000:1006:1013:1021:1047
|
||||
449:4294967295:1000:1006:1013:1021:1047
|
||||
450:4294967295:1000:1006:1013:1021:1047
|
||||
451:4294967295:1000:1006:1013:1021:1047
|
||||
452:4294967295:1000:1006:1013:1021:1047
|
||||
453:4294967295:1000:1006:1013:1021:1047
|
||||
454:4294967295:1000:1006:1013:1021:1047
|
||||
455:4294967295:1000:1006:1013:1021:1047
|
||||
456:4294967295:1000:1006:1013:1021:1047
|
||||
457:4294967295:1000:1006:1013:1021:1047
|
||||
458:4294967295:1000:1006:1013:1021:1047
|
||||
459:4294967295:1000:1006:1013:1021:1047
|
||||
460:4294967295:1000:1006:1013:1021:1047
|
||||
461:4294967295:1000:1006:1013:1021:1047
|
||||
462:4294967295:1000:1006:1013:1021:1047
|
||||
463:4294967295:1000:1006:1013:1021:1047
|
||||
464:4294967295:1000:1006:1013:1021:1047
|
||||
465:4294967295:1000:1006:1013:1021:1047
|
||||
466:4294967295:1000:1006:1013:1021:1047
|
||||
467:4294967295:1000:1006:1013:1021:1047
|
||||
468:4294967295:1000:1006:1013:1021:1047
|
||||
469:4294967295:1000:1006:1013:1021:1047
|
||||
470:4294967295:1000:1006:1013:1021:1047
|
||||
471:4294967295:1000:1006:1013:1021:1047
|
||||
472:4294967295:1000:1006:1013:1021:1047
|
||||
473:4294967295:1000:1006:1013:1021:1047
|
||||
474:4294967295:1000:1006:1013:1021:1047
|
||||
475:4294967295:1000:1006:1013:1021:1047
|
||||
476:4294967295:1000:1006:1013:1021:1047
|
||||
477:4294967295:1000:1006:1013:1021:1047
|
||||
478:4294967295:1000:1006:1013:1021:1047
|
||||
479:4294967295:1000:1006:1013:1021:1047
|
||||
480:4294967295:1000:1006:1013:1021:1047
|
||||
481:4294967295:1000:1006:1013:1021:1047
|
||||
482:4294967295:1000:1006:1013:1021:1047
|
||||
483:4294967295:1000:1006:1013:1021:1047
|
||||
484:4294967295:1000:1006:1013:1021:1047
|
||||
485:4294967295:1000:1006:1013:1021:1047
|
||||
486:4294967295:1000:1006:1013:1021:1047
|
||||
487:4294967295:1000:1006:1013:1021:1047
|
||||
488:4294967295:1000:1006:1013:1021:1047
|
||||
489:4294967295:1000:1006:1013:1021:1047
|
||||
490:4294967295:1000:1006:1013:1021:1047
|
||||
491:4294967295:1000:1006:1013:1021:1047
|
||||
492:4294967295:1000:1006:1013:1021:1047
|
||||
493:4294967295:1000:1006:1013:1021:1047
|
||||
494:4294967295:1000:1006:1013:1021:1047
|
||||
495:4294967295:1000:1006:1013:1021:1047
|
||||
496:4294967295:1000:1006:1013:1021:1047
|
||||
497:4294967295:1000:1006:1013:1021:1047
|
||||
498:4294967295:1000:1006:1013:1021:1047
|
||||
499:4294967295:1000:1006:1013:1021:1047
|
||||
500:4294967295:1000:1006:1013:1021:1047
|
||||
501:4294967295:1000:1006:1013:1021:1047
|
||||
502:4294967295:1000:1006:1013:1021:1047
|
||||
503:4294967295:1000:1006:1013:1021:1047
|
||||
504:4294967295:1000:1006:1013:1021:1047
|
||||
505:4294967295:1000:1006:1013:1021:1047
|
||||
506:4294967295:1000:1006:1013:1021:1047
|
||||
507:4294967295:1000:1006:1013:1021:1047
|
||||
508:4294967295:1000:1006:1013:1021:1047
|
||||
509:4294967295:1000:1006:1013:1021:1047
|
||||
510:4294967295:1000:1006:1013:1021:1047
|
||||
511:4294967295:1000:1006:1013:1021:1047
|
||||
/* Allow RCS service to aquire net_raw permission */
|
||||
18:4294967295:1001:3004
|
||||
/* Allow RCS service to communicate to IMS QMI Priv Svc*/
|
||||
77:4294967295:1001:3003
|
||||
/* Allow SSGQMIGD to communicate to SSGCCS service*/
|
||||
76:4294967295:1001
|
||||
/* Allow cnd to accquire netbind */
|
||||
18:4294967295:1000:3003
|
||||
/* Allow QMID service to aquire net_raw permission */
|
||||
3:4294967295:1001:1021:3004
|
||||
2:4294967295:1000:1001:3004
|
||||
@@ -328,5 +320,5 @@
|
||||
69:4294967295:1000
|
||||
/* <WLPS QMI Service ID - 0x39>:<WLFW QMI Instance ID - all instances>:<Client Group ID> */
|
||||
57:4294967295:1000
|
||||
/* MOTEXT */
|
||||
/* Allow MOTEXT service to be used by radio processes and net_raw processes */
|
||||
228:4294967295:1001:3004
|
||||
|
||||
@@ -1640,7 +1640,7 @@
|
||||
|
||||
# AMD Cfg
|
||||
200 0x000A0000 0x00010001 #AMD Default Sample rate
|
||||
201 0x00001A1C 0x00010001 #AMD INT Cfg param1
|
||||
201 0x00000D0E 0x00010001 #AMD INT Cfg param1
|
||||
202 0x00008000 0x00010001 #AMD INT Cfg param2
|
||||
|
||||
# RMD Cfg
|
||||
|
||||
320
device.mk
320
device.mk
@@ -16,8 +16,10 @@
|
||||
|
||||
$(call inherit-product, $(SRC_TARGET_DIR)/product/languages_full.mk)
|
||||
|
||||
# Vendor properties
|
||||
-include device/motorola/sanders/vendor_prop.mk
|
||||
# Overlay
|
||||
DEVICE_PACKAGE_OVERLAYS += \
|
||||
$(LOCAL_PATH)/overlay \
|
||||
vendor/aosp/overlay/CarrierConfig
|
||||
|
||||
# These are the hardware-specific features
|
||||
PRODUCT_COPY_FILES += \
|
||||
@@ -31,7 +33,7 @@ PRODUCT_COPY_FILES += \
|
||||
frameworks/native/data/etc/android.hardware.location.gps.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.location.gps.xml \
|
||||
frameworks/native/data/etc/android.hardware.nfc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.xml \
|
||||
frameworks/native/data/etc/android.hardware.nfc.hce.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.hce.xml \
|
||||
frameworks/native/data/etc/android.hardware.opengles.aep.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.opengles.aep.xml \
|
||||
frameworks/native/data/etc/android.hardware.nfc.hcef.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.hcef.xml \
|
||||
frameworks/native/data/etc/android.hardware.sensor.accelerometer.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.accelerometer.xml \
|
||||
frameworks/native/data/etc/android.hardware.sensor.compass.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.compass.xml \
|
||||
frameworks/native/data/etc/android.hardware.sensor.gyroscope.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.gyroscope.xml \
|
||||
@@ -44,32 +46,46 @@ PRODUCT_COPY_FILES += \
|
||||
frameworks/native/data/etc/android.hardware.touchscreen.multitouch.jazzhand.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.touchscreen.multitouch.jazzhand.xml \
|
||||
frameworks/native/data/etc/android.hardware.usb.accessory.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.accessory.xml \
|
||||
frameworks/native/data/etc/android.hardware.usb.host.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.host.xml \
|
||||
frameworks/native/data/etc/android.hardware.vulkan.level-0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.level-0.xml \
|
||||
frameworks/native/data/etc/android.hardware.vulkan.version-1_0_3.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.version-1_0_3.xml \
|
||||
frameworks/native/data/etc/android.hardware.vulkan.level-1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.level.xml \
|
||||
frameworks/native/data/etc/android.hardware.vulkan.version-1_0_3.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.version.xml \
|
||||
frameworks/native/data/etc/android.hardware.vulkan.compute-0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.compute-0.xml \
|
||||
frameworks/native/data/etc/android.hardware.wifi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.xml \
|
||||
frameworks/native/data/etc/android.hardware.wifi.direct.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.direct.xml \
|
||||
frameworks/native/data/etc/android.software.midi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.midi.xml \
|
||||
frameworks/native/data/etc/android.software.print.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.print.xml \
|
||||
frameworks/native/data/etc/android.software.sip.voip.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.sip.voip.xml \
|
||||
frameworks/native/data/etc/com.android.nfc_extras.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/com.android.nfc_extras.xml \
|
||||
frameworks/native/data/etc/handheld_core_hardware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/handheld_core_hardware.xml \
|
||||
frameworks/native/data/etc/com.nxp.mifare.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/com.nxp.mifare.xml
|
||||
frameworks/native/data/etc/android.hardware.opengles.aep.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.opengles.aep.xml
|
||||
|
||||
# Screen density
|
||||
PRODUCT_AAPT_PREF_CONFIG := xxhdpi
|
||||
PRODUCT_AAPT_CONFIG := normal
|
||||
|
||||
# HIDL
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hidl.manager@1.0 \
|
||||
android.hidl.base@1.0
|
||||
|
||||
# ARCore
|
||||
PRODUCT_PACKAGES += \
|
||||
arcore
|
||||
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
ro.config.calibration_cad=/system/etc/calibration_cad.xml
|
||||
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(LOCAL_PATH)/configs/calibration_cad.xml:system/etc/calibration_cad.xml
|
||||
|
||||
# Audio
|
||||
PRODUCT_PACKAGES += \
|
||||
audiod \
|
||||
audio.primary.msm8953 \
|
||||
audio.a2dp.default \
|
||||
audio.r_submix.default \
|
||||
audio.usb.default \
|
||||
libaacwrapper \
|
||||
audio.r_submix.default \
|
||||
libaudio-resampler \
|
||||
libtinycompress
|
||||
libshim_adsp \
|
||||
libtinycompress \
|
||||
audiod
|
||||
|
||||
PRODUCT_PACKAGES += \
|
||||
libqcomvisualizer \
|
||||
@@ -78,55 +94,59 @@ PRODUCT_PACKAGES += \
|
||||
libqcompostprocbundle
|
||||
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.audio@4.0-impl \
|
||||
android.hardware.audio@2.0-service \
|
||||
android.hardware.audio.effect@4.0-impl \
|
||||
android.hardware.audio@2.0-impl \
|
||||
android.hardware.audio.effect@2.0-impl \
|
||||
android.hardware.broadcastradio@1.0-impl
|
||||
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(LOCAL_PATH)/audio/audio_tuning_mixer.txt:$(TARGET_COPY_OUT_VENDOR)/etc/audio_tuning_mixer.txt \
|
||||
$(LOCAL_PATH)/audio/audio_effects.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_effects.xml \
|
||||
$(LOCAL_PATH)/audio/audio_platform_info.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_platform_info.xml \
|
||||
$(LOCAL_PATH)/audio/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration.xml \
|
||||
$(LOCAL_PATH)/audio/mixer_paths.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths.xml \
|
||||
$(LOCAL_PATH)/audio/audio_ext_spkr.conf:$(TARGET_COPY_OUT_VENDOR)/etc/audio_ext_spkr.conf \
|
||||
$(LOCAL_PATH)/audio/sound_trigger_mixer_paths.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_mixer_paths.xml \
|
||||
$(LOCAL_PATH)/audio/sound_trigger_platform_info.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_platform_info.xml
|
||||
|
||||
PRODUCT_COPY_FILES += \
|
||||
frameworks/av/services/audiopolicy/config/a2dp_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/a2dp_audio_policy_configuration.xml \
|
||||
frameworks/av/services/audiopolicy/config/audio_policy_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_volumes.xml \
|
||||
frameworks/av/services/audiopolicy/config/default_volume_tables.xml:$(TARGET_COPY_OUT_VENDOR)/etc/default_volume_tables.xml \
|
||||
frameworks/av/services/audiopolicy/config/r_submix_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/r_submix_audio_policy_configuration.xml \
|
||||
frameworks/av/services/audiopolicy/config/usb_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/usb_audio_policy_configuration.xml
|
||||
$(LOCAL_PATH)/audio/audio_effects.conf:system/vendor/etc/audio_effects.conf \
|
||||
$(LOCAL_PATH)/audio/audio_policy.conf:system/vendor/etc/audio_policy.conf \
|
||||
$(LOCAL_PATH)/audio/audio_output_policy.conf:system/vendor/etc/audio_output_policy.conf \
|
||||
$(LOCAL_PATH)/audio/audio_platform_info_extcodec.xml:system/vendor/etc/audio_platform_info_extcodec.xml \
|
||||
$(LOCAL_PATH)/audio/mixer_paths.xml:system/vendor/etc/mixer_paths.xml \
|
||||
$(LOCAL_PATH)/audio/audio_ext_spkr.conf:system/vendor/etc/audio_ext_spkr.conf \
|
||||
$(LOCAL_PATH)/audio/audio_platform_info.xml:system/vendor/etc/audio_platform_info.xml \
|
||||
$(LOCAL_PATH)/audio/sound_trigger_mixer_paths.xml:system/vendor/etc/sound_trigger_mixer_paths.xml \
|
||||
$(LOCAL_PATH)/audio/sound_trigger_platform_info.xml:system/vendor/etc/sound_trigger_platform_info.xml
|
||||
|
||||
# Bluetooth
|
||||
PRODUCT_PACKAGES += \
|
||||
libbt-vendor
|
||||
libbt-vendor \
|
||||
android.hardware.bluetooth@1.0-impl \
|
||||
android.hardware.bluetooth@1.0-service
|
||||
|
||||
# Camera
|
||||
PRODUCT_PACKAGES += \
|
||||
libbson \
|
||||
libgui_vendor \
|
||||
GoogleCameraMod \
|
||||
camera.device@1.0-impl \
|
||||
camera.device@3.2-impl \
|
||||
android.hardware.camera.provider@2.4-impl \
|
||||
vendor.qti.hardware.camera.device@1.0 \
|
||||
vendor.qti.hardware.camera.device@1.0_vendor
|
||||
|
||||
# CarrierConfig
|
||||
PRODUCT_PACKAGES += \
|
||||
CarrierConfig
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(LOCAL_PATH)/configs/camera/imx219_chromatix.xml:system/etc/camera/imx219_chromatix.xml \
|
||||
$(LOCAL_PATH)/configs/camera/mot_imx258_bear_chromatix.xml:system/etc/camera/mot_imx258_bear_chromatix.xml \
|
||||
$(LOCAL_PATH)/configs/camera/mot_imx258_mono_chromatix.xml:system/etc/camera/mot_imx258_mono_chromatix.xml \
|
||||
$(LOCAL_PATH)/configs/camera/mot_s5k3l8_bear_chromatix.xml:system/etc/camera/mot_s5k3l8_bear_chromatix.xml \
|
||||
$(LOCAL_PATH)/configs/camera/mot_s5k3l8_mono_chromatix.xml:system/etc/camera/mot_s5k3l8_mono_chromatix.xml \
|
||||
$(LOCAL_PATH)/configs/camera/msm8953_mot_sanders_camera.xml:system/etc/camera/msm8953_mot_sanders_camera.xml \
|
||||
$(LOCAL_PATH)/configs/camera/s5k4h8_chromatix.xml:system/etc/camera/s5k4h8_chromatix.xml \
|
||||
$(LOCAL_PATH)/configs/camera/vfwconfig.json:system/etc/camera/vfwconfig.json
|
||||
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(LOCAL_PATH)/configs/camera/imx219_chromatix.xml:$(TARGET_COPY_OUT_VENDOR)/etc/camera/imx219_chromatix.xml \
|
||||
$(LOCAL_PATH)/configs/camera/mot_imx258_bear_chromatix.xml:$(TARGET_COPY_OUT_VENDOR)/etc/camera/mot_imx258_bear_chromatix.xml \
|
||||
$(LOCAL_PATH)/configs/camera/mot_imx258_mono_chromatix.xml:$(TARGET_COPY_OUT_VENDOR)/etc/camera/mot_imx258_mono_chromatix.xml \
|
||||
$(LOCAL_PATH)/configs/camera/mot_s5k3l8_bear_chromatix.xml:$(TARGET_COPY_OUT_VENDOR)/etc/camera/mot_s5k3l8_bear_chromatix.xml \
|
||||
$(LOCAL_PATH)/configs/camera/mot_s5k3l8_mono_chromatix.xml:$(TARGET_COPY_OUT_VENDOR)/etc/camera/mot_s5k3l8_mono_chromatix.xml \
|
||||
$(LOCAL_PATH)/configs/camera/msm8953_mot_sanders_camera.xml:$(TARGET_COPY_OUT_VENDOR)/etc/camera/msm8953_mot_sanders_camera.xml \
|
||||
$(LOCAL_PATH)/configs/camera/s5k4h8_chromatix.xml:$(TARGET_COPY_OUT_VENDOR)/etc/camera/s5k4h8_chromatix.xml \
|
||||
$(LOCAL_PATH)/configs/external_camera_config.xml:$(TARGET_COPY_OUT_VENDOR)/etc/external_camera_config.xml
|
||||
$(LOCAL_PATH)/gps/etc/flp.conf:system/vendor/etc/flp.conf \
|
||||
$(LOCAL_PATH)/gps/etc/gps.conf:system/vendor/etc/gps.conf \
|
||||
$(LOCAL_PATH)/gps/etc/izat.conf:system/vendor/etc/izat.conf \
|
||||
$(LOCAL_PATH)/gps/etc/lowi.conf:system/vendor/etc/lowi.conf \
|
||||
$(LOCAL_PATH)/gps/etc/sap.conf:system/vendor/etc/sap.conf \
|
||||
$(LOCAL_PATH)/gps/etc/xtwifi.conf:system/vendor/etc/xtwifi.conf \
|
||||
$(LOCAL_PATH)/gps/etc/cacert_location.pem:system/vendor/etc/cacert_location.pem
|
||||
|
||||
# MotoActions
|
||||
PRODUCT_PACKAGES += \
|
||||
MotoActions
|
||||
|
||||
# Display
|
||||
PRODUCT_PACKAGES += \
|
||||
@@ -146,15 +166,18 @@ PRODUCT_PACKAGES += \
|
||||
libtinyxml \
|
||||
libdisplayconfig \
|
||||
libqdMetaData.system \
|
||||
vendor.display.config@1.0
|
||||
vendor.display.config@1.0 \
|
||||
vendor.display.config@1.0_vendor
|
||||
|
||||
PRODUCT_PACKAGES += android.hardware.media.omx
|
||||
|
||||
# RenderScript HAL
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.renderscript@1.0-impl
|
||||
|
||||
# DRM
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.drm@1.0-service \
|
||||
android.hardware.drm@1.0-impl \
|
||||
android.hardware.drm@1.0-service.widevine
|
||||
libprotobuf-cpp-lite
|
||||
|
||||
# limit dex2oat threads to improve thermals
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
@@ -170,13 +193,13 @@ PRODUCT_PACKAGES += \
|
||||
|
||||
# Fingerprint
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.biometrics.fingerprint@2.1
|
||||
android.hardware.biometrics.fingerprint@2.1-service_32 \
|
||||
fingerprint.msm8953
|
||||
|
||||
# FM
|
||||
PRODUCT_PACKAGES += \
|
||||
FMRadio \
|
||||
libfmjni \
|
||||
init.qti.fm.sh
|
||||
libfmjni
|
||||
|
||||
# Gatekeeper HAL
|
||||
PRODUCT_PACKAGES += \
|
||||
@@ -189,105 +212,91 @@ PRODUCT_PACKAGES += \
|
||||
libgnsspps \
|
||||
android.hardware.gnss@1.0-impl-qti \
|
||||
android.hardware.gnss@1.0-impl \
|
||||
android.hardware.gnss@1.0-service-qti
|
||||
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(LOCAL_PATH)/gps/etc/flp.conf:$(TARGET_COPY_OUT_VENDOR)/etc/flp.conf \
|
||||
$(LOCAL_PATH)/gps/etc/gps.conf:$(TARGET_COPY_OUT_VENDOR)/etc/gps.conf \
|
||||
$(LOCAL_PATH)/gps/etc/izat.conf:$(TARGET_COPY_OUT_VENDOR)/etc/izat.conf \
|
||||
$(LOCAL_PATH)/gps/etc/lowi.conf:$(TARGET_COPY_OUT_VENDOR)/etc/lowi.conf \
|
||||
$(LOCAL_PATH)/gps/etc/sap.conf:$(TARGET_COPY_OUT_VENDOR)/etc/sap.conf \
|
||||
$(LOCAL_PATH)/gps/etc/xtwifi.conf:$(TARGET_COPY_OUT_VENDOR)/etc/xtwifi.conf
|
||||
android.hardware.gnss@1.0-service-qti \
|
||||
libqsap_sdk \
|
||||
libqsap_shim
|
||||
|
||||
# health
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.health@2.0-impl \
|
||||
android.hardware.health@2.0-service
|
||||
|
||||
# HIDL
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hidl.base@1.0 \
|
||||
android.hidl.manager@1.0 \
|
||||
android.hidl.manager-V1.0-java
|
||||
|
||||
# IDC
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(LOCAL_PATH)/idc/uinput-fpc.idc:system/usr/idc/uinput-fpc.idc
|
||||
|
||||
# IMS
|
||||
PRODUCT_PACKAGES += \
|
||||
ims-ext-common \
|
||||
telephony-ext
|
||||
|
||||
PRODUCT_BOOT_JARS += \
|
||||
telephony-ext
|
||||
|
||||
# IMS
|
||||
PRODUCT_PACKAGES += \
|
||||
com.android.ims.rcsmanager
|
||||
android.hardware.health@1.0-convert \
|
||||
android.hardware.health@1.0-impl \
|
||||
android.hardware.health@1.0-service
|
||||
|
||||
# IRSC
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(LOCAL_PATH)/configs/sec_config:$(TARGET_COPY_OUT_VENDOR)/etc/sec_config
|
||||
$(LOCAL_PATH)/configs/sec_config:system/vendor/etc/sec_config
|
||||
|
||||
# Keylayouts
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(LOCAL_PATH)/keylayout/ft5x06_ts.kl:$(TARGET_COPY_OUT_VENDOR)/usr/keylayout/ft5x06_ts.kl \
|
||||
$(LOCAL_PATH)/keylayout/gpio-keys.kl:$(TARGET_COPY_OUT_VENDOR)/usr/keylayout/gpio-keys.kl \
|
||||
$(LOCAL_PATH)/keylayout/synaptics_dsx.kl:$(TARGET_COPY_OUT_VENDOR)/usr/keylayout/synaptics_dsx.kl \
|
||||
$(LOCAL_PATH)/keylayout/synaptics_dsxv26.kl:$(TARGET_COPY_OUT_VENDOR)/usr/keylayout/synaptics_dsxv26.kl \
|
||||
$(LOCAL_PATH)/keylayout/synaptics_rmi4_i2c.kl:$(TARGET_COPY_OUT_VENDOR)/usr/keylayout/synaptics_rmi4_i2c.kl \
|
||||
$(LOCAL_PATH)/keylayout/uinput-fpc.kl:$(TARGET_COPY_OUT_VENDOR)/usr/keylayout/uinput-fpc.kl
|
||||
$(LOCAL_PATH)/keylayout/ft5x06_ts.kl:system/usr/keylayout/ft5x06_ts.kl \
|
||||
$(LOCAL_PATH)/keylayout/gpio-keys.kl:system/usr/keylayout/gpio-keys.kl \
|
||||
$(LOCAL_PATH)/keylayout/synaptics_dsx.kl:system/usr/keylayout/synaptics_dsx.kl \
|
||||
$(LOCAL_PATH)/keylayout/synaptics_dsxv26.kl:system/usr/keylayout/synaptics_dsxv26.kl \
|
||||
$(LOCAL_PATH)/keylayout/synaptics_rmi4_i2c.kl:system/usr/keylayout/synaptics_rmi4_i2c.kl \
|
||||
$(LOCAL_PATH)/keylayout/uinput-fpc.kl:system/usr/keylayout/uinput-fpc.kl
|
||||
|
||||
# Keymaster HAL
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.keymaster@3.0-impl \
|
||||
android.hardware.keymaster@3.0-service
|
||||
# IDC
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(LOCAL_PATH)/idc/uinput-fpc.idc:system/usr/idc/uinput-fpc.idc
|
||||
|
||||
# Lights
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.light@2.0-impl \
|
||||
android.hardware.light@2.0-service.sanders
|
||||
android.hardware.light@2.0-service \
|
||||
lights.msm8953
|
||||
|
||||
# DRM
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.drm@1.0-service \
|
||||
android.hardware.drm@1.0-impl \
|
||||
android.hardware.drm@1.0-service.widevine
|
||||
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(LOCAL_PATH)/configs/qdcm_calib_data_mipi_mot_vid_djn_1080p_550.xml:system/vendor/etc/qdcm_calib_data_mipi_mot_vid_djn_1080p_550.xml \
|
||||
$(LOCAL_PATH)/configs/qdcm_calib_data_mipi_mot_vid_tianma_1080p_550.xml:system/vendor/etc/qdcm_calib_data_mipi_mot_vid_tianma_1080p_550.xml
|
||||
|
||||
# Media
|
||||
PRODUCT_PACKAGES += \
|
||||
libc2dcolorconvert
|
||||
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(LOCAL_PATH)/configs/media_codecs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs.xml \
|
||||
$(LOCAL_PATH)/configs/media_codecs_performance.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance.xml \
|
||||
$(LOCAL_PATH)/configs/media_profiles_vendor.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_vendor.xml \
|
||||
$(LOCAL_PATH)/configs/media_profiles.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles.xml \
|
||||
$(LOCAL_PATH)/configs/media_profiles_V1_0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_V1_0.xml
|
||||
$(LOCAL_PATH)/configs/media_codecs.xml:system/vendor/etc/media_codecs.xml \
|
||||
$(LOCAL_PATH)/configs/media_codecs_performance.xml:system/vendor/etc/media_codecs_performance.xml \
|
||||
$(LOCAL_PATH)/configs/media_profiles.xml:system/vendor/etc/media_profiles_vendor.xml \
|
||||
$(LOCAL_PATH)/configs/media_profiles.xml:system/etc/media_profiles.xml
|
||||
|
||||
PRODUCT_COPY_FILES += \
|
||||
frameworks/av/media/libstagefright/data/media_codecs_google_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_audio.xml \
|
||||
frameworks/av/media/libstagefright/data/media_codecs_google_telephony.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_telephony.xml \
|
||||
frameworks/av/media/libstagefright/data/media_codecs_google_video.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_video.xml
|
||||
frameworks/av/media/libstagefright/data/media_codecs_google_audio.xml:system/vendor/etc/media_codecs_google_audio.xml \
|
||||
frameworks/av/media/libstagefright/data/media_codecs_google_telephony.xml:system/vendor/etc/media_codecs_google_telephony.xml \
|
||||
frameworks/av/media/libstagefright/data/media_codecs_google_video.xml:system/vendor/etc/media_codecs_google_video.xml
|
||||
|
||||
# MotoActions
|
||||
PRODUCT_PACKAGES += \
|
||||
MotoActions
|
||||
# NFC
|
||||
PRODUCT_COPY_FILES += \
|
||||
frameworks/base/nfc-extras/com.android.nfc_extras.xml:system/etc/permissions/com.android.nfc_extras.xml
|
||||
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(LOCAL_PATH)/configs/libnfc-brcm.conf:system/etc/libnfc-brcm.conf \
|
||||
$(LOCAL_PATH)/configs/libnfc-nxp.conf:system/etc/libnfc-nxp.conf
|
||||
|
||||
# Netutils
|
||||
PRODUCT_PACKAGES += \
|
||||
android.system.net.netd@1.0 \
|
||||
netutils-wrapper-1.0 \
|
||||
libandroid_net \
|
||||
libandroid_net_32 \
|
||||
netutils-wrapper-1.0
|
||||
libandroid_net_32
|
||||
|
||||
# NFC
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.nfc@1.1-service \
|
||||
com.android.nfc_extras \
|
||||
libnfc \
|
||||
libnfc_jni \
|
||||
nfc_nci.msm8953 \
|
||||
NfcNci \
|
||||
SecureElement \
|
||||
Tag
|
||||
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(LOCAL_PATH)/configs/libnfc-nci.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libnfc-nci.conf \
|
||||
$(LOCAL_PATH)/configs/libnfc-nxp.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libnfc-nxp.conf
|
||||
Tag \
|
||||
com.android.nfc_extras \
|
||||
android.hardware.nfc@1.0-impl
|
||||
|
||||
# OMX
|
||||
PRODUCT_PACKAGES += \
|
||||
@@ -301,18 +310,9 @@ PRODUCT_PACKAGES += \
|
||||
libOmxVidcCommon \
|
||||
libstagefrighthw
|
||||
|
||||
# Overlay
|
||||
DEVICE_PACKAGE_OVERLAYS += \
|
||||
$(LOCAL_PATH)/overlay
|
||||
|
||||
# Power
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.power@1.1-service-qti
|
||||
|
||||
# Powerhint configuration file
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(LOCAL_PATH)/configs/powerhint.xml:system/etc/powerhint.xml \
|
||||
$(LOCAL_PATH)/configs/perfboostsconfig.xml:$(TARGET_COPY_OUT_VENDOR)/etc/perf/perfboostsconfig.xml
|
||||
android.hardware.power@1.0-service-qti
|
||||
|
||||
# Qualcomm
|
||||
PRODUCT_COPY_FILES += \
|
||||
@@ -329,34 +329,24 @@ PRODUCT_PACKAGES += \
|
||||
init.mmi.boot.sh \
|
||||
init.mmi.rc \
|
||||
init.mmi.usb.rc \
|
||||
init.safailnet.rc \
|
||||
init.qcom.rc \
|
||||
init.qcom.sensors.sh \
|
||||
init.sanders.rc
|
||||
init.qcom.rc
|
||||
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(LOCAL_PATH)/rootdir/etc/ueventd.qcom.rc:$(TARGET_COPY_OUT_VENDOR)/ueventd.rc
|
||||
$(LOCAL_PATH)/rootdir/etc/ueventd.qcom.rc:system/vendor/ueventd.rc
|
||||
|
||||
# RCS
|
||||
PRODUCT_PACKAGES += \
|
||||
rcs_service_aidl \
|
||||
rcs_service_aidl.xml \
|
||||
rcs_service_api \
|
||||
rcs_service_api.xml
|
||||
# Powerhint configuration file
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(LOCAL_PATH)/configs/powerhint.xml:system/etc/powerhint.xml \
|
||||
$(LOCAL_PATH)/configs/perfboostsconfig.xml:$(TARGET_COPY_OUT_VENDOR)/etc/perf/perfboostsconfig.xml
|
||||
|
||||
# Releasetools script
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(LOCAL_PATH)/configs/check_features.sh:$(TARGET_COPY_OUT_VENDOR)/bin/check_features.sh
|
||||
|
||||
# RenderScript HAL
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.renderscript@1.0-impl
|
||||
$(LOCAL_PATH)/configs/check_features.sh:system/vendor/bin/check_features.sh
|
||||
|
||||
# RIL
|
||||
PRODUCT_PACKAGES += \
|
||||
librmnetctl \
|
||||
libprotobuf-cpp-full \
|
||||
libprotobuf-cpp-lite \
|
||||
libxml2
|
||||
|
||||
#RIL
|
||||
@@ -365,41 +355,44 @@ PRODUCT_PACKAGES += \
|
||||
|
||||
# Seccomp policy
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(LOCAL_PATH)/seccomp_policy/mediacodec.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/mediacodec.policy \
|
||||
$(LOCAL_PATH)/seccomp_policy/mediaextractor.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/mediaextractor.policy
|
||||
$(LOCAL_PATH)/seccomp_policy/mediacodec.policy:system/vendor/etc/seccomp_policy/mediacodec.policy \
|
||||
$(LOCAL_PATH)/seccomp_policy/mediaextractor.policy:system/vendor/etc/seccomp_policy/mediaextractor.policy
|
||||
|
||||
# IMS
|
||||
PRODUCT_PACKAGES += \
|
||||
ims-ext-common \
|
||||
telephony-ext
|
||||
|
||||
PRODUCT_BOOT_JARS += \
|
||||
telephony-ext
|
||||
|
||||
# Sensors
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(LOCAL_PATH)/configs/sensors/hals.conf:system/vendor/etc/sensors/hals.conf \
|
||||
$(LOCAL_PATH)/configs/sensors/sensor_def_qcomdev.conf:system/vendor/etc/sensors/sensor_def_qcomdev.conf
|
||||
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.sensors@1.0-impl \
|
||||
android.hardware.sensors@1.0-service
|
||||
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(LOCAL_PATH)/configs/sensors/hals.conf:$(TARGET_COPY_OUT_VENDOR)/etc/sensors/hals.conf \
|
||||
$(LOCAL_PATH)/configs/sensors/sensor_def_qcomdev.conf:$(TARGET_COPY_OUT_VENDOR)/etc/sensors/sensor_def_qcomdev.conf
|
||||
android.hardware.sensors@1.0-service_32 \
|
||||
sensorservice_32
|
||||
|
||||
# Shims
|
||||
PRODUCT_PACKAGES += \
|
||||
libqsap_shim
|
||||
|
||||
# Thermal
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.thermal@1.0-impl \
|
||||
android.hardware.thermal@1.0-service \
|
||||
thermal.msm8953
|
||||
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(LOCAL_PATH)/configs/thermal-engine-sanders.conf:$(TARGET_COPY_OUT_VENDOR)/etc/thermal-engine.conf
|
||||
$(LOCAL_PATH)/configs/thermal-engine-sanders.conf:system/vendor/etc/thermal-engine.conf
|
||||
|
||||
# USB HAL
|
||||
# TextClassifier smart selection model files
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.usb@1.0-service.basic
|
||||
textclassifier.smartselection.bundle1
|
||||
|
||||
# Vibrator
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.vibrator@1.0-impl \
|
||||
android.hardware.vibrator@1.0-service
|
||||
|
||||
# VNDK
|
||||
PRODUCT_PACKAGES += \
|
||||
vndk-sp
|
||||
|
||||
@@ -408,7 +401,6 @@ PRODUCT_PACKAGES += \
|
||||
android.hardware.wifi@1.0-service \
|
||||
hostapd \
|
||||
libqsap_sdk \
|
||||
libcld80211 \
|
||||
libwpa_client \
|
||||
wcnss_service \
|
||||
wificond \
|
||||
@@ -416,6 +408,11 @@ PRODUCT_PACKAGES += \
|
||||
wpa_supplicant \
|
||||
wpa_supplicant.conf
|
||||
|
||||
#Thermal
|
||||
PRODUCT_PACKAGES += android.hardware.thermal@1.0-impl \
|
||||
android.hardware.thermal@1.0-service \
|
||||
thermal.msm8953
|
||||
|
||||
PRODUCT_PACKAGES += \
|
||||
libcurl \
|
||||
libQWiFiSoftApCfg \
|
||||
@@ -442,9 +439,10 @@ PRODUCT_COPY_FILES += \
|
||||
|
||||
PRODUCT_BUILD_PROP_OVERRIDES += BUILD_UTC_DATE=0
|
||||
|
||||
# Wi-Fi Display
|
||||
PRODUCT_BOOT_JARS += \
|
||||
WfdCommon
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
ro.config.vc_call_vol_steps=7 \
|
||||
ro.config.media_vol_steps=20
|
||||
|
||||
# for specific
|
||||
$(call inherit-product, vendor/motorola/sanders/sanders-vendor.mk)
|
||||
PRODUCT_GMS_CLIENTID_BASE := android-motorola
|
||||
|
||||
PRODUCT_VENDOR_KERNEL_HEADERS := hardware/qcom/msm8996/kernel-headers
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# Copyright (C) 2016 The CyanogenMod Project
|
||||
# Copyright (C) 2017 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.
|
||||
@@ -20,38 +21,51 @@ set -e
|
||||
DEVICE=sanders
|
||||
VENDOR=motorola
|
||||
|
||||
# Load extractutils and do some sanity checks
|
||||
# Load extract_utils and do some sanity checks
|
||||
MY_DIR="${BASH_SOURCE%/*}"
|
||||
if [[ ! -d "$MY_DIR" ]]; then MY_DIR="$PWD"; fi
|
||||
|
||||
AOSP_ROOT="$MY_DIR"/../../..
|
||||
LINEAGE_ROOT="$MY_DIR"/../../..
|
||||
|
||||
HELPER="$AOSP_ROOT"/vendor/aosp/build/tools/extract_utils.sh
|
||||
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
|
||||
# Default to sanitizing the vendor folder before extraction
|
||||
CLEAN_VENDOR=true
|
||||
|
||||
while [ "$1" != "" ]; do
|
||||
case $1 in
|
||||
-p | --path ) shift
|
||||
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
|
||||
;;
|
||||
-s | --section ) shift
|
||||
SECTION=$1
|
||||
CLEAN_VENDOR=false
|
||||
;;
|
||||
-n | --no-cleanup ) CLEAN_VENDOR=false
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
if [ -z "$SRC" ]; then
|
||||
SRC=adb
|
||||
fi
|
||||
|
||||
# Initialize the helper
|
||||
setup_vendor "$DEVICE" "$VENDOR" "$AOSP_ROOT"
|
||||
# Initialize the helper for device
|
||||
setup_vendor "$DEVICE" "$VENDOR" "$LINEAGE_ROOT" true "$CLEAN_VENDOR"
|
||||
|
||||
extract "$MY_DIR"/proprietary-files.txt "$SRC"
|
||||
extract "$MY_DIR"/proprietary-files.txt "$SRC" "$SECTION"
|
||||
|
||||
if [ -s "$MY_DIR"/../$DEVICE/proprietary-files.txt ]; then
|
||||
# Reinitialize the helper for device
|
||||
setup_vendor "$DEVICE" "$VENDOR" "$LINEAGE_ROOT" false "$CLEAN_VENDOR"
|
||||
|
||||
extract "$MY_DIR"/../$DEVICE/proprietary-files.txt "$SRC" "$SECTION"
|
||||
fi
|
||||
|
||||
"$MY_DIR"/setup-makefiles.sh
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (C) 2017-2018 The LineageOS Project
|
||||
# Copyright (C) 2017 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.
|
||||
@@ -12,6 +12,24 @@
|
||||
# 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.
|
||||
#
|
||||
|
||||
LOCAL_PATH := $(call my-dir)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
LOCAL_SRC_FILES := \
|
||||
FingerprintWrapper.cpp
|
||||
|
||||
LOCAL_SHARED_LIBRARIES := \
|
||||
libhardware liblog
|
||||
|
||||
LOCAL_MODULE_RELATIVE_PATH := hw
|
||||
LOCAL_MODULE := fingerprint.msm8953
|
||||
LOCAL_MODULE_TAGS := optional
|
||||
LOCAL_32_BIT_ONLY := true
|
||||
|
||||
include $(BUILD_SHARED_LIBRARY)
|
||||
|
||||
include $(call all-makefiles-under,$(LOCAL_PATH))
|
||||
|
||||
PRODUCT_MAKEFILES := \
|
||||
$(LOCAL_DIR)/aosp_sanders.mk
|
||||
196
fingerprint/FingerprintWrapper.cpp
Normal file
196
fingerprint/FingerprintWrapper.cpp
Normal file
@@ -0,0 +1,196 @@
|
||||
/*
|
||||
* Copyright (C) 2017, 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.
|
||||
*/
|
||||
|
||||
//#define LOG_NDEBUG 0
|
||||
#define LOG_TAG "FingerprintWrapper"
|
||||
|
||||
#include <cutils/log.h>
|
||||
|
||||
#include <hardware/hardware.h>
|
||||
#include <hardware/fingerprint.h>
|
||||
#include <utils/threads.h>
|
||||
|
||||
typedef struct {
|
||||
fingerprint_device_t base;
|
||||
union {
|
||||
fingerprint_device_t *device;
|
||||
hw_device_t *hw_device;
|
||||
} vendor;
|
||||
} device_t;
|
||||
|
||||
static android::Mutex vendor_mutex;
|
||||
|
||||
static union {
|
||||
const fingerprint_module_t *module;
|
||||
const hw_module_t *hw_module;
|
||||
} vendor;
|
||||
|
||||
static bool ensure_vendor_module_is_loaded(void)
|
||||
{
|
||||
android::Mutex::Autolock lock(vendor_mutex);
|
||||
|
||||
if (!vendor.module) {
|
||||
int rv = hw_get_module_by_class("fingerprint", "vendor", &vendor.hw_module);
|
||||
if (rv) {
|
||||
ALOGE("failed to open vendor module, error %d", rv);
|
||||
vendor.module = NULL;
|
||||
} else {
|
||||
ALOGI("loaded vendor module: %s version %x", vendor.module->common.name,
|
||||
vendor.module->common.module_api_version);
|
||||
}
|
||||
}
|
||||
|
||||
return vendor.module != NULL;
|
||||
}
|
||||
|
||||
static int set_notify(struct fingerprint_device *dev, fingerprint_notify_t notify)
|
||||
{
|
||||
device_t *device = (device_t *) dev;
|
||||
|
||||
return device->vendor.device->set_notify(device->vendor.device, notify);
|
||||
}
|
||||
|
||||
static uint64_t pre_enroll(struct fingerprint_device *dev)
|
||||
{
|
||||
device_t *device = (device_t *) dev;
|
||||
|
||||
return device->vendor.device->pre_enroll(device->vendor.device);
|
||||
}
|
||||
|
||||
static int enroll(struct fingerprint_device *dev, const hw_auth_token_t *hat, uint32_t gid,
|
||||
uint32_t timeout_sec)
|
||||
{
|
||||
device_t *device = (device_t *) dev;
|
||||
|
||||
return device->vendor.device->enroll(device->vendor.device, hat, gid, timeout_sec);
|
||||
}
|
||||
|
||||
static int post_enroll(struct fingerprint_device *dev)
|
||||
{
|
||||
device_t *device = (device_t *) dev;
|
||||
|
||||
return device->vendor.device->post_enroll(device->vendor.device);
|
||||
}
|
||||
|
||||
static uint64_t get_authenticator_id(struct fingerprint_device *dev)
|
||||
{
|
||||
device_t *device = (device_t *) dev;
|
||||
|
||||
return device->vendor.device->get_authenticator_id(device->vendor.device);
|
||||
}
|
||||
|
||||
static int cancel(struct fingerprint_device *dev)
|
||||
{
|
||||
device_t *device = (device_t *) dev;
|
||||
|
||||
return device->vendor.device->cancel(device->vendor.device);
|
||||
}
|
||||
|
||||
static int enumerate(struct fingerprint_device *dev)
|
||||
{
|
||||
device_t *device = (device_t *) dev;
|
||||
|
||||
return device->vendor.device->enumerate(device->vendor.device);
|
||||
}
|
||||
|
||||
static int remove(struct fingerprint_device *dev, uint32_t gid, uint32_t fid)
|
||||
{
|
||||
device_t *device = (device_t *) dev;
|
||||
|
||||
return device->vendor.device->remove(device->vendor.device, gid, fid);
|
||||
}
|
||||
|
||||
static int set_active_group(struct fingerprint_device *dev, uint32_t gid, const char *store_path)
|
||||
{
|
||||
device_t *device = (device_t *) dev;
|
||||
|
||||
return device->vendor.device->set_active_group(device->vendor.device, gid, store_path);
|
||||
}
|
||||
|
||||
static int authenticate(struct fingerprint_device *dev, uint64_t operation_id, uint32_t gid)
|
||||
{
|
||||
device_t *device = (device_t *) dev;
|
||||
|
||||
return device->vendor.device->authenticate(device->vendor.device, operation_id, gid);
|
||||
}
|
||||
|
||||
static int device_close(hw_device_t *hw_device)
|
||||
{
|
||||
device_t *device = (device_t *) hw_device;
|
||||
int rv = device->base.common.close(device->vendor.hw_device);
|
||||
free(device);
|
||||
return rv;
|
||||
}
|
||||
|
||||
static int device_open(const hw_module_t *module, const char *name, hw_device_t **device_out)
|
||||
{
|
||||
int rv;
|
||||
device_t *device;
|
||||
|
||||
if (!ensure_vendor_module_is_loaded()) {
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
device = (device_t *) calloc(sizeof(*device), 1);
|
||||
if (!device) {
|
||||
ALOGE("%s: Failed to allocate memory", __func__);
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
rv = vendor.module->common.methods->open(vendor.hw_module, name, &device->vendor.hw_device);
|
||||
if (rv) {
|
||||
ALOGE("%s: failed to open, error %d\n", __func__, rv);
|
||||
free(device);
|
||||
return rv;
|
||||
}
|
||||
|
||||
device->base.common.tag = HARDWARE_DEVICE_TAG;
|
||||
device->base.common.version = FINGERPRINT_MODULE_API_VERSION_2_1;
|
||||
device->base.common.module = (hw_module_t *) module;
|
||||
device->base.common.close = device_close;
|
||||
|
||||
device->base.set_notify = set_notify;
|
||||
device->base.pre_enroll = pre_enroll;
|
||||
device->base.enroll = enroll;
|
||||
device->base.post_enroll = post_enroll;
|
||||
device->base.get_authenticator_id = get_authenticator_id;
|
||||
device->base.cancel = cancel;
|
||||
device->base.enumerate = enumerate;
|
||||
device->base.remove = remove;
|
||||
device->base.set_active_group = set_active_group;
|
||||
device->base.authenticate = authenticate;
|
||||
|
||||
*device_out = (hw_device_t *) device;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static struct hw_module_methods_t module_methods = {
|
||||
.open = device_open
|
||||
};
|
||||
|
||||
fingerprint_module_t HAL_MODULE_INFO_SYM = {
|
||||
.common = {
|
||||
.tag = HARDWARE_MODULE_TAG,
|
||||
.module_api_version = FINGERPRINT_MODULE_API_VERSION_2_1,
|
||||
.hal_api_version = HARDWARE_HAL_API_VERSION,
|
||||
.id = FINGERPRINT_HARDWARE_MODULE_ID,
|
||||
.name = "Lineage Fingerprint Wrapper",
|
||||
.author = "The LineageOS Project",
|
||||
.methods = &module_methods,
|
||||
.dso = NULL, /* remove compilation warnings */
|
||||
.reserved = {0}, /* remove compilation warnings */
|
||||
},
|
||||
};
|
||||
22
fingerprint/service_32/Android.mk
Normal file
22
fingerprint/service_32/Android.mk
Normal file
@@ -0,0 +1,22 @@
|
||||
LOCAL_PATH := $(call my-dir)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := android.hardware.biometrics.fingerprint@2.1-service_32
|
||||
LOCAL_INIT_RC := android.hardware.biometrics.fingerprint@2.1-service_32.rc
|
||||
LOCAL_PROPRIETARY_MODULE := true
|
||||
LOCAL_32_BIT_ONLY := true
|
||||
LOCAL_MODULE_RELATIVE_PATH := hw
|
||||
LOCAL_SRC_FILES := \
|
||||
../../../../../hardware/interfaces/biometrics/fingerprint/2.1/default/BiometricsFingerprint.cpp \
|
||||
../../../../../hardware/interfaces/biometrics/fingerprint/2.1/default/service.cpp
|
||||
|
||||
LOCAL_SHARED_LIBRARIES := \
|
||||
libcutils \
|
||||
liblog \
|
||||
libhidlbase \
|
||||
libhidltransport \
|
||||
libhardware \
|
||||
libutils \
|
||||
android.hardware.biometrics.fingerprint@2.1
|
||||
|
||||
include $(BUILD_EXECUTABLE)
|
||||
@@ -0,0 +1,7 @@
|
||||
service fps_hal /vendor/bin/hw/android.hardware.biometrics.fingerprint@2.1-service_32
|
||||
# "class hal" causes a race condition on some devices due to files created
|
||||
# in /data. As a workaround, postpone startup until later in boot once
|
||||
# /data is mounted.
|
||||
class late_start
|
||||
user system
|
||||
group system input
|
||||
29
full_sanders.mk
Normal file
29
full_sanders.mk
Normal file
@@ -0,0 +1,29 @@
|
||||
#
|
||||
# Copyright (C) 2015 The CyanogenMod 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.
|
||||
#
|
||||
|
||||
# Inherit from those products. Most specific first.
|
||||
$(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk)
|
||||
$(call inherit-product, $(SRC_TARGET_DIR)/product/full_base_telephony.mk)
|
||||
|
||||
# Inherit from potter device
|
||||
$(call inherit-product, device/motorola/sanders/device.mk)
|
||||
|
||||
# Device identifier. This must come after all inclusions
|
||||
PRODUCT_DEVICE := sanders
|
||||
PRODUCT_NAME := full_sanders
|
||||
|
||||
# for specific
|
||||
$(call inherit-product, vendor/motorola/sanders/sanders-vendor.mk)
|
||||
@@ -1,6 +1,5 @@
|
||||
ifneq ($(BOARD_VENDOR_QCOM_GPS_LOC_API_HARDWARE),)
|
||||
LOCAL_PATH := $(call my-dir)
|
||||
include $(LOCAL_PATH)/build/target_specific_features.mk
|
||||
|
||||
include $(call all-makefiles-under,$(LOCAL_PATH))
|
||||
endif
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
ACLOCAL_AMFLAGS = -I m4
|
||||
|
||||
SUBDIRS = gnss
|
||||
SUBDIRS = core location gnss
|
||||
|
||||
pkgconfigdir = $(libdir)/pkgconfig
|
||||
pkgconfig_DATA = loc-hal.pc
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2017-2018, The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2017, The Linux Foundation. All rights reserved.
|
||||
* Not a Contribution
|
||||
*/
|
||||
/*
|
||||
@@ -30,23 +30,12 @@ namespace gnss {
|
||||
namespace V1_0 {
|
||||
namespace implementation {
|
||||
|
||||
static AGnss* spAGnss = nullptr;
|
||||
sp<IAGnssCallback> AGnss::sAGnssCbIface = nullptr;
|
||||
|
||||
AGnss::AGnss(Gnss* gnss) : mGnss(gnss) {
|
||||
spAGnss = this;
|
||||
}
|
||||
|
||||
AGnss::~AGnss() {
|
||||
spAGnss = nullptr;
|
||||
}
|
||||
|
||||
void AGnss::agnssStatusIpV4Cb(AGnssExtStatusIpV4 status){
|
||||
if (nullptr != spAGnss) {
|
||||
spAGnss->statusIpV4Cb(status);
|
||||
}
|
||||
}
|
||||
|
||||
void AGnss::statusIpV4Cb(AGnssExtStatusIpV4 status) {
|
||||
IAGnssCallback::AGnssStatusIpV4 st = {};
|
||||
|
||||
switch (status.type) {
|
||||
@@ -83,13 +72,9 @@ void AGnss::statusIpV4Cb(AGnssExtStatusIpV4 status) {
|
||||
}
|
||||
st.ipV4Addr = status.ipV4Addr;
|
||||
|
||||
if (mAGnssCbIface != nullptr) {
|
||||
auto r = mAGnssCbIface->agnssStatusIpV4Cb(st);
|
||||
auto r = sAGnssCbIface->agnssStatusIpV4Cb(st);
|
||||
if (!r.isOk()) {
|
||||
LOC_LOGw("Error invoking AGNSS status cb %s", r.description().c_str());
|
||||
}
|
||||
} else {
|
||||
LOC_LOGw("setCallback has not been called yet");
|
||||
LOC_LOGE("Error invoking AGNSS status cb %s", r.description().c_str());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -101,7 +86,7 @@ Return<void> AGnss::setCallback(const sp<IAGnssCallback>& callback) {
|
||||
}
|
||||
|
||||
// Save the interface
|
||||
mAGnssCbIface = callback;
|
||||
sAGnssCbIface = callback;
|
||||
|
||||
AgpsCbInfo cbInfo = {};
|
||||
cbInfo.statusV4Cb = (void*)agnssStatusIpV4Cb;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2017-2018, The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2017, The Linux Foundation. All rights reserved.
|
||||
* Not a Contribution
|
||||
*/
|
||||
/*
|
||||
@@ -18,8 +18,8 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#ifndef ANDROID_HARDWARE_GNSS_V1_0_AGNSS_H
|
||||
#define ANDROID_HARDWARE_GNSS_V1_0_AGNSS_H
|
||||
#ifndef ANDROID_HARDWARE_GNSS_V1_1_AGNSS_H
|
||||
#define ANDROID_HARDWARE_GNSS_V1_1_AGNSS_H
|
||||
|
||||
#include <android/hardware/gnss/1.0/IAGnss.h>
|
||||
#include <hidl/Status.h>
|
||||
@@ -43,7 +43,7 @@ struct Gnss;
|
||||
struct AGnss : public IAGnss {
|
||||
|
||||
AGnss(Gnss* gnss);
|
||||
~AGnss();
|
||||
~AGnss() = default;
|
||||
/*
|
||||
* Methods from ::android::hardware::gnss::V1_0::IAGnss interface follow.
|
||||
* These declarations were generated from IAGnss.hal.
|
||||
@@ -60,14 +60,12 @@ struct AGnss : public IAGnss {
|
||||
Return<bool> setServer(IAGnssCallback::AGnssType type,
|
||||
const hidl_string& hostname, int32_t port) override;
|
||||
|
||||
void statusIpV4Cb(AGnssExtStatusIpV4 status);
|
||||
|
||||
/* Data call setup callback passed down to GNSS HAL implementation */
|
||||
static void agnssStatusIpV4Cb(AGnssExtStatusIpV4 status);
|
||||
|
||||
private:
|
||||
Gnss* mGnss = nullptr;
|
||||
sp<IAGnssCallback> mAGnssCbIface = nullptr;
|
||||
static sp<IAGnssCallback> sAGnssCbIface;
|
||||
};
|
||||
|
||||
} // namespace implementation
|
||||
@@ -76,4 +74,4 @@ struct AGnss : public IAGnss {
|
||||
} // namespace hardware
|
||||
} // namespace android
|
||||
|
||||
#endif // ANDROID_HARDWARE_GNSS_V1_0_AGNSS_H
|
||||
#endif // ANDROID_HARDWARE_GNSS_V1_1_AGNSS_H
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2017-2018, The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2017, The Linux Foundation. All rights reserved.
|
||||
* Not a Contribution
|
||||
*/
|
||||
/*
|
||||
@@ -29,8 +29,6 @@
|
||||
#include <string>
|
||||
#include "Gnss.h"
|
||||
#include "AGnssRil.h"
|
||||
#include <DataItemConcreteTypesBase.h>
|
||||
|
||||
typedef void* (getLocationInterface)();
|
||||
|
||||
namespace android {
|
||||
@@ -53,35 +51,7 @@ Return<bool> AGnssRil::updateNetworkState(bool connected, NetworkType type, bool
|
||||
|
||||
// for XTRA
|
||||
if (nullptr != mGnss && ( nullptr != mGnss->getGnssInterface() )) {
|
||||
int8_t typeout = loc_core::NetworkInfoDataItemBase::TYPE_UNKNOWN;
|
||||
switch(type)
|
||||
{
|
||||
case IAGnssRil::NetworkType::MOBILE:
|
||||
typeout = loc_core::NetworkInfoDataItemBase::TYPE_MOBILE;
|
||||
break;
|
||||
case IAGnssRil::NetworkType::WIFI:
|
||||
typeout = loc_core::NetworkInfoDataItemBase::TYPE_WIFI;
|
||||
break;
|
||||
case IAGnssRil::NetworkType::MMS:
|
||||
typeout = loc_core::NetworkInfoDataItemBase::TYPE_MMS;
|
||||
break;
|
||||
case IAGnssRil::NetworkType::SUPL:
|
||||
typeout = loc_core::NetworkInfoDataItemBase::TYPE_SUPL;
|
||||
break;
|
||||
case IAGnssRil::NetworkType::DUN:
|
||||
typeout = loc_core::NetworkInfoDataItemBase::TYPE_DUN;
|
||||
break;
|
||||
case IAGnssRil::NetworkType::HIPRI:
|
||||
typeout = loc_core::NetworkInfoDataItemBase::TYPE_HIPRI;
|
||||
break;
|
||||
case IAGnssRil::NetworkType::WIMAX:
|
||||
typeout = loc_core::NetworkInfoDataItemBase::TYPE_WIMAX;
|
||||
break;
|
||||
default:
|
||||
typeout = loc_core::NetworkInfoDataItemBase::TYPE_UNKNOWN;
|
||||
break;
|
||||
}
|
||||
mGnss->getGnssInterface()->updateConnectionStatus(connected, typeout);
|
||||
mGnss->getGnssInterface()->updateConnectionStatus(connected, (uint8_t)type);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2017-2018, The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2017, The Linux Foundation. All rights reserved.
|
||||
* Not a Contribution
|
||||
*/
|
||||
/*
|
||||
|
||||
@@ -2,7 +2,8 @@ LOCAL_PATH := $(call my-dir)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := android.hardware.gnss@1.0-impl-qti
|
||||
LOCAL_VENDOR_MODULE := true
|
||||
LOCAL_MODULE_PATH_32 := $(TARGET_OUT_VENDOR)/lib
|
||||
LOCAL_MODULE_PATH_64 := $(TARGET_OUT_VENDOR)/lib64
|
||||
LOCAL_MODULE_RELATIVE_PATH := hw
|
||||
LOCAL_SRC_FILES := \
|
||||
AGnss.cpp \
|
||||
@@ -35,7 +36,6 @@ LOCAL_SHARED_LIBRARIES := \
|
||||
libhidlbase \
|
||||
libhidltransport \
|
||||
libhwbinder \
|
||||
libcutils \
|
||||
libutils \
|
||||
android.hardware.gnss@1.0 \
|
||||
|
||||
@@ -43,6 +43,7 @@ LOCAL_SHARED_LIBRARIES += \
|
||||
libloc_core \
|
||||
libgps.utils \
|
||||
libdl \
|
||||
libloc_pla \
|
||||
liblocation_api \
|
||||
|
||||
LOCAL_CFLAGS += $(GNSS_CFLAGS)
|
||||
@@ -51,15 +52,19 @@ include $(BUILD_SHARED_LIBRARY)
|
||||
BUILD_GNSS_HIDL_SERVICE := true
|
||||
ifneq ($(BOARD_VENDOR_QCOM_LOC_PDK_FEATURE_SET), true)
|
||||
ifneq ($(LW_FEATURE_SET),true)
|
||||
ifneq ($(TARGET_HAS_LOW_RAM),true)
|
||||
BUILD_GNSS_HIDL_SERVICE := false
|
||||
endif # TARGET_HAS_LOW_RAM
|
||||
endif # LW_FEATURE_SET
|
||||
endif # BOARD_VENDOR_QCOM_LOC_PDK_FEATURE_SET
|
||||
|
||||
ifeq ($(BUILD_GNSS_HIDL_SERVICE), true)
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := android.hardware.gnss@1.0-service-qti
|
||||
LOCAL_VENDOR_MODULE := true
|
||||
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES)
|
||||
LOCAL_MODULE_RELATIVE_PATH := hw
|
||||
LOCAL_VENDOR_MODULE := true
|
||||
LOCAL_MODULE_OWNER := qti
|
||||
LOCAL_INIT_RC := android.hardware.gnss@1.0-service-qti.rc
|
||||
LOCAL_SRC_FILES := \
|
||||
service.cpp \
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2017-2018, The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2017, The Linux Foundation. All rights reserved.
|
||||
* Not a Contribution
|
||||
*/
|
||||
/*
|
||||
@@ -20,13 +20,9 @@
|
||||
|
||||
#define LOG_TAG "LocSvc_GnssInterface"
|
||||
|
||||
#include <fstream>
|
||||
#include <log_util.h>
|
||||
#include <dlfcn.h>
|
||||
#include <cutils/properties.h>
|
||||
#include "Gnss.h"
|
||||
#include <LocationUtil.h>
|
||||
|
||||
typedef void* (getLocationInterface)();
|
||||
|
||||
namespace android {
|
||||
@@ -111,7 +107,7 @@ GnssInterface* Gnss::getGnssInterface() {
|
||||
return mGnssInterface;
|
||||
}
|
||||
|
||||
Return<bool> Gnss::setCallback(const sp<V1_0::IGnssCallback>& callback) {
|
||||
Return<bool> Gnss::setCallback(const sp<IGnssCallback>& callback) {
|
||||
ENTRY_LOG_CALLFLOW();
|
||||
if (mGnssCbIface != nullptr) {
|
||||
mGnssCbIface->unlinkToDeath(mGnssDeathRecipient);
|
||||
@@ -255,7 +251,7 @@ Return<bool> Gnss::injectTime(int64_t timeMs, int64_t timeReferenceMs,
|
||||
}
|
||||
}
|
||||
|
||||
Return<void> Gnss::deleteAidingData(V1_0::IGnss::GnssAidingData aidingDataFlags) {
|
||||
Return<void> Gnss::deleteAidingData(IGnss::GnssAidingData aidingDataFlags) {
|
||||
ENTRY_LOG_CALLFLOW();
|
||||
GnssAPIClient* api = getApi();
|
||||
if (api) {
|
||||
@@ -264,8 +260,8 @@ Return<void> Gnss::deleteAidingData(V1_0::IGnss::GnssAidingData aidingDataFlags)
|
||||
return Void();
|
||||
}
|
||||
|
||||
Return<bool> Gnss::setPositionMode(V1_0::IGnss::GnssPositionMode mode,
|
||||
V1_0::IGnss::GnssPositionRecurrence recurrence,
|
||||
Return<bool> Gnss::setPositionMode(IGnss::GnssPositionMode mode,
|
||||
IGnss::GnssPositionRecurrence recurrence,
|
||||
uint32_t minIntervalMs,
|
||||
uint32_t preferredAccuracyMeters,
|
||||
uint32_t preferredTimeMs) {
|
||||
@@ -279,49 +275,48 @@ Return<bool> Gnss::setPositionMode(V1_0::IGnss::GnssPositionMode mode,
|
||||
return retVal;
|
||||
}
|
||||
|
||||
Return<sp<V1_0::IAGnss>> Gnss::getExtensionAGnss() {
|
||||
Return<sp<IAGnss>> Gnss::getExtensionAGnss() {
|
||||
ENTRY_LOG_CALLFLOW();
|
||||
mAGnssIface = new AGnss(this);
|
||||
return mAGnssIface;
|
||||
}
|
||||
|
||||
Return<sp<V1_0::IGnssNi>> Gnss::getExtensionGnssNi() {
|
||||
Return<sp<IGnssNi>> Gnss::getExtensionGnssNi() {
|
||||
ENTRY_LOG_CALLFLOW();
|
||||
mGnssNi = new GnssNi(this);
|
||||
return mGnssNi;
|
||||
}
|
||||
|
||||
Return<sp<V1_0::IGnssMeasurement>> Gnss::getExtensionGnssMeasurement() {
|
||||
Return<sp<IGnssMeasurement>> Gnss::getExtensionGnssMeasurement() {
|
||||
ENTRY_LOG_CALLFLOW();
|
||||
if (mGnssMeasurement == nullptr)
|
||||
mGnssMeasurement = new GnssMeasurement();
|
||||
return mGnssMeasurement;
|
||||
}
|
||||
|
||||
Return<sp<V1_0::IGnssConfiguration>> Gnss::getExtensionGnssConfiguration() {
|
||||
Return<sp<IGnssConfiguration>> Gnss::getExtensionGnssConfiguration() {
|
||||
ENTRY_LOG_CALLFLOW();
|
||||
mGnssConfig = new GnssConfiguration(this);
|
||||
return mGnssConfig;
|
||||
}
|
||||
|
||||
Return<sp<V1_0::IGnssGeofencing>> Gnss::getExtensionGnssGeofencing() {
|
||||
Return<sp<IGnssGeofencing>> Gnss::getExtensionGnssGeofencing() {
|
||||
ENTRY_LOG_CALLFLOW();
|
||||
mGnssGeofencingIface = new GnssGeofencing();
|
||||
return mGnssGeofencingIface;
|
||||
}
|
||||
|
||||
Return<sp<V1_0::IGnssBatching>> Gnss::getExtensionGnssBatching() {
|
||||
Return<sp<IGnssBatching>> Gnss::getExtensionGnssBatching() {
|
||||
mGnssBatching = new GnssBatching();
|
||||
return mGnssBatching;
|
||||
}
|
||||
|
||||
Return<sp<V1_0::IGnssDebug>> Gnss::getExtensionGnssDebug() {
|
||||
Return<sp<IGnssDebug>> Gnss::getExtensionGnssDebug() {
|
||||
ENTRY_LOG_CALLFLOW();
|
||||
mGnssDebug = new GnssDebug(this);
|
||||
return mGnssDebug;
|
||||
}
|
||||
|
||||
Return<sp<V1_0::IAGnssRil>> Gnss::getExtensionAGnssRil() {
|
||||
Return<sp<IAGnssRil>> Gnss::getExtensionAGnssRil() {
|
||||
mGnssRil = new AGnssRil(this);
|
||||
return mGnssRil;
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2017-2018-2018-2018, The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2017, The Linux Foundation. All rights reserved.
|
||||
* Not a Contribution
|
||||
*/
|
||||
/*
|
||||
@@ -18,8 +18,8 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#ifndef ANDROID_HARDWARE_GNSS_V1_0_GNSS_H
|
||||
#define ANDROID_HARDWARE_GNSS_V1_0_GNSS_H
|
||||
#ifndef ANDROID_HARDWARE_GNSS_V1_1_GNSS_H
|
||||
#define ANDROID_HARDWARE_GNSS_V1_1_GNSS_H
|
||||
|
||||
#include <AGnss.h>
|
||||
#include <AGnssRil.h>
|
||||
@@ -31,7 +31,6 @@
|
||||
#include <GnssDebug.h>
|
||||
|
||||
#include <android/hardware/gnss/1.0/IGnss.h>
|
||||
#include <hidl/MQDescriptor.h>
|
||||
#include <hidl/Status.h>
|
||||
|
||||
#include <GnssAPIClient.h>
|
||||
@@ -43,24 +42,34 @@ namespace gnss {
|
||||
namespace V1_0 {
|
||||
namespace implementation {
|
||||
|
||||
using ::android::hardware::hidl_array;
|
||||
using ::android::hardware::hidl_memory;
|
||||
using ::android::hardware::hidl_string;
|
||||
using ::android::hardware::hidl_vec;
|
||||
using ::android::hardware::Return;
|
||||
using ::android::hardware::Void;
|
||||
using ::android::hardware::hidl_vec;
|
||||
using ::android::hardware::hidl_string;
|
||||
using ::android::sp;
|
||||
using ::android::hardware::gnss::V1_0::GnssLocation;
|
||||
|
||||
struct Gnss : public IGnss {
|
||||
Gnss();
|
||||
~Gnss();
|
||||
|
||||
// registerAsService will call interfaceChain to determine the version of service
|
||||
/* comment this out until we know really how to manipulate hidl version
|
||||
using interfaceChain_cb = std::function<
|
||||
void(const ::android::hardware::hidl_vec<::android::hardware::hidl_string>& descriptors)>;
|
||||
virtual ::android::hardware::Return<void> interfaceChain(interfaceChain_cb _hidl_cb) override {
|
||||
_hidl_cb({
|
||||
"android.hardware.gnss@1.1::IGnss",
|
||||
::android::hidl::base::V1_0::IBase::descriptor,
|
||||
});
|
||||
return ::android::hardware::Void();
|
||||
}
|
||||
*/
|
||||
|
||||
/*
|
||||
* Methods from ::android::hardware::gnss::V1_0::IGnss follow.
|
||||
* These declarations were generated from Gnss.hal.
|
||||
*/
|
||||
Return<bool> setCallback(const sp<V1_0::IGnssCallback>& callback) override;
|
||||
Return<bool> setCallback(const sp<IGnssCallback>& callback) override;
|
||||
Return<bool> start() override;
|
||||
Return<bool> stop() override;
|
||||
Return<void> cleanup() override;
|
||||
@@ -70,30 +79,30 @@ struct Gnss : public IGnss {
|
||||
Return<bool> injectTime(int64_t timeMs,
|
||||
int64_t timeReferenceMs,
|
||||
int32_t uncertaintyMs) override;
|
||||
Return<void> deleteAidingData(V1_0::IGnss::GnssAidingData aidingDataFlags) override;
|
||||
Return<bool> setPositionMode(V1_0::IGnss::GnssPositionMode mode,
|
||||
V1_0::IGnss::GnssPositionRecurrence recurrence,
|
||||
Return<void> deleteAidingData(IGnss::GnssAidingData aidingDataFlags) override;
|
||||
Return<bool> setPositionMode(IGnss::GnssPositionMode mode,
|
||||
IGnss::GnssPositionRecurrence recurrence,
|
||||
uint32_t minIntervalMs,
|
||||
uint32_t preferredAccuracyMeters,
|
||||
uint32_t preferredTimeMs) override;
|
||||
Return<sp<V1_0::IAGnss>> getExtensionAGnss() override;
|
||||
Return<sp<V1_0::IGnssNi>> getExtensionGnssNi() override;
|
||||
Return<sp<V1_0::IGnssMeasurement>> getExtensionGnssMeasurement() override;
|
||||
Return<sp<V1_0::IGnssConfiguration>> getExtensionGnssConfiguration() override;
|
||||
Return<sp<V1_0::IGnssGeofencing>> getExtensionGnssGeofencing() override;
|
||||
Return<sp<V1_0::IGnssBatching>> getExtensionGnssBatching() override;
|
||||
Return<sp<IAGnss>> getExtensionAGnss() override;
|
||||
Return<sp<IGnssNi>> getExtensionGnssNi() override;
|
||||
Return<sp<IGnssMeasurement>> getExtensionGnssMeasurement() override;
|
||||
Return<sp<IGnssConfiguration>> getExtensionGnssConfiguration() override;
|
||||
Return<sp<IGnssGeofencing>> getExtensionGnssGeofencing() override;
|
||||
Return<sp<IGnssBatching>> getExtensionGnssBatching() override;
|
||||
|
||||
Return<sp<V1_0::IAGnssRil>> getExtensionAGnssRil() override;
|
||||
Return<sp<IAGnssRil>> getExtensionAGnssRil() override;
|
||||
|
||||
inline Return<sp<V1_0::IGnssNavigationMessage>> getExtensionGnssNavigationMessage() override {
|
||||
inline Return<sp<IGnssNavigationMessage>> getExtensionGnssNavigationMessage() override {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
inline Return<sp<V1_0::IGnssXtra>> getExtensionXtra() override {
|
||||
inline Return<sp<IGnssXtra>> getExtensionXtra() override {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
Return<sp<V1_0::IGnssDebug>> getExtensionGnssDebug() override;
|
||||
Return<sp<IGnssDebug>> getExtensionGnssDebug() override;
|
||||
|
||||
// These methods are not part of the IGnss base class.
|
||||
GnssAPIClient* getApi();
|
||||
@@ -101,9 +110,6 @@ struct Gnss : public IGnss {
|
||||
Return<bool> updateConfiguration(GnssConfig& gnssConfig);
|
||||
GnssInterface* getGnssInterface();
|
||||
|
||||
// Callback for ODCPI request
|
||||
void odcpiRequestCb(const OdcpiRequestInfo& request);
|
||||
|
||||
private:
|
||||
struct GnssDeathRecipient : hidl_death_recipient {
|
||||
GnssDeathRecipient(sp<Gnss> gnss) : mGnss(gnss) {
|
||||
@@ -126,8 +132,8 @@ struct Gnss : public IGnss {
|
||||
sp<AGnssRil> mGnssRil = nullptr;
|
||||
|
||||
GnssAPIClient* mApi = nullptr;
|
||||
sp<V1_0::IGnssCallback> mGnssCbIface = nullptr;
|
||||
sp<V1_0::IGnssNiCallback> mGnssNiCbIface = nullptr;
|
||||
sp<IGnssCallback> mGnssCbIface = nullptr;
|
||||
sp<IGnssNiCallback> mGnssNiCbIface = nullptr;
|
||||
GnssConfig mPendingConfig;
|
||||
GnssInterface* mGnssInterface = nullptr;
|
||||
};
|
||||
@@ -140,4 +146,4 @@ extern "C" IGnss* HIDL_FETCH_IGnss(const char* name);
|
||||
} // namespace hardware
|
||||
} // namespace android
|
||||
|
||||
#endif // ANDROID_HARDWARE_GNSS_V1_0_GNSS_H
|
||||
#endif // ANDROID_HARDWARE_GNSS_V1_1_GNSS_H
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2017-2018, The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2017, The Linux Foundation. All rights reserved.
|
||||
* Not a Contribution
|
||||
*/
|
||||
/*
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2017-2018, The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2017, The Linux Foundation. All rights reserved.
|
||||
* Not a Contribution
|
||||
*/
|
||||
/*
|
||||
@@ -18,8 +18,8 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#ifndef ANDROID_HARDWARE_GNSS_V1_0_GNSSBATCHING_H
|
||||
#define ANDROID_HARDWARE_GNSS_V1_0_GNSSBATCHING_H
|
||||
#ifndef ANDROID_HARDWARE_GNSS_V1_1_GNSSBATCHING_H
|
||||
#define ANDROID_HARDWARE_GNSS_V1_1_GNSSBATCHING_H
|
||||
|
||||
#include <android/hardware/gnss/1.0/IGnssBatching.h>
|
||||
#include <hidl/Status.h>
|
||||
@@ -77,4 +77,4 @@ struct GnssBatching : public IGnssBatching {
|
||||
} // namespace hardware
|
||||
} // namespace android
|
||||
|
||||
#endif // ANDROID_HARDWARE_GNSS_V1_0_GNSSBATCHING_H
|
||||
#endif // ANDROID_HARDWARE_GNSS_V1_1_GNSSBATCHING_H
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2017-2018, The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2017, The Linux Foundation. All rights reserved.
|
||||
* Not a Contribution
|
||||
*/
|
||||
/*
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2017-2018, The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2017, The Linux Foundation. All rights reserved.
|
||||
* Not a Contribution
|
||||
*/
|
||||
|
||||
@@ -19,8 +19,8 @@
|
||||
*/
|
||||
|
||||
|
||||
#ifndef ANDROID_HARDWARE_GNSS_V1_0_GNSSCONFIGURATION_H
|
||||
#define ANDROID_HARDWARE_GNSS_V1_0_GNSSCONFIGURATION_H
|
||||
#ifndef ANDROID_HARDWARE_GNSS_V1_1_GNSSCONFIGURATION_H
|
||||
#define ANDROID_HARDWARE_GNSS_V1_1_GNSSCONFIGURATION_H
|
||||
|
||||
#include <android/hardware/gnss/1.0/IGnssConfiguration.h>
|
||||
#include <hidl/Status.h>
|
||||
@@ -68,4 +68,4 @@ struct GnssConfiguration : public IGnssConfiguration {
|
||||
} // namespace hardware
|
||||
} // namespace android
|
||||
|
||||
#endif // ANDROID_HARDWARE_GNSS_V1_0_GNSSCONFIGURATION_H
|
||||
#endif // ANDROID_HARDWARE_GNSS_V1_1_GNSSCONFIGURATION_H
|
||||
|
||||
@@ -30,14 +30,8 @@ namespace implementation {
|
||||
|
||||
using ::android::hardware::hidl_vec;
|
||||
|
||||
#define GNSS_DEBUG_UNKNOWN_HORIZONTAL_ACCURACY_METERS (20000000)
|
||||
#define GNSS_DEBUG_UNKNOWN_VERTICAL_ACCURACY_METERS (20000)
|
||||
#define GNSS_DEBUG_UNKNOWN_SPEED_ACCURACY_PER_SEC (500)
|
||||
#define GNSS_DEBUG_UNKNOWN_BEARING_ACCURACY_DEG (180)
|
||||
|
||||
#define GNSS_DEBUG_UNKNOWN_UTC_TIME (1483228800000LL) // 1/1/2017 00:00 GMT
|
||||
#define GNSS_DEBUG_UNKNOWN_UTC_TIME (1483228800000ULL) // 1/1/2017 00:00 GMT
|
||||
#define GNSS_DEBUG_UNKNOWN_UTC_TIME_UNC (1.57783680E17) // 5 years in ns
|
||||
#define GNSS_DEBUG_UNKNOWN_FREQ_UNC_NS_PER_SEC (2.0e5) // ppm
|
||||
|
||||
GnssDebug::GnssDebug(Gnss* gnss) : mGnss(gnss)
|
||||
{
|
||||
@@ -97,40 +91,6 @@ Return<void> GnssDebug::getDebugData(getDebugData_cb _hidl_cb)
|
||||
data.position.valid = false;
|
||||
}
|
||||
|
||||
if (data.position.horizontalAccuracyMeters <= 0 ||
|
||||
data.position.horizontalAccuracyMeters > GNSS_DEBUG_UNKNOWN_HORIZONTAL_ACCURACY_METERS) {
|
||||
data.position.horizontalAccuracyMeters = GNSS_DEBUG_UNKNOWN_HORIZONTAL_ACCURACY_METERS;
|
||||
}
|
||||
if (data.position.verticalAccuracyMeters <= 0 ||
|
||||
data.position.verticalAccuracyMeters > GNSS_DEBUG_UNKNOWN_VERTICAL_ACCURACY_METERS) {
|
||||
data.position.verticalAccuracyMeters = GNSS_DEBUG_UNKNOWN_VERTICAL_ACCURACY_METERS;
|
||||
}
|
||||
if (data.position.speedAccuracyMetersPerSecond <= 0 ||
|
||||
data.position.speedAccuracyMetersPerSecond > GNSS_DEBUG_UNKNOWN_SPEED_ACCURACY_PER_SEC) {
|
||||
data.position.speedAccuracyMetersPerSecond = GNSS_DEBUG_UNKNOWN_SPEED_ACCURACY_PER_SEC;
|
||||
}
|
||||
if (data.position.bearingAccuracyDegrees <= 0 ||
|
||||
data.position.bearingAccuracyDegrees > GNSS_DEBUG_UNKNOWN_BEARING_ACCURACY_DEG) {
|
||||
data.position.bearingAccuracyDegrees = GNSS_DEBUG_UNKNOWN_BEARING_ACCURACY_DEG;
|
||||
}
|
||||
|
||||
if (data.position.horizontalAccuracyMeters <= 0 ||
|
||||
data.position.horizontalAccuracyMeters > GNSS_DEBUG_UNKNOWN_HORIZONTAL_ACCURACY_METERS) {
|
||||
data.position.horizontalAccuracyMeters = GNSS_DEBUG_UNKNOWN_HORIZONTAL_ACCURACY_METERS;
|
||||
}
|
||||
if (data.position.verticalAccuracyMeters <= 0 ||
|
||||
data.position.verticalAccuracyMeters > GNSS_DEBUG_UNKNOWN_VERTICAL_ACCURACY_METERS) {
|
||||
data.position.verticalAccuracyMeters = GNSS_DEBUG_UNKNOWN_VERTICAL_ACCURACY_METERS;
|
||||
}
|
||||
if (data.position.speedAccuracyMetersPerSecond <= 0 ||
|
||||
data.position.speedAccuracyMetersPerSecond > GNSS_DEBUG_UNKNOWN_SPEED_ACCURACY_PER_SEC) {
|
||||
data.position.speedAccuracyMetersPerSecond = GNSS_DEBUG_UNKNOWN_SPEED_ACCURACY_PER_SEC;
|
||||
}
|
||||
if (data.position.bearingAccuracyDegrees <= 0 ||
|
||||
data.position.bearingAccuracyDegrees > GNSS_DEBUG_UNKNOWN_BEARING_ACCURACY_DEG) {
|
||||
data.position.bearingAccuracyDegrees = GNSS_DEBUG_UNKNOWN_BEARING_ACCURACY_DEG;
|
||||
}
|
||||
|
||||
// time block
|
||||
if (reports.mTime.mValid) {
|
||||
data.time.timeEstimate = reports.mTime.timeEstimate;
|
||||
@@ -138,17 +98,10 @@ Return<void> GnssDebug::getDebugData(getDebugData_cb _hidl_cb)
|
||||
data.time.frequencyUncertaintyNsPerSec =
|
||||
reports.mTime.frequencyUncertaintyNsPerSec;
|
||||
}
|
||||
|
||||
if (data.time.timeEstimate < GNSS_DEBUG_UNKNOWN_UTC_TIME) {
|
||||
else {
|
||||
data.time.timeEstimate = GNSS_DEBUG_UNKNOWN_UTC_TIME;
|
||||
}
|
||||
if (data.time.timeUncertaintyNs <= 0 ||
|
||||
data.time.timeUncertaintyNs > (float)GNSS_DEBUG_UNKNOWN_UTC_TIME_UNC) {
|
||||
data.time.timeUncertaintyNs = (float)GNSS_DEBUG_UNKNOWN_UTC_TIME_UNC;
|
||||
}
|
||||
if (data.time.frequencyUncertaintyNsPerSec <= 0 ||
|
||||
data.time.frequencyUncertaintyNsPerSec > (float)GNSS_DEBUG_UNKNOWN_FREQ_UNC_NS_PER_SEC) {
|
||||
data.time.frequencyUncertaintyNsPerSec = (float)GNSS_DEBUG_UNKNOWN_FREQ_UNC_NS_PER_SEC;
|
||||
data.time.timeUncertaintyNs = (float)(GNSS_DEBUG_UNKNOWN_UTC_TIME_UNC);
|
||||
data.time.frequencyUncertaintyNsPerSec = 0;
|
||||
}
|
||||
|
||||
// satellite data block
|
||||
|
||||
@@ -14,8 +14,8 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#ifndef ANDROID_HARDWARE_GNSS_V1_0_GNSSDEBUG_H
|
||||
#define ANDROID_HARDWARE_GNSS_V1_0_GNSSDEBUG_H
|
||||
#ifndef ANDROID_HARDWARE_GNSS_V1_1_GNSSDEBUG_H
|
||||
#define ANDROID_HARDWARE_GNSS_V1_1_GNSSDEBUG_H
|
||||
|
||||
|
||||
#include <android/hardware/gnss/1.0/IGnssDebug.h>
|
||||
@@ -56,4 +56,4 @@ private:
|
||||
} // namespace hardware
|
||||
} // namespace android
|
||||
|
||||
#endif // ANDROID_HARDWARE_GNSS_V1_0_GNSSDEBUG_H
|
||||
#endif // ANDROID_HARDWARE_GNSS_V1_1_GNSSDEBUG_H
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2017-2018, The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2017, The Linux Foundation. All rights reserved.
|
||||
* Not a Contribution
|
||||
*/
|
||||
/*
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2017-2018, The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2017, The Linux Foundation. All rights reserved.
|
||||
* Not a Contribution
|
||||
*/
|
||||
/*
|
||||
@@ -18,8 +18,8 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#ifndef ANDROID_HARDWARE_GNSS_V1_0_GNSSGEOFENCING_H
|
||||
#define ANDROID_HARDWARE_GNSS_V1_0_GNSSGEOFENCING_H
|
||||
#ifndef ANDROID_HARDWARE_GNSS_V1_1_GNSSGEOFENCING_H
|
||||
#define ANDROID_HARDWARE_GNSS_V1_1_GNSSGEOFENCING_H
|
||||
|
||||
#include <android/hardware/gnss/1.0/IGnssGeofencing.h>
|
||||
#include <hidl/Status.h>
|
||||
@@ -88,4 +88,4 @@ struct GnssGeofencing : public IGnssGeofencing {
|
||||
} // namespace hardware
|
||||
} // namespace android
|
||||
|
||||
#endif // ANDROID_HARDWARE_GNSS_V1_0_GNSSGEOFENCING_H
|
||||
#endif // ANDROID_HARDWARE_GNSS_V1_1_GNSSGEOFENCING_H
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2017-2018, The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2017, The Linux Foundation. All rights reserved.
|
||||
* Not a Contribution
|
||||
*/
|
||||
/*
|
||||
@@ -52,9 +52,8 @@ GnssMeasurement::~GnssMeasurement() {
|
||||
}
|
||||
|
||||
// Methods from ::android::hardware::gnss::V1_0::IGnssMeasurement follow.
|
||||
|
||||
Return<IGnssMeasurement::GnssMeasurementStatus> GnssMeasurement::setCallback(
|
||||
const sp<V1_0::IGnssMeasurementCallback>& callback) {
|
||||
const sp<IGnssMeasurementCallback>& callback) {
|
||||
|
||||
Return<IGnssMeasurement::GnssMeasurementStatus> ret =
|
||||
IGnssMeasurement::GnssMeasurementStatus::ERROR_GENERIC;
|
||||
@@ -73,10 +72,9 @@ Return<IGnssMeasurement::GnssMeasurementStatus> GnssMeasurement::setCallback(
|
||||
}
|
||||
|
||||
mGnssMeasurementCbIface = callback;
|
||||
mGnssMeasurementCbIface->linkToDeath(mGnssMeasurementDeathRecipient, 0);
|
||||
mGnssMeasurementCbIface->linkToDeath(mGnssMeasurementDeathRecipient, 0 /*cookie*/);
|
||||
|
||||
return mApi->measurementSetCallback(callback);
|
||||
|
||||
}
|
||||
|
||||
Return<void> GnssMeasurement::close() {
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user