init Oreo
This commit is contained in:
parent
d444541944
commit
22e1bcc46a
39 changed files with 3232 additions and 3094 deletions
|
@ -14,7 +14,7 @@
|
|||
# limitations under the License.
|
||||
|
||||
# inherit from common msm8974
|
||||
-include device/samsung/msm8974-common/BoardConfigCommon.mk
|
||||
include device/samsung/msm8974-common/BoardConfigCommon.mk
|
||||
|
||||
LOCAL_PATH := device/samsung/viennalte
|
||||
|
||||
|
@ -28,12 +28,17 @@ TARGET_OTA_ASSERT_DEVICE := viennalte,viennaltexx
|
|||
# Use Snapdragon LLVM if available on build server
|
||||
TARGET_USE_SDCLANG := true
|
||||
|
||||
# ADB Legacy Interface
|
||||
TARGET_USES_LEGACY_ADB_INTERFACE := true
|
||||
|
||||
# Bootloader
|
||||
TARGET_BOOTLOADER_BOARD_NAME := MSM8974
|
||||
|
||||
# Kernel
|
||||
BOARD_KERNEL_BASE := 0x00000000
|
||||
BOARD_KERNEL_CMDLINE := console=null androidboot.hardware=qcom user_debug=31 msm_rtb.filter=0x37 ehci-hcd.park=3
|
||||
#BOARD_KERNEL_CMDLINE := console=null androidboot.hardware=qcom user_debug=31 msm_rtb.filter=0x37 ehci-hcd.park=3
|
||||
BOARD_KERNEL_CMDLINE := androidboot.hardware=qcom user_debug=31 msm_rtb.filter=0x37 ehci-hcd.park=3 androidboot.selinux=permissive
|
||||
BOARD_KERNEL_IMAGE_NAME := zImage
|
||||
BOARD_KERNEL_PAGESIZE := 2048
|
||||
BOARD_KERNEL_SEPARATED_DT := true
|
||||
BOARD_MKBOOTIMG_ARGS := --ramdisk_offset 0x02000000 --tags_offset 0x01E00000
|
||||
|
@ -51,6 +56,9 @@ TARGET_LIBINIT_MSM8974_DEFINES_FILE := device/samsung/viennalte/init/init_vienna
|
|||
BOARD_HAVE_NEW_QCOM_CSDCLIENT := true
|
||||
USE_CUSTOM_AUDIO_POLICY := 1
|
||||
|
||||
# Binder API version
|
||||
TARGET_USES_64_BIT_BINDER := true
|
||||
|
||||
# Bluetooth
|
||||
BOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR := $(LOCAL_PATH)/bluetooth
|
||||
BOARD_CUSTOM_BT_CONFIG := $(LOCAL_PATH)/bluetooth/vnd_viennalte.txt
|
||||
|
@ -61,8 +69,11 @@ BOARD_HAVE_BLUETOOTH_BCM := true
|
|||
TARGET_HAS_LEGACY_CAMERA_HAL1 := true
|
||||
USE_DEVICE_SPECIFIC_CAMERA := true
|
||||
|
||||
# CMHW
|
||||
BOARD_HARDWARE_CLASS += $(LOCAL_PATH)/cmhw
|
||||
# Filesystem
|
||||
TARGET_FS_CONFIG_GEN := $(LOCAL_PATH)/config.fs
|
||||
|
||||
# HIDL
|
||||
DEVICE_MANIFEST_FILE += $(LOCAL_PATH)/manifest.xml
|
||||
|
||||
# Legacy BLOB Support
|
||||
TARGET_NEEDS_PLATFORM_TEXT_RELOCATIONS := true
|
||||
|
@ -86,7 +97,8 @@ TARGET_POWERHAL_SET_INTERACTIVE_EXT := $(LOCAL_PATH)/power/power_ext.c
|
|||
TARGET_POWERHAL_VARIANT := qcom
|
||||
|
||||
# Radio
|
||||
BOARD_RIL_CLASS := ../../../device/samsung/viennalte/ril
|
||||
#BOARD_PROVIDES_LIBRIL := true
|
||||
#TARGET_RIL_VARIANT := caf
|
||||
|
||||
# Recovery
|
||||
BOARD_CUSTOM_RECOVERY_KEYMAPPING := ../../device/samsung/viennalte/recovery/recovery_keys.c
|
||||
|
@ -96,14 +108,13 @@ BOARD_HAS_LARGE_FILESYSTEM := true
|
|||
BOARD_HAS_NO_MISC_PARTITION := true
|
||||
BOARD_HAS_NO_SELECT_BUTTON := true
|
||||
BOARD_RECOVERY_SWIPE := true
|
||||
TARGET_RECOVERY_FSTAB := $(LOCAL_PATH)/rootdir/etc/fstab.qcom
|
||||
TARGET_RECOVERY_FSTAB := $(LOCAL_PATH)/rootdir/etc/fstab.full
|
||||
|
||||
# SELinux
|
||||
-include device/qcom/sepolicy/sepolicy.mk
|
||||
BOARD_SEPOLICY_DIRS += $(LOCAL_PATH)/sepolicy
|
||||
|
||||
# Sensors
|
||||
#TARGET_NO_SENSOR_PERMISSION_CHECK := true
|
||||
BOARD_SEPOLICY_DIRS += \
|
||||
$(COMMON_PATH)/sepolicy
|
||||
|
||||
# TWRP Support - Optional
|
||||
ifeq ($(WITH_TWRP),true)
|
||||
|
|
277
audio/audio_effects.conf
Executable file
277
audio/audio_effects.conf
Executable file
|
@ -0,0 +1,277 @@
|
|||
# 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
|
||||
}
|
||||
qcbassboost {
|
||||
path /vendor/lib/soundfx/libqcbassboost.so
|
||||
}
|
||||
qcvirt {
|
||||
path /vendor/lib/soundfx/libqcvirt.so
|
||||
}
|
||||
qcreverb {
|
||||
path /vendor/lib/soundfx/libqcreverb.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
|
||||
}
|
||||
}
|
||||
|
||||
# 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 qcbassboost
|
||||
uuid 23aca180-44bd-11e2-bcfd-0800200c9a66
|
||||
}
|
||||
|
||||
libhw {
|
||||
library offload_bundle
|
||||
uuid 2c4a8c24-1581-487f-94f6-0002a5d5c51b
|
||||
}
|
||||
}
|
||||
virtualizer {
|
||||
library proxy
|
||||
uuid d3467faa-acc7-4d34-acaf-0002a5d5c51b
|
||||
|
||||
libsw {
|
||||
library qcvirt
|
||||
uuid e6c98a16-22a3-11e2-b87b-f23c91aec05e
|
||||
}
|
||||
|
||||
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 qcreverb
|
||||
uuid a8c1e5f3-293d-43cd-95ec-d5e26c02e217
|
||||
}
|
||||
|
||||
libhw {
|
||||
library offload_bundle
|
||||
uuid 79a18026-18fd-4185-8233-0002a5d5c51b
|
||||
}
|
||||
}
|
||||
reverb_env_ins {
|
||||
library proxy
|
||||
uuid b707403a-a1c1-4291-9573-0002a5d5c51b
|
||||
|
||||
libsw {
|
||||
library qcreverb
|
||||
uuid 791fff8b-8129-4655-83a4-59bc61034c3a
|
||||
}
|
||||
|
||||
libhw {
|
||||
library offload_bundle
|
||||
uuid eb64ea04-973b-43d2-8f5e-0002a5d5c51b
|
||||
}
|
||||
}
|
||||
reverb_pre_aux {
|
||||
library proxy
|
||||
uuid 1b78f587-6d1c-422e-8b84-0002a5d5c51b
|
||||
|
||||
libsw {
|
||||
library qcreverb
|
||||
uuid 53ef1db5-c0c0-445b-b060-e34d20ebb70a
|
||||
}
|
||||
|
||||
libhw {
|
||||
library offload_bundle
|
||||
uuid 6987be09-b142-4b41-9056-0002a5d5c51b
|
||||
}
|
||||
}
|
||||
reverb_pre_ins {
|
||||
library proxy
|
||||
uuid f3e178d2-ebcb-408e-8357-0002a5d5c51b
|
||||
|
||||
libsw {
|
||||
library qcreverb
|
||||
uuid b08a0e38-22a5-11e2-b87b-f23c91aec05e
|
||||
}
|
||||
|
||||
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
|
||||
}
|
||||
loudness_enhancer {
|
||||
library loudness_enhancer
|
||||
uuid fa415329-2034-4bea-b5dc-5b381c8d1e2c
|
||||
}
|
||||
# aec {
|
||||
# library audio_pre_processing
|
||||
# uuid 29dfd020-e88b-11e5-b505-0002a5d5c51b
|
||||
# }
|
||||
# agc {
|
||||
# library audio_pre_processing
|
||||
# uuid e6cdbac0-4a7c-11e4-a018-0002a5d5c51b
|
||||
# }
|
||||
# ns {
|
||||
# library audio_pre_processing
|
||||
# uuid e4eb6b40-e88b-11e5-b6ad-0002a5d5c51b
|
||||
# }
|
||||
}
|
||||
|
||||
# Default pre-processing effects. Add to audio_effect.conf "effects" section if
|
||||
# audio HAL implements support for them.
|
||||
#
|
||||
# aec {
|
||||
# library pre_processing
|
||||
# uuid bb392ec0-8d4d-11e0-a896-0002a5d5c51b
|
||||
# }
|
||||
# agc {
|
||||
# library pre_processing
|
||||
# uuid aa8130e0-66fc-11e0-bad0-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>}
|
||||
# ...
|
||||
# }
|
||||
# ...
|
||||
# }
|
||||
# ...
|
||||
# }
|
||||
|
||||
#
|
||||
# TODO: add default audio pre processor configurations after debug and tuning phase
|
||||
#
|
|
@ -20,9 +20,9 @@
|
|||
|
||||
#define BTM_DEF_LOCAL_NAME "Samsung Galaxy Note Pro 12.2"
|
||||
|
||||
#define BTM_WBS_INCLUDED TRUE
|
||||
#define BTA_DISABLE_DELAY 1000 /* in milliseconds */
|
||||
|
||||
/* Defined if the kernel does not have support for CLOCK_BOOTTIME_ALARM */
|
||||
#define KERNEL_MISSING_CLOCK_BOOTTIME_ALARM TRUE
|
||||
#define BTM_WBS_INCLUDED TRUE /* Enable WBS */
|
||||
#define BTIF_HF_WBS_PREFERRED TRUE /* Use WBS */
|
||||
|
||||
#endif
|
||||
|
|
|
@ -1,13 +1,16 @@
|
|||
BLUETOOTH_UART_DEVICE_PORT = "/dev/ttyHS0"
|
||||
FW_PATCHFILE_LOCATION = "/vendor/firmware"
|
||||
FW_PATCHFILE_LOCATION = "/vendor/firmware/"
|
||||
BT_WAKE_VIA_PROC = TRUE
|
||||
BT_WAKE_VIA_PROC_NOTIFY_DEASSERT=TRUE
|
||||
PROC_BTWRITE_TIMER_TIMEOUT_MS = 0
|
||||
UART_TARGET_BAUD_RATE = 4000000
|
||||
LPM_IDLE_TIMEOUT_MULTIPLE = 5
|
||||
LPM_BT_WAKE_POLARITY = 0
|
||||
LPM_HOST_WAKE_POLARITY = 0
|
||||
SCO_USE_I2S_INTERFACE = FALSE
|
||||
SCO_WBS_SAMPLE_RATE = 0
|
||||
SCO_I2SPCM_IF_ROLE = 0
|
||||
BTVND_DBG = FALSE
|
||||
BTHW_DBG = TRUE
|
||||
VNDUSERIAL_DBG = FALSE
|
||||
UPIO_DBG = FALSE
|
||||
UART_TARGET_BAUD_RATE = 3000000
|
||||
FW_PATCH_SETTLEMENT_DELAY_MS = 100
|
||||
USE_AXI_BRIDGE_LOCK = TRUE
|
||||
UART_FORCE_TWO_STOPBITS = TRUE
|
||||
LPM_COMBINE_SLEEP_MODE_AND_LPM = 0
|
||||
|
|
|
@ -1,17 +1,23 @@
|
|||
LOCAL_PATH := $(call my-dir)
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
LOCAL_SRC_FILES := \
|
||||
CameraWrapper.cpp
|
||||
|
||||
LOCAL_SHARED_LIBRARIES := \
|
||||
libhardware liblog libcamera_client libutils
|
||||
|
||||
LOCAL_C_INCLUDES += \
|
||||
system/media/camera/include
|
||||
|
||||
LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/hw
|
||||
LOCAL_MODULE := camera.$(TARGET_BOARD_PLATFORM)
|
||||
LOCAL_MODULE_TAGS := optional
|
||||
|
||||
LOCAL_PATH := $(call my-dir)
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
LOCAL_C_INCLUDES := \
|
||||
system/media/camera/include
|
||||
|
||||
LOCAL_SRC_FILES := \
|
||||
CameraWrapper.cpp
|
||||
|
||||
LOCAL_STATIC_LIBRARIES := libbase libarect
|
||||
LOCAL_SHARED_LIBRARIES := \
|
||||
libhardware liblog libcamera_client libutils libcutils libdl \
|
||||
android.hidl.token@1.0-utils \
|
||||
android.hardware.graphics.bufferqueue@1.0
|
||||
|
||||
LOCAL_HEADER_LIBRARIES := libnativebase_headers
|
||||
|
||||
LOCAL_MODULE := camera.$(TARGET_BOARD_PLATFORM)
|
||||
LOCAL_MODULE_RELATIVE_PATH := hw
|
||||
LOCAL_MODULE_TAGS := optional
|
||||
LOCAL_PROPRIETARY_MODULE := true
|
||||
|
||||
include $(BUILD_SHARED_LIBRARY)
|
||||
|
|
|
@ -34,9 +34,21 @@
|
|||
#include <camera/Camera.h>
|
||||
#include <camera/CameraParameters.h>
|
||||
|
||||
static const char KEY_DIS[] = "dis";
|
||||
static const char DIS_DISABLE[] = "disable";
|
||||
static const char KEY_ZSL[] = "zsl";
|
||||
static const char ZSL_ON[] = "on";
|
||||
static const char ZSL_OFF[] = "off";
|
||||
|
||||
static android::Mutex gCameraWrapperLock;
|
||||
static camera_module_t *gVendorModule = 0;
|
||||
|
||||
static camera_notify_callback gUserNotifyCb = NULL;
|
||||
static camera_data_callback gUserDataCb = NULL;
|
||||
static camera_data_timestamp_callback gUserDataCbTimestamp = NULL;
|
||||
static camera_request_memory gUserGetMemory = NULL;
|
||||
static void *gUserCameraDevice = NULL;
|
||||
|
||||
static char **fixed_set_params = NULL;
|
||||
|
||||
static int camera_device_open(const hw_module_t* module, const char* name,
|
||||
|
@ -217,6 +229,25 @@ int camera_set_preview_window(struct camera_device * device,
|
|||
return VENDOR_CALL(device, set_preview_window, window);
|
||||
}
|
||||
|
||||
void camera_notify_cb(int32_t msg_type, int32_t ext1, int32_t ext2, void *user) {
|
||||
gUserNotifyCb(msg_type, ext1, ext2, gUserCameraDevice);
|
||||
}
|
||||
|
||||
void camera_data_cb(int32_t msg_type, const camera_memory_t *data, unsigned int index,
|
||||
camera_frame_metadata_t *metadata, void *user) {
|
||||
gUserDataCb(msg_type, data, index, metadata, gUserCameraDevice);
|
||||
}
|
||||
|
||||
void camera_data_cb_timestamp(nsecs_t timestamp, int32_t msg_type,
|
||||
const camera_memory_t *data, unsigned index, void *user) {
|
||||
gUserDataCbTimestamp(timestamp, msg_type, data, index, gUserCameraDevice);
|
||||
}
|
||||
|
||||
camera_memory_t* camera_get_memory(int fd, size_t buf_size,
|
||||
uint_t num_bufs, void *user) {
|
||||
return gUserGetMemory(fd, buf_size, num_bufs, gUserCameraDevice);
|
||||
}
|
||||
|
||||
void camera_set_callbacks(struct camera_device * device,
|
||||
camera_notify_callback notify_cb,
|
||||
camera_data_callback data_cb,
|
||||
|
@ -230,7 +261,14 @@ void camera_set_callbacks(struct camera_device * device,
|
|||
if(!device)
|
||||
return;
|
||||
|
||||
VENDOR_CALL(device, set_callbacks, notify_cb, data_cb, data_cb_timestamp, get_memory, user);
|
||||
gUserNotifyCb = notify_cb;
|
||||
gUserDataCb = data_cb;
|
||||
gUserDataCbTimestamp = data_cb_timestamp;
|
||||
gUserGetMemory = get_memory;
|
||||
gUserCameraDevice = user;
|
||||
|
||||
VENDOR_CALL(device, set_callbacks, camera_notify_cb, camera_data_cb,
|
||||
camera_data_cb_timestamp, camera_get_memory, user);
|
||||
}
|
||||
|
||||
void camera_enable_msg_type(struct camera_device * device, int32_t msg_type)
|
||||
|
|
8
config.fs
Executable file
8
config.fs
Executable file
|
@ -0,0 +1,8 @@
|
|||
[AID_QCOM_DIAG]
|
||||
value:2950
|
||||
|
||||
[AID_RFS]
|
||||
value:2951
|
||||
|
||||
[AID_RFS_SHARED]
|
||||
value:2952
|
|
@ -129,7 +129,7 @@ BASEBAND=all
|
|||
|
||||
PROCESS_NAME=/system/bin/lowi-server
|
||||
PROCESS_STATE=ENABLED
|
||||
PROCESS_GROUPS=gps net_admin wifi inet qcom_diag net_raw
|
||||
PROCESS_GROUPS=gps net_admin wifi inet oem_2950 net_raw
|
||||
PREMIUM_FEATURE=1
|
||||
IZAT_FEATURE_MASK=0x333
|
||||
PLATFORMS=all
|
||||
|
@ -161,7 +161,7 @@ BASEBAND=all
|
|||
|
||||
PROCESS_NAME=/system/bin/xtwifi-client
|
||||
PROCESS_STATE=ENABLED
|
||||
PROCESS_GROUPS=net_admin wifi inet gps
|
||||
PROCESS_GROUPS=net_admin wifi inet gps net_raw oem_2952
|
||||
PREMIUM_FEATURE=1
|
||||
IZAT_FEATURE_MASK=0x30f
|
||||
PLATFORMS=all
|
||||
|
@ -169,7 +169,7 @@ BASEBAND=all
|
|||
|
||||
PROCESS_NAME=/system/vendor/bin/slim_ap_daemon
|
||||
PROCESS_STATE=ENABLED
|
||||
PROCESS_GROUPS=gps net_raw misc qcom_oncrpc qcom_diag
|
||||
PROCESS_GROUPS=gps net_raw oem_2950
|
||||
PREMIUM_FEATURE=1
|
||||
IZAT_FEATURE_MASK=0xf0
|
||||
PLATFORMS=all
|
||||
|
|
38
device.mk
38
device.mk
|
@ -51,9 +51,10 @@ PRODUCT_COPY_FILES += \
|
|||
|
||||
# Audio
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(LOCAL_PATH)/audio/audio_platform_info.xml:system/etc/audio_platform_info.xml \
|
||||
$(LOCAL_PATH)/audio/audio_policy.conf:system/etc/audio_policy.conf \
|
||||
$(LOCAL_PATH)/audio/mixer_paths.xml:system/etc/mixer_paths.xml
|
||||
$(LOCAL_PATH)/audio/audio_effects.conf:system/vendor/etc/audio_effects.conf \
|
||||
$(LOCAL_PATH)/audio/audio_platform_info.xml:system/vendor/etc/audio_platform_info.xml \
|
||||
$(LOCAL_PATH)/audio/audio_policy.conf:system/vendor/etc/audio_policy.conf \
|
||||
$(LOCAL_PATH)/audio/mixer_paths.xml:system/vendor/etc/mixer_paths.xml
|
||||
|
||||
# GPS
|
||||
PRODUCT_PACKAGES += \
|
||||
|
@ -66,18 +67,24 @@ PRODUCT_COPY_FILES += \
|
|||
$(LOCAL_PATH)/configs/izat.conf:system/etc/izat.conf \
|
||||
$(LOCAL_PATH)/configs/sap.conf:system/etc/sap.conf
|
||||
|
||||
# Bluetooth
|
||||
PRODUCT_PACKAGES += \
|
||||
libbt-vendor
|
||||
|
||||
# Camera
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.camera.provider@2.4-impl \
|
||||
camera.device@1.0-impl \
|
||||
camera.msm8974 \
|
||||
libstlport \
|
||||
libshim_camera \
|
||||
libxml2
|
||||
|
||||
#PRODUCT_PACKAGES += \
|
||||
# Snap
|
||||
|
||||
# Doze
|
||||
PRODUCT_PACKAGES += \
|
||||
SamsungDoze
|
||||
#PRODUCT_PACKAGES += \
|
||||
# SamsungDoze
|
||||
|
||||
# IPv6 tethering
|
||||
PRODUCT_PACKAGES += \
|
||||
|
@ -85,8 +92,8 @@ PRODUCT_PACKAGES += \
|
|||
ethertypes
|
||||
|
||||
# IR Blaster
|
||||
PRODUCT_PACKAGES += \
|
||||
consumerir.msm8974
|
||||
#PRODUCT_PACKAGES += \
|
||||
# consumerir.msm8974
|
||||
|
||||
# Input device
|
||||
PRODUCT_COPY_FILES += \
|
||||
|
@ -104,6 +111,7 @@ PRODUCT_COPY_FILES += \
|
|||
|
||||
# Lights
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.light@2.0-impl \
|
||||
lights.MSM8974
|
||||
|
||||
# Media
|
||||
|
@ -112,7 +120,8 @@ PRODUCT_COPY_FILES += \
|
|||
|
||||
# Radio
|
||||
PRODUCT_PACKAGES += \
|
||||
libril_shim
|
||||
libsecnativefeature \
|
||||
libshim_cutils_atomic
|
||||
|
||||
# Ramdisk
|
||||
PRODUCT_PACKAGES += \
|
||||
|
@ -126,18 +135,15 @@ PRODUCT_PACKAGES += \
|
|||
PRODUCT_COPY_FILES += \
|
||||
$(LOCAL_PATH)/configs/thermal-engine-8974.conf:system/etc/thermal-engine-8974.conf
|
||||
|
||||
# Vibrator
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.vibrator@1.0-impl
|
||||
|
||||
# Wifi
|
||||
PRODUCT_PACKAGES += \
|
||||
libnetcmdiface \
|
||||
macloader
|
||||
|
||||
PRODUCT_PACKAGES += \
|
||||
hostapd.accept \
|
||||
hostapd.deny \
|
||||
hostapd \
|
||||
wpa_supplicant \
|
||||
wpa_supplicant.conf
|
||||
|
||||
PRODUCT_COPY_FILES += \
|
||||
$(LOCAL_PATH)/configs/wpa_supplicant_overlay.conf:system/etc/wifi/wpa_supplicant_overlay.conf \
|
||||
$(LOCAL_PATH)/configs/p2p_supplicant_overlay.conf:system/etc/wifi/p2p_supplicant_overlay.conf
|
||||
|
|
|
@ -1,249 +0,0 @@
|
|||
/*
|
||||
* Copyright (C) 2014 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.
|
||||
*/
|
||||
|
||||
#define CAMERA_PARAMETERS_EXTRA_C \
|
||||
const char CameraParameters::KEY_DIS[] = "dis"; \
|
||||
const char CameraParameters::DIS_DISABLE[] = "disable"; \
|
||||
const char CameraParameters::KEY_DYNAMIC_RANGE_CONTROL[] = "dynamic-range-control"; \
|
||||
const char CameraParameters::KEY_SUPPORTED_DYNAMIC_RANGE_CONTROL[] = "dynamic-range-control-values"; \
|
||||
const char CameraParameters::DRC_ON[] = "on"; \
|
||||
const char CameraParameters::DRC_OFF[] = "off"; \
|
||||
\
|
||||
const char CameraParameters::KEY_PHASE_AF[] = "phase-af"; \
|
||||
const char CameraParameters::KEY_SUPPORTED_PHASE_AF[] = "phase-af-values"; \
|
||||
const char CameraParameters::PAF_ON[] = "on"; \
|
||||
const char CameraParameters::PAF_OFF[] = "off"; \
|
||||
\
|
||||
const char CameraParameters::KEY_RT_HDR[] = "rt-hdr"; \
|
||||
const char CameraParameters::KEY_SUPPORTED_RT_HDR[] = "rt-hdr-values"; \
|
||||
const char CameraParameters::RTHDR_ON[] = "on"; \
|
||||
const char CameraParameters::RTHDR_OFF[] = "off"; \
|
||||
const char CameraParameters::KEY_SUPPORTED_ISO_MODES[] = "iso-values"; \
|
||||
const char CameraParameters::KEY_FACE_DETECTION[] = "face-detection"; \
|
||||
const char CameraParameters::KEY_SUPPORTED_FACE_DETECTION[] = "face-detection-values"; \
|
||||
const char CameraParameters::FACE_DETECTION_OFF[] = "off"; \
|
||||
const char CameraParameters::FACE_DETECTION_ON[] = "on"; \
|
||||
const char CameraParameters::KEY_ZSL[] = "zsl"; \
|
||||
const char CameraParameters::KEY_SUPPORTED_ZSL_MODES[] = "zsl-values"; \
|
||||
const char CameraParameters::ZSL_OFF[] = "off"; \
|
||||
const char CameraParameters::ZSL_ON[] = "on"; \
|
||||
const char CameraParameters::KEY_ISO_MODE[] = "iso"; \
|
||||
const char CameraParameters::KEY_CAMERA_MODE[] = "camera-mode"; \
|
||||
const char CameraParameters::KEY_SAMSUNG_CAMERA_MODE[] = "cam_mode"; \
|
||||
const char CameraParameters::KEY_SELECTABLE_ZONE_AF[] = "selectable-zone-af"; \
|
||||
const char CameraParameters::KEY_SUPPORTED_SELECTABLE_ZONE_AF[] = "selectable-zone-af-values"; \
|
||||
const char CameraParameters::SELECTABLE_ZONE_AF_AUTO[] = "auto"; \
|
||||
const char CameraParameters::SELECTABLE_ZONE_AF_SPOT_METERING[] = "spot-metering"; \
|
||||
const char CameraParameters::SELECTABLE_ZONE_AF_CENTER_WEIGHTED[] = "center-weighted"; \
|
||||
const char CameraParameters::SELECTABLE_ZONE_AF_FRAME_AVERAGE[] = "frame-average"; \
|
||||
const char CameraParameters::KEY_PREVIEW_FRAME_RATE_MODE[] = "preview-frame-rate-mode"; \
|
||||
const char CameraParameters::KEY_SUPPORTED_PREVIEW_FRAME_RATE_MODES[] = "preview-frame-rate-modes"; \
|
||||
const char CameraParameters::KEY_PREVIEW_FRAME_RATE_AUTO_MODE[] = "frame-rate-auto"; \
|
||||
const char CameraParameters::KEY_PREVIEW_FRAME_RATE_FIXED_MODE[] = "frame-rate-fixed"; \
|
||||
const char CameraParameters::KEY_SHARPNESS[] = "sharpness"; \
|
||||
const char CameraParameters::KEY_SATURATION[] = "saturation"; \
|
||||
const char CameraParameters::KEY_CONTRAST[] = "contrast"; \
|
||||
const char CameraParameters::KEY_SCENE_DETECT[] = "scene-detect"; \
|
||||
const char CameraParameters::KEY_SUPPORTED_SCENE_DETECT[] = "scene-detect-values"; \
|
||||
const char CameraParameters::SCENE_DETECT_OFF[] = "off"; \
|
||||
const char CameraParameters::SCENE_DETECT_ON[] = "on"; \
|
||||
const char CameraParameters::KEY_WEATHER[] = "weather"; \
|
||||
const char CameraParameters::KEY_CITYID[] = "contextualtag-cityid"; \
|
||||
const char CameraParameters::KEY_TOUCH_AF_AEC[] = "touch-af-aec"; \
|
||||
const char CameraParameters::KEY_SUPPORTED_TOUCH_AF_AEC[] = "touch-af-aec-values"; \
|
||||
const char CameraParameters::TOUCH_AF_AEC_OFF[] = "touch-off"; \
|
||||
const char CameraParameters::TOUCH_AF_AEC_ON[] = "touch-on"; \
|
||||
const char CameraParameters::KEY_MEMORY_COLOR_ENHANCEMENT[] = "mce"; \
|
||||
const char CameraParameters::KEY_LENSSHADE[] = "lensshade"; \
|
||||
const char CameraParameters::KEY_REDEYE_REDUCTION[] = "redeye-reduction"; \
|
||||
const char CameraParameters::KEY_SUPPORTED_REDEYE_REDUCTION[] = "redeye-reduction-values"; \
|
||||
const char CameraParameters::REDEYE_REDUCTION_ENABLE[] = "enable"; \
|
||||
const char CameraParameters::REDEYE_REDUCTION_DISABLE[] = "disable"; \
|
||||
const char CameraParameters::KEY_GPS_LATITUDE_REF[] = "gps-latitude-ref"; \
|
||||
const char CameraParameters::KEY_GPS_LONGITUDE_REF[] = "gps-longitude-ref"; \
|
||||
const char CameraParameters::KEY_GPS_ALTITUDE_REF[] = "gps-altitude-ref"; \
|
||||
const char CameraParameters::KEY_GPS_STATUS[] = "gps-status"; \
|
||||
const char CameraParameters::KEY_EXIF_DATETIME[] = "exif-datetime"; \
|
||||
const char CameraParameters::KEY_AUTO_EXPOSURE[] = "auto-exposure"; \
|
||||
const char CameraParameters::KEY_SUPPORTED_AUTO_EXPOSURE[] = "auto-exposure-values"; \
|
||||
const char CameraParameters::KEY_SUPPORTED_LENSSHADE_MODES[] = "lensshade-values"; \
|
||||
const char CameraParameters::LENSSHADE_ENABLE[] = "enable"; \
|
||||
const char CameraParameters::LENSSHADE_DISABLE[] = "disable"; \
|
||||
const char CameraParameters::MCE_ENABLE[] = "enable"; \
|
||||
const char CameraParameters::MCE_DISABLE[] = "disable"; \
|
||||
const char CameraParameters::ISO_AUTO[] = "auto"; \
|
||||
const char CameraParameters::ISO_HJR[] = "ISO_HJR"; \
|
||||
const char CameraParameters::ISO_100[] = "ISO100"; \
|
||||
const char CameraParameters::ISO_200[] = "ISO200"; \
|
||||
const char CameraParameters::ISO_400[] = "ISO400"; \
|
||||
const char CameraParameters::ISO_800[] = "ISO800"; \
|
||||
const char CameraParameters::ISO_1600[] = "ISO1600"; \
|
||||
const char CameraParameters::ISO_3200[] = "ISO3200"; \
|
||||
const char CameraParameters::ISO_6400[] = "ISO6400"; \
|
||||
const char CameraParameters::KEY_SUPPORTED_HFR_SIZES[] = "hfr-size-values"; \
|
||||
const char CameraParameters::KEY_SUPPORTED_MEM_COLOR_ENHANCE_MODES[] = "mce-values"; \
|
||||
const char CameraParameters::VIDEO_HFR_OFF[] = "off"; \
|
||||
const char CameraParameters::VIDEO_HFR_2X[] = "60"; \
|
||||
const char CameraParameters::VIDEO_HFR_3X[] = "90"; \
|
||||
const char CameraParameters::VIDEO_HFR_4X[] = "120"; \
|
||||
const char CameraParameters::KEY_VIDEO_HIGH_FRAME_RATE[] = "video-hfr"; \
|
||||
const char CameraParameters::KEY_SUPPORTED_VIDEO_HIGH_FRAME_RATE_MODES[] = "video-hfr-values"; \
|
||||
const char CameraParameters::KEY_HISTOGRAM[] = "histogram"; \
|
||||
const char CameraParameters::KEY_SUPPORTED_HISTOGRAM_MODES[] = "histogram-values"; \
|
||||
const char CameraParameters::HISTOGRAM_ENABLE[] = "enable"; \
|
||||
const char CameraParameters::HISTOGRAM_DISABLE[] = "disable"; \
|
||||
const char CameraParameters::SKIN_TONE_ENHANCEMENT_ENABLE[] = "enable"; \
|
||||
const char CameraParameters::SKIN_TONE_ENHANCEMENT_DISABLE[] = "disable"; \
|
||||
const char CameraParameters::KEY_SKIN_TONE_ENHANCEMENT[] = "skinToneEnhancement"; \
|
||||
const char CameraParameters::KEY_SUPPORTED_SKIN_TONE_ENHANCEMENT_MODES[] = "skinToneEnhancement-values"; \
|
||||
const char CameraParameters::DENOISE_OFF[] = "denoise-off"; \
|
||||
const char CameraParameters::DENOISE_ON[] = "denoise-on"; \
|
||||
const char CameraParameters::KEY_DENOISE[] = "denoise"; \
|
||||
const char CameraParameters::KEY_SUPPORTED_DENOISE[] = "denoise-values"; \
|
||||
const char CameraParameters::EFFECT_EMBOSS[] = "emboss"; \
|
||||
const char CameraParameters::EFFECT_SKETCH[] = "sketch"; \
|
||||
const char CameraParameters::EFFECT_NEON[] = "neon"; \
|
||||
const char CameraParameters::SCENE_MODE_FLOWERS[] = "flowers"; \
|
||||
const char CameraParameters::SCENE_MODE_AR[] = "AR"; \
|
||||
const char CameraParameters::PIXEL_FORMAT_YUV420SP_ADRENO[] = "yuv420sp-adreno"; \
|
||||
const char CameraParameters::PIXEL_FORMAT_RAW[] = "raw"; \
|
||||
const char CameraParameters::PIXEL_FORMAT_YV12[] = "yuv420p"; \
|
||||
const char CameraParameters::PIXEL_FORMAT_NV12[] = "nv12"; \
|
||||
int CameraParameters::getInt64(const char *key) const { return -1; }; \
|
||||
const char *CameraParameters::getPreviewFrameRateMode() const { return get(KEY_PREVIEW_FRAME_RATE_MODE); }; \
|
||||
void CameraParameters::setPreviewFrameRateMode(const char *mode) { set(KEY_PREVIEW_FRAME_RATE_MODE, mode); }; \
|
||||
void CameraParameters::getMeteringAreaCenter(int *x, int *y) const { }; \
|
||||
void CameraParameters::setTouchIndexAec(int x, int y) { }; \
|
||||
void CameraParameters::setTouchIndexAf(int x, int y) { }; \
|
||||
void CameraParameters::setPreviewFpsRange(int minFPS, int maxFPS) { };
|
||||
|
||||
#define CAMERA_PARAMETERS_EXTRA_H \
|
||||
static const char KEY_DIS[]; \
|
||||
static const char DIS_DISABLE[]; \
|
||||
\
|
||||
static const char KEY_DYNAMIC_RANGE_CONTROL[]; \
|
||||
static const char KEY_SUPPORTED_DYNAMIC_RANGE_CONTROL[]; \
|
||||
static const char DRC_ON[]; \
|
||||
static const char DRC_OFF[]; \
|
||||
\
|
||||
static const char KEY_PHASE_AF[]; \
|
||||
static const char KEY_SUPPORTED_PHASE_AF[]; \
|
||||
static const char PAF_ON[]; \
|
||||
static const char PAF_OFF[]; \
|
||||
\
|
||||
static const char KEY_RT_HDR[]; \
|
||||
static const char KEY_SUPPORTED_RT_HDR[]; \
|
||||
static const char RTHDR_ON[]; \
|
||||
static const char RTHDR_OFF[]; \
|
||||
\
|
||||
static const char KEY_SUPPORTED_ISO_MODES[]; \
|
||||
static const char KEY_FACE_DETECTION[]; \
|
||||
static const char KEY_SUPPORTED_FACE_DETECTION[]; \
|
||||
static const char FACE_DETECTION_OFF[]; \
|
||||
static const char FACE_DETECTION_ON[]; \
|
||||
static const char KEY_ZSL[]; \
|
||||
static const char KEY_SUPPORTED_ZSL_MODES[]; \
|
||||
static const char ZSL_OFF[]; \
|
||||
static const char ZSL_ON[]; \
|
||||
static const char KEY_ISO_MODE[]; \
|
||||
static const char KEY_CAMERA_MODE[]; \
|
||||
static const char KEY_SAMSUNG_CAMERA_MODE[]; \
|
||||
static const char KEY_SELECTABLE_ZONE_AF[]; \
|
||||
static const char KEY_SUPPORTED_SELECTABLE_ZONE_AF[]; \
|
||||
static const char SELECTABLE_ZONE_AF_AUTO[]; \
|
||||
static const char SELECTABLE_ZONE_AF_SPOT_METERING[]; \
|
||||
static const char SELECTABLE_ZONE_AF_CENTER_WEIGHTED[]; \
|
||||
static const char SELECTABLE_ZONE_AF_FRAME_AVERAGE[]; \
|
||||
static const char KEY_PREVIEW_FRAME_RATE_MODE[]; \
|
||||
static const char KEY_SUPPORTED_PREVIEW_FRAME_RATE_MODES[]; \
|
||||
static const char KEY_PREVIEW_FRAME_RATE_AUTO_MODE[]; \
|
||||
static const char KEY_PREVIEW_FRAME_RATE_FIXED_MODE[]; \
|
||||
static const char KEY_SHARPNESS[]; \
|
||||
static const char KEY_SATURATION[]; \
|
||||
static const char KEY_CONTRAST[]; \
|
||||
static const char KEY_SCENE_DETECT[]; \
|
||||
static const char KEY_SUPPORTED_SCENE_DETECT[]; \
|
||||
static const char SCENE_DETECT_OFF[]; \
|
||||
static const char SCENE_DETECT_ON[]; \
|
||||
static const char KEY_WEATHER[]; \
|
||||
static const char KEY_CITYID[]; \
|
||||
static const char KEY_TOUCH_AF_AEC[]; \
|
||||
static const char KEY_SUPPORTED_TOUCH_AF_AEC[]; \
|
||||
static const char TOUCH_AF_AEC_OFF[]; \
|
||||
static const char TOUCH_AF_AEC_ON[]; \
|
||||
static const char KEY_MEMORY_COLOR_ENHANCEMENT[]; \
|
||||
static const char KEY_LENSSHADE[]; \
|
||||
static const char KEY_REDEYE_REDUCTION[]; \
|
||||
static const char KEY_SUPPORTED_REDEYE_REDUCTION[]; \
|
||||
static const char REDEYE_REDUCTION_ENABLE[]; \
|
||||
static const char REDEYE_REDUCTION_DISABLE[]; \
|
||||
static const char KEY_GPS_LATITUDE_REF[]; \
|
||||
static const char KEY_GPS_LONGITUDE_REF[]; \
|
||||
static const char KEY_GPS_ALTITUDE_REF[]; \
|
||||
static const char KEY_GPS_STATUS[]; \
|
||||
static const char KEY_EXIF_DATETIME[]; \
|
||||
static const char KEY_AUTO_EXPOSURE[]; \
|
||||
static const char KEY_SUPPORTED_AUTO_EXPOSURE[]; \
|
||||
static const char KEY_SUPPORTED_LENSSHADE_MODES[]; \
|
||||
static const char LENSSHADE_ENABLE[]; \
|
||||
static const char LENSSHADE_DISABLE[]; \
|
||||
static const char MCE_ENABLE[]; \
|
||||
static const char MCE_DISABLE[]; \
|
||||
static const char ISO_AUTO[]; \
|
||||
static const char ISO_HJR[]; \
|
||||
static const char ISO_100[]; \
|
||||
static const char ISO_200[]; \
|
||||
static const char ISO_400[]; \
|
||||
static const char ISO_800[]; \
|
||||
static const char ISO_1600[]; \
|
||||
static const char ISO_3200[]; \
|
||||
static const char ISO_6400[]; \
|
||||
static const char KEY_SUPPORTED_HFR_SIZES[]; \
|
||||
static const char KEY_SUPPORTED_MEM_COLOR_ENHANCE_MODES[]; \
|
||||
static const char VIDEO_HFR_OFF[]; \
|
||||
static const char VIDEO_HFR_2X[]; \
|
||||
static const char VIDEO_HFR_3X[]; \
|
||||
static const char VIDEO_HFR_4X[]; \
|
||||
static const char KEY_VIDEO_HIGH_FRAME_RATE[]; \
|
||||
static const char KEY_SUPPORTED_VIDEO_HIGH_FRAME_RATE_MODES[]; \
|
||||
static const char KEY_HISTOGRAM[]; \
|
||||
static const char KEY_SUPPORTED_HISTOGRAM_MODES[]; \
|
||||
static const char HISTOGRAM_ENABLE[]; \
|
||||
static const char HISTOGRAM_DISABLE[]; \
|
||||
static const char SKIN_TONE_ENHANCEMENT_ENABLE[]; \
|
||||
static const char SKIN_TONE_ENHANCEMENT_DISABLE[]; \
|
||||
static const char KEY_SKIN_TONE_ENHANCEMENT[]; \
|
||||
static const char KEY_SUPPORTED_SKIN_TONE_ENHANCEMENT_MODES[]; \
|
||||
static const char DENOISE_OFF[]; \
|
||||
static const char DENOISE_ON[]; \
|
||||
static const char KEY_DENOISE[]; \
|
||||
static const char KEY_SUPPORTED_DENOISE[];\
|
||||
static const char EFFECT_EMBOSS[]; \
|
||||
static const char EFFECT_SKETCH[]; \
|
||||
static const char EFFECT_NEON[]; \
|
||||
static const char SCENE_MODE_FLOWERS[]; \
|
||||
static const char SCENE_MODE_AR[]; \
|
||||
static const char PIXEL_FORMAT_YUV420SP_ADRENO[]; \
|
||||
static const char PIXEL_FORMAT_RAW[]; \
|
||||
static const char PIXEL_FORMAT_YV12[]; \
|
||||
static const char PIXEL_FORMAT_NV12[]; \
|
||||
int getInt64(const char *key) const; \
|
||||
const char *getPreviewFrameRateMode() const; \
|
||||
void setPreviewFrameRateMode(const char *mode); \
|
||||
void getMeteringAreaCenter(int *x, int *y) const; \
|
||||
void setTouchIndexAec(int x, int y); \
|
||||
void setTouchIndexAf(int x, int y); \
|
||||
void setPreviewFpsRange(int minFPS, int maxFPS);
|
File diff suppressed because it is too large
Load diff
|
@ -31,13 +31,17 @@
|
|||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#include "vendor_init.h"
|
||||
#include <android-base/logging.h>
|
||||
#include <android-base/properties.h>
|
||||
|
||||
#include "property_service.h"
|
||||
#include "log.h"
|
||||
#include "util.h"
|
||||
#include "vendor_init.h"
|
||||
|
||||
#include "init_msm8974.h"
|
||||
|
||||
using android::base::GetProperty;
|
||||
using android::init::property_set;
|
||||
|
||||
void init_target_properties()
|
||||
{
|
||||
property_override("ro.build.fingerprint", "samsung/viennaltexx/viennalte:5.0.2/LRX22G/P905XXUABPE2:user/release-keys");
|
||||
|
|
20
libsecnativefeature/Android.mk
Executable file
20
libsecnativefeature/Android.mk
Executable file
|
@ -0,0 +1,20 @@
|
|||
LOCAL_PATH:= $(call my-dir)
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
LOCAL_MODULE_TAGS := optional
|
||||
|
||||
LOCAL_SRC_FILES := \
|
||||
SecNativeFeatureCIf.cpp \
|
||||
SecNativeFeatureCppIf.cpp
|
||||
|
||||
LOCAL_C_INCLUDES += \
|
||||
external/expat/lib
|
||||
|
||||
LOCAL_SHARED_LIBRARIES := \
|
||||
libexpat
|
||||
|
||||
LOCAL_CFLAGS := -Wall -Werror
|
||||
|
||||
LOCAL_MODULE := libsecnativefeature
|
||||
|
||||
include $(BUILD_SHARED_LIBRARY)
|
31
libsecnativefeature/SecNativeFeature.h
Executable file
31
libsecnativefeature/SecNativeFeature.h
Executable file
|
@ -0,0 +1,31 @@
|
|||
#ifndef SEC_NATIVE_FEATURE_H
|
||||
#define SEC_NATIVE_FEATURE_H
|
||||
|
||||
#include "SecNativeFeatureTagAll.h"
|
||||
|
||||
// define TAG for default value
|
||||
/*
|
||||
#define Str_NoTag ""
|
||||
#define Bool_NoTag false
|
||||
#define Int_NoTag (0)
|
||||
|
||||
#define TAG_BOOLEAN_TEST_TRUE "CscFeature_BooleanTestTrue"
|
||||
#define TAG_BOOLEAN_TEST_FALSE "CscFeature_BooleanTestFalse"
|
||||
#define TAG_BOOLEAN_TEST_NULL "CscFeature_BooleanTestNull"
|
||||
#define TAG_STRING_TEST "CscFeature_StringTest"
|
||||
#define TAG_STRING_TEST_NULL "CscFeature_StringTestNull"
|
||||
#define TAG_INTEGER_TEST "CscFeature_IntegerTest"
|
||||
#define TAG_INTEGER_TEST_NULL "CscFeature_IntegerTestNull"
|
||||
|
||||
#define TAG_FMRADIO_RTPLUS "CscFeature_FMRadioRTPlus"
|
||||
#define TAG_FMRADIO_SEASETTING "CscFeature_FMRadioSEASetting"
|
||||
*/
|
||||
|
||||
#ifdef __cplusplus
|
||||
#include "SecNativeFeatureCppIf.h"
|
||||
#else
|
||||
#include "SecNativeFeatureCIf.h"
|
||||
#endif
|
||||
|
||||
#endif // SEC_NATIVE_FEATURE_H
|
||||
|
85
libsecnativefeature/SecNativeFeatureCIf.cpp
Executable file
85
libsecnativefeature/SecNativeFeatureCIf.cpp
Executable file
|
@ -0,0 +1,85 @@
|
|||
#include <string>
|
||||
#include <iostream>
|
||||
#include "SecNativeFeatureCppIf.h"
|
||||
#include "SecNativeFeatureCIf.h"
|
||||
#include <expat.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
|
||||
int
|
||||
SecNativeFeature_getEnableStatus(const char* tag)
|
||||
{
|
||||
SecNativeFeature* instance = SecNativeFeature::getInstance();
|
||||
|
||||
if (instance)
|
||||
{
|
||||
return instance->getEnableStatus(tag);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int
|
||||
SecNativeFeature_getEnableStatusWithDefault(const char* tag, int defaultValue)
|
||||
{
|
||||
SecNativeFeature* instance = SecNativeFeature::getInstance();
|
||||
|
||||
if (instance)
|
||||
{
|
||||
return instance->getEnableStatus(tag, defaultValue);
|
||||
}
|
||||
|
||||
return defaultValue;
|
||||
}
|
||||
|
||||
int
|
||||
SecNativeFeature_getInteger(const char* tag)
|
||||
{
|
||||
SecNativeFeature* instance = SecNativeFeature::getInstance();
|
||||
|
||||
if (instance)
|
||||
{
|
||||
return instance->getInteger(tag);
|
||||
}
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
int
|
||||
SecNativeFeature_getIntegerWithDefault(const char* tag, int defaultValue)
|
||||
{
|
||||
SecNativeFeature* instance = SecNativeFeature::getInstance();
|
||||
|
||||
if (instance)
|
||||
{
|
||||
return instance->getInteger(tag, defaultValue);
|
||||
}
|
||||
|
||||
return defaultValue;
|
||||
}
|
||||
|
||||
const char*
|
||||
SecNativeFeature_getString(const char* tag)
|
||||
{
|
||||
SecNativeFeature* instance = SecNativeFeature::getInstance();
|
||||
|
||||
if (instance)
|
||||
{
|
||||
return instance->getString(tag);
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
const char*
|
||||
SecNativeFeature_getStringWithDefault(const char* tag, char* defaultValue)
|
||||
{
|
||||
SecNativeFeature* instance = SecNativeFeature::getInstance();
|
||||
|
||||
if (instance)
|
||||
{
|
||||
return instance->getString(tag, defaultValue);
|
||||
}
|
||||
|
||||
return defaultValue;
|
||||
}
|
24
libsecnativefeature/SecNativeFeatureCIf.h
Executable file
24
libsecnativefeature/SecNativeFeatureCIf.h
Executable file
|
@ -0,0 +1,24 @@
|
|||
#ifndef SEC_NATIVE_FEATURE_CIF_H
|
||||
#define SEC_NATIVE_FEATURE_CIF_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
#define DECLARE_BEGIN_C extern "C" {
|
||||
#define DECLARE_END_C }
|
||||
#else
|
||||
#define DECLARE_BEGIN_C
|
||||
#define DECLARE_END_C
|
||||
#endif
|
||||
|
||||
DECLARE_BEGIN_C
|
||||
|
||||
int SecNativeFeature_getEnableStatus(const char* tag);
|
||||
int SecNativeFeature_getEnableStatusWithDefault(const char* tag, int defaultValue);
|
||||
int SecNativeFeature_getInteger(const char* tag);
|
||||
int SecNativeFeature_getIntegerWithDefault(const char* tag, int defaultValue);
|
||||
const char* SecNativeFeature_getString(const char* tag);
|
||||
const char* SecNativeFeature_getStringWithDefault(const char* tag, char* defaultValue);
|
||||
|
||||
DECLARE_END_C
|
||||
|
||||
#endif // SEC_NATIVE_FEATURE_CIF_H
|
||||
|
187
libsecnativefeature/SecNativeFeatureCppIf.cpp
Executable file
187
libsecnativefeature/SecNativeFeatureCppIf.cpp
Executable file
|
@ -0,0 +1,187 @@
|
|||
#include <string>
|
||||
#include <iostream>
|
||||
#include "SecNativeFeatureCppIf.h"
|
||||
#include <expat.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
// feature file location (which should be "/system/csc/feature.xml")
|
||||
#define FEATURE_FILE "/system/csc/feature.xml"
|
||||
// feature file location (which should be "/system/csc/others.xml")
|
||||
#define MPS_FEATURE_FILE "/system/csc/others.xml"
|
||||
|
||||
// XML parsing using expat lib - handlers
|
||||
typedef struct{
|
||||
std::string curr_name;
|
||||
std::map<std::string,std::string> *pFeatures;
|
||||
int depth;
|
||||
} ParserUserData;
|
||||
|
||||
static void XMLCALL
|
||||
charDataHandler(void *userData, const char *s, int len){
|
||||
ParserUserData* pData = (ParserUserData*)userData;
|
||||
std::string value(s, len);
|
||||
std::string curr_name = pData->curr_name;
|
||||
|
||||
if(!curr_name.empty()){
|
||||
std::map<std::string,std::string>::iterator result = (*pData->pFeatures).find(curr_name);
|
||||
|
||||
if (result != (*pData->pFeatures).end()) {
|
||||
value = result->second + value;
|
||||
(*pData->pFeatures).erase(curr_name);
|
||||
}
|
||||
|
||||
std::map<std::string,std::string>::iterator begin;
|
||||
begin = (*pData->pFeatures).begin();
|
||||
std::pair<std::string,std::string> feature(curr_name,value);
|
||||
(*pData->pFeatures).insert(begin, feature);
|
||||
}
|
||||
// else{
|
||||
// // printf("no name\n");
|
||||
// }
|
||||
}
|
||||
|
||||
static void XMLCALL
|
||||
startElement(void *userData, const char *name, const char **atts __unused)
|
||||
{
|
||||
ParserUserData* pData = (ParserUserData*)userData;
|
||||
pData->curr_name.assign(name);
|
||||
pData->depth += 1;
|
||||
}
|
||||
|
||||
static void XMLCALL
|
||||
endElement(void *userData, const char *name __unused)
|
||||
{
|
||||
ParserUserData* pData = (ParserUserData*)userData;
|
||||
pData->curr_name.clear();
|
||||
pData->depth -= 1;
|
||||
}
|
||||
|
||||
// SecNativeFeture class implementation
|
||||
SecNativeFeature* SecNativeFeature::_instance = NULL;
|
||||
SecNativeFeature::SecNativeFeature() {
|
||||
int load_result = 0;
|
||||
_features.clear();
|
||||
load_result = _loadFeature();
|
||||
if (load_result == -1){
|
||||
// todo : handle _loadFeature errors here.
|
||||
}
|
||||
}
|
||||
|
||||
SecNativeFeature::~SecNativeFeature() {
|
||||
delete _instance;
|
||||
}
|
||||
SecNativeFeature* SecNativeFeature::getInstance() {
|
||||
if(_instance == NULL) {
|
||||
_instance = new SecNativeFeature();
|
||||
}
|
||||
return _instance;
|
||||
}
|
||||
|
||||
bool SecNativeFeature::getEnableStatus(const char* tag) {
|
||||
std::map<std::string,std::string>::iterator found;
|
||||
found = _features.find(tag);
|
||||
|
||||
if(found == _features.end()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if(found->second.compare("true") == 0 || found->second.compare("TRUE") == 0) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
bool SecNativeFeature::getEnableStatus(const char* tag, bool defaultValue) {
|
||||
std::map<std::string,std::string>::iterator found;
|
||||
found = _features.find(tag);
|
||||
|
||||
if(found == _features.end()) {
|
||||
return defaultValue;
|
||||
}
|
||||
|
||||
if(found->second.compare("true") == 0 || found->second.compare("TRUE") == 0) {
|
||||
return true;
|
||||
}
|
||||
return defaultValue;
|
||||
}
|
||||
|
||||
const char* SecNativeFeature::getString(const char* tag) {
|
||||
std::map<std::string,std::string>::iterator found;
|
||||
found = _features.find(tag);
|
||||
|
||||
if(found == _features.end()) {
|
||||
return "";
|
||||
}
|
||||
return found->second.c_str();
|
||||
}
|
||||
|
||||
const char* SecNativeFeature::getString(const char* tag, char* defaultValue) {
|
||||
std::map<std::string,std::string>::iterator found;
|
||||
found = _features.find(tag);
|
||||
|
||||
if(found == _features.end()) {
|
||||
return defaultValue;
|
||||
}
|
||||
return found->second.c_str();
|
||||
}
|
||||
|
||||
int SecNativeFeature::getInteger(const char* tag) {
|
||||
std::map<std::string,std::string>::iterator found;
|
||||
found = _features.find(tag);
|
||||
|
||||
if(found == _features.end()) {
|
||||
return -1;
|
||||
}
|
||||
std::string raw_value = _features.find(tag)->second;
|
||||
return atoi(raw_value.c_str());
|
||||
}
|
||||
|
||||
int SecNativeFeature::getInteger(const char* tag, int defaultValue) {
|
||||
std::map<std::string,std::string>::iterator found;
|
||||
found = _features.find(tag);
|
||||
|
||||
if(found == _features.end()) {
|
||||
return defaultValue;
|
||||
}
|
||||
std::string raw_value = _features.find(tag)->second;
|
||||
return atoi(raw_value.c_str());
|
||||
}
|
||||
|
||||
int SecNativeFeature::_loadFeature(){
|
||||
char buf[BUFSIZ];
|
||||
XML_Parser parser = XML_ParserCreate(NULL);
|
||||
int done;
|
||||
FILE * pFeatureFile = NULL;
|
||||
ParserUserData userData;
|
||||
userData.curr_name = std::string ();
|
||||
userData.pFeatures = &_features;
|
||||
userData.depth = 0;
|
||||
|
||||
pFeatureFile = fopen(FEATURE_FILE, "r");
|
||||
if (pFeatureFile == NULL) {
|
||||
pFeatureFile = fopen(MPS_FEATURE_FILE, "r");
|
||||
if (pFeatureFile == NULL) {
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
XML_SetUserData(parser, &userData);
|
||||
XML_SetElementHandler(parser, startElement, endElement);
|
||||
XML_SetCharacterDataHandler(parser, charDataHandler);
|
||||
do {
|
||||
size_t len = fread(buf, 1, sizeof(buf), pFeatureFile);
|
||||
if ((len != sizeof(buf)) && (ferror(pFeatureFile))){
|
||||
fclose(pFeatureFile);
|
||||
return -1;
|
||||
}
|
||||
done = len < sizeof(buf);
|
||||
if (XML_Parse(parser, buf, len, done) == XML_STATUS_ERROR) {
|
||||
if(pFeatureFile) {
|
||||
fclose(pFeatureFile);
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
} while (!done);
|
||||
XML_ParserFree(parser);
|
||||
fclose(pFeatureFile);
|
||||
return 0;
|
||||
}
|
27
libsecnativefeature/SecNativeFeatureCppIf.h
Executable file
27
libsecnativefeature/SecNativeFeatureCppIf.h
Executable file
|
@ -0,0 +1,27 @@
|
|||
#ifndef SEC_NATIVE_FEATURE_CPPIF_H
|
||||
#define SEC_NATIVE_FEATURE_CPPIF_H
|
||||
|
||||
#include <string>
|
||||
#include <map>
|
||||
|
||||
class SecNativeFeature {
|
||||
public:
|
||||
bool getEnableStatus(const char* tag);
|
||||
bool getEnableStatus(const char* tag, bool defaultValue);
|
||||
const char* getString(const char* tag);
|
||||
const char* getString(const char* tag, char* defaultValue);
|
||||
int getInteger(const char* tag);
|
||||
int getInteger(const char* tag, int defaultValue);
|
||||
|
||||
static SecNativeFeature* getInstance();
|
||||
private:
|
||||
static SecNativeFeature* _instance;
|
||||
SecNativeFeature();
|
||||
~SecNativeFeature();
|
||||
int _loadFeature();
|
||||
int _loadDefault();
|
||||
std::map<std::string,std::string> _features;
|
||||
};
|
||||
|
||||
#endif // SEC_NATIVE_FEATURE_CPPIF_H
|
||||
|
20
libsecnativefeature/SecNativeFeatureTagAll.h
Executable file
20
libsecnativefeature/SecNativeFeatureTagAll.h
Executable file
|
@ -0,0 +1,20 @@
|
|||
/*
|
||||
* CSC Features
|
||||
* Auto generated by gen_cscfeaturetag_ih.pl
|
||||
* DO NOT EDIT THIS FILE
|
||||
*/
|
||||
|
||||
/*
|
||||
#include "SecNativeFeatureTagGMS.h"
|
||||
#include "SecNativeFeatureTagIMS.h"
|
||||
#include "SecNativeFeatureTagMediaProvider.h"
|
||||
#include "SecNativeFeatureTagNFC.h"
|
||||
#include "SecNativeFeatureTagRIL.h"
|
||||
#include "SecNativeFeatureTagStreaming.h"
|
||||
#include "SecNativeFeatureTagWiFi.h"
|
||||
#include "SecNativeFeatureTagBT.h"
|
||||
*/
|
||||
|
||||
#include "SecNativeFeatureTagFramework.h"
|
||||
#include "SecNativeFeatureTagCommon.h"
|
||||
#include "SecNativeFeatureTagWeb.h"
|
9
libsecnativefeature/SecNativeFeatureTagCommon.h
Executable file
9
libsecnativefeature/SecNativeFeatureTagCommon.h
Executable file
|
@ -0,0 +1,9 @@
|
|||
#ifndef SEC_NATIVE_FEATURE_TAG_COMMON_H
|
||||
#define SEC_NATIVE_FEATURE_TAG_COMMON_H
|
||||
|
||||
// Note
|
||||
// The string must be same as the string in CSCFeatureTagCommon.java
|
||||
// Because one feature coulde be implemented both in java layer and in native layer
|
||||
#define TAG_CSCFEATURE_COMMON_USECHAMELEON "CscFeature_Common_UseChameleon"
|
||||
|
||||
#endif // SEC_NATIVE_FEATURE_TAG_COMMON_H
|
16
libsecnativefeature/SecNativeFeatureTagFramework.h
Executable file
16
libsecnativefeature/SecNativeFeatureTagFramework.h
Executable file
|
@ -0,0 +1,16 @@
|
|||
#ifndef SEC_NATIVE_FEATURE_TAG_FRAMEWORK_H
|
||||
#define SEC_NATIVE_FEATURE_TAG_FRAMEWORK_H
|
||||
|
||||
|
||||
// Note
|
||||
// The string must be same as the string in CSCFeatureTagFramework.java
|
||||
// Because one feature coulde be implemented both in java layer and in native layer
|
||||
|
||||
|
||||
#define TAG_CSCFEATURE_FRAMEWORK_ENABLEBIDIRECTION "CscFeature_Framework_EnableBidirection"
|
||||
|
||||
#define TAG_CSCFEATURE_FRAMEWORK_ENABLEHARFBUZZ "CscFeature_Framework_EnableHarfbuzz"
|
||||
|
||||
#define TAG_CSCFEATURE_FRAMEWORK_ENABLETHAIVIETRESHAPING "CscFeature_Framework_EnableThaiVietReshaping"
|
||||
|
||||
#endif // SEC_NATIVE_FEATURE_TAG_FRAMEWORK_H
|
150
libsecnativefeature/SecNativeFeatureTagWeb.h
Executable file
150
libsecnativefeature/SecNativeFeatureTagWeb.h
Executable file
|
@ -0,0 +1,150 @@
|
|||
#ifndef SEC_NATIVE_FEATURE_TAG_WEB_H
|
||||
#define SEC_NATIVE_FEATURE_TAG_WEB_H
|
||||
|
||||
|
||||
// Note
|
||||
// The string must be same as the string in CSCFeatureTagWeb.java
|
||||
// Because one feature coulde be implemented both in java layer and in native layer
|
||||
|
||||
// The default values for each types
|
||||
// This means the specified TAG is not defined
|
||||
#define CSCFeatureTagWeb_Str_NoTag ""
|
||||
#define CSCFeatureTagWeb_Bool_NoTag false
|
||||
#define CSCFeatureTagWeb_Int_NoTag 0
|
||||
|
||||
// To define custom UserAgent string
|
||||
// If this value is not defined, the default Android UserAgent will be sent to server
|
||||
#define CSCFeatureTagWeb_SetUserAgent "CscFeature_Web_SetUserAgent"
|
||||
|
||||
|
||||
// To define UAProfile string
|
||||
// If this value is not defined, UAProfile will not be sent to server
|
||||
#define CSCFeatureTagWeb_SetUAProfile "CscFeature_Web_SetUAProfile"
|
||||
|
||||
// Change homepage_base regardless language and APN
|
||||
#define CscFeatureTagWeb_SetHomepageURL "CscFeature_Web_SetHomepageURL"
|
||||
// Disable RSS button on the url bar
|
||||
#define CscFeatureTagWeb_DisableRSS "CscFeature_Web_DisableRSS"
|
||||
// Remove voicesearch button on the url bar
|
||||
#define CscFeatureTagWeb_DisableVoiceSearch "CscFeature_Web_DisableVoiceSearch"
|
||||
// Disable showing activity chooser on redirecting in case when 3rd party browser also installed
|
||||
#define CscFeatureTagWeb_DisableRedirectionChooser "CscFeature_Web_DisableRedirectionChooser"
|
||||
|
||||
// Enable UAProfile in Header
|
||||
#define CscFeatureTagWeb_Bool_EnableUAProfile "CscFeature_Web_Bool_EnableUAProfile"
|
||||
|
||||
// To Enable the GateConfig Logs(USA STA requirement for stability test)
|
||||
#define CscFeatureTagWeb_Bool_EnableGateConfig "CscFeature_Web_EnableLogStabililtyTest"
|
||||
|
||||
//add for Handling Operator UA
|
||||
#define CscFeature_Web_OverrideUserAgent "CscFeature_Web_OverrideUserAgent"
|
||||
|
||||
// add menu clear today history
|
||||
#define CscFeatureTagWeb_EnableDeletingTodayHistory "CscFeature_Web_EnableDeletingTodayHistory"
|
||||
|
||||
// To enable bookmark overwrite
|
||||
#define CscFeatureTagWeb_EnableOverwritingBookmark "CscFeature_Web_EnableOverwritingBookmark"
|
||||
|
||||
// To enable downloaded folder notification
|
||||
#define CscFeatureTagWeb_EnableDownloadedFolderInNotificationBar "CscFeature_Web_EnableDownloadedFolderInNotificationBar"
|
||||
|
||||
//Enable DeviceID at Header(USA ATT Requirement)
|
||||
#define CscFeatureTag_Web_Bool_DeviceID "CscFeature_Web_UseDeviceIdInHeader"
|
||||
|
||||
// support uploading contacts in VCard format (China-Telecom requirement)
|
||||
#define CscFeatureTagWeb_SupportVcfUpload "CscFeature_Web_SupportVcfUpload"
|
||||
//Parse XHTML document as HTML (ignore parse error. China-Telecom requirement)
|
||||
#define CscFeatureTagWeb_ParseXHtmlToHtml "CscFeature_Web_ParseXHtmlToHtml"
|
||||
|
||||
//Block SD & CD download ( NAGSM common requirement)
|
||||
#define CscFeatureTag_Web_Bool_BlockSDCDDownload "CscFeature_Web_BlockSDCDDownload"
|
||||
|
||||
// display download progress on notification bar (China-Telecom requirement)
|
||||
#define CscFeatureTagWeb_ShowDownloadProgressOnNotification "CscFeature_Web_ShowDownloadProgressOnNotification"
|
||||
|
||||
// show browser version in browser settings (China-Telecom requirement)
|
||||
#define CscFeatureTagWeb_ShowVersionInSetting "CscFeature_Web_ShowVersionInSetting"
|
||||
|
||||
// support "exit browser" option (China-Telecom requirement)
|
||||
#define CscFeatureTagWeb_AddOptionToTerminate "CscFeature_Web_AddOptionToTerminate"
|
||||
// Add "Delete-all" function at Download list (China-Telecom requirement)
|
||||
#define CscFeatureTagWeb_EnableDeleteAllOnDownloadList "CscFeature_Web_EnableDeleteAllOnDownloadList"
|
||||
// Support save-as function and default folder by mime-type (China-Telecom requirement)
|
||||
#define CscFeatureTagWeb_SupportDownloadSaveAs "CscFeature_Web_SupportDownloadSaveAs"
|
||||
// support delete-all option in bookmarks page (China-Telecom requirement)
|
||||
#define CscFeatureTagWeb_EnableDeleteAllBookmarks "CscFeature_Web_EnableDeleteAllBookmarks"
|
||||
// Add "FullHandwriting IME issue "(China-Common requirement)
|
||||
#define CscFeatureTagWeb_EnableOptionEditTextDuringFullHwr "CscFeature_Web_EnableOptionEditTextDuringFullHwr"
|
||||
// support offline-startup page includes bookmarks, history, search dialog (China-Telecom requirement)
|
||||
#define CscFeatureTagWeb_SupportOfflineStartupPage "CscFeature_Web_SupportOfflineStartupPage"
|
||||
|
||||
// support not to set factory-reset-homepage to PREF_HOMEPAGE
|
||||
#define CscFeatureTagWeb_Bool_DisableSetFactoryResetHomeToPrefHome "CscFeature_Web_Bool_DisableSetFactoryResetHomeToPrefHome"
|
||||
|
||||
// Show roaming dialog (ATT Requirement)
|
||||
#define CscFeatureTagWeb_Bool_ShowRoamingDialog "CscFeature_Web_EnableRoamingDialog"
|
||||
|
||||
// set download folder by mime-type for China-Telecom requirement
|
||||
#define CscFeatureTagWeb_SetDownloadFolderNameByMimeType "CscFeature_Web_SetDownloadFolderNameByMimeType"
|
||||
|
||||
// Disable showing activity chooser for defined string
|
||||
#define CscFeature_Web_DisableChooser4 "CscFeature_Web_DisableChooser4"
|
||||
|
||||
// Enable download hebrew filename
|
||||
#define CscFeature_Web_SupportHebrewFileName "CscFeature_Web_SupportHebrewFileName"
|
||||
|
||||
// remove google in search engine list
|
||||
#define CscFeatureTagWeb_DisableGoogleInBrowserSearchEngine "CscFeature_Web_DisableGoogleInBrowserSearchEngine"
|
||||
|
||||
// set off overview mode as default (CTC Requirement)
|
||||
#define CscFeatureTagWeb_SetOffOverviewModeAsDefault "CscFeature_Web_SetOffOverviewModeAsDefault"
|
||||
|
||||
// Disable setting homepage as it is set in APN when SIM changed
|
||||
#define CscFeature_Web_EnableAutoSimHomeUrlInProfile "CscFeature_Web_EnableAutoSimHomeUrlInProfile"
|
||||
|
||||
// Add download file name decode feature for China region
|
||||
#define CscFeatureTagWeb_SupportDownloadedFileNameInChineseChar "CscFeature_Web_SupportDownloadedFileNameInChineseChar"
|
||||
|
||||
// support multiAPN (CMCC Requirement)
|
||||
#define CscFeatureTagWeb_EnableMultipleApn4 "CscFeature_Web_EnableMultipleApn4"
|
||||
|
||||
// Enable Ask to exit on back (CMCC Requirement)
|
||||
#define CscFeatureTagWeb_EnablePromptToExit "CscFeature_Web_EnablePromptToExit"
|
||||
|
||||
|
||||
// Enable EMOJI for JPN
|
||||
#define CscFeatureTagWeb_EnableEmoji "CscFeature_Web_Bool_EnableEmoji"
|
||||
|
||||
// Show Wifi AP List when WIFI switch is on (CMCC Requirement)
|
||||
#define CscFeatureTagWeb_ShowWifiAPList "CscFeature_Web_ShowWifiAPList"
|
||||
|
||||
// Enable Operator's toolbar (ATT Requirement)
|
||||
#define CscFeatureTagWeb_EnableOperatorToolbar "CscFeature_Web_EnableOperatorToolbar"
|
||||
|
||||
// Set TCP Connection timout (China Requirement)
|
||||
#define CscFeatureTagWeb_SetTcpConnTimeoutAs "CscFeature_Web_SetTcpConnTimeoutAs"
|
||||
|
||||
// Add WML mime type to Accept Header (CMCC Requirement)
|
||||
#define CscFeatureTagWeb_AddWmlToHttpAcceptHeader4 "CscFeature_Web_AddWmlToHttpAcceptHeader4"
|
||||
|
||||
// change block zoom method to position based touch block zoom (Australia Requirement)
|
||||
#define CscFeature_Web_BlockZoomBaseOnTouchPosition "CscFeature_Web_BlockZoomBaseOnTouchPosition"
|
||||
|
||||
// Remove Partial View During Horizontal Scroll in Nav Screen (Australia Requirement)
|
||||
#define CscFeature_Web_RemovePartialViewDuringHorizontalScroll "CscFeature_Web_RemovePartialViewDuringHorizontalScroll"
|
||||
|
||||
// Show Popup for MaxLength reached during Url input (CMCC Requirement)
|
||||
#define CscFeatureTagWeb_EnablePopup4MaxLengthReachedDuringUrlInput "CscFeature_Web_EnablePopup4MaxLengthReachedDuringUrlInput"
|
||||
|
||||
// Support Tel Number in the page to go to dialing app (KOR Requirement)
|
||||
#define CscFeature_Web_RecognizeTelNumber "CscFeature_Web_RecognizeTelNumber"
|
||||
|
||||
// Large file transfer in Internet download (VZW Requirement)
|
||||
#define CscFeature_Web_EnableWifiOption4LargeFileDownload "CscFeature_Web_EnableWifiOption4LargeFileDownload"
|
||||
|
||||
// Add additional accept charset to Accept Header (CTC Requirement)
|
||||
#define CscFeature_Web_AddCharSetToHttpHeader "CscFeature_Web_AddCharSetToHttpHeader"
|
||||
|
||||
// max connection per host for performance
|
||||
#define CscFeature_Web_MaxConnectionPerHost "CscFeature_Web_MaxConnectionPerHost"
|
||||
#endif // SEC_NATIVE_FEATURE_TAG_WEB_H
|
17
libshims/Android.mk
Executable file
17
libshims/Android.mk
Executable file
|
@ -0,0 +1,17 @@
|
|||
#
|
||||
# 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.
|
||||
#
|
||||
|
||||
include $(call first-makefiles-under,$(call my-dir))
|
|
@ -1,9 +1,9 @@
|
|||
LOCAL_PATH := $(call my-dir)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_SRC_FILES := ril_shim.c
|
||||
LOCAL_SHARED_LIBRARIES := liblog libcutils libbinder libutils
|
||||
LOCAL_MODULE := libril_shim
|
||||
LOCAL_SRC_FILES := camera_shim.c
|
||||
LOCAL_MODULE := libshim_camera
|
||||
LOCAL_MODULE_TAGS := optional
|
||||
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
|
||||
LOCAL_PROPRIETARY_MODULE := true
|
||||
include $(BUILD_SHARED_LIBRARY)
|
33
libshims/libshim_camera/camera_shim.c
Executable file
33
libshims/libshim_camera/camera_shim.c
Executable file
|
@ -0,0 +1,33 @@
|
|||
/*
|
||||
* 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.
|
||||
*/
|
||||
|
||||
// rt hdr
|
||||
const char *_ZN7android16CameraParameters10KEY_RT_HDRE = "rt-hdr";
|
||||
const char *_ZN7android16CameraParameters20KEY_SUPPORTED_RT_HDRE = "rt-hdr-values";
|
||||
const char *_ZN7android16CameraParameters9RTHDR_OFFE = "off";
|
||||
const char *_ZN7android16CameraParameters8RTHDR_ONE = "on";
|
||||
|
||||
// phase af
|
||||
const char *_ZN7android16CameraParameters12KEY_PHASE_AFE = "phase-af";
|
||||
const char *_ZN7android16CameraParameters22KEY_SUPPORTED_PHASE_AFE = "phase-af-values";
|
||||
const char *_ZN7android16CameraParameters7PAF_OFFE = "off";
|
||||
const char *_ZN7android16CameraParameters6PAF_ONE = "on";
|
||||
|
||||
// dynamic range control
|
||||
const char *_ZN7android16CameraParameters25KEY_DYNAMIC_RANGE_CONTROLE = "dynamic-range-control";
|
||||
const char *_ZN7android16CameraParameters35KEY_SUPPORTED_DYNAMIC_RANGE_CONTROLE = "dynamic-range-control-values";
|
||||
const char *_ZN7android16CameraParameters7DRC_OFFE = "off";
|
||||
const char *_ZN7android16CameraParameters6DRC_ONE = "on";
|
20
lineage.mk
20
lineage.mk
|
@ -1,4 +1,22 @@
|
|||
$(call inherit-product, vendor/cm/config/common_full_phone.mk)
|
||||
#
|
||||
# Copyright (C) 2014-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.
|
||||
# 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 some common LineageOS stuff.
|
||||
$(call inherit-product, vendor/lineage/config/common_full_phone.mk)
|
||||
|
||||
$(call inherit-product, device/samsung/viennalte/full_viennalte.mk)
|
||||
|
||||
|
|
60
manifest.xml
Executable file
60
manifest.xml
Executable file
|
@ -0,0 +1,60 @@
|
|||
<manifest version="1.0" type="device">
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.camera.provider</name>
|
||||
<transport arch="32">passthrough</transport>
|
||||
<version>2.4</version>
|
||||
<interface>
|
||||
<name>ICameraProvider</name>
|
||||
<instance>legacy/0</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.light</name>
|
||||
<transport arch="32">passthrough</transport>
|
||||
<version>2.0</version>
|
||||
<interface>
|
||||
<name>ILight</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.nfc</name>
|
||||
<transport arch="32">passthrough</transport>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>INfc</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>
|
||||
</interface>
|
||||
<interface>
|
||||
<name>ISap</name>
|
||||
<instance>slot1</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>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.vibrator</name>
|
||||
<transport arch="32">passthrough</transport>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IVibrator</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
</manifest>
|
|
@ -208,12 +208,12 @@
|
|||
</integer-array>
|
||||
|
||||
<!-- Vibrator pattern for feedback about booting with safe mode disabled -->
|
||||
<integer-array name="config_safeModeDisabledVibePattern">
|
||||
<!-- <integer-array name="config_safeModeDisabledVibePattern">
|
||||
<item>0</item>
|
||||
<item>1</item>
|
||||
<item>20</item>
|
||||
<item>21</item>
|
||||
</integer-array>
|
||||
</integer-array> -->
|
||||
|
||||
<!-- Vibrator pattern for feedback about booting with safe mode disabled -->
|
||||
<integer-array name="config_safeModeEnabledVibePattern">
|
||||
|
@ -241,7 +241,7 @@
|
|||
<bool name="config_enableLockScreenRotation">false</bool>
|
||||
|
||||
<!-- Indicate whether the SD card is accessible without removing the battery. -->
|
||||
<bool name="config_batterySdCardAccessibility">true</bool>
|
||||
<!-- <bool name="config_batterySdCardAccessibility">true</bool> -->
|
||||
|
||||
<!-- Hardware keys present on the device, stored as a bit field.
|
||||
This integer should equal the sum of the corresponding value for each
|
||||
|
@ -255,7 +255,7 @@
|
|||
64 - Volume rocker
|
||||
For example, a device with Home, Back and Menu keys would set this
|
||||
config to 7. -->
|
||||
<integer name="config_deviceHardwareKeys">83</integer>
|
||||
<!-- <integer name="config_deviceHardwareKeys">83</integer> -->
|
||||
|
||||
<!-- Hardware keys present on the device with the ability to wake, stored as a bit field.
|
||||
This integer should equal the sum of the corresponding value for each
|
||||
|
@ -269,7 +269,7 @@
|
|||
64 - Volume rocker
|
||||
For example, a device with Home, Back and Menu keys would set this
|
||||
config to 7. -->
|
||||
<integer name="config_deviceHardwareWakeKeys">65</integer>
|
||||
<!-- <integer name="config_deviceHardwareWakeKeys">65</integer> -->
|
||||
|
||||
<bool name="config_enableWifiDisplay">true</bool>
|
||||
|
||||
|
@ -302,7 +302,7 @@
|
|||
<!-- Certain sensor firmwares break with having a batch
|
||||
size set. By setting this to false, devices can opt
|
||||
out of setting a batch size, which fixes rotation. -->
|
||||
<bool name="config_useDefaultBatchingForAccel">false</bool>
|
||||
<!-- <bool name="config_useDefaultBatchingForAccel">false</bool> -->
|
||||
|
||||
<!-- Override the default detection behavior for the framework method
|
||||
android.view.ViewConfiguration#hasPermanentMenuKey().
|
||||
|
@ -313,7 +313,7 @@
|
|||
<integer name="config_overrideHasPermanentMenuKey">2</integer>
|
||||
|
||||
<!-- Enable blur support -->
|
||||
<bool name="config_uiBlurEnabled">true</bool>
|
||||
<!-- <bool name="config_uiBlurEnabled">true</bool> -->
|
||||
|
||||
<!-- Values for GPS configuration -->
|
||||
<string-array translatable="false" name="config_gpsParameters">
|
||||
|
|
|
@ -17,6 +17,7 @@
|
|||
*/
|
||||
-->
|
||||
<resources>
|
||||
<bool name="def_bluetooth_on">false</bool>
|
||||
<bool name="def_accelerometer_rotation">true</bool>
|
||||
<bool name="def_screen_brightness_automatic_mode">true</bool>
|
||||
</resources>
|
||||
|
|
|
@ -1,70 +0,0 @@
|
|||
/*
|
||||
* 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_TAG "SEC_RIL_SHIM"
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdint.h>
|
||||
|
||||
#include <utils/Log.h>
|
||||
|
||||
//various funcs we'll need to call, in their mangled form
|
||||
|
||||
//android::Parcel::writeString16(char16_t const*, unsigned int)
|
||||
extern void _ZN7android6Parcel13writeString16EPKDsj(void **str16P,
|
||||
uint16_t const *str, unsigned int len);
|
||||
|
||||
//code exports we provide
|
||||
|
||||
void _ZN7android6Parcel13writeString16EPKtj(void **str16P,
|
||||
unsigned short const *str, unsigned int len);
|
||||
|
||||
//library on-load and on-unload handlers (to help us set things up and tear them down)
|
||||
void libEvtLoading(void) __attribute__((constructor));
|
||||
void libEvtUnloading(void) __attribute__((destructor));
|
||||
|
||||
/*
|
||||
* FUNCTION: android::Parcel::writeString16(unsigned short const*, unsigned int)
|
||||
* USE: INTERPOSE: write String16 to binder
|
||||
* NOTES: This function no longer exists in M, instead now one must pass
|
||||
* in a char16_t instead of a short. M So we'll craft the same call here.
|
||||
*/
|
||||
void _ZN7android6Parcel13writeString16EPKtj(void **str16P,
|
||||
unsigned short const *str, unsigned int len)
|
||||
{
|
||||
_ZN7android6Parcel13writeString16EPKDsj(str16P, str, len);
|
||||
}
|
||||
|
||||
/*
|
||||
* FUNCTION: libEvtLoading()
|
||||
* USE: Handle library loading
|
||||
* NOTES: This is a good time to log the fact that we were loaded and plan to
|
||||
* do our thing.
|
||||
*/
|
||||
void libEvtLoading(void)
|
||||
{
|
||||
ALOGV("libbinder interposition library loaded");
|
||||
}
|
||||
|
||||
/*
|
||||
* FUNCTION: libEvtUnloading()
|
||||
* USE: Handle library unloading
|
||||
* NOTES: This is a good time to free whatever is unfreed and say goodbye
|
||||
*/
|
||||
void libEvtUnloading(void)
|
||||
{
|
||||
ALOGV("libbinder interposition library unloading. Goodbye...");
|
||||
}
|
|
@ -1,414 +0,0 @@
|
|||
/*
|
||||
* Copyright (c) 2014, The CyanogenMod Project. All rights reserved.
|
||||
*
|
||||
* 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.
|
||||
*/
|
||||
|
||||
package com.android.internal.telephony;
|
||||
|
||||
import static com.android.internal.telephony.RILConstants.*;
|
||||
|
||||
import android.content.Context;
|
||||
import android.telephony.Rlog;
|
||||
import android.os.AsyncResult;
|
||||
import android.os.Message;
|
||||
import android.os.Parcel;
|
||||
import android.os.SystemProperties;
|
||||
import android.telephony.PhoneNumberUtils;
|
||||
import android.telephony.SignalStrength;
|
||||
import com.android.internal.telephony.cdma.CdmaInformationRecords;
|
||||
import com.android.internal.telephony.cdma.CdmaInformationRecords.CdmaSignalInfoRec;
|
||||
import com.android.internal.telephony.cdma.SignalToneUtil;
|
||||
import com.android.internal.telephony.uicc.IccCardApplicationStatus;
|
||||
import com.android.internal.telephony.uicc.IccCardStatus;
|
||||
import com.android.internal.telephony.uicc.IccUtils;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
|
||||
/**
|
||||
* RIL customization for Galaxy Note Pro 12.2 LTE devices
|
||||
*
|
||||
* {@hide}
|
||||
*/
|
||||
public class NoteProRIL extends RIL {
|
||||
|
||||
private static final int RIL_UNSOL_ON_SS_LL = 11055;
|
||||
|
||||
private boolean mIsGsm = false;
|
||||
|
||||
public NoteProRIL(Context context, int networkMode, int cdmaSubscription) {
|
||||
super(context, networkMode, cdmaSubscription, null);
|
||||
mQANElements = 6;
|
||||
}
|
||||
|
||||
public NoteProRIL(Context context, int preferredNetworkType,
|
||||
int cdmaSubscription, Integer instanceId) {
|
||||
super(context, preferredNetworkType, cdmaSubscription, instanceId);
|
||||
mQANElements = 6;
|
||||
}
|
||||
|
||||
private void
|
||||
fixNitz(Parcel p) {
|
||||
int dataPosition = p.dataPosition();
|
||||
String nitz = p.readString();
|
||||
long nitzReceiveTime = p.readLong();
|
||||
|
||||
String[] nitzParts = nitz.split(",");
|
||||
if (nitzParts.length >= 4) {
|
||||
// 0=date, 1=time+zone, 2=dst, 3(+)=garbage that confuses ServiceStateTracker
|
||||
nitz = nitzParts[0] + "," + nitzParts[1] + "," + nitzParts[2];
|
||||
p.setDataPosition(dataPosition);
|
||||
p.writeString(nitz);
|
||||
p.writeLong(nitzReceiveTime);
|
||||
// The string is shorter now, drop the extra bytes
|
||||
p.setDataSize(p.dataPosition());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void
|
||||
dial(String address, int clirMode, UUSInfo uusInfo, Message result) {
|
||||
|
||||
RILRequest rr = RILRequest.obtain(RIL_REQUEST_DIAL, result);
|
||||
|
||||
rr.mParcel.writeString(address);
|
||||
rr.mParcel.writeInt(clirMode);
|
||||
rr.mParcel.writeInt(0); // CallDetails.call_type
|
||||
rr.mParcel.writeInt(1); // CallDetails.call_domain
|
||||
rr.mParcel.writeString(""); // CallDetails.getCsvFromExtras
|
||||
|
||||
if (uusInfo == null) {
|
||||
rr.mParcel.writeInt(0); // UUS information is absent
|
||||
} else {
|
||||
rr.mParcel.writeInt(1); // UUS information is present
|
||||
rr.mParcel.writeInt(uusInfo.getType());
|
||||
rr.mParcel.writeInt(uusInfo.getDcs());
|
||||
rr.mParcel.writeByteArray(uusInfo.getUserData());
|
||||
}
|
||||
|
||||
if (RILJ_LOGD) riljLog(rr.serialString() + "> " + requestToString(rr.mRequest));
|
||||
|
||||
send(rr);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Object
|
||||
responseIccCardStatus(Parcel p) {
|
||||
IccCardApplicationStatus appStatus;
|
||||
|
||||
IccCardStatus cardStatus = new IccCardStatus();
|
||||
cardStatus.setCardState(p.readInt());
|
||||
cardStatus.setUniversalPinState(p.readInt());
|
||||
cardStatus.mGsmUmtsSubscriptionAppIndex = p.readInt();
|
||||
cardStatus.mCdmaSubscriptionAppIndex = p.readInt();
|
||||
cardStatus.mImsSubscriptionAppIndex = p.readInt();
|
||||
|
||||
int numApplications = p.readInt();
|
||||
|
||||
// limit to maximum allowed applications
|
||||
if (numApplications > IccCardStatus.CARD_MAX_APPS) {
|
||||
numApplications = IccCardStatus.CARD_MAX_APPS;
|
||||
}
|
||||
cardStatus.mApplications = new IccCardApplicationStatus[numApplications];
|
||||
|
||||
appStatus = new IccCardApplicationStatus();
|
||||
for (int i = 0 ; i < numApplications ; i++) {
|
||||
if (i!=0) {
|
||||
appStatus = new IccCardApplicationStatus();
|
||||
}
|
||||
appStatus.app_type = appStatus.AppTypeFromRILInt(p.readInt());
|
||||
appStatus.app_state = appStatus.AppStateFromRILInt(p.readInt());
|
||||
appStatus.perso_substate = appStatus.PersoSubstateFromRILInt(p.readInt());
|
||||
appStatus.aid = p.readString();
|
||||
appStatus.app_label = p.readString();
|
||||
appStatus.pin1_replaced = p.readInt();
|
||||
appStatus.pin1 = appStatus.PinStateFromRILInt(p.readInt());
|
||||
appStatus.pin2 = appStatus.PinStateFromRILInt(p.readInt());
|
||||
p.readInt(); // pin1_num_retries
|
||||
p.readInt(); // puk1_num_retries
|
||||
p.readInt(); // pin2_num_retries
|
||||
p.readInt(); // puk2_num_retries
|
||||
p.readInt(); // perso_unblock_retries
|
||||
cardStatus.mApplications[i] = appStatus;
|
||||
}
|
||||
// For Sprint LTE only SIM
|
||||
if (numApplications==1 && !mIsGsm && appStatus.app_type == appStatus.AppTypeFromRILInt(2)) {
|
||||
cardStatus.mApplications = new IccCardApplicationStatus[numApplications+2];
|
||||
cardStatus.mGsmUmtsSubscriptionAppIndex = 0;
|
||||
cardStatus.mApplications[cardStatus.mGsmUmtsSubscriptionAppIndex]=appStatus;
|
||||
cardStatus.mCdmaSubscriptionAppIndex = 1;
|
||||
cardStatus.mImsSubscriptionAppIndex = 2;
|
||||
|
||||
IccCardApplicationStatus appStatus2 = new IccCardApplicationStatus();
|
||||
appStatus2.app_type = appStatus2.AppTypeFromRILInt(4); // csim state
|
||||
appStatus2.app_state = appStatus.app_state;
|
||||
appStatus2.perso_substate = appStatus.perso_substate;
|
||||
appStatus2.aid = appStatus.aid;
|
||||
appStatus2.app_label = appStatus.app_label;
|
||||
appStatus2.pin1_replaced = appStatus.pin1_replaced;
|
||||
appStatus2.pin1 = appStatus.pin1;
|
||||
appStatus2.pin2 = appStatus.pin2;
|
||||
cardStatus.mApplications[cardStatus.mCdmaSubscriptionAppIndex] = appStatus2;
|
||||
|
||||
IccCardApplicationStatus appStatus3 = new IccCardApplicationStatus();
|
||||
appStatus3.app_type = appStatus3.AppTypeFromRILInt(5); // ims state
|
||||
appStatus3.app_state = appStatus.app_state;
|
||||
appStatus3.perso_substate = appStatus.perso_substate;
|
||||
appStatus3.aid = appStatus.aid;
|
||||
appStatus3.app_label = appStatus.app_label;
|
||||
appStatus3.pin1_replaced = appStatus.pin1_replaced;
|
||||
appStatus3.pin1 = appStatus.pin1;
|
||||
appStatus3.pin2 = appStatus.pin2;
|
||||
cardStatus.mApplications[cardStatus.mImsSubscriptionAppIndex] = appStatus3;
|
||||
}
|
||||
return cardStatus;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Object
|
||||
responseCallList(Parcel p) {
|
||||
int num;
|
||||
int voiceSettings;
|
||||
ArrayList<DriverCall> response;
|
||||
DriverCall dc;
|
||||
|
||||
num = p.readInt();
|
||||
response = new ArrayList<DriverCall>(num);
|
||||
|
||||
if (RILJ_LOGV) {
|
||||
riljLog("responseCallList: num=" + num +
|
||||
" mEmergencyCallbackModeRegistrant=" + mEmergencyCallbackModeRegistrant +
|
||||
" mTestingEmergencyCall=" + mTestingEmergencyCall.get());
|
||||
}
|
||||
for (int i = 0 ; i < num ; i++) {
|
||||
dc = new DriverCall();
|
||||
|
||||
dc.state = DriverCall.stateFromCLCC(p.readInt());
|
||||
dc.index = p.readInt() & 0xff;
|
||||
dc.TOA = p.readInt();
|
||||
dc.isMpty = (0 != p.readInt());
|
||||
dc.isMT = (0 != p.readInt());
|
||||
dc.als = p.readInt();
|
||||
voiceSettings = p.readInt();
|
||||
dc.isVoice = (0 != voiceSettings);
|
||||
int call_type = p.readInt(); // Samsung CallDetails
|
||||
int call_domain = p.readInt(); // Samsung CallDetails
|
||||
String csv = p.readString(); // Samsung CallDetails
|
||||
dc.isVoicePrivacy = (0 != p.readInt());
|
||||
dc.number = p.readString();
|
||||
int np = p.readInt();
|
||||
dc.numberPresentation = DriverCall.presentationFromCLIP(np);
|
||||
dc.name = p.readString();
|
||||
dc.namePresentation = DriverCall.presentationFromCLIP(p.readInt());
|
||||
int uusInfoPresent = p.readInt();
|
||||
if (uusInfoPresent == 1) {
|
||||
dc.uusInfo = new UUSInfo();
|
||||
dc.uusInfo.setType(p.readInt());
|
||||
dc.uusInfo.setDcs(p.readInt());
|
||||
byte[] userData = p.createByteArray();
|
||||
dc.uusInfo.setUserData(userData);
|
||||
riljLogv(String.format("Incoming UUS : type=%d, dcs=%d, length=%d",
|
||||
dc.uusInfo.getType(), dc.uusInfo.getDcs(),
|
||||
dc.uusInfo.getUserData().length));
|
||||
riljLogv("Incoming UUS : data (string)="
|
||||
+ new String(dc.uusInfo.getUserData()));
|
||||
riljLogv("Incoming UUS : data (hex): "
|
||||
+ IccUtils.bytesToHexString(dc.uusInfo.getUserData()));
|
||||
} else {
|
||||
riljLogv("Incoming UUS : NOT present!");
|
||||
}
|
||||
|
||||
// Make sure there's a leading + on addresses with a TOA of 145
|
||||
dc.number = PhoneNumberUtils.stringFromStringAndTOA(dc.number, dc.TOA);
|
||||
|
||||
response.add(dc);
|
||||
|
||||
if (dc.isVoicePrivacy) {
|
||||
mVoicePrivacyOnRegistrants.notifyRegistrants();
|
||||
riljLog("InCall VoicePrivacy is enabled");
|
||||
} else {
|
||||
mVoicePrivacyOffRegistrants.notifyRegistrants();
|
||||
riljLog("InCall VoicePrivacy is disabled");
|
||||
}
|
||||
}
|
||||
|
||||
Collections.sort(response);
|
||||
|
||||
if ((num == 0) && mTestingEmergencyCall.getAndSet(false)) {
|
||||
if (mEmergencyCallbackModeRegistrant != null) {
|
||||
riljLog("responseCallList: call ended, testing emergency call," +
|
||||
" notify ECM Registrants");
|
||||
mEmergencyCallbackModeRegistrant.notifyRegistrant();
|
||||
}
|
||||
}
|
||||
|
||||
return response;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Object responseSignalStrength(Parcel p) {
|
||||
int numInts = 12;
|
||||
int response[];
|
||||
|
||||
// Get raw data
|
||||
response = new int[numInts];
|
||||
for (int i = 0; i < numInts; i++) {
|
||||
response[i] = p.readInt();
|
||||
}
|
||||
//gsm
|
||||
response[0] &= 0xff;
|
||||
//cdma
|
||||
response[2] %= 256;
|
||||
response[4] %= 256;
|
||||
response[7] &= 0xff;
|
||||
|
||||
return new SignalStrength(response[0], response[1], response[2], response[3], response[4], response[5], response[6], response[7], response[8], response[9], response[10], response[11], true);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void notifyRegistrantsCdmaInfoRec(CdmaInformationRecords infoRec) {
|
||||
final int response = RIL_UNSOL_CDMA_INFO_REC;
|
||||
|
||||
if (infoRec.record instanceof CdmaSignalInfoRec) {
|
||||
CdmaSignalInfoRec rec = (CdmaSignalInfoRec) infoRec.record;
|
||||
if (rec != null
|
||||
&& rec.isPresent
|
||||
&& rec.signalType == SignalToneUtil.IS95_CONST_IR_SIGNAL_IS54B
|
||||
&& rec.alertPitch == SignalToneUtil.IS95_CONST_IR_ALERT_MED
|
||||
&& rec.signal == SignalToneUtil.IS95_CONST_IR_SIG_IS54B_L) {
|
||||
/* Drop record, otherwise IS95_CONST_IR_SIG_IS54B_L tone will
|
||||
* continue to play after the call is connected */
|
||||
return;
|
||||
}
|
||||
}
|
||||
super.notifyRegistrantsCdmaInfoRec(infoRec);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setPhoneType(int phoneType) {
|
||||
super.setPhoneType(phoneType);
|
||||
mIsGsm = (phoneType != RILConstants.CDMA_PHONE);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void
|
||||
processUnsolicited (Parcel p, int type) {
|
||||
Object ret;
|
||||
int dataPosition = p.dataPosition();
|
||||
int response = p.readInt();
|
||||
int newResponse = response;
|
||||
|
||||
switch(response) {
|
||||
case RIL_UNSOL_NITZ_TIME_RECEIVED:
|
||||
fixNitz(p);
|
||||
break;
|
||||
case RIL_UNSOL_ON_SS_LL:
|
||||
newResponse = RIL_UNSOL_ON_SS;
|
||||
break;
|
||||
}
|
||||
if (newResponse != response) {
|
||||
p.setDataPosition(dataPosition);
|
||||
p.writeInt(newResponse);
|
||||
}
|
||||
p.setDataPosition(dataPosition);
|
||||
super.processUnsolicited(p, type);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void
|
||||
acceptCall (Message result) {
|
||||
RILRequest rr
|
||||
= RILRequest.obtain(RIL_REQUEST_ANSWER, result);
|
||||
|
||||
rr.mParcel.writeInt(1);
|
||||
rr.mParcel.writeInt(0);
|
||||
|
||||
if (RILJ_LOGD) riljLog(rr.serialString() + "> " + requestToString(rr.mRequest));
|
||||
|
||||
send(rr);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected RILRequest
|
||||
processSolicited (Parcel p, int type) {
|
||||
int serial, error;
|
||||
boolean found = false;
|
||||
int dataPosition = p.dataPosition(); // save off position within the Parcel
|
||||
serial = p.readInt();
|
||||
error = p.readInt();
|
||||
RILRequest rr = null;
|
||||
/* Pre-process the reply before popping it */
|
||||
synchronized (mRequestList) {
|
||||
RILRequest tr = mRequestList.get(serial);
|
||||
if (tr != null && tr.mSerial == serial) {
|
||||
if (error == 0 || p.dataAvail() > 0) {
|
||||
try {switch (tr.mRequest) {
|
||||
/* Get those we're interested in */
|
||||
case RIL_REQUEST_DATA_REGISTRATION_STATE:
|
||||
rr = tr;
|
||||
break;
|
||||
}} catch (Throwable thr) {
|
||||
// Exceptions here usually mean invalid RIL responses
|
||||
if (tr.mResult != null) {
|
||||
AsyncResult.forMessage(tr.mResult, null, thr);
|
||||
tr.mResult.sendToTarget();
|
||||
}
|
||||
return tr;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (rr == null) {
|
||||
/* Nothing we care about, go up */
|
||||
p.setDataPosition(dataPosition);
|
||||
// Forward responses that we are not overriding to the super class
|
||||
return super.processSolicited(p, type);
|
||||
}
|
||||
rr = findAndRemoveRequestFromList(serial);
|
||||
if (rr == null) {
|
||||
return rr;
|
||||
}
|
||||
Object ret = null;
|
||||
if (error == 0 || p.dataAvail() > 0) {
|
||||
switch (rr.mRequest) {
|
||||
case RIL_REQUEST_DATA_REGISTRATION_STATE: ret = responseDataRegistrationState(p); break;
|
||||
default:
|
||||
throw new RuntimeException("Unrecognized solicited response: " + rr.mRequest);
|
||||
}
|
||||
//break;
|
||||
}
|
||||
if (RILJ_LOGD) riljLog(rr.serialString() + "< " + requestToString(rr.mRequest)
|
||||
+ " " + retToString(rr.mRequest, ret));
|
||||
if (rr.mResult != null) {
|
||||
AsyncResult.forMessage(rr.mResult, ret, null);
|
||||
rr.mResult.sendToTarget();
|
||||
}
|
||||
return rr;
|
||||
}
|
||||
|
||||
private Object
|
||||
responseDataRegistrationState(Parcel p) {
|
||||
String response[] = (String[])responseStrings(p);
|
||||
/* DANGER WILL ROBINSON
|
||||
* In some cases from Vodaphone we are receiving a RAT of 102
|
||||
* while in tunnels of the metro. Lets Assume that if we
|
||||
* receive 102 we actually want a RAT of 2 for EDGE service */
|
||||
if (response.length > 4 &&
|
||||
response[0].equals("1") &&
|
||||
response[3].equals("102")) {
|
||||
response[3] = "2";
|
||||
}
|
||||
return response;
|
||||
}
|
||||
}
|
23
rootdir/etc/fstab.full
Executable file
23
rootdir/etc/fstab.full
Executable file
|
@ -0,0 +1,23 @@
|
|||
# Android fstab file.
|
||||
# The filesystem that contains the filesystem e2fsck binary (typically /system) cannot
|
||||
# specify 'check', and must come before any filesystems that do specify 'check'
|
||||
|
||||
#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
|
||||
/dev/block/platform/msm_sdcc.1/by-name/system /system ext4 ro,errors=panic wait
|
||||
/dev/block/platform/msm_sdcc.1/by-name/userdata /data f2fs nosuid,nodev,noatime,rw,inline_xattr wait,check,formattable,encryptable=footer,length=-16384
|
||||
/dev/block/platform/msm_sdcc.1/by-name/userdata /data ext4 nosuid,nodev,noatime,noauto_da_alloc,errors=continue,commit=20 wait,check,formattable,encryptable=footer,length=-16384
|
||||
/dev/block/platform/msm_sdcc.1/by-name/cache /cache f2fs nosuid,nodev,noatime,rw,inline_xattr wait,check,formattable
|
||||
/dev/block/platform/msm_sdcc.1/by-name/cache /cache ext4 nosuid,nodev,noatime,noauto_da_alloc,errors=continue,commit=20 wait,check,formattable
|
||||
/dev/block/platform/msm_sdcc.1/by-name/apnhlos /firmware vfat ro,shortname=lower,uid=1000,gid=1026,dmask=227,fmask=337,context=u:object_r:firmware_file:s0 wait
|
||||
/dev/block/platform/msm_sdcc.1/by-name/modem /firmware-modem vfat ro,shortname=lower,uid=1000,gid=1026,dmask=227,fmask=337,context=u:object_r:firmware_file:s0 wait
|
||||
/dev/block/platform/msm_sdcc.1/by-name/efs /efs ext4 nosuid,nodev,noatime,noauto_da_alloc,journal_async_commit,errors=panic wait,check
|
||||
/dev/block/platform/msm_sdcc.1/by-name/fota /misc emmc defaults defaults
|
||||
|
||||
/dev/block/platform/msm_sdcc.1/by-name/boot /boot emmc defaults recoveryonly
|
||||
/dev/block/platform/msm_sdcc.1/by-name/recovery /recovery emmc defaults recoveryonly
|
||||
|
||||
/devices/msm_sdcc.3/mmc_host/mmc* auto auto defaults voldmanaged=sdcard1:auto,encryptable=userdata
|
||||
|
||||
/dev/block/zram0 none swap defaults zramsize=25%,zramstreams=4,swapprio=10,notrim
|
||||
|
||||
/devices/platform/xhci-hcd* auto auto defaults voldmanaged=usb:auto
|
|
@ -1,12 +1,11 @@
|
|||
# Android fstab file.
|
||||
# The filesystem that contains the filesystem checker binary (typically /system) cannot
|
||||
# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK
|
||||
# The filesystem that contains the filesystem e2fsck binary (typically /system) cannot
|
||||
# specify 'check', and must come before any filesystems that do specify 'check'
|
||||
|
||||
#TODO: Add 'check' as fs_mgr_flags with data partition.
|
||||
# Currently we dont have e2fsck compiled. So fs check would failed.
|
||||
# NOTE: /system partition is now early-mounted and the fstab entry is specified in device tree:
|
||||
# /proc/device-tree/firmware/android/fstab/system
|
||||
|
||||
#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
|
||||
/dev/block/platform/msm_sdcc.1/by-name/system /system ext4 ro,errors=panic wait
|
||||
/dev/block/platform/msm_sdcc.1/by-name/userdata /data f2fs nosuid,nodev,noatime,rw,inline_xattr wait,check,formattable,encryptable=footer,length=-16384
|
||||
/dev/block/platform/msm_sdcc.1/by-name/userdata /data ext4 nosuid,nodev,noatime,noauto_da_alloc,errors=continue,commit=20 wait,check,formattable,encryptable=footer,length=-16384
|
||||
/dev/block/platform/msm_sdcc.1/by-name/cache /cache f2fs nosuid,nodev,noatime,rw,inline_xattr wait,check,formattable
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
# Copyright (c) 2009-2012, Code Aurora Forum. All rights reserved.
|
||||
# 2017, The LineageOS Project. All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions are met:
|
||||
|
@ -29,7 +30,7 @@ import init.qcom.usb.rc
|
|||
import init.target.rc
|
||||
|
||||
on early-init
|
||||
export LD_SHIM_LIBS /system/lib/libril.so|libril_shim.so
|
||||
export LD_SHIM_LIBS /system/lib/hw/camera.vendor.msm8974.so|libshim_camera.so:/system/lib/libcutils.so|libshim_cutils_atomic.so
|
||||
|
||||
mount debugfs debugfs /sys/kernel/debug
|
||||
chmod 0755 /sys/kernel/debug
|
||||
|
@ -48,7 +49,6 @@ on early-init
|
|||
symlink /data/tombstones /tombstones
|
||||
|
||||
on init
|
||||
|
||||
# Support legacy paths
|
||||
symlink /sdcard /storage/sdcard0
|
||||
|
||||
|
@ -56,7 +56,6 @@ on init
|
|||
|
||||
on fs
|
||||
mount_all fstab.qcom
|
||||
write /proc/sys/vm/swappiness 100
|
||||
swapon_all fstab.qcom
|
||||
|
||||
restorecon_recursive /efs
|
||||
|
@ -294,6 +293,8 @@ on boot
|
|||
mkdir /dev/socket/qmux_gps 0770 gps gps
|
||||
chmod 2770 /dev/socket/qmux_gps
|
||||
|
||||
mkdir /persist/bluetooth 0770 bluetooth bluetooth
|
||||
|
||||
# Allow QMUX daemon to assign port open wait time
|
||||
chown radio radio /sys/devices/virtual/hsicctl/hsicctl0/modem_wait
|
||||
|
||||
|
@ -801,13 +802,13 @@ on boot
|
|||
|
||||
# permissions for bluetooth.
|
||||
setprop ro.bt.bdaddr_path "/efs/bluetooth/bt_addr"
|
||||
chown bluetooth net_bt_stack ro.bt.bdaddr_path
|
||||
chown radio net_bt_stack /efs/bluetooth/bt_addr
|
||||
chown bluetooth bluetooth ro.bt.bdaddr_path
|
||||
chown radio bluetooth /efs/bluetooth/bt_addr
|
||||
chmod 0640 /efs/bluetooth/bt_addr
|
||||
restorecon_recursive /efs/bluetooth
|
||||
chmod 0660 /sys/class/rfkill/rfkill0/state
|
||||
chown bluetooth net_bt_stack /sys/class/rfkill/rfkill0/state
|
||||
chown bluetooth net_bt_stack /sys/class/rfkill/rfkill0/type
|
||||
chown bluetooth bluetooth /sys/class/rfkill/rfkill0/state
|
||||
chown bluetooth bluetooth /sys/class/rfkill/rfkill0/type
|
||||
|
||||
# DualWave
|
||||
chown system system /sys/kernel/DualWave/sound/DUALWAVE_CONFIG
|
||||
|
@ -815,8 +816,8 @@ on boot
|
|||
# bluetooth LPM
|
||||
chmod 0660 /proc/bluetooth/sleep/lpm
|
||||
chmod 0220 /proc/bluetooth/sleep/btwrite
|
||||
chown bluetooth net_bt_stack /proc/bluetooth/sleep/lpm
|
||||
chown bluetooth net_bt_stack /proc/bluetooth/sleep/btwrite
|
||||
chown bluetooth bluetooth /proc/bluetooth/sleep/lpm
|
||||
chown bluetooth bluetooth /proc/bluetooth/sleep/btwrite
|
||||
|
||||
# Sensors
|
||||
chown system system /efs/prox_cal
|
||||
|
@ -831,9 +832,12 @@ on boot
|
|||
chmod 0640 /efs/gyro_cal_data
|
||||
restorecon /efs/gyro_cal_data
|
||||
|
||||
# Set permissions for firmware path control
|
||||
chown wifi wifi /sys/module/dhd/parameters/firmware_path
|
||||
|
||||
# Services begin here
|
||||
|
||||
service adsprpcd /system/bin/adsprpcd
|
||||
service adsprpcd /vendor/bin/adsprpcd
|
||||
class main
|
||||
user media
|
||||
group media
|
||||
|
@ -841,20 +845,20 @@ service adsprpcd /system/bin/adsprpcd
|
|||
service qcamerasvr /system/bin/mm-qcamera-daemon
|
||||
class main
|
||||
user camera
|
||||
group camera system inet input graphics net_bt_stack
|
||||
group camera system inet input graphics bluetooth
|
||||
|
||||
service qseecomd /system/bin/qseecomd
|
||||
service qseecomd /vendor/bin/qseecomd
|
||||
class core
|
||||
user root
|
||||
group root
|
||||
|
||||
service mpdecision /system/bin/mpdecision --avg_comp
|
||||
service mpdecision /vendor/bin/mpdecision --avg_comp
|
||||
class main
|
||||
user root
|
||||
group root readproc
|
||||
disabled
|
||||
|
||||
service thermal-engine /system/vendor/bin/thermal-engine
|
||||
service thermal-engine /vendor/bin/thermal-engine
|
||||
class main
|
||||
user root
|
||||
socket thermal-send-client stream 0666 system system
|
||||
|
@ -862,7 +866,7 @@ service thermal-engine /system/vendor/bin/thermal-engine
|
|||
socket thermal-recv-passive-client stream 0666 system system
|
||||
group root
|
||||
|
||||
service time_daemon /system/bin/time_daemon
|
||||
service time_daemon /vendor/bin/time_daemon
|
||||
class late_start
|
||||
user root
|
||||
group root
|
||||
|
@ -872,72 +876,43 @@ service audiod /system/bin/audiod
|
|||
user system
|
||||
group system
|
||||
|
||||
service irsc_util /system/bin/irsc_util "/etc/sec_config"
|
||||
service irsc_util /vendor/bin/irsc_util "/vendor/etc/sec_config"
|
||||
class main
|
||||
user root
|
||||
oneshot
|
||||
|
||||
service rfs_access /system/bin/rfs_access
|
||||
service rfs_access /vendor/bin/rfs_access
|
||||
class core
|
||||
user system
|
||||
group system net_raw
|
||||
|
||||
service rmt_storage /system/bin/rmt_storage
|
||||
service rmt_storage /vendor/bin/rmt_storage
|
||||
class core
|
||||
user root
|
||||
group system wakelock
|
||||
|
||||
service qmuxd /system/bin/qmuxd
|
||||
service qmuxd /vendor/bin/qmuxd
|
||||
class core
|
||||
user radio
|
||||
group radio audio bluetooth gps qcom_diag log
|
||||
group radio audio bluetooth gps oem_2950 log
|
||||
|
||||
service wpa_supplicant /system/bin/wpa_supplicant \
|
||||
-iwlan0 -Dnl80211 -c/data/misc/wifi/wpa_supplicant.conf \
|
||||
-I/system/etc/wifi/wpa_supplicant_overlay.conf \
|
||||
-O/data/misc/wifi/sockets \
|
||||
-e/data/misc/wifi/entropy.bin -g@android:wpa_wlan0
|
||||
# we will start as root and wpa_supplicant will switch to user wifi
|
||||
# after setting up the capabilities required for WEXT
|
||||
# user wifi
|
||||
# group wifi inet keystore
|
||||
class main
|
||||
socket wpa_wlan0 dgram 660 wifi wifi
|
||||
disabled
|
||||
group system wakelock
|
||||
oneshot
|
||||
|
||||
service p2p_supplicant /system/bin/wpa_supplicant \
|
||||
service wpa_supplicant /vendor/bin/hw/wpa_supplicant \
|
||||
-iwlan0 -Dnl80211 -c/data/misc/wifi/wpa_supplicant.conf \
|
||||
-I/system/etc/wifi/wpa_supplicant_overlay.conf -N \
|
||||
-ip2p0 -Dnl80211 -c/data/misc/wifi/p2p_supplicant.conf \
|
||||
-I/system/etc/wifi/p2p_supplicant_overlay.conf \
|
||||
-O/data/misc/wifi/sockets -puse_p2p_group_interface=1 \
|
||||
-e/data/misc/wifi/entropy.bin -g@android:wpa_wlan0
|
||||
# we will start as root and wpa_supplicant will switch to user wifi
|
||||
# after setting up the capabilities required for WEXT
|
||||
# user wifi
|
||||
# group wifi inet keystore
|
||||
-puse_p2p_group_interface=1 -e/data/misc/wifi/entropy.bin \
|
||||
-g@android:wpa_wlan0
|
||||
class main
|
||||
socket wpa_wlan0 dgram 660 wifi wifi
|
||||
disabled
|
||||
group system wakelock
|
||||
oneshot
|
||||
|
||||
service macloader /system/bin/macloader
|
||||
service macloader /vendor/bin/macloader
|
||||
class late_start
|
||||
oneshot
|
||||
seclabel u:r:macloader:s0
|
||||
|
||||
service ril-daemon /system/bin/rild
|
||||
class main
|
||||
socket rild stream 660 root radio
|
||||
socket sap_uim_socket1 stream 660 bluetooth bluetooth
|
||||
socket rild-debug stream 660 radio system
|
||||
socket rild-cas stream 660 casdrm mmb
|
||||
user root
|
||||
group radio cache inet misc audio log system wakelock qcom_diag
|
||||
|
||||
on property:wlan.driver.status=ok
|
||||
start macloader
|
||||
|
||||
|
@ -977,6 +952,9 @@ on property:sys.boot_completed=1
|
|||
|
||||
# Configure the CPU governor
|
||||
write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor interactive
|
||||
write /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor interactive
|
||||
write /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor interactive
|
||||
write /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor interactive
|
||||
write /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay "19000 1400000:39000 1700000:19000"
|
||||
write /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load 99
|
||||
write /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq 1497600
|
||||
|
@ -986,6 +964,9 @@ on property:sys.boot_completed=1
|
|||
write /sys/devices/system/cpu/cpufreq/interactive/timer_rate 30000
|
||||
write /sys/devices/system/cpu/cpufreq/interactive/sampling_down_factor 100000
|
||||
write /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq 300000
|
||||
write /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq 300000
|
||||
write /sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq 300000
|
||||
write /sys/devices/system/cpu/cpu3/cpufreq/scaling_min_freq 300000
|
||||
|
||||
chown root system /sys/devices/system/cpu/cpu1/online
|
||||
chown root system /sys/devices/system/cpu/cpu2/online
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
#
|
||||
|
||||
# the DIAG device node is not world writable/readable.
|
||||
/dev/diag 0660 system qcom_diag
|
||||
/dev/diag 0660 system oem_2950
|
||||
|
||||
/dev/genlock 0666 system system
|
||||
/dev/kgsl 0666 system system
|
||||
|
@ -44,6 +44,7 @@
|
|||
|
||||
#permissions for CSVT
|
||||
/dev/smd11 0660 radio radio
|
||||
/dev/radio0 0640 system system
|
||||
/dev/rfcomm0 0660 bluetooth bluetooth
|
||||
/dev/smdcntl0 0640 radio radio
|
||||
/dev/smdcntl1 0640 radio radio
|
||||
|
@ -134,8 +135,9 @@
|
|||
/dev/msm_preproc_ctl 0660 system audio
|
||||
/dev/msm_rtac 0660 system audio
|
||||
/dev/msm_voicememo 0660 system audio
|
||||
/dev/smd3 0660 bluetooth net_bt_stack
|
||||
/dev/smd2 0660 bluetooth net_bt_stack
|
||||
/dev/radio0 0640 fm_radio fm_radio
|
||||
/dev/smd3 0660 bluetooth bluetooth
|
||||
/dev/smd2 0660 bluetooth bluetooth
|
||||
/dev/ttyHSL1 0660 system system
|
||||
/dev/mdm 0660 system radio
|
||||
/sys/devices/virtual/smdpkt/smdcntl* open_timeout 0664 radio radio
|
||||
|
@ -149,7 +151,7 @@
|
|||
/dev/ttyHS3 0660 media audio
|
||||
|
||||
# Bluetooth
|
||||
/dev/ttyHS0 0660 bluetooth net_bt_stack
|
||||
/dev/ttyHS0 0660 bluetooth bluetooth
|
||||
/dev/ttyHS2 0660 bluetooth bluetooth
|
||||
|
||||
# bluetooth LPM
|
||||
|
|
|
@ -19,9 +19,19 @@
|
|||
# EFS
|
||||
/dev/block/platform/msm_sdcc.1/by-name/efs u:object_r:modem_efs_partition_device:s0
|
||||
|
||||
# Fingerprint
|
||||
/data/validity(/.*)? u:object_r:vcs_data_file:s0
|
||||
/dev/validity(/.*)? u:object_r:vcs_device:s0
|
||||
/dev/vfsspi u:object_r:vcs_device:s0
|
||||
|
||||
# Macloader
|
||||
/system/bin/macloader u:object_r:macloader_exec:s0
|
||||
|
||||
# NFC
|
||||
/dev/bcm2079x u:object_r:nfc_device:s0
|
||||
/dev/pn547 u:object_r:nfc_device:s0
|
||||
/dev/sec-nfc u:object_r:nfc_device:s0
|
||||
|
||||
# RIL
|
||||
/data/data/com.android.providers.telephony/databases(/.*)? u:object_r:radio_data_file:s0
|
||||
/data/data/com.android.providers.telephony/shared_prefs(/.*)? u:object_r:radio_data_file:s0
|
||||
|
|
14
sepolicy/fingerprintd.te
Executable file
14
sepolicy/fingerprintd.te
Executable file
|
@ -0,0 +1,14 @@
|
|||
allow fingerprintd vcs_data_file:dir create_dir_perms;
|
||||
allow fingerprintd vcs_data_file:file create_file_perms;
|
||||
|
||||
allow fingerprintd vcs_device:dir create_dir_perms;
|
||||
allow fingerprintd vcs_device:file create_file_perms;
|
||||
allow fingerprintd vcs_device:fifo_file create_file_perms;
|
||||
allow fingerprintd vcs_device:chr_file create_file_perms;
|
||||
|
||||
allow fingerprintd tee_device:chr_file rw_file_perms;
|
||||
|
||||
allow fingerprintd firmware_file:dir r_dir_perms;
|
||||
allow fingerprintd firmware_file:file r_file_perms;
|
||||
|
||||
allow fingerprintd vfat:file { getattr open read };
|
4
sepolicy/shell.te
Executable file
4
sepolicy/shell.te
Executable file
|
@ -0,0 +1,4 @@
|
|||
allow shell exfat:dir create_dir_perms;
|
||||
allow shell exfat:file create_file_perms;
|
||||
allow shell fuseblk:dir create_dir_perms;
|
||||
allow shell fuseblk:file create_file_perms;
|
|
@ -25,6 +25,7 @@ ro.hdcp2.rx=tz
|
|||
ro.qualcomm.cabl=1
|
||||
ro.secwvk=144
|
||||
ro.sf.lcd_density=320
|
||||
debug.hwui.use_buffer_age=false
|
||||
|
||||
# GPS
|
||||
persist.gps.qc_nlp_in_use=0
|
||||
|
@ -35,6 +36,7 @@ ro.qc.sdk.izat.service_mask=0x0
|
|||
# Media
|
||||
media.stagefright.legacyencoder=true
|
||||
media.stagefright.less-secure=true
|
||||
persist.media.treble_omx=false
|
||||
|
||||
# Perf
|
||||
ro.vendor.extension_library=/vendor/lib/libqti-perfd-client.so
|
||||
|
@ -45,7 +47,6 @@ persist.data.qmi.adb_logmask=0
|
|||
persist.radio.add_power_save=1
|
||||
persist.radio.lte_vrat_report=1
|
||||
ro.telephony.mms_data_profile=5
|
||||
ro.telephony.ril_class=NoteProRIL
|
||||
|
||||
rild.libargs=-d /dev/smd0
|
||||
rild.libpath=/system/lib/libsec-ril.so
|
||||
|
@ -58,7 +59,7 @@ ro.telephony.call_ring.multiple=0
|
|||
debug.sensors=1
|
||||
|
||||
# Storage
|
||||
ro.sys.sdcardfs=true
|
||||
ro.sys.sdcardfs=false
|
||||
|
||||
# Tethering
|
||||
net.tethering.noprovisioning=true
|
||||
|
|
Loading…
Add table
Reference in a new issue