mirror of
https://github.com/AetherDroid/android_device_samsung_universal7570-common.git
synced 2025-09-04 15:37:46 -04:00
Initial common device tree
This commit is contained in:
commit
765503ce5e
71 changed files with 22665 additions and 0 deletions
24
Android.mk
Normal file
24
Android.mk
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
#
|
||||||
|
# Copyright (C) 2019 The LineageOS Project
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
#
|
||||||
|
|
||||||
|
LOCAL_PATH := $(call my-dir)
|
||||||
|
|
||||||
|
ifneq ($(filter a3y17lte j5y17lte j7y17lte a6lte j6lte, $(TARGET_DEVICE)),)
|
||||||
|
|
||||||
|
include $(call all-makefiles-under,$(LOCAL_PATH))
|
||||||
|
include $(CLEAR_VARS)
|
||||||
|
|
||||||
|
endif
|
188
BoardConfigCommon.mk
Normal file
188
BoardConfigCommon.mk
Normal file
|
@ -0,0 +1,188 @@
|
||||||
|
#
|
||||||
|
# Copyright (C) 2019 The LineageOS Project
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
#
|
||||||
|
|
||||||
|
LOCAL_PATH := device/samsung/universal7870-common
|
||||||
|
|
||||||
|
# Include path
|
||||||
|
TARGET_SPECIFIC_HEADER_PATH := $(LOCAL_PATH)/include
|
||||||
|
|
||||||
|
# Firmware
|
||||||
|
TARGET_NO_BOOTLOADER := true
|
||||||
|
TARGET_NO_RADIOIMAGE := true
|
||||||
|
|
||||||
|
# Platform
|
||||||
|
BOARD_VENDOR := samsung
|
||||||
|
TARGET_BOOTLOADER_BOARD_NAME := universal7870
|
||||||
|
TARGET_BOARD_PLATFORM := exynos5
|
||||||
|
TARGET_SOC := exynos7870
|
||||||
|
|
||||||
|
# Architecture
|
||||||
|
TARGET_ARCH := arm64
|
||||||
|
TARGET_ARCH_VARIANT := armv8-a
|
||||||
|
TARGET_CPU_ABI := arm64-v8a
|
||||||
|
TARGET_CPU_ABI2 :=
|
||||||
|
TARGET_CPU_VARIANT := cortex-a53
|
||||||
|
TARGET_CPU_VARIANT_RUNTIME := cortex-a53
|
||||||
|
|
||||||
|
TARGET_2ND_ARCH := arm
|
||||||
|
TARGET_2ND_ARCH_VARIANT := armv8-a
|
||||||
|
TARGET_2ND_CPU_ABI := armeabi-v7a
|
||||||
|
TARGET_2ND_CPU_ABI2 := armeabi
|
||||||
|
TARGET_2ND_CPU_VARIANT := cortex-a53
|
||||||
|
TARGET_2ND_CPU_VARIANT_RUNTIME := cortex-a53
|
||||||
|
|
||||||
|
# Binder
|
||||||
|
TARGET_BOARD_SUFFIX := _64
|
||||||
|
TARGET_USES_64_BIT_BINDER := true
|
||||||
|
BUILD_BROKEN_DUP_RULES := true
|
||||||
|
BUILD_BROKEN_PHONY_TARGETS := true
|
||||||
|
|
||||||
|
# Extracted with libbootimg
|
||||||
|
BOARD_CUSTOM_BOOTIMG := true
|
||||||
|
BOARD_CUSTOM_BOOTIMG_MK := hardware/samsung/mkbootimg.mk
|
||||||
|
BOARD_MKBOOTIMG_ARGS := --kernel_offset 0x00008000 --ramdisk_offset 0x01000000 --tags_offset 0x00000100
|
||||||
|
BOARD_KERNEL_BASE := 0x10000000
|
||||||
|
BOARD_KERNEL_PAGESIZE := 2048
|
||||||
|
BOARD_KERNEL_IMAGE_NAME := Image
|
||||||
|
BOARD_KERNEL_SEPARATED_DT := true
|
||||||
|
TARGET_CUSTOM_DTBTOOL := dtbhtoolExynos
|
||||||
|
|
||||||
|
# Kernel
|
||||||
|
TARGET_KERNEL_ARCH := arm64
|
||||||
|
TARGET_KERNEL_HEADER_ARCH := arm64
|
||||||
|
TARGET_LINUX_KERNEL_VERSION := 3.18
|
||||||
|
|
||||||
|
# Kernel config
|
||||||
|
TARGET_KERNEL_SOURCE := kernel/samsung/exynos7870
|
||||||
|
|
||||||
|
# HIDL
|
||||||
|
DEVICE_MANIFEST_FILE := $(LOCAL_PATH)/manifest.xml
|
||||||
|
DEVICE_MATRIX_FILE := $(LOCAL_PATH)/compatibility_matrix.xml
|
||||||
|
|
||||||
|
# Use these flags if the board has a ext4 partition larger than 2gb
|
||||||
|
BOARD_HAS_LARGE_FILESYSTEM := true
|
||||||
|
TARGET_USERIMAGES_USE_EXT4 := true
|
||||||
|
TARGET_USERIMAGES_USE_F2FS := true
|
||||||
|
TARGET_FS_CONFIG_GEN := $(LOCAL_PATH)/config.fs
|
||||||
|
|
||||||
|
# Partitions
|
||||||
|
BOARD_BOOTIMAGE_PARTITION_SIZE := 33554432
|
||||||
|
BOARD_CACHEIMAGE_PARTITION_SIZE := 209715200
|
||||||
|
BOARD_CACHEIMAGE_FILE_SYSTEM_TYPE := ext4
|
||||||
|
BOARD_RECOVERYIMAGE_PARTITION_SIZE := 39845888
|
||||||
|
BOARD_SYSTEMIMAGE_PARTITION_SIZE := 2871279104
|
||||||
|
BOARD_USERDATAIMAGE_PARTITION_SIZE := 54618209280
|
||||||
|
BOARD_VENDORIMAGE_PARTITION_SIZE := 434596224
|
||||||
|
BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4
|
||||||
|
BOARD_FLASH_BLOCK_SIZE := 4096
|
||||||
|
TARGET_USERIMAGES_USE_EXT4 := true
|
||||||
|
TARGET_USERIMAGES_USE_F2FS := true
|
||||||
|
BOARD_ROOT_EXTRA_FOLDERS := efs cpefs
|
||||||
|
|
||||||
|
# Vendor separation
|
||||||
|
TARGET_COPY_OUT_VENDOR := vendor
|
||||||
|
|
||||||
|
# Audio
|
||||||
|
USE_XML_AUDIO_POLICY_CONF := 1
|
||||||
|
AUDIOSERVER_MULTILIB := 32
|
||||||
|
|
||||||
|
# Backlight
|
||||||
|
BACKLIGHT_PATH := "/sys/class/backlight/panel/brightness"
|
||||||
|
|
||||||
|
# Camera
|
||||||
|
BOARD_USE_SAMSUNG_CAMERAFORMAT_NV21 := true
|
||||||
|
TARGET_USES_MEDIA_EXTENSIONS := true
|
||||||
|
USE_DEVICE_SPECIFIC_CAMERA := true
|
||||||
|
BOARD_BACK_CAMERA_SENSOR := 0
|
||||||
|
BOARD_FRONT_CAMERA_SENSOR := 1
|
||||||
|
|
||||||
|
# Crypto
|
||||||
|
TARGET_HW_DISK_ENCRYPTION := true
|
||||||
|
|
||||||
|
# Device Tree
|
||||||
|
BOARD_USES_DT := true
|
||||||
|
|
||||||
|
# Dexpreopt
|
||||||
|
ifeq ($(HOST_OS),linux)
|
||||||
|
ifneq ($(TARGET_BUILD_VARIANT),eng)
|
||||||
|
ifeq ($(WITH_DEXPREOPT),)
|
||||||
|
WITH_DEXPREOPT := true
|
||||||
|
WITH_DEXPREOPT_BOOT_IMG_AND_SYSTEM_SERVER_ONLY := false
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
# HWComposer
|
||||||
|
BOARD_HDMI_INCAPABLE := true
|
||||||
|
BOARD_USES_DECON_64BIT_ADDRESS := true
|
||||||
|
BOARD_USES_EXYNOS5_COMMON_GRALLOC := true
|
||||||
|
BOARD_USES_HWC_SERVICES := true
|
||||||
|
BOARD_USES_VPP := true
|
||||||
|
MAX_EGL_CACHE_KEY_SIZE := 12*1024
|
||||||
|
MAX_EGL_CACHE_SIZE := 2048*1024
|
||||||
|
MAX_VIRTUAL_DISPLAY_DIMENSION := 2048
|
||||||
|
NUM_FRAMEBUFFER_SURFACE_BUFFERS := 3
|
||||||
|
TARGET_ADDITIONAL_GRALLOC_10_USAGE_BITS := 0x2000
|
||||||
|
TARGET_FORCE_HWC_FOR_VIRTUAL_DISPLAYS := true
|
||||||
|
TARGET_USES_GRALLOC1 := true
|
||||||
|
TARGET_USES_HWC2 := true
|
||||||
|
TARGET_USES_ION := true
|
||||||
|
TARGET_USES_NEW_ION_API :=true
|
||||||
|
TARGET_USES_OVERLAY := true
|
||||||
|
USE_OPENGL_RENDERER := true
|
||||||
|
|
||||||
|
# HALs
|
||||||
|
TARGET_AUDIOHAL_VARIANT := samsung
|
||||||
|
TARGET_POWERHAL_VARIANT := samsung
|
||||||
|
|
||||||
|
# Libhwui
|
||||||
|
HWUI_COMPILE_FOR_PERF := true
|
||||||
|
|
||||||
|
# Recovery
|
||||||
|
BOARD_HAS_DOWNLOAD_MODE := true
|
||||||
|
TARGET_RECOVERY_FSTAB := $(LOCAL_PATH)/rootdir/etc/fstab.recovery
|
||||||
|
|
||||||
|
# Renderscript
|
||||||
|
OVERRIDE_RS_DRIVER := libRSDriverArm.so
|
||||||
|
|
||||||
|
# RIL
|
||||||
|
BOARD_VENDOR := samsung
|
||||||
|
BOARD_MODEM_TYPE := tss310
|
||||||
|
BOARD_PROVIDES_LIBRIL := true
|
||||||
|
ENABLE_VENDOR_RIL_SERVICE := true
|
||||||
|
|
||||||
|
# Security patch level
|
||||||
|
VENDOR_SECURITY_PATCH := 2019-10-05
|
||||||
|
|
||||||
|
# Seccomp
|
||||||
|
BOARD_SECCOMP_POLICY := $(LOCAL_PATH)/seccomp
|
||||||
|
|
||||||
|
# SELinux
|
||||||
|
BOARD_SEPOLICY_DIRS := $(LOCAL_PATH)/sepolicy_minimal
|
||||||
|
SELINUX_IGNORE_NEVERALLOWS := true
|
||||||
|
|
||||||
|
# Treble
|
||||||
|
BOARD_PROPERTY_OVERRIDES_SPLIT_ENABLED := true
|
||||||
|
PRODUCT_FULL_TREBLE_OVERRIDE := true
|
||||||
|
PRODUCT_VENDOR_MOVE_ENABLED := true
|
||||||
|
BOARD_VNDK_VERSION := current
|
||||||
|
|
||||||
|
# Shims
|
||||||
|
TARGET_LD_SHIM_LIBS += \
|
||||||
|
/vendor/lib/libexynoscamera.so|/vendor/lib/libexynoscamera_shim.so
|
||||||
|
|
||||||
|
# Wifi
|
||||||
|
BOARD_HAVE_SAMSUNG_WIFI := true
|
58
compatibility_matrix.xml
Normal file
58
compatibility_matrix.xml
Normal file
|
@ -0,0 +1,58 @@
|
||||||
|
<compatibility-matrix version="1.0" type="device">
|
||||||
|
<hal format="hidl" optional="false">
|
||||||
|
<name>android.frameworks.schedulerservice</name>
|
||||||
|
<version>1.0</version>
|
||||||
|
<interface>
|
||||||
|
<name>ISchedulingPolicyService</name>
|
||||||
|
<instance>default</instance>
|
||||||
|
</interface>
|
||||||
|
</hal>
|
||||||
|
<hal format="hidl" optional="false">
|
||||||
|
<name>android.frameworks.sensorservice</name>
|
||||||
|
<version>1.0</version>
|
||||||
|
<interface>
|
||||||
|
<name>ISensorManager</name>
|
||||||
|
<instance>default</instance>
|
||||||
|
</interface>
|
||||||
|
</hal>
|
||||||
|
<hal format="hidl" optional="false">
|
||||||
|
<name>android.hidl.allocator</name>
|
||||||
|
<version>1.0</version>
|
||||||
|
<interface>
|
||||||
|
<name>IAllocator</name>
|
||||||
|
<instance>ashmem</instance>
|
||||||
|
</interface>
|
||||||
|
</hal>
|
||||||
|
<hal format="hidl" optional="false">
|
||||||
|
<name>android.hidl.manager</name>
|
||||||
|
<version>1.1</version>
|
||||||
|
<interface>
|
||||||
|
<name>IServiceManager</name>
|
||||||
|
<instance>default</instance>
|
||||||
|
</interface>
|
||||||
|
</hal>
|
||||||
|
<hal format="hidl" optional="false">
|
||||||
|
<name>android.hidl.memory</name>
|
||||||
|
<version>1.0</version>
|
||||||
|
<interface>
|
||||||
|
<name>IMapper</name>
|
||||||
|
<instance>ashmem</instance>
|
||||||
|
</interface>
|
||||||
|
</hal>
|
||||||
|
<hal format="hidl" optional="false">
|
||||||
|
<name>android.hidl.token</name>
|
||||||
|
<version>1.0</version>
|
||||||
|
<interface>
|
||||||
|
<name>ITokenManager</name>
|
||||||
|
<instance>default</instance>
|
||||||
|
</interface>
|
||||||
|
</hal>
|
||||||
|
<hal format="hidl" optional="false">
|
||||||
|
<name>android.system.wifi.keystore</name>
|
||||||
|
<version>1.0</version>
|
||||||
|
<interface>
|
||||||
|
<name>IKeystore</name>
|
||||||
|
<instance>default</instance>
|
||||||
|
</interface>
|
||||||
|
</hal>
|
||||||
|
</compatibility-matrix>
|
11
config.fs
Normal file
11
config.fs
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
[cpefs/]
|
||||||
|
mode: 0771
|
||||||
|
user: AID_SYSTEM
|
||||||
|
group: AID_RADIO
|
||||||
|
caps: 0
|
||||||
|
|
||||||
|
[efs/]
|
||||||
|
mode: 0771
|
||||||
|
user: AID_SYSTEM
|
||||||
|
group: AID_RADIO
|
||||||
|
caps: 0
|
25
configs/audio/audio_effects.xml
Executable file
25
configs/audio/audio_effects.xml
Executable file
|
@ -0,0 +1,25 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<audio_effects_conf version="2.0" xmlns="http://schemas.android.com/audio/audio_effects_conf/v2_0">
|
||||||
|
<libraries>
|
||||||
|
<library name="bundle" path="libbundlewrapper.so"/>
|
||||||
|
<library name="reverb" path="libreverbwrapper.so"/>
|
||||||
|
<library name="visualizer" path="libvisualizer.so"/>
|
||||||
|
<library name="downmix" path="libdownmix.so"/>
|
||||||
|
<library name="loudness_enhancer" path="libldnhncr.so"/>
|
||||||
|
<library name="dynamics_processing" path="libdynproc.so"/>
|
||||||
|
</libraries>
|
||||||
|
<effects>
|
||||||
|
<effect name="bassboost" library="bundle" uuid="8631f300-72e2-11df-b57e-0002a5d5c51b"/>
|
||||||
|
<effect name="virtualizer" library="bundle" uuid="1d4033c0-8557-11df-9f2d-0002a5d5c51b"/>
|
||||||
|
<effect name="equalizer" library="bundle" uuid="ce772f20-847d-11df-bb17-0002a5d5c51b"/>
|
||||||
|
<effect name="volume" library="bundle" uuid="119341a0-8469-11df-81f9-0002a5d5c51b"/>
|
||||||
|
<effect name="reverb_env_aux" library="reverb" uuid="4a387fc0-8ab3-11df-8bad-0002a5d5c51b"/>
|
||||||
|
<effect name="reverb_env_ins" library="reverb" uuid="c7a511a0-a3bb-11df-860e-0002a5d5c51b"/>
|
||||||
|
<effect name="reverb_pre_aux" library="reverb" uuid="f29a1400-a3bb-11df-8ddc-0002a5d5c51b"/>
|
||||||
|
<effect name="reverb_pre_ins" library="reverb" uuid="172cdf00-a3bc-11df-a72f-0002a5d5c51b"/>
|
||||||
|
<effect name="visualizer" library="visualizer" uuid="d069d9e0-8329-11df-9168-0002a5d5c51b"/>
|
||||||
|
<effect name="downmix" library="downmix" uuid="93f04452-e4fe-41cc-91f9-e475b6d1d69f"/>
|
||||||
|
<effect name="loudness_enhancer" library="loudness_enhancer" uuid="fa415329-2034-4bea-b5dc-5b381c8d1e2c"/>
|
||||||
|
<effect name="dynamics_processing" library="dynamics_processing" uuid="e0e6539b-1781-7261-676f-6d7573696340"/>
|
||||||
|
</effects>
|
||||||
|
</audio_effects_conf>
|
122
configs/audio/audio_policy.conf
Executable file
122
configs/audio/audio_policy.conf
Executable file
|
@ -0,0 +1,122 @@
|
||||||
|
global_configuration {
|
||||||
|
attached_output_devices AUDIO_DEVICE_OUT_SPEAKER|AUDIO_DEVICE_OUT_EARPIECE
|
||||||
|
default_output_device AUDIO_DEVICE_OUT_SPEAKER
|
||||||
|
attached_input_devices AUDIO_DEVICE_IN_BUILTIN_MIC|AUDIO_DEVICE_IN_REMOTE_SUBMIX|AUDIO_DEVICE_IN_VOICE_CALL|AUDIO_DEVICE_IN_PLAYBACK
|
||||||
|
}
|
||||||
|
|
||||||
|
audio_hw_modules {
|
||||||
|
primary {
|
||||||
|
outputs {
|
||||||
|
primary {
|
||||||
|
sampling_rates 48000
|
||||||
|
channel_masks AUDIO_CHANNEL_OUT_STEREO
|
||||||
|
formats AUDIO_FORMAT_PCM_16_BIT|AUDIO_FORMAT_PCM_24_BIT
|
||||||
|
devices AUDIO_DEVICE_OUT_SPEAKER|AUDIO_DEVICE_OUT_EARPIECE|AUDIO_DEVICE_OUT_WIRED_HEADSET|AUDIO_DEVICE_OUT_WIRED_HEADPHONE|AUDIO_DEVICE_OUT_ALL_SCO
|
||||||
|
flags AUDIO_OUTPUT_FLAG_PRIMARY
|
||||||
|
}
|
||||||
|
deep_buffer {
|
||||||
|
sampling_rates 48000
|
||||||
|
channel_masks AUDIO_CHANNEL_OUT_STEREO
|
||||||
|
formats AUDIO_FORMAT_PCM_16_BIT
|
||||||
|
devices AUDIO_DEVICE_OUT_SPEAKER|AUDIO_DEVICE_OUT_EARPIECE|AUDIO_DEVICE_OUT_WIRED_HEADSET|AUDIO_DEVICE_OUT_WIRED_HEADPHONE|AUDIO_DEVICE_OUT_ALL_SCO
|
||||||
|
flags AUDIO_OUTPUT_FLAG_DEEP_BUFFER
|
||||||
|
}
|
||||||
|
}
|
||||||
|
inputs {
|
||||||
|
primary {
|
||||||
|
sampling_rates 8000|11025|12000|16000|22050|24000|32000|44100|48000
|
||||||
|
channel_masks AUDIO_CHANNEL_IN_MONO|AUDIO_CHANNEL_IN_STEREO|AUDIO_CHANNEL_IN_VOICE_UPLINK|AUDIO_CHANNEL_IN_VOICE_DNLINK
|
||||||
|
formats AUDIO_FORMAT_PCM_16_BIT
|
||||||
|
devices AUDIO_DEVICE_IN_BUILTIN_MIC|AUDIO_DEVICE_IN_WIRED_HEADSET|AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET|AUDIO_DEVICE_IN_VOICE_CALL|AUDIO_DEVICE_IN_FM
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
a2dp {
|
||||||
|
outputs {
|
||||||
|
a2dp {
|
||||||
|
sampling_rates 44100
|
||||||
|
channel_masks AUDIO_CHANNEL_OUT_STEREO
|
||||||
|
formats AUDIO_FORMAT_PCM_16_BIT
|
||||||
|
devices AUDIO_DEVICE_OUT_ALL_A2DP
|
||||||
|
}
|
||||||
|
}
|
||||||
|
inputs {
|
||||||
|
a2dp {
|
||||||
|
sampling_rates 44100|48000
|
||||||
|
channel_masks AUDIO_CHANNEL_IN_MONO|AUDIO_CHANNEL_IN_STEREO
|
||||||
|
formats AUDIO_FORMAT_PCM_16_BIT
|
||||||
|
devices AUDIO_DEVICE_IN_BLUETOOTH_A2DP
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
usb {
|
||||||
|
outputs {
|
||||||
|
usb_accessory {
|
||||||
|
sampling_rates 44100
|
||||||
|
channel_masks AUDIO_CHANNEL_OUT_STEREO
|
||||||
|
formats AUDIO_FORMAT_PCM_16_BIT
|
||||||
|
devices AUDIO_DEVICE_OUT_USB_ACCESSORY
|
||||||
|
}
|
||||||
|
usb_device {
|
||||||
|
sampling_rates 44100|48000
|
||||||
|
channel_masks dynamic
|
||||||
|
formats AUDIO_FORMAT_PCM_16_BIT
|
||||||
|
devices AUDIO_DEVICE_OUT_USB_DEVICE|AUDIO_DEVICE_OUT_DGTL_DOCK_HEADSET
|
||||||
|
}
|
||||||
|
}
|
||||||
|
inputs {
|
||||||
|
usb_device {
|
||||||
|
sampling_rates dynamic
|
||||||
|
channel_masks AUDIO_CHANNEL_IN_STEREO
|
||||||
|
formats dynamic
|
||||||
|
devices AUDIO_DEVICE_IN_USB_DEVICE
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
tms {
|
||||||
|
outputs {
|
||||||
|
tms {
|
||||||
|
sampling_rates 8000|11025|12000|16000|22050|24000|32000|44100|48000
|
||||||
|
channel_masks AUDIO_CHANNEL_OUT_STEREO
|
||||||
|
formats AUDIO_FORMAT_PCM_16_BIT
|
||||||
|
devices AUDIO_DEVICE_OUT_EXTERNAL_TMS
|
||||||
|
}
|
||||||
|
}
|
||||||
|
inputs {
|
||||||
|
tms {
|
||||||
|
sampling_rates 8000|11025|12000|16000|22050|24000|32000|44100|48000
|
||||||
|
channel_masks AUDIO_CHANNEL_IN_MONO|AUDIO_CHANNEL_IN_STEREO
|
||||||
|
formats AUDIO_FORMAT_PCM_16_BIT
|
||||||
|
devices AUDIO_DEVICE_IN_EXTERNAL_TMS
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
r_submix {
|
||||||
|
outputs {
|
||||||
|
submix {
|
||||||
|
sampling_rates 48000|44100
|
||||||
|
channel_masks AUDIO_CHANNEL_OUT_STEREO
|
||||||
|
formats AUDIO_FORMAT_PCM_16_BIT
|
||||||
|
devices AUDIO_DEVICE_OUT_REMOTE_SUBMIX
|
||||||
|
}
|
||||||
|
}
|
||||||
|
inputs {
|
||||||
|
submix {
|
||||||
|
sampling_rates 48000|44100
|
||||||
|
channel_masks AUDIO_CHANNEL_IN_STEREO
|
||||||
|
formats AUDIO_FORMAT_PCM_16_BIT
|
||||||
|
devices AUDIO_DEVICE_IN_REMOTE_SUBMIX
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
playback_record {
|
||||||
|
inputs {
|
||||||
|
playback_record {
|
||||||
|
sampling_rates 48000
|
||||||
|
channel_masks AUDIO_CHANNEL_IN_STEREO
|
||||||
|
formats AUDIO_FORMAT_PCM_16_BIT
|
||||||
|
devices AUDIO_DEVICE_IN_PLAYBACK
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
148
configs/audio/audio_policy_configuration.xml
Executable file
148
configs/audio/audio_policy_configuration.xml
Executable file
|
@ -0,0 +1,148 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||||
|
<!-- add for Samsung LSI model -->
|
||||||
|
|
||||||
|
<audioPolicyConfiguration version="1.0" xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||||
|
|
||||||
|
<globalConfiguration speaker_drc_enabled="false"/>
|
||||||
|
|
||||||
|
<modules>
|
||||||
|
<module name="primary" halVersion="3.0">
|
||||||
|
<attachedDevices>
|
||||||
|
<item>Earpiece</item>
|
||||||
|
<item>Speaker</item>
|
||||||
|
<item>Built-In Mic</item>
|
||||||
|
<item>Built-In Back Mic</item>
|
||||||
|
<item>Voice Call Mic</item>
|
||||||
|
</attachedDevices>
|
||||||
|
|
||||||
|
<defaultOutputDevice>Speaker</defaultOutputDevice>
|
||||||
|
|
||||||
|
<mixPorts>
|
||||||
|
<!-- Playback(Output) Streams -->
|
||||||
|
<mixPort name="primary-out" role="source" flags="AUDIO_OUTPUT_FLAG_PRIMARY|AUDIO_OUTPUT_FLAG_DEEP_BUFFER">
|
||||||
|
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||||
|
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||||
|
</mixPort>
|
||||||
|
|
||||||
|
<mixPort name="fast" role="source" flags="AUDIO_OUTPUT_FLAG_FAST">
|
||||||
|
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||||
|
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||||
|
</mixPort>
|
||||||
|
|
||||||
|
<mixPort name="hdmi" role="source" flags="AUDIO_OUTPUT_FLAG_MULTI_CH">
|
||||||
|
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||||
|
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_5POINT1"/>
|
||||||
|
</mixPort>
|
||||||
|
|
||||||
|
<!-- Capture(Input) Streams -->
|
||||||
|
<mixPort name="primary-in" role="sink">
|
||||||
|
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||||
|
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
|
||||||
|
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_IN_VOICE_UPLINK,AUDIO_CHANNEL_IN_VOICE_DNLINK"/>
|
||||||
|
</mixPort>
|
||||||
|
|
||||||
|
</mixPorts>
|
||||||
|
|
||||||
|
<devicePorts>
|
||||||
|
<!-- output devices declaration, i.e. Sink DEVICE PORT -->
|
||||||
|
<devicePort tagName="Earpiece" role="sink" type="AUDIO_DEVICE_OUT_EARPIECE">
|
||||||
|
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||||
|
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_MONO"/>
|
||||||
|
</devicePort>
|
||||||
|
<devicePort tagName="Speaker" role="sink" type="AUDIO_DEVICE_OUT_SPEAKER">
|
||||||
|
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||||
|
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||||
|
</devicePort>
|
||||||
|
<devicePort tagName="Wired Headset" role="sink" type="AUDIO_DEVICE_OUT_WIRED_HEADSET">
|
||||||
|
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||||
|
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||||
|
</devicePort>
|
||||||
|
<devicePort tagName="Wired Headphone" role="sink" type="AUDIO_DEVICE_OUT_WIRED_HEADPHONE">
|
||||||
|
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||||
|
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||||
|
</devicePort>
|
||||||
|
<devicePort tagName="Bt Sco All" role="sink" type="AUDIO_DEVICE_OUT_BLUETOOTH_SCO_HEADSET">
|
||||||
|
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||||
|
samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
|
||||||
|
</devicePort>
|
||||||
|
<devicePort tagName="Aux Device Out" role="sink" type="AUDIO_DEVICE_OUT_AUX_DIGITAL">
|
||||||
|
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||||
|
samplingRates="44100,48000,64000,88200,96000,128000,176400,192000"
|
||||||
|
channelMasks="AUDIO_CHANNEL_OUT_MONO,AUDIO_CHANNEL_OUT_STEREO,AUDIO_CHANNEL_OUT_2POINT1,AUDIO_CHANNEL_OUT_QUAD,AUDIO_CHANNEL_OUT_PENTA,AUDIO_CHANNEL_OUT_5POINT1,AUDIO_CHANNEL_OUT_6POINT1,AUDIO_CHANNEL_OUT_7POINT1"/>
|
||||||
|
</devicePort>
|
||||||
|
|
||||||
|
<!-- input devices declaration, i.e. source DEVICE PORT -->
|
||||||
|
<devicePort tagName="Built-In Mic" type="AUDIO_DEVICE_IN_BUILTIN_MIC" role="source">
|
||||||
|
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||||
|
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
|
||||||
|
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_IN_VOICE_UPLINK,AUDIO_CHANNEL_IN_VOICE_DNLINK"/>
|
||||||
|
</devicePort>
|
||||||
|
<devicePort tagName="Built-In Back Mic" type="AUDIO_DEVICE_IN_BACK_MIC" role="source">
|
||||||
|
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||||
|
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
|
||||||
|
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_IN_VOICE_UPLINK,AUDIO_CHANNEL_IN_VOICE_DNLINK"/>
|
||||||
|
</devicePort>
|
||||||
|
<devicePort tagName="Wired Headset Mic" type="AUDIO_DEVICE_IN_WIRED_HEADSET" role="source">
|
||||||
|
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||||
|
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
|
||||||
|
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_IN_VOICE_UPLINK,AUDIO_CHANNEL_IN_VOICE_DNLINK"/>
|
||||||
|
</devicePort>
|
||||||
|
<devicePort tagName="Bt Sco Headset Mic" type="AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET" role="source">
|
||||||
|
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||||
|
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
|
||||||
|
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_IN_VOICE_UPLINK,AUDIO_CHANNEL_IN_VOICE_DNLINK"/>
|
||||||
|
</devicePort>
|
||||||
|
<devicePort tagName="Aux Device In" type="AUDIO_DEVICE_IN_AUX_DIGITAL" role="source">
|
||||||
|
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||||
|
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
|
||||||
|
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_IN_VOICE_UPLINK,AUDIO_CHANNEL_IN_VOICE_DNLINK"/>
|
||||||
|
</devicePort>
|
||||||
|
<devicePort tagName="Voice Call Mic" type="AUDIO_DEVICE_IN_VOICE_CALL" role="source">
|
||||||
|
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||||
|
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
|
||||||
|
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_IN_VOICE_UPLINK,AUDIO_CHANNEL_IN_VOICE_DNLINK"/>
|
||||||
|
</devicePort>
|
||||||
|
<devicePort tagName="FM Mic" type="AUDIO_DEVICE_IN_FM_TUNER" role="source">
|
||||||
|
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
|
||||||
|
samplingRates="8000,11025,12000,16000,22050,24000,32000,44100,48000"
|
||||||
|
channelMasks="AUDIO_CHANNEL_IN_MONO,AUDIO_CHANNEL_IN_STEREO,AUDIO_CHANNEL_IN_FRONT_BACK,AUDIO_CHANNEL_IN_VOICE_UPLINK,AUDIO_CHANNEL_IN_VOICE_DNLINK"/>
|
||||||
|
</devicePort>
|
||||||
|
|
||||||
|
</devicePorts>
|
||||||
|
|
||||||
|
<routes>
|
||||||
|
<route sink="Earpiece" type="mix"
|
||||||
|
sources="primary-out,fast"/>
|
||||||
|
<route sink="Speaker" type="mix"
|
||||||
|
sources="primary-out,fast"/>
|
||||||
|
<route sink="Wired Headset" type="mix"
|
||||||
|
sources="primary-out,fast"/>
|
||||||
|
<route sink="Wired Headphone" type="mix"
|
||||||
|
sources="primary-out,fast"/>
|
||||||
|
<route sink="Bt Sco All" type="mix"
|
||||||
|
sources="primary-out,fast"/>
|
||||||
|
<route sink="Aux Device Out" type="mix"
|
||||||
|
sources="hdmi"/>
|
||||||
|
|
||||||
|
<route sink="primary-in" type="mix"
|
||||||
|
sources="Built-In Mic,Built-In Back Mic,Wired Headset Mic,Bt Sco Headset Mic,Aux Device In,Voice Call Mic,FM Mic"/>
|
||||||
|
|
||||||
|
</routes>
|
||||||
|
</module>
|
||||||
|
|
||||||
|
<!-- A2dp Audio HAL -->
|
||||||
|
<xi:include href="a2dp_audio_policy_configuration.xml"/>
|
||||||
|
|
||||||
|
<!-- Usb Audio HAL -->
|
||||||
|
<xi:include href="usb_audio_policy_configuration.xml"/>
|
||||||
|
|
||||||
|
<!-- Remote Submix Audio HAL -->
|
||||||
|
<xi:include href="r_submix_audio_policy_configuration.xml"/>
|
||||||
|
|
||||||
|
</modules>
|
||||||
|
|
||||||
|
<!-- Volume section -->
|
||||||
|
<xi:include href="audio_policy_volumes.xml"/>
|
||||||
|
<xi:include href="default_volume_tables.xml"/>
|
||||||
|
|
||||||
|
</audioPolicyConfiguration>
|
1867
configs/audio/mixer_gains.xml
Normal file
1867
configs/audio/mixer_gains.xml
Normal file
File diff suppressed because it is too large
Load diff
1638
configs/audio/mixer_paths_0.xml
Normal file
1638
configs/audio/mixer_paths_0.xml
Normal file
File diff suppressed because it is too large
Load diff
58
configs/camera/external_camera_config.xml
Normal file
58
configs/camera/external_camera_config.xml
Normal file
|
@ -0,0 +1,58 @@
|
||||||
|
<ExternalCamera>
|
||||||
|
<Provider>
|
||||||
|
<!-- Internal video devices to be ignored by external camera HAL -->
|
||||||
|
<ignore>
|
||||||
|
<id>6</id>
|
||||||
|
<id>7</id>
|
||||||
|
<id>8</id>
|
||||||
|
<id>9</id>
|
||||||
|
<id>12</id>
|
||||||
|
<id>50</id>
|
||||||
|
<id>101</id>
|
||||||
|
<id>102</id>
|
||||||
|
<id>103</id>
|
||||||
|
<id>104</id>
|
||||||
|
<id>109</id>
|
||||||
|
<id>110</id>
|
||||||
|
<id>111</id>
|
||||||
|
<id>112</id>
|
||||||
|
<id>120</id>
|
||||||
|
<id>121</id>
|
||||||
|
<id>122</id>
|
||||||
|
<id>130</id>
|
||||||
|
<id>131</id>
|
||||||
|
<id>132</id>
|
||||||
|
<id>140</id>
|
||||||
|
<id>141</id>
|
||||||
|
<id>142</id>
|
||||||
|
<id>160</id>
|
||||||
|
<id>161</id>
|
||||||
|
<id>170</id>
|
||||||
|
<id>171</id>
|
||||||
|
<id>172</id>
|
||||||
|
<id>173</id>
|
||||||
|
<id>174</id>
|
||||||
|
<id>180</id>
|
||||||
|
<id>190</id>
|
||||||
|
<id>191</id>
|
||||||
|
<id>192</id>
|
||||||
|
<id>193</id>
|
||||||
|
<id>210</id>
|
||||||
|
<id>211</id>
|
||||||
|
<id>212</id>
|
||||||
|
<id>213</id>
|
||||||
|
<id>214</id>
|
||||||
|
<id>215</id>
|
||||||
|
<id>216</id>
|
||||||
|
<id>217</id>
|
||||||
|
<id>218</id>
|
||||||
|
<id>219</id>
|
||||||
|
<id>220</id>
|
||||||
|
<id>221</id>
|
||||||
|
<id>222</id>
|
||||||
|
<id>223</id>
|
||||||
|
<id>224</id>
|
||||||
|
<id>225</id>
|
||||||
|
</ignore>
|
||||||
|
</Provider>
|
||||||
|
</ExternalCamera>
|
19
configs/idc/AVRCP.idc
Normal file
19
configs/idc/AVRCP.idc
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
# Copyright (C) 2015 The Android Open Source Project
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
|
||||||
|
#
|
||||||
|
# AVRCP
|
||||||
|
#
|
||||||
|
|
||||||
|
device.internal = 1
|
28
configs/idc/qwerty.idc
Normal file
28
configs/idc/qwerty.idc
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
# Copyright (C) 2010 The Android Open Source Project
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
|
||||||
|
#
|
||||||
|
# Emulator keyboard configuration file #1.
|
||||||
|
#
|
||||||
|
|
||||||
|
touch.deviceType = touchScreen
|
||||||
|
touch.orientationAware = 1
|
||||||
|
|
||||||
|
keyboard.layout = qwerty
|
||||||
|
keyboard.characterMap = qwerty
|
||||||
|
keyboard.orientationAware = 1
|
||||||
|
keyboard.builtIn = 1
|
||||||
|
|
||||||
|
cursor.mode = navigation
|
||||||
|
cursor.orientationAware = 1
|
28
configs/idc/qwerty2.idc
Normal file
28
configs/idc/qwerty2.idc
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
# Copyright (C) 2010 The Android Open Source Project
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
|
||||||
|
#
|
||||||
|
# Emulator keyboard configuration file #2.
|
||||||
|
#
|
||||||
|
|
||||||
|
touch.deviceType = touchScreen
|
||||||
|
touch.orientationAware = 1
|
||||||
|
|
||||||
|
keyboard.layout = qwerty
|
||||||
|
keyboard.characterMap = qwerty2
|
||||||
|
keyboard.orientationAware = 1
|
||||||
|
keyboard.builtIn = 1
|
||||||
|
|
||||||
|
cursor.mode = navigation
|
||||||
|
cursor.orientationAware = 1
|
30
configs/keylayout/gpio-keys.kl
Normal file
30
configs/keylayout/gpio-keys.kl
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
# Copyright (c) 2013, The Linux Foundation. All rights reserved.
|
||||||
|
#
|
||||||
|
# Redistribution and use in source and binary forms, with or without
|
||||||
|
# modification, are permitted provided that the following conditions are
|
||||||
|
# met:
|
||||||
|
# * Redistributions of source code must retain the above copyright
|
||||||
|
# notice, this list of conditions and the following disclaimer.
|
||||||
|
# * Redistributions in binary form must reproduce the above
|
||||||
|
# copyright notice, this list of conditions and the following
|
||||||
|
# disclaimer in the documentation and/or other materials provided
|
||||||
|
# with the distribution.
|
||||||
|
# * Neither the name of The Linux Foundation nor the names of its
|
||||||
|
# contributors may be used to endorse or promote products derived
|
||||||
|
# from this software without specific prior written permission.
|
||||||
|
#
|
||||||
|
# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
|
||||||
|
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||||
|
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
|
||||||
|
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
|
||||||
|
# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
|
||||||
|
# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||||
|
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
|
||||||
|
# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
|
||||||
|
|
||||||
|
key 114 VOLUME_DOWN
|
||||||
|
key 115 VOLUME_UP
|
||||||
|
key 116 POWER
|
||||||
|
key 172 HOME
|
19
configs/keylayout/sec_touchkey.kl
Normal file
19
configs/keylayout/sec_touchkey.kl
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
#
|
||||||
|
# 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.
|
||||||
|
#
|
||||||
|
|
||||||
|
key 158 BACK
|
||||||
|
key 172 HOME
|
||||||
|
key 254 APP_SWITCH
|
18
configs/keylayout/sec_touchscreen.kl
Normal file
18
configs/keylayout/sec_touchscreen.kl
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
#
|
||||||
|
# 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.
|
||||||
|
#
|
||||||
|
|
||||||
|
key 158 BACK
|
||||||
|
key 254 APP_SWITCH
|
223
configs/media/media_codecs.xml
Normal file
223
configs/media/media_codecs.xml
Normal file
|
@ -0,0 +1,223 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8" ?>
|
||||||
|
<!-- Copyright (C) 2012 The Android Open Source Project
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!--
|
||||||
|
<!DOCTYPE MediaCodecs [
|
||||||
|
<!ELEMENT Include EMPTY>
|
||||||
|
<!ATTLIST Include href CDATA #REQUIRED>
|
||||||
|
<!ELEMENT MediaCodecs (Decoders|Encoders|Include)*>
|
||||||
|
<!ELEMENT Decoders (MediaCodec|Include)*>
|
||||||
|
<!ELEMENT Encoders (MediaCodec|Include)*>
|
||||||
|
<!ELEMENT MediaCodec (Type|Quirk|Include)*>
|
||||||
|
<!ATTLIST MediaCodec name CDATA #REQUIRED>
|
||||||
|
<!ATTLIST MediaCodec type CDATA>
|
||||||
|
<!ELEMENT Type EMPTY>
|
||||||
|
<!ATTLIST Type name CDATA #REQUIRED>
|
||||||
|
<!ELEMENT Quirk EMPTY>
|
||||||
|
<!ATTLIST Quirk name CDATA #REQUIRED>
|
||||||
|
]>
|
||||||
|
|
||||||
|
There's a simple and a complex syntax to declare the availability of a
|
||||||
|
media codec:
|
||||||
|
|
||||||
|
A codec that properly follows the OpenMax spec and therefore doesn't have any
|
||||||
|
quirks and that only supports a single content type can be declared like so:
|
||||||
|
|
||||||
|
<MediaCodec name="OMX.foo.bar" type="something/interesting" />
|
||||||
|
|
||||||
|
If a codec has quirks OR supports multiple content types, the following syntax
|
||||||
|
can be used:
|
||||||
|
|
||||||
|
<MediaCodec name="OMX.foo.bar" >
|
||||||
|
<Type name="something/interesting" />
|
||||||
|
<Type name="something/else" />
|
||||||
|
...
|
||||||
|
<Quirk name="requires-allocate-on-input-ports" />
|
||||||
|
<Quirk name="requires-allocate-on-output-ports" />
|
||||||
|
<Quirk name="output-buffers-are-unreadable" />
|
||||||
|
</MediaCodec>
|
||||||
|
|
||||||
|
Only the three quirks included above are recognized at this point:
|
||||||
|
|
||||||
|
"requires-allocate-on-input-ports"
|
||||||
|
must be advertised if the component does not properly support specification
|
||||||
|
of input buffers using the OMX_UseBuffer(...) API but instead requires
|
||||||
|
OMX_AllocateBuffer to be used.
|
||||||
|
|
||||||
|
"requires-allocate-on-output-ports"
|
||||||
|
must be advertised if the component does not properly support specification
|
||||||
|
of output buffers using the OMX_UseBuffer(...) API but instead requires
|
||||||
|
OMX_AllocateBuffer to be used.
|
||||||
|
|
||||||
|
"output-buffers-are-unreadable"
|
||||||
|
must be advertised if the emitted output buffers of a decoder component
|
||||||
|
are not readable, i.e. use a custom format even though abusing one of
|
||||||
|
the official OMX colorspace constants.
|
||||||
|
Clients of such decoders will not be able to access the decoded data,
|
||||||
|
naturally making the component much less useful. The only use for
|
||||||
|
a component with this quirk is to render the output to the screen.
|
||||||
|
Audio decoders MUST NOT advertise this quirk.
|
||||||
|
Video decoders that advertise this quirk must be accompanied by a
|
||||||
|
corresponding color space converter for thumbnail extraction,
|
||||||
|
matching surfaceflinger support that can render the custom format to
|
||||||
|
a texture and possibly other code, so just DON'T USE THIS QUIRK.
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
||||||
|
<MediaCodecs>
|
||||||
|
<Settings>
|
||||||
|
<Setting name="supports-multiple-secure-codecs" value="true" />
|
||||||
|
<Setting name="supports-secure-with-non-secure-codec" value="true" />
|
||||||
|
<Setting name="max-video-encoder-input-buffers" value="9" />
|
||||||
|
</Settings>
|
||||||
|
<Decoders>
|
||||||
|
<MediaCodec name="OMX.Exynos.mpeg4.dec" type="video/mp4v-es" >
|
||||||
|
<Quirk name="requires-allocate-on-input-ports" />
|
||||||
|
<Quirk name="requires-allocate-on-output-ports" />
|
||||||
|
<Limit name="size" min="32x32" max="1920x1088" />
|
||||||
|
<Limit name="alignment" value="2x2" />
|
||||||
|
<Limit name="block-size" value="16x16" />
|
||||||
|
<Limit name="blocks-per-second" min="1" max="489600" />
|
||||||
|
<Limit name="bitrate" range="1-40000000" />
|
||||||
|
<Limit name="concurrent-instances" max="16" />
|
||||||
|
<Feature name="adaptive-playback" />
|
||||||
|
</MediaCodec>
|
||||||
|
<MediaCodec name="OMX.Exynos.h263.dec" type="video/3gpp" >
|
||||||
|
<Quirk name="requires-allocate-on-input-ports" />
|
||||||
|
<Quirk name="requires-allocate-on-output-ports" />
|
||||||
|
<Limit name="size" min="32x32" max="720x480" />
|
||||||
|
<Limit name="alignment" value="4x4" />
|
||||||
|
<Limit name="block-size" value="16x16" />
|
||||||
|
<Limit name="blocks-per-second" min="1" max="48600" />
|
||||||
|
<Limit name="bitrate" range="1-40000000" />
|
||||||
|
<Limit name="concurrent-instances" max="16" />
|
||||||
|
<Feature name="adaptive-playback" />
|
||||||
|
</MediaCodec>
|
||||||
|
<MediaCodec name="OMX.Exynos.avc.dec" type="video/avc" >
|
||||||
|
<Quirk name="requires-allocate-on-input-ports" />
|
||||||
|
<Quirk name="requires-allocate-on-output-ports" />
|
||||||
|
<Limit name="size" min="32x32" max="1920x1440" />
|
||||||
|
<Limit name="alignment" value="2x2" />
|
||||||
|
<Limit name="block-size" value="16x16" />
|
||||||
|
<Limit name="blocks-per-second" min="1" max="489600" />
|
||||||
|
<Limit name="bitrate" range="1-40000000" />
|
||||||
|
<Limit name="concurrent-instances" max="16" />
|
||||||
|
<Feature name="adaptive-playback" />
|
||||||
|
</MediaCodec>
|
||||||
|
<MediaCodec name="OMX.Exynos.avc.dec.secure" type="video/avc" >
|
||||||
|
<Quirk name="requires-allocate-on-input-ports" />
|
||||||
|
<Quirk name="requires-allocate-on-output-ports" />
|
||||||
|
<Limit name="size" min="32x32" max="1920x1088" />
|
||||||
|
<Limit name="alignment" value="2x2" />
|
||||||
|
<Limit name="block-size" value="16x16" />
|
||||||
|
<Limit name="blocks-per-second" min="1" max="489600" />
|
||||||
|
<Limit name="bitrate" range="1-40000000" />
|
||||||
|
<Limit name="concurrent-instances" max="2" />
|
||||||
|
<Feature name="adaptive-playback" />
|
||||||
|
<Feature name="secure-playback" required="true" />
|
||||||
|
</MediaCodec>
|
||||||
|
<MediaCodec name="OMX.Exynos.vp8.dec" type="video/x-vnd.on2.vp8" >
|
||||||
|
<Quirk name="requires-allocate-on-input-ports" />
|
||||||
|
<Quirk name="requires-allocate-on-output-ports" />
|
||||||
|
<Limit name="size" min="32x32" max="1920x1088" />
|
||||||
|
<Limit name="alignment" value="2x2" />
|
||||||
|
<Limit name="block-size" value="16x16" />
|
||||||
|
<Limit name="blocks-per-second" min="1" max="489600" />
|
||||||
|
<Limit name="bitrate" range="1-40000000" />
|
||||||
|
<Limit name="concurrent-instances" max="16" />
|
||||||
|
<Feature name="adaptive-playback" />
|
||||||
|
</MediaCodec>
|
||||||
|
<MediaCodec name="OMX.Exynos.hevc.dec" type="video/hevc" >
|
||||||
|
<Quirk name="requires-allocate-on-input-ports" />
|
||||||
|
<Quirk name="requires-allocate-on-output-ports" />
|
||||||
|
<Limit name="size" min="64x64" max="1920x1088" />
|
||||||
|
<Limit name="alignment" value="2x2" />
|
||||||
|
<Limit name="block-size" value="16x16" />
|
||||||
|
<Limit name="blocks-per-second" min="1" max="489600" />
|
||||||
|
<Limit name="bitrate" range="1-50000000" />
|
||||||
|
<Limit name="concurrent-instances" max="16" />
|
||||||
|
<Feature name="adaptive-playback" />
|
||||||
|
</MediaCodec>
|
||||||
|
<MediaCodec name="OMX.Exynos.vc1.dec" >
|
||||||
|
<Type name="video/wvc1" />
|
||||||
|
<Type name="video/x-ms-wmv" />
|
||||||
|
<Quirk name="requires-allocate-on-input-ports" />
|
||||||
|
<Quirk name="requires-allocate-on-output-ports" />
|
||||||
|
<Limit name="size" min="32x32" max="1920x1088" />
|
||||||
|
<Limit name="alignment" value="2x2" />
|
||||||
|
<Limit name="block-size" value="16x16" />
|
||||||
|
<Limit name="blocks-per-second" min="1" max="489600" />
|
||||||
|
<Limit name="bitrate" range="1-40000000" />
|
||||||
|
<Limit name="concurrent-instances" max="16"/>
|
||||||
|
<Feature name="adaptive-playback" />
|
||||||
|
</MediaCodec>
|
||||||
|
</Decoders>
|
||||||
|
<Encoders>
|
||||||
|
<MediaCodec name="OMX.Exynos.AVC.Encoder" type="video/avc" >
|
||||||
|
<Quirk name="requires-allocate-on-input-ports" />
|
||||||
|
<Quirk name="requires-allocate-on-output-ports" />
|
||||||
|
<Limit name="size" min="32x32" max="1920x1088" />
|
||||||
|
<Limit name="alignment" value="2x2" />
|
||||||
|
<Limit name="block-size" value="16x16" />
|
||||||
|
<Limit name="blocks-per-second" min="1" max="486000" />
|
||||||
|
<Limit name="bitrate" range="1-40000000" />
|
||||||
|
<Limit name="concurrent-instances" max="16" />
|
||||||
|
</MediaCodec>
|
||||||
|
<MediaCodec name="OMX.Exynos.H263.Encoder" type="video/3gpp" >
|
||||||
|
<Quirk name="requires-allocate-on-input-ports" />
|
||||||
|
<Quirk name="requires-allocate-on-output-ports" />
|
||||||
|
<Limit name="size" min="32x32" max="1920x1088" />
|
||||||
|
<Limit name="alignment" value="4x4" />
|
||||||
|
<Limit name="block-size" value="16x16" />
|
||||||
|
<Limit name="blocks-per-second" min="1" max="486000" />
|
||||||
|
<Limit name="bitrate" range="1-40000000" />
|
||||||
|
<Limit name="concurrent-instances" max="16" />
|
||||||
|
</MediaCodec>
|
||||||
|
<MediaCodec name="OMX.Exynos.MPEG4.Encoder" type="video/mp4v-es" >
|
||||||
|
<Quirk name="requires-allocate-on-input-ports" />
|
||||||
|
<Quirk name="requires-allocate-on-output-ports" />
|
||||||
|
<Limit name="size" min="32x32" max="1920x1088" />
|
||||||
|
<Limit name="alignment" value="2x2" />
|
||||||
|
<Limit name="block-size" value="16x16" />
|
||||||
|
<Limit name="blocks-per-second" min="1" max="486000" />
|
||||||
|
<Limit name="bitrate" range="1-40000000" />
|
||||||
|
<Limit name="concurrent-instances" max="16" />
|
||||||
|
</MediaCodec>
|
||||||
|
<MediaCodec name="OMX.Exynos.VP8.Encoder" type="video/x-vnd.on2.vp8" >
|
||||||
|
<Quirk name="requires-allocate-on-input-ports" />
|
||||||
|
<Quirk name="requires-allocate-on-output-ports" />
|
||||||
|
<Limit name="size" min="32x32" max="1920x1088" />
|
||||||
|
<Limit name="alignment" value="2x2" />
|
||||||
|
<Limit name="block-size" value="16x16" />
|
||||||
|
<Limit name="blocks-per-second" min="1" max="486000" />
|
||||||
|
<Limit name="bitrate" range="1-40000000" />
|
||||||
|
<Limit name="concurrent-instances" max="16" />
|
||||||
|
</MediaCodec>
|
||||||
|
<MediaCodec name="OMX.Exynos.HEVC.Encoder" type="video/hevc" >
|
||||||
|
<Quirk name="requires-allocate-on-input-ports" />
|
||||||
|
<Quirk name="requires-allocate-on-output-ports" />
|
||||||
|
<Limit name="size" min="64x64" max="1920x1088" />
|
||||||
|
<Limit name="alignment" value="2x2" />
|
||||||
|
<Limit name="block-size" value="64x64" />
|
||||||
|
<Limit name="blocks-per-second" min="1" max="30375" />
|
||||||
|
<Limit name="bitrate" range="1-50000000" />
|
||||||
|
<Limit name="concurrent-instances" max="16" />
|
||||||
|
</MediaCodec>
|
||||||
|
</Encoders>
|
||||||
|
<Include href="media_codecs_google_video_le.xml" />
|
||||||
|
<Include href="media_codecs_google_audio.xml" />
|
||||||
|
<Include href="media_codecs_google_telephony.xml" />
|
||||||
|
</MediaCodecs>
|
158
configs/media/media_codecs_performance.xml
Normal file
158
configs/media/media_codecs_performance.xml
Normal file
|
@ -0,0 +1,158 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8" ?>
|
||||||
|
<!-- Copyright 2015 The Android Open Source Project
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<MediaCodecs>
|
||||||
|
<Encoders>
|
||||||
|
<MediaCodec name="OMX.Exynos.AVC.Encoder" type="video/avc" update="true" >
|
||||||
|
<Limit name="measured-frame-rate-320x240" range="180-250" />
|
||||||
|
<Limit name="measured-frame-rate-720x480" range="120-140" />
|
||||||
|
<Limit name="measured-frame-rate-1280x720" range="40-60" />
|
||||||
|
<Limit name="measured-frame-rate-1920x1080" range="20-50" />
|
||||||
|
</MediaCodec>
|
||||||
|
<MediaCodec name="OMX.Exynos.H263.Encoder" type="video/3gpp" update="true" >
|
||||||
|
<Limit name="measured-frame-rate-176x144" range="200-400" />
|
||||||
|
<Limit name="measured-frame-rate-352x288" range="150-220" />
|
||||||
|
<Limit name="measured-frame-rate-720x480" range="80-140" />
|
||||||
|
<Limit name="measured-frame-rate-1280x720" range="40-90" />
|
||||||
|
<Limit name="measured-frame-rate-1920x1080" range="10-30" />
|
||||||
|
</MediaCodec>
|
||||||
|
<MediaCodec name="OMX.Exynos.HEVC.Encoder" type="video/hevc" update="true" >
|
||||||
|
<Limit name="measured-frame-rate-320x240" range="180-250" />
|
||||||
|
<Limit name="measured-frame-rate-720x480" range="120-140" />
|
||||||
|
<Limit name="measured-frame-rate-1280x720" range="40-60" />
|
||||||
|
<Limit name="measured-frame-rate-1920x1080" range="20-50" />
|
||||||
|
</MediaCodec>
|
||||||
|
<MediaCodec name="OMX.Exynos.VP8.Encoder" type="video/x-vnd.on2.vp8" update="true" >
|
||||||
|
<Limit name="measured-frame-rate-320x240" range="180-250" />
|
||||||
|
<Limit name="measured-frame-rate-720x480" range="120-140" />
|
||||||
|
<Limit name="measured-frame-rate-1280x720" range="40-60" />
|
||||||
|
<Limit name="measured-frame-rate-1920x1080" range="20-50" />
|
||||||
|
</MediaCodec>
|
||||||
|
<MediaCodec name="OMX.Exynos.MPEG4.Encoder" type="video/mp4v-es" update="true" >
|
||||||
|
<Limit name="measured-frame-rate-320x240" range="180-250" />
|
||||||
|
<Limit name="measured-frame-rate-720x480" range="120-140" />
|
||||||
|
<Limit name="measured-frame-rate-1280x720" range="40-60" />
|
||||||
|
<Limit name="measured-frame-rate-1920x1080" range="20-50" />
|
||||||
|
</MediaCodec>
|
||||||
|
|
||||||
|
<MediaCodec name="OMX.google.h264.encoder" type="video/avc" update="true">
|
||||||
|
<Limit name="measured-frame-rate-320x240" range="180-210" />
|
||||||
|
<Limit name="measured-frame-rate-720x480" range="50-100" />
|
||||||
|
<Limit name="measured-frame-rate-1280x720" range="20-30" />
|
||||||
|
<Limit name="measured-frame-rate-1920x1080" range="10-20" />
|
||||||
|
</MediaCodec>
|
||||||
|
<MediaCodec name="OMX.google.h263.encoder" type="video/3gpp" update="true">
|
||||||
|
<Limit name="measured-frame-rate-176x144" range="350-420" />
|
||||||
|
</MediaCodec>
|
||||||
|
<MediaCodec name="OMX.google.vp8.encoder" type="video/x-vnd.on2.vp8" update="true">
|
||||||
|
<Limit name="measured-frame-rate-320x180" range="50-210" />
|
||||||
|
<Limit name="measured-frame-rate-640x360" range="50-100" />
|
||||||
|
<Limit name="measured-frame-rate-1280x720" range="10-20" />
|
||||||
|
<Limit name="measured-frame-rate-1920x1080" range="5-10" />
|
||||||
|
</MediaCodec>
|
||||||
|
<MediaCodec name="OMX.google.mpeg4.encoder" type="video/mp4v-es" update="true">
|
||||||
|
<Limit name="measured-frame-rate-176x144" range="350-420" />
|
||||||
|
</MediaCodec>
|
||||||
|
</Encoders>
|
||||||
|
<Decoders>
|
||||||
|
<MediaCodec name="OMX.Exynos.avc.dec" type="video/avc" update="true" >
|
||||||
|
<Limit name="measured-frame-rate-320x240" range="500-1000" />
|
||||||
|
<Limit name="measured-frame-rate-720x480" range="450-900" />
|
||||||
|
<Limit name="measured-frame-rate-1280x720" range="200-400" />
|
||||||
|
<Limit name="measured-frame-rate-1920x1080" range="80-160" />
|
||||||
|
</MediaCodec>
|
||||||
|
<MediaCodec name="OMX.Exynos.h263.dec" type="video/3gpp" update="true" >
|
||||||
|
<Limit name="measured-frame-rate-176x144" range="600-1200" />
|
||||||
|
<Limit name="measured-frame-rate-352x288" range="500-1000" />
|
||||||
|
</MediaCodec>
|
||||||
|
<MediaCodec name="OMX.Exynos.hevc.dec" type="video/hevc" update="true" >
|
||||||
|
<Limit name="measured-frame-rate-352x288" range="400-800" />
|
||||||
|
<Limit name="measured-frame-rate-640x360" range="350-700" />
|
||||||
|
<Limit name="measured-frame-rate-1280x720" range="200-400" />
|
||||||
|
<Limit name="measured-frame-rate-1920x1080" range="90-180" />
|
||||||
|
</MediaCodec>
|
||||||
|
<MediaCodec name="OMX.Exynos.vp8.dec" type="video/x-vnd.on2.vp8" update="true" >
|
||||||
|
<Limit name="measured-frame-rate-320x180" range="600-1200" />
|
||||||
|
<Limit name="measured-frame-rate-640x360" range="450-900" />
|
||||||
|
<Limit name="measured-frame-rate-1280x720" range="200-400" />
|
||||||
|
<Limit name="measured-frame-rate-1920x1080" range="80-160" />
|
||||||
|
</MediaCodec>
|
||||||
|
<MediaCodec name="OMX.Exynos.mpeg4.dec" type="video/mp4v-es" update="true" >
|
||||||
|
<Limit name="measured-frame-rate-176x144" range="700-1400" />
|
||||||
|
<Limit name="measured-frame-rate-480x360" range="350-700" />
|
||||||
|
</MediaCodec>
|
||||||
|
<MediaCodec name="OMX.google.h264.decoder" type="video/avc" update="true">
|
||||||
|
<Limit name="measured-frame-rate-320x240" range="250-500" />
|
||||||
|
<Limit name="measured-frame-rate-720x480" range="80-160" />
|
||||||
|
<Limit name="measured-frame-rate-1280x720" range="35-70" />
|
||||||
|
<Limit name="measured-frame-rate-1920x1080" range="15-30" />
|
||||||
|
</MediaCodec>
|
||||||
|
<MediaCodec name="OMX.google.h263.decoder" type="video/3gpp" update="true">
|
||||||
|
<Limit name="measured-frame-rate-176x144" range="150-300" />
|
||||||
|
<Limit name="measured-frame-rate-352x288" range="150-300" />
|
||||||
|
</MediaCodec>
|
||||||
|
<MediaCodec name="OMX.google.hevc.decoder" type="video/hevc" update="true">
|
||||||
|
<Limit name="measured-frame-rate-352x288" range="300-600" />
|
||||||
|
<Limit name="measured-frame-rate-640x360" range="150-300" />
|
||||||
|
<Limit name="measured-frame-rate-1280x720" range="65-130" />
|
||||||
|
<Limit name="measured-frame-rate-1920x1080" range="35-70" />
|
||||||
|
</MediaCodec>
|
||||||
|
<MediaCodec name="OMX.google.vp8.decoder" type="video/x-vnd.on2.vp8" update="true">
|
||||||
|
<Limit name="measured-frame-rate-320x180" range="350-700" />
|
||||||
|
<Limit name="measured-frame-rate-640x360" range="110-220" />
|
||||||
|
<Limit name="measured-frame-rate-1280x720" range="25-50" />
|
||||||
|
<Limit name="measured-frame-rate-1920x1080" range="10-20" />
|
||||||
|
</MediaCodec>
|
||||||
|
<MediaCodec name="OMX.google.vp9.decoder" type="video/x-vnd.on2.vp9" update="true">
|
||||||
|
<Limit name="measured-frame-rate-320x180" range="250-500" />
|
||||||
|
<Limit name="measured-frame-rate-640x360" range="100-200" />
|
||||||
|
<Limit name="measured-frame-rate-1280x720" range="50-100" />
|
||||||
|
<Limit name="measured-frame-rate-1920x1080" range="30-60" />
|
||||||
|
</MediaCodec>
|
||||||
|
<MediaCodec name="OMX.google.mpeg4.decoder" update="true">
|
||||||
|
<Type name="video/mp4v-es">
|
||||||
|
<Limit name="measured-frame-rate-176x144" range="200-400" />
|
||||||
|
</Type>
|
||||||
|
</MediaCodec>
|
||||||
|
|
||||||
|
<MediaCodec name="OMX.SEC.avc.sw.dec" type="video/avc" update="true" >
|
||||||
|
<Limit name="measured-frame-rate-320x240" range="200-400" />
|
||||||
|
<Limit name="measured-frame-rate-720x480" range="70-140" />
|
||||||
|
<Limit name="measured-frame-rate-1280x720" range="25-50" />
|
||||||
|
<Limit name="measured-frame-rate-1920x1080" range="11-22" />
|
||||||
|
</MediaCodec>
|
||||||
|
<MediaCodec name="OMX.SEC.h263.sw.dec" type="video/3gpp" update="true" >
|
||||||
|
<Limit name="measured-frame-rate-176x144" range="700-1400" />
|
||||||
|
<Limit name="measured-frame-rate-352x288" range="600-1200" />
|
||||||
|
</MediaCodec>
|
||||||
|
<MediaCodec name="OMX.SEC.hevc.sw.dec" type="video/hevc" update="true" >
|
||||||
|
<Limit name="measured-frame-rate-352x288" range="200-400" />
|
||||||
|
<Limit name="measured-frame-rate-640x360" range="100-200" />
|
||||||
|
<Limit name="measured-frame-rate-1280x720" range="35-70" />
|
||||||
|
<Limit name="measured-frame-rate-1920x1080" range="20-40" />
|
||||||
|
</MediaCodec>
|
||||||
|
<MediaCodec name="OMX.SEC.vp8.dec" type="video/x-vnd.on2.vp8" update="true" >
|
||||||
|
<Limit name="measured-frame-rate-320x180" range="350-700" />
|
||||||
|
<Limit name="measured-frame-rate-640x360" range="100-200" />
|
||||||
|
<Limit name="measured-frame-rate-1280x720" range="25-50" />
|
||||||
|
<Limit name="measured-frame-rate-1920x1080" range="9-18" />
|
||||||
|
</MediaCodec>
|
||||||
|
<MediaCodec name="OMX.SEC.mpeg4.sw.dec" type="video/mp4v-es" update="true" >
|
||||||
|
<Limit name="measured-frame-rate-176x144" range="500-1000" />
|
||||||
|
<Limit name="measured-frame-rate-480x360" range="500-1000" />
|
||||||
|
</MediaCodec>
|
||||||
|
</Decoders>
|
||||||
|
</MediaCodecs>
|
637
configs/media/media_profiles_V1_0.xml
Normal file
637
configs/media/media_profiles_V1_0.xml
Normal file
|
@ -0,0 +1,637 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Copyright (C) 2010 The Android Open Source Project
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
-->
|
||||||
|
<!DOCTYPE MediaSettings [
|
||||||
|
<!ELEMENT MediaSettings (CamcorderProfiles,
|
||||||
|
EncoderOutputFileFormat+,
|
||||||
|
VideoEncoderCap+,
|
||||||
|
AudioEncoderCap+,
|
||||||
|
VideoDecoderCap,
|
||||||
|
AudioDecoderCap)>
|
||||||
|
<!ELEMENT CamcorderProfiles (EncoderProfile+, ImageEncoding+, ImageDecoding, Camera)>
|
||||||
|
<!ELEMENT EncoderProfile (Video, Audio)>
|
||||||
|
<!ATTLIST EncoderProfile quality (low|high|qcif|qvga|480p|720p|1080p|timelapselow|timelapsehigh|timelapseqcif|timelapseqvga|timelapse480p|timelapse720p|timelapse1080p) #REQUIRED>
|
||||||
|
<!ATTLIST EncoderProfile fileFormat (mp4|3gp) #REQUIRED>
|
||||||
|
<!ATTLIST EncoderProfile duration (30|60) #REQUIRED>
|
||||||
|
<!ATTLIST EncoderProfile cameraId (0|1) #REQUIRED>
|
||||||
|
<!ELEMENT Video EMPTY>
|
||||||
|
<!ATTLIST Video codec (h264|h263|m4v) #REQUIRED>
|
||||||
|
<!ATTLIST Video bitRate CDATA #REQUIRED>
|
||||||
|
<!ATTLIST Video width CDATA #REQUIRED>
|
||||||
|
<!ATTLIST Video height CDATA #REQUIRED>
|
||||||
|
<!ATTLIST Video frameRate CDATA #REQUIRED>
|
||||||
|
<!ELEMENT Audio EMPTY>
|
||||||
|
<!ATTLIST Audio codec (amrnb|amrwb|aac) #REQUIRED>
|
||||||
|
<!ATTLIST Audio bitRate CDATA #REQUIRED>
|
||||||
|
<!ATTLIST Audio sampleRate CDATA #REQUIRED>
|
||||||
|
<!ATTLIST Audio channels (1|2) #REQUIRED>
|
||||||
|
<!ELEMENT ImageEncoding EMPTY>
|
||||||
|
<!ATTLIST ImageEncoding quality (90|80|70|60|50|40) #REQUIRED>
|
||||||
|
<!ELEMENT ImageDecoding EMPTY>
|
||||||
|
<!ATTLIST ImageDecoding memCap CDATA #REQUIRED>
|
||||||
|
<!ELEMENT Camera EMPTY>
|
||||||
|
<!ATTLIST Camera previewFrameRate CDATA #REQUIRED>
|
||||||
|
<!ELEMENT EncoderOutputFileFormat EMPTY>
|
||||||
|
<!ATTLIST EncoderOutputFileFormat name (mp4|3gp) #REQUIRED>
|
||||||
|
<!ELEMENT VideoEncoderCap EMPTY>
|
||||||
|
<!ATTLIST VideoEncoderCap name (hevc|h264|h263|m4v|wmv) #REQUIRED>
|
||||||
|
<!ATTLIST VideoEncoderCap enabled (true|false) #REQUIRED>
|
||||||
|
<!ATTLIST VideoEncoderCap minBitRate CDATA #REQUIRED>
|
||||||
|
<!ATTLIST VideoEncoderCap maxBitRate CDATA #REQUIRED>
|
||||||
|
<!ATTLIST VideoEncoderCap minFrameWidth CDATA #REQUIRED>
|
||||||
|
<!ATTLIST VideoEncoderCap maxFrameWidth CDATA #REQUIRED>
|
||||||
|
<!ATTLIST VideoEncoderCap minFrameHeight CDATA #REQUIRED>
|
||||||
|
<!ATTLIST VideoEncoderCap maxFrameHeight CDATA #REQUIRED>
|
||||||
|
<!ATTLIST VideoEncoderCap minFrameRate CDATA #REQUIRED>
|
||||||
|
<!ATTLIST VideoEncoderCap maxFrameRate CDATA #REQUIRED>
|
||||||
|
<!ELEMENT AudioEncoderCap EMPTY>
|
||||||
|
<!ATTLIST AudioEncoderCap name (amrnb|amrwb|aac|wma) #REQUIRED>
|
||||||
|
<!ATTLIST AudioEncoderCap enabled (true|false) #REQUIRED>
|
||||||
|
<!ATTLIST AudioEncoderCap minBitRate CDATA #REQUIRED>
|
||||||
|
<!ATTLIST AudioEncoderCap maxBitRate CDATA #REQUIRED>
|
||||||
|
<!ATTLIST AudioEncoderCap minSampleRate CDATA #REQUIRED>
|
||||||
|
<!ATTLIST AudioEncoderCap maxSampleRate CDATA #REQUIRED>
|
||||||
|
<!ATTLIST AudioEncoderCap minChannels (1|2) #REQUIRED>
|
||||||
|
<!ATTLIST AudioEncoderCap maxChannels (1|2) #REQUIRED>
|
||||||
|
<!ELEMENT VideoDecoderCap EMPTY>
|
||||||
|
<!ATTLIST VideoDecoderCap name (wmv) #REQUIRED>
|
||||||
|
<!ATTLIST VideoDecoderCap enabled (true|false) #REQUIRED>
|
||||||
|
<!ELEMENT AudioDecoderCap EMPTY>
|
||||||
|
<!ATTLIST AudioDecoderCap name (wma) #REQUIRED>
|
||||||
|
<!ATTLIST AudioDecoderCap enabled (true|false) #REQUIRED>
|
||||||
|
<!ELEMENT VideoEditorCap EMPTY>
|
||||||
|
<!ATTLIST VideoEditorCap maxInputFrameWidth CDATA #REQUIRED>
|
||||||
|
<!ATTLIST VideoEditorCap maxInputFrameHeight CDATA #REQUIRED>
|
||||||
|
<!ATTLIST VideoEditorCap maxOutputFrameWidth CDATA #REQUIRED>
|
||||||
|
<!ATTLIST VideoEditorCap maxOutputFrameHeight CDATA #REQUIRED>
|
||||||
|
<!ATTLIST VideoEditorCap maxPrefetchYUVFrames CDATA #REQUIRED>
|
||||||
|
<!ELEMENT ExportVideoProfile EMPTY>
|
||||||
|
<!ATTLIST ExportVideoProfile name (h264|h263|m4v) #REQUIRED>
|
||||||
|
<!ATTLIST ExportVideoProfile profile CDATA #REQUIRED>
|
||||||
|
<!ATTLIST ExportVideoProfile level CDATA #REQUIRED>
|
||||||
|
]>
|
||||||
|
<!--
|
||||||
|
This file is used to declare the multimedia profiles and capabilities
|
||||||
|
on an android-powered device.
|
||||||
|
-->
|
||||||
|
<MediaSettings>
|
||||||
|
<!-- Each camcorder profile defines a set of predefined configuration parameters -->
|
||||||
|
<!-- Back Camera -->
|
||||||
|
<CamcorderProfiles cameraId="0" startOffsetMs="700">
|
||||||
|
|
||||||
|
<EncoderProfile quality="low" fileFormat="3gp" duration="30">
|
||||||
|
<Video codec="h264"
|
||||||
|
bitRate="384000"
|
||||||
|
width="176"
|
||||||
|
height="144"
|
||||||
|
frameRate="30" />
|
||||||
|
|
||||||
|
<Audio codec="amrnb"
|
||||||
|
bitRate="12200"
|
||||||
|
sampleRate="8000"
|
||||||
|
channels="1" />
|
||||||
|
</EncoderProfile>
|
||||||
|
|
||||||
|
<EncoderProfile quality="high" fileFormat="mp4" duration="30">
|
||||||
|
<Video codec="h264"
|
||||||
|
bitRate="17000000"
|
||||||
|
width="1920"
|
||||||
|
height="1080"
|
||||||
|
frameRate="30" />
|
||||||
|
|
||||||
|
<Audio codec="aac"
|
||||||
|
bitRate="256000"
|
||||||
|
sampleRate="48000"
|
||||||
|
channels="2" />
|
||||||
|
</EncoderProfile>
|
||||||
|
|
||||||
|
<EncoderProfile quality="qcif" fileFormat="3gp" duration="30">
|
||||||
|
<Video codec="h264"
|
||||||
|
bitRate="384000"
|
||||||
|
width="176"
|
||||||
|
height="144"
|
||||||
|
frameRate="30" />
|
||||||
|
|
||||||
|
<Audio codec="amrnb"
|
||||||
|
bitRate="12200"
|
||||||
|
sampleRate="8000"
|
||||||
|
channels="1" />
|
||||||
|
</EncoderProfile>
|
||||||
|
|
||||||
|
<EncoderProfile quality="qvga" fileFormat="mp4" duration="30">
|
||||||
|
<Video codec="h264"
|
||||||
|
bitRate="767000"
|
||||||
|
width="320"
|
||||||
|
height="240"
|
||||||
|
frameRate="30" />
|
||||||
|
|
||||||
|
<Audio codec="aac"
|
||||||
|
bitRate="128000"
|
||||||
|
sampleRate="48000"
|
||||||
|
channels="2" />
|
||||||
|
</EncoderProfile>
|
||||||
|
|
||||||
|
<EncoderProfile quality="480p" fileFormat="mp4" duration="30">
|
||||||
|
<Video codec="h264"
|
||||||
|
bitRate="3449000"
|
||||||
|
width="720"
|
||||||
|
height="480"
|
||||||
|
frameRate="30" />
|
||||||
|
|
||||||
|
<Audio codec="aac"
|
||||||
|
bitRate="256000"
|
||||||
|
sampleRate="48000"
|
||||||
|
channels="2" />
|
||||||
|
</EncoderProfile>
|
||||||
|
|
||||||
|
<EncoderProfile quality="720p" fileFormat="mp4" duration="30">
|
||||||
|
<Video codec="h264"
|
||||||
|
bitRate="12000000"
|
||||||
|
width="1280"
|
||||||
|
height="720"
|
||||||
|
frameRate="30" />
|
||||||
|
|
||||||
|
<Audio codec="aac"
|
||||||
|
bitRate="256000"
|
||||||
|
sampleRate="48000"
|
||||||
|
channels="2" />
|
||||||
|
</EncoderProfile>
|
||||||
|
|
||||||
|
<EncoderProfile quality="1080p" fileFormat="mp4" duration="30">
|
||||||
|
<Video codec="h264"
|
||||||
|
bitRate="17000000"
|
||||||
|
width="1920"
|
||||||
|
height="1080"
|
||||||
|
frameRate="30" />
|
||||||
|
|
||||||
|
<Audio codec="aac"
|
||||||
|
bitRate="256000"
|
||||||
|
sampleRate="48000"
|
||||||
|
channels="2" />
|
||||||
|
</EncoderProfile>
|
||||||
|
|
||||||
|
<EncoderProfile quality="timelapselow" fileFormat="mp4" duration="30">
|
||||||
|
<Video codec="h264"
|
||||||
|
bitRate="384000"
|
||||||
|
width="176"
|
||||||
|
height="144"
|
||||||
|
frameRate="30" />
|
||||||
|
|
||||||
|
<!--
|
||||||
|
The Audio part of the profile will not be used since time lapse mode
|
||||||
|
does not capture audio
|
||||||
|
-->
|
||||||
|
<Audio codec="amrnb"
|
||||||
|
bitRate="12200"
|
||||||
|
sampleRate="8000"
|
||||||
|
channels="1" />
|
||||||
|
</EncoderProfile>
|
||||||
|
|
||||||
|
<EncoderProfile quality="timelapsehigh" fileFormat="mp4" duration="30">
|
||||||
|
<Video codec="h264"
|
||||||
|
bitRate="17000000"
|
||||||
|
width="1920"
|
||||||
|
height="1080"
|
||||||
|
frameRate="30" />
|
||||||
|
|
||||||
|
<!--
|
||||||
|
The Audio part of the profile will not be used since time lapse mode
|
||||||
|
does not capture audio
|
||||||
|
-->
|
||||||
|
<Audio codec="aac"
|
||||||
|
bitRate="256000"
|
||||||
|
sampleRate="48000"
|
||||||
|
channels="2" />
|
||||||
|
</EncoderProfile>
|
||||||
|
|
||||||
|
<EncoderProfile quality="timelapseqcif" fileFormat="mp4" duration="30">
|
||||||
|
<Video codec="h264"
|
||||||
|
bitRate="384000"
|
||||||
|
width="176"
|
||||||
|
height="144"
|
||||||
|
frameRate="30" />
|
||||||
|
|
||||||
|
<!--
|
||||||
|
The Audio part of the profile will not be used since time lapse mode
|
||||||
|
does not capture audio
|
||||||
|
-->
|
||||||
|
<Audio codec="amrnb"
|
||||||
|
bitRate="12200"
|
||||||
|
sampleRate="8000"
|
||||||
|
channels="1" />
|
||||||
|
</EncoderProfile>
|
||||||
|
|
||||||
|
<EncoderProfile quality="timelapseqvga" fileFormat="mp4" duration="30">
|
||||||
|
<Video codec="h264"
|
||||||
|
bitRate="767000"
|
||||||
|
width="320"
|
||||||
|
height="240"
|
||||||
|
frameRate="30" />
|
||||||
|
|
||||||
|
<!--
|
||||||
|
The Audio part of the profile will not be used since time lapse mode
|
||||||
|
does not capture audio
|
||||||
|
-->
|
||||||
|
<Audio codec="aac"
|
||||||
|
bitRate="128000"
|
||||||
|
sampleRate="48000"
|
||||||
|
channels="2" />
|
||||||
|
</EncoderProfile>
|
||||||
|
|
||||||
|
<EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="30">
|
||||||
|
<Video codec="h264"
|
||||||
|
bitRate="3449000"
|
||||||
|
width="720"
|
||||||
|
height="480"
|
||||||
|
frameRate="30" />
|
||||||
|
|
||||||
|
<!--
|
||||||
|
The Audio part of the profile will not be used since time lapse mode
|
||||||
|
does not capture audio
|
||||||
|
-->
|
||||||
|
<Audio codec="aac"
|
||||||
|
bitRate="256000"
|
||||||
|
sampleRate="48000"
|
||||||
|
channels="2" />
|
||||||
|
</EncoderProfile>
|
||||||
|
|
||||||
|
<EncoderProfile quality="timelapse720p" fileFormat="mp4" duration="30">
|
||||||
|
<Video codec="h264"
|
||||||
|
bitRate="12000000"
|
||||||
|
width="1280"
|
||||||
|
height="720"
|
||||||
|
frameRate="30" />
|
||||||
|
|
||||||
|
<!--
|
||||||
|
The Audio part of the profile will not be used since time lapse mode
|
||||||
|
does not capture audio
|
||||||
|
-->
|
||||||
|
<Audio codec="aac"
|
||||||
|
bitRate="256000"
|
||||||
|
sampleRate="48000"
|
||||||
|
channels="2" />
|
||||||
|
</EncoderProfile>
|
||||||
|
|
||||||
|
<EncoderProfile quality="timelapse1080p" fileFormat="mp4" duration="30">
|
||||||
|
<Video codec="h264"
|
||||||
|
bitRate="17000000"
|
||||||
|
width="1920"
|
||||||
|
height="1080"
|
||||||
|
frameRate="30" />
|
||||||
|
|
||||||
|
<!--
|
||||||
|
The Audio part of the profile will not be used since time lapse mode
|
||||||
|
does not capture audio
|
||||||
|
-->
|
||||||
|
<Audio codec="aac"
|
||||||
|
bitRate="256000"
|
||||||
|
sampleRate="48000"
|
||||||
|
channels="2" />
|
||||||
|
</EncoderProfile>
|
||||||
|
|
||||||
|
<ImageEncoding quality="95" />
|
||||||
|
<ImageEncoding quality="80" />
|
||||||
|
<ImageEncoding quality="70" />
|
||||||
|
<ImageDecoding memCap="20000000" />
|
||||||
|
|
||||||
|
</CamcorderProfiles>
|
||||||
|
|
||||||
|
<!-- Front Camera -->
|
||||||
|
<CamcorderProfiles cameraId="1" startOffsetMs="700">
|
||||||
|
|
||||||
|
<EncoderProfile quality="low" fileFormat="3gp" duration="30">
|
||||||
|
<Video codec="h264"
|
||||||
|
bitRate="384000"
|
||||||
|
width="176"
|
||||||
|
height="144"
|
||||||
|
frameRate="30" />
|
||||||
|
|
||||||
|
<Audio codec="amrnb"
|
||||||
|
bitRate="12200"
|
||||||
|
sampleRate="8000"
|
||||||
|
channels="1" />
|
||||||
|
</EncoderProfile>
|
||||||
|
|
||||||
|
<EncoderProfile quality="high" fileFormat="mp4" duration="30">
|
||||||
|
<Video codec="h264"
|
||||||
|
bitRate="17000000"
|
||||||
|
width="1920"
|
||||||
|
height="1080"
|
||||||
|
frameRate="30" />
|
||||||
|
|
||||||
|
<Audio codec="aac"
|
||||||
|
bitRate="256000"
|
||||||
|
sampleRate="48000"
|
||||||
|
channels="2" />
|
||||||
|
</EncoderProfile>
|
||||||
|
|
||||||
|
<EncoderProfile quality="qcif" fileFormat="3gp" duration="30">
|
||||||
|
<Video codec="h264"
|
||||||
|
bitRate="384000"
|
||||||
|
width="176"
|
||||||
|
height="144"
|
||||||
|
frameRate="30" />
|
||||||
|
|
||||||
|
<Audio codec="amrnb"
|
||||||
|
bitRate="12200"
|
||||||
|
sampleRate="8000"
|
||||||
|
channels="1" />
|
||||||
|
</EncoderProfile>
|
||||||
|
|
||||||
|
<EncoderProfile quality="qvga" fileFormat="mp4" duration="30">
|
||||||
|
<Video codec="h264"
|
||||||
|
bitRate="767000"
|
||||||
|
width="320"
|
||||||
|
height="240"
|
||||||
|
frameRate="30" />
|
||||||
|
|
||||||
|
<Audio codec="aac"
|
||||||
|
bitRate="128000"
|
||||||
|
sampleRate="48000"
|
||||||
|
channels="2" />
|
||||||
|
</EncoderProfile>
|
||||||
|
|
||||||
|
<EncoderProfile quality="480p" fileFormat="mp4" duration="30">
|
||||||
|
<Video codec="h264"
|
||||||
|
bitRate="3449000"
|
||||||
|
width="720"
|
||||||
|
height="480"
|
||||||
|
frameRate="30" />
|
||||||
|
|
||||||
|
<Audio codec="aac"
|
||||||
|
bitRate="256000"
|
||||||
|
sampleRate="48000"
|
||||||
|
channels="2" />
|
||||||
|
</EncoderProfile>
|
||||||
|
|
||||||
|
<EncoderProfile quality="720p" fileFormat="mp4" duration="30">
|
||||||
|
<Video codec="h264"
|
||||||
|
bitRate="12000000"
|
||||||
|
width="1280"
|
||||||
|
height="720"
|
||||||
|
frameRate="30" />
|
||||||
|
|
||||||
|
<Audio codec="aac"
|
||||||
|
bitRate="256000"
|
||||||
|
sampleRate="48000"
|
||||||
|
channels="2" />
|
||||||
|
</EncoderProfile>
|
||||||
|
|
||||||
|
<EncoderProfile quality="1080p" fileFormat="mp4" duration="30">
|
||||||
|
<Video codec="h264"
|
||||||
|
bitRate="17000000"
|
||||||
|
width="1920"
|
||||||
|
height="1080"
|
||||||
|
frameRate="30" />
|
||||||
|
|
||||||
|
<Audio codec="aac"
|
||||||
|
bitRate="256000"
|
||||||
|
sampleRate="48000"
|
||||||
|
channels="2" />
|
||||||
|
</EncoderProfile>
|
||||||
|
|
||||||
|
<EncoderProfile quality="timelapselow" fileFormat="mp4" duration="30">
|
||||||
|
<Video codec="h264"
|
||||||
|
bitRate="384000"
|
||||||
|
width="176"
|
||||||
|
height="144"
|
||||||
|
frameRate="30" />
|
||||||
|
|
||||||
|
<!--
|
||||||
|
The Audio part of the profile will not be used since time lapse mode
|
||||||
|
does not capture audio
|
||||||
|
-->
|
||||||
|
<Audio codec="amrnb"
|
||||||
|
bitRate="12200"
|
||||||
|
sampleRate="8000"
|
||||||
|
channels="1" />
|
||||||
|
</EncoderProfile>
|
||||||
|
|
||||||
|
<EncoderProfile quality="timelapsehigh" fileFormat="mp4" duration="30">
|
||||||
|
<Video codec="h264"
|
||||||
|
bitRate="17000000"
|
||||||
|
width="1920"
|
||||||
|
height="1080"
|
||||||
|
frameRate="30" />
|
||||||
|
|
||||||
|
<!--
|
||||||
|
The Audio part of the profile will not be used since time lapse mode
|
||||||
|
does not capture audio
|
||||||
|
-->
|
||||||
|
<Audio codec="aac"
|
||||||
|
bitRate="256000"
|
||||||
|
sampleRate="48000"
|
||||||
|
channels="2" />
|
||||||
|
</EncoderProfile>
|
||||||
|
|
||||||
|
<EncoderProfile quality="timelapseqcif" fileFormat="mp4" duration="30">
|
||||||
|
<Video codec="h264"
|
||||||
|
bitRate="384000"
|
||||||
|
width="176"
|
||||||
|
height="144"
|
||||||
|
frameRate="30" />
|
||||||
|
|
||||||
|
<!--
|
||||||
|
The Audio part of the profile will not be used since time lapse mode
|
||||||
|
does not capture audio
|
||||||
|
-->
|
||||||
|
<Audio codec="amrnb"
|
||||||
|
bitRate="12200"
|
||||||
|
sampleRate="8000"
|
||||||
|
channels="1" />
|
||||||
|
</EncoderProfile>
|
||||||
|
|
||||||
|
<EncoderProfile quality="timelapseqvga" fileFormat="mp4" duration="30">
|
||||||
|
<Video codec="h264"
|
||||||
|
bitRate="767000"
|
||||||
|
width="320"
|
||||||
|
height="240"
|
||||||
|
frameRate="30" />
|
||||||
|
|
||||||
|
<!--
|
||||||
|
The Audio part of the profile will not be used since time lapse mode
|
||||||
|
does not capture audio
|
||||||
|
-->
|
||||||
|
<Audio codec="aac"
|
||||||
|
bitRate="128000"
|
||||||
|
sampleRate="48000"
|
||||||
|
channels="2" />
|
||||||
|
</EncoderProfile>
|
||||||
|
|
||||||
|
<EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="30">
|
||||||
|
<Video codec="h264"
|
||||||
|
bitRate="3449000"
|
||||||
|
width="720"
|
||||||
|
height="480"
|
||||||
|
frameRate="30" />
|
||||||
|
|
||||||
|
<!--
|
||||||
|
The Audio part of the profile will not be used since time lapse mode
|
||||||
|
does not capture audio
|
||||||
|
-->
|
||||||
|
<Audio codec="aac"
|
||||||
|
bitRate="256000"
|
||||||
|
sampleRate="48000"
|
||||||
|
channels="2" />
|
||||||
|
</EncoderProfile>
|
||||||
|
|
||||||
|
<EncoderProfile quality="timelapse720p" fileFormat="mp4" duration="30">
|
||||||
|
<Video codec="h264"
|
||||||
|
bitRate="12000000"
|
||||||
|
width="1280"
|
||||||
|
height="720"
|
||||||
|
frameRate="30" />
|
||||||
|
|
||||||
|
<!--
|
||||||
|
The Audio part of the profile will not be used since time lapse mode
|
||||||
|
does not capture audio
|
||||||
|
-->
|
||||||
|
<Audio codec="aac"
|
||||||
|
bitRate="256000"
|
||||||
|
sampleRate="48000"
|
||||||
|
channels="2" />
|
||||||
|
</EncoderProfile>
|
||||||
|
|
||||||
|
<EncoderProfile quality="timelapse1080p" fileFormat="mp4" duration="30">
|
||||||
|
<Video codec="h264"
|
||||||
|
bitRate="17000000"
|
||||||
|
width="1920"
|
||||||
|
height="1080"
|
||||||
|
frameRate="30" />
|
||||||
|
|
||||||
|
<!--
|
||||||
|
The Audio part of the profile will not be used since time lapse mode
|
||||||
|
does not capture audio
|
||||||
|
-->
|
||||||
|
<Audio codec="aac"
|
||||||
|
bitRate="256000"
|
||||||
|
sampleRate="48000"
|
||||||
|
channels="2" />
|
||||||
|
</EncoderProfile>
|
||||||
|
|
||||||
|
<ImageEncoding quality="95" />
|
||||||
|
<ImageEncoding quality="80" />
|
||||||
|
<ImageEncoding quality="70" />
|
||||||
|
<ImageDecoding memCap="20000000" />
|
||||||
|
|
||||||
|
</CamcorderProfiles>
|
||||||
|
|
||||||
|
<EncoderOutputFileFormat name="3gp" />
|
||||||
|
<EncoderOutputFileFormat name="mp4" />
|
||||||
|
|
||||||
|
<!--
|
||||||
|
If a codec is not enabled, it is invisible to the applications
|
||||||
|
In other words, the applications won't be able to use the codec
|
||||||
|
or query the capabilities of the codec at all if it is disabled
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!--
|
||||||
|
FIXME : we only check Mpeg4 encorder cap and other codec doesn't check
|
||||||
|
codec cap
|
||||||
|
-->
|
||||||
|
<VideoEncoderCap name="h264" enabled="true"
|
||||||
|
minBitRate="64000" maxBitRate="40000000"
|
||||||
|
minFrameWidth="176" maxFrameWidth="1920"
|
||||||
|
minFrameHeight="144" maxFrameHeight="1080"
|
||||||
|
minFrameRate="1" maxFrameRate="60" />
|
||||||
|
|
||||||
|
<VideoEncoderCap name="h263" enabled="true"
|
||||||
|
minBitRate="64000" maxBitRate="1000000"
|
||||||
|
minFrameWidth="176" maxFrameWidth="800"
|
||||||
|
minFrameHeight="144" maxFrameHeight="480"
|
||||||
|
minFrameRate="1" maxFrameRate="30" />
|
||||||
|
|
||||||
|
<VideoEncoderCap name="m4v" enabled="true"
|
||||||
|
minBitRate="64000" maxBitRate="20000000"
|
||||||
|
minFrameWidth="176" maxFrameWidth="1920"
|
||||||
|
minFrameHeight="144" maxFrameHeight="1080"
|
||||||
|
minFrameRate="1" maxFrameRate="30" />
|
||||||
|
|
||||||
|
<VideoEncoderCap name="hevc" enabled="true"
|
||||||
|
minBitRate="64000" maxBitRate="50000000"
|
||||||
|
minFrameWidth="176" maxFrameWidth="1920"
|
||||||
|
minFrameHeight="144" maxFrameHeight="1080"
|
||||||
|
minFrameRate="1" maxFrameRate="60" />
|
||||||
|
|
||||||
|
<AudioEncoderCap name="aac" enabled="true"
|
||||||
|
minBitRate="8192" maxBitRate="256000"
|
||||||
|
minSampleRate="8000" maxSampleRate="48000"
|
||||||
|
minChannels="1" maxChannels="2" />
|
||||||
|
|
||||||
|
<AudioEncoderCap name="heaac" enabled="true"
|
||||||
|
minBitRate="8000" maxBitRate="64000"
|
||||||
|
minSampleRate="16000" maxSampleRate="48000"
|
||||||
|
minChannels="1" maxChannels="1" />
|
||||||
|
|
||||||
|
<AudioEncoderCap name="aaceld" enabled="true"
|
||||||
|
minBitRate="16000" maxBitRate="192000"
|
||||||
|
minSampleRate="16000" maxSampleRate="48000"
|
||||||
|
minChannels="1" maxChannels="1" />
|
||||||
|
|
||||||
|
<AudioEncoderCap name="amrwb" enabled="true"
|
||||||
|
minBitRate="6600" maxBitRate="23850"
|
||||||
|
minSampleRate="16000" maxSampleRate="16000"
|
||||||
|
minChannels="1" maxChannels="1" />
|
||||||
|
|
||||||
|
<AudioEncoderCap name="amrnb" enabled="true"
|
||||||
|
minBitRate="5525" maxBitRate="12200"
|
||||||
|
minSampleRate="8000" maxSampleRate="8000"
|
||||||
|
minChannels="1" maxChannels="1" />
|
||||||
|
|
||||||
|
<!--
|
||||||
|
FIXME:
|
||||||
|
We do not check decoder capabilities at present
|
||||||
|
At present, we only check whether windows media is visible
|
||||||
|
for TEST applications. For other applications, we do
|
||||||
|
not perform any checks at all.
|
||||||
|
-->
|
||||||
|
<VideoDecoderCap name="wmv" enabled="false"/>
|
||||||
|
<AudioDecoderCap name="wma" enabled="false"/>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
The VideoEditor Capability configuration:
|
||||||
|
- maxInputFrameWidth: maximum video width of imported video clip.
|
||||||
|
- maxInputFrameHeight: maximum video height of imported video clip.
|
||||||
|
- maxOutputFrameWidth: maximum video width of exported video clip.
|
||||||
|
- maxOutputFrameHeight: maximum video height of exported video clip.
|
||||||
|
- maxPrefetchYUVFrames: maximum prefetch YUV frames for encoder,
|
||||||
|
used to limit the amount of memory for prefetched YUV frames.
|
||||||
|
For this platform, it allows maximum 30MB(3MB per 1080p frame x 10
|
||||||
|
frames) memory.
|
||||||
|
-->
|
||||||
|
<VideoEditorCap maxInputFrameWidth="1920"
|
||||||
|
maxInputFrameHeight="1088" maxOutputFrameWidth="1920"
|
||||||
|
maxOutputFrameHeight="1080" maxPrefetchYUVFrames="10"/>
|
||||||
|
<!--
|
||||||
|
The VideoEditor Export codec profile and level values
|
||||||
|
correspond to the values in OMX_Video.h.
|
||||||
|
E.g. for h264, profile value 1 means OMX_VIDEO_AVCProfileBaseline
|
||||||
|
and level 4096 means OMX_VIDEO_AVCLevel41.
|
||||||
|
Please note that the values are in decimal.
|
||||||
|
These values are for video encoder.
|
||||||
|
-->
|
||||||
|
<!--
|
||||||
|
Codec = h.264, Baseline profile, level 4.2
|
||||||
|
-->
|
||||||
|
<ExportVideoProfile name="h264" profile= "1" level="8192"/>
|
||||||
|
<!--
|
||||||
|
Codec = h.263, Baseline profile, level 45
|
||||||
|
-->
|
||||||
|
<ExportVideoProfile name="h263" profile= "1" level="16"/>
|
||||||
|
<!--
|
||||||
|
Codec = mpeg4, Simple profile, level 5
|
||||||
|
-->
|
||||||
|
<ExportVideoProfile name="m4v" profile= "1" level="128"/>
|
||||||
|
</MediaSettings>
|
16
configs/permissions/com.samsung.permission.SSENSOR.xml
Normal file
16
configs/permissions/com.samsung.permission.SSENSOR.xml
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Copyright (C) 2018 The Android Open Source Project
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<permissions>
|
||||||
|
<permission name="com.samsung.permission.SSENSOR" />
|
||||||
|
</permissions>
|
324
device-common.mk
Normal file
324
device-common.mk
Normal file
|
@ -0,0 +1,324 @@
|
||||||
|
#
|
||||||
|
# Copyright (C) 2019 The LineageOS Project
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
#
|
||||||
|
|
||||||
|
LOCAL_PATH := device/samsung/universal7870-common
|
||||||
|
|
||||||
|
# Boot animation
|
||||||
|
TARGET_BOOTANIMATION_PRELOAD := true
|
||||||
|
TARGET_BOOTANIMATION_TEXTURE_CACHE := true
|
||||||
|
TARGET_SCREEN_HEIGHT := 1920
|
||||||
|
TARGET_SCREEN_WIDTH := 1080
|
||||||
|
|
||||||
|
PRODUCT_ENFORCE_RRO_TARGETS := \
|
||||||
|
framework-res
|
||||||
|
|
||||||
|
# Permissions
|
||||||
|
PRODUCT_COPY_FILES += \
|
||||||
|
frameworks/native/data/etc/android.hardware.audio.low_latency.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.audio.low_latency.xml \
|
||||||
|
frameworks/native/data/etc/android.hardware.bluetooth.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.bluetooth.xml \
|
||||||
|
frameworks/native/data/etc/android.hardware.bluetooth_le.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.bluetooth_le.xml \
|
||||||
|
frameworks/native/data/etc/android.hardware.camera.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.xml \
|
||||||
|
frameworks/native/data/etc/android.hardware.camera.flash-autofocus.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.flash-autofocus.xml \
|
||||||
|
frameworks/native/data/etc/android.hardware.camera.front.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.front.xml \
|
||||||
|
frameworks/native/data/etc/android.hardware.camera.full.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.full.xml \
|
||||||
|
frameworks/native/data/etc/android.hardware.camera.raw.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.raw.xml \
|
||||||
|
frameworks/native/data/etc/android.hardware.ethernet.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.ethernet.xml \
|
||||||
|
frameworks/native/data/etc/android.hardware.fingerprint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.fingerprint.xml \
|
||||||
|
frameworks/native/data/etc/android.hardware.location.gps.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.location.gps.xml \
|
||||||
|
frameworks/native/data/etc/android.hardware.opengles.aep.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.opengles.aep.xml \
|
||||||
|
frameworks/native/data/etc/android.hardware.sensor.accelerometer.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.accelerometer.xml \
|
||||||
|
frameworks/native/data/etc/android.hardware.sensor.compass.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.compass.xml \
|
||||||
|
frameworks/native/data/etc/android.hardware.sensor.gyroscope.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.gyroscope.xml \
|
||||||
|
frameworks/native/data/etc/android.hardware.sensor.light.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.light.xml \
|
||||||
|
frameworks/native/data/etc/android.hardware.sensor.proximity.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.proximity.xml \
|
||||||
|
frameworks/native/data/etc/android.hardware.sensor.stepcounter.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.stepcounter.xml \
|
||||||
|
frameworks/native/data/etc/android.hardware.sensor.stepdetector.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.stepdetector.xml \
|
||||||
|
frameworks/native/data/etc/android.hardware.telephony.cdma.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.telephony.cdma.xml \
|
||||||
|
frameworks/native/data/etc/android.hardware.telephony.gsm.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.telephony.gsm.xml \
|
||||||
|
frameworks/native/data/etc/android.hardware.telephony.ims.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.telephony.ims.xml \
|
||||||
|
frameworks/native/data/etc/android.hardware.touchscreen.multitouch.jazzhand.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.touchscreen.multitouch.jazzhand.xml \
|
||||||
|
frameworks/native/data/etc/android.hardware.usb.accessory.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.accessory.xml \
|
||||||
|
frameworks/native/data/etc/android.hardware.usb.host.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.host.xml \
|
||||||
|
frameworks/native/data/etc/android.hardware.vulkan.compute-0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.compute-0.xml \
|
||||||
|
frameworks/native/data/etc/android.hardware.vulkan.level-0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.level-0.xml \
|
||||||
|
frameworks/native/data/etc/android.hardware.vulkan.version-1_1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.version-1_1.xml \
|
||||||
|
frameworks/native/data/etc/android.hardware.wifi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.xml \
|
||||||
|
frameworks/native/data/etc/android.hardware.wifi.direct.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.direct.xml \
|
||||||
|
frameworks/native/data/etc/android.hardware.wifi.passpoint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.passpoint.xml \
|
||||||
|
frameworks/native/data/etc/android.software.midi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.midi.xml \
|
||||||
|
frameworks/native/data/etc/android.software.print.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.print.xml \
|
||||||
|
frameworks/native/data/etc/android.software.sip.voip.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.sip.voip.xml \
|
||||||
|
frameworks/native/data/etc/android.software.sip.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.sip.xml \
|
||||||
|
frameworks/native/data/etc/com.android.nfc_extras.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/com.android.nfc_extras.xml \
|
||||||
|
frameworks/native/data/etc/com.nxp.mifare.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/com.nxp.mifare.xml \
|
||||||
|
frameworks/native/data/etc/handheld_core_hardware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/handheld_core_hardware.xml \
|
||||||
|
$(LOCAL_PATH)/configs/permissions/com.samsung.permission.SSENSOR.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/com.samsung.permission.SSENSOR.xml
|
||||||
|
|
||||||
|
# AdvancedDisplay (MDNIE)
|
||||||
|
PRODUCT_PACKAGES += \
|
||||||
|
AdvancedDisplay
|
||||||
|
|
||||||
|
# Audio
|
||||||
|
PRODUCT_PACKAGES += \
|
||||||
|
android.hardware.audio@2.0-impl \
|
||||||
|
android.hardware.audio@2.0-service \
|
||||||
|
android.hardware.audio@5.0-impl \
|
||||||
|
android.hardware.audio.common@5.0 \
|
||||||
|
android.hardware.audio.common@5.0-util \
|
||||||
|
android.hardware.audio.effect@2.0-impl \
|
||||||
|
android.hardware.audio.effect@5.0 \
|
||||||
|
android.hardware.audio.effect@5.0-impl \
|
||||||
|
android.hardware.soundtrigger@2.1-impl \
|
||||||
|
audio.a2dp.default \
|
||||||
|
audio.usb.default \
|
||||||
|
audio.primary.universal7870_32 \
|
||||||
|
audio.r_submix.default \
|
||||||
|
libtinycompress
|
||||||
|
|
||||||
|
# Audio configuration
|
||||||
|
PRODUCT_COPY_FILES += \
|
||||||
|
$(LOCAL_PATH)/configs/audio/audio_policy.conf:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy.conf \
|
||||||
|
$(LOCAL_PATH)/configs/audio/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration.xml \
|
||||||
|
$(LOCAL_PATH)/configs/audio/audio_effects.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_effects.xml \
|
||||||
|
$(LOCAL_PATH)/configs/audio/mixer_gains.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_gains.xml \
|
||||||
|
$(LOCAL_PATH)/configs/audio/mixer_paths_0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths_0.xml \
|
||||||
|
frameworks/av/services/audiopolicy/config/a2dp_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/a2dp_audio_policy_configuration.xml \
|
||||||
|
frameworks/av/services/audiopolicy/config/audio_policy_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_volumes.xml \
|
||||||
|
frameworks/av/services/audiopolicy/config/default_volume_tables.xml:$(TARGET_COPY_OUT_VENDOR)/etc/default_volume_tables.xml \
|
||||||
|
frameworks/av/services/audiopolicy/config/r_submix_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/r_submix_audio_policy_configuration.xml \
|
||||||
|
frameworks/av/services/audiopolicy/config/usb_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/usb_audio_policy_configuration.xml
|
||||||
|
|
||||||
|
# Camera
|
||||||
|
PRODUCT_PACKAGES += \
|
||||||
|
android.hardware.camera.provider@2.4-impl \
|
||||||
|
android.hardware.camera.provider@2.4-service \
|
||||||
|
libion_exynos \
|
||||||
|
Snap
|
||||||
|
|
||||||
|
# Camera configurations
|
||||||
|
PRODUCT_COPY_FILES += \
|
||||||
|
$(LOCAL_PATH)/configs/camera/external_camera_config.xml:$(TARGET_COPY_OUT_VENDOR)/etc/external_camera_config.xml
|
||||||
|
|
||||||
|
# Cas
|
||||||
|
PRODUCT_PACKAGES += \
|
||||||
|
android.hardware.cas@1.1-service
|
||||||
|
|
||||||
|
# Configstore
|
||||||
|
PRODUCT_PACKAGES += \
|
||||||
|
android.hardware.configstore@1.1-service
|
||||||
|
|
||||||
|
# Display
|
||||||
|
PRODUCT_PACKAGES += \
|
||||||
|
android.hardware.graphics.allocator@2.0-impl \
|
||||||
|
android.hardware.graphics.allocator@2.0-service \
|
||||||
|
android.hardware.graphics.composer@2.1-impl \
|
||||||
|
android.hardware.graphics.composer@2.1-service \
|
||||||
|
android.hardware.graphics.mapper@2.0-impl \
|
||||||
|
android.hardware.memtrack@1.0-impl \
|
||||||
|
android.hardware.memtrack@1.0-service \
|
||||||
|
android.hardware.renderscript@1.0-impl \
|
||||||
|
gralloc.default \
|
||||||
|
gralloc.exynos5 \
|
||||||
|
hwcomposer.exynos5 \
|
||||||
|
memtrack.exynos5 \
|
||||||
|
libhwc2on1adapter \
|
||||||
|
libtinyxml
|
||||||
|
|
||||||
|
# DRM
|
||||||
|
PRODUCT_PACKAGES += \
|
||||||
|
android.hardware.drm@1.0 \
|
||||||
|
android.hardware.drm@1.1 \
|
||||||
|
libfwdlockengine \
|
||||||
|
libdrmclearkeyplugin \
|
||||||
|
android.hardware.drm@1.0-service \
|
||||||
|
android.hardware.drm@1.1-service.clearkey \
|
||||||
|
android.hardware.drm@1.0-impl
|
||||||
|
|
||||||
|
# Ebtables
|
||||||
|
PRODUCT_PACKAGES += \
|
||||||
|
ebtables \
|
||||||
|
ethertypes \
|
||||||
|
libebtc
|
||||||
|
|
||||||
|
# Flat device tree for boot image
|
||||||
|
PRODUCT_HOST_PACKAGES += \
|
||||||
|
dtbhtoolExynos
|
||||||
|
|
||||||
|
# Gatekeeper
|
||||||
|
PRODUCT_PACKAGES += \
|
||||||
|
android.hardware.gatekeeper@1.0-impl
|
||||||
|
|
||||||
|
# Healthd
|
||||||
|
PRODUCT_PACKAGES += \
|
||||||
|
android.hardware.health@2.0-impl \
|
||||||
|
android.hardware.health@2.0-service \
|
||||||
|
chargeonlymode
|
||||||
|
|
||||||
|
# HIDL
|
||||||
|
PRODUCT_PACKAGES += \
|
||||||
|
android.hidl.base@1.0 \
|
||||||
|
android.hidl.base@1.0_system \
|
||||||
|
android.hidl.manager@1.0 \
|
||||||
|
android.hidl.manager@1.0_system
|
||||||
|
|
||||||
|
# Keylayout
|
||||||
|
PRODUCT_COPY_FILES += \
|
||||||
|
$(LOCAL_PATH)/configs/keylayout/gpio-keys.kl:$(TARGET_COPY_OUT_VENDOR)/usr/keylayout/gpio-keys.kl \
|
||||||
|
$(LOCAL_PATH)/configs/keylayout/sec_touchkey.kl:$(TARGET_COPY_OUT_VENDOR)/usr/keylayout/sec_touchkey.kl \
|
||||||
|
$(LOCAL_PATH)/configs/keylayout/sec_touchscreen.kl:$(TARGET_COPY_OUT_VENDOR)/usr/keylayout/sec_touchscreen.kl
|
||||||
|
|
||||||
|
# Keymaster
|
||||||
|
PRODUCT_PACKAGES += \
|
||||||
|
android.hardware.keymaster@3.0-impl \
|
||||||
|
android.hardware.keymaster@3.0-service
|
||||||
|
|
||||||
|
# Lights
|
||||||
|
PRODUCT_PACKAGES += \
|
||||||
|
android.hardware.light@2.0-service.samsung
|
||||||
|
|
||||||
|
# LiveDisplay
|
||||||
|
PRODUCT_PACKAGES += \
|
||||||
|
vendor.lineage.livedisplay@2.0-service.samsung-exynos
|
||||||
|
|
||||||
|
# IPv6
|
||||||
|
PRODUCT_PACKAGES += \
|
||||||
|
ebtables \
|
||||||
|
ethertypes \
|
||||||
|
libebtc
|
||||||
|
|
||||||
|
# Media
|
||||||
|
PRODUCT_COPY_FILES += \
|
||||||
|
$(LOCAL_PATH)/configs/media/media_codecs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs.xml \
|
||||||
|
$(LOCAL_PATH)/configs/media/media_codecs_performance.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance.xml \
|
||||||
|
$(LOCAL_PATH)/configs/media/media_profiles_V1_0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_V1_0.xml \
|
||||||
|
frameworks/av/media/libstagefright/data/media_codecs_google_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_audio.xml \
|
||||||
|
frameworks/av/media/libstagefright/data/media_codecs_google_telephony.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_telephony.xml \
|
||||||
|
frameworks/av/media/libstagefright/data/media_codecs_google_video.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_video.xml \
|
||||||
|
frameworks/av/media/libstagefright/data/media_codecs_google_video_le.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_video_le.xml
|
||||||
|
|
||||||
|
# Net
|
||||||
|
PRODUCT_PACKAGES += \
|
||||||
|
android.system.net.netd@1.0 \
|
||||||
|
libandroid_net \
|
||||||
|
netutils-wrapper-1.0
|
||||||
|
|
||||||
|
# Offmode charger
|
||||||
|
PRODUCT_PACKAGES += \
|
||||||
|
charger_res_images
|
||||||
|
|
||||||
|
# Overlays
|
||||||
|
DEVICE_PACKAGE_OVERLAYS += \
|
||||||
|
$(LOCAL_PATH)/overlay
|
||||||
|
|
||||||
|
# Power
|
||||||
|
PRODUCT_PACKAGES += \
|
||||||
|
android.hardware.power@1.0-impl \
|
||||||
|
android.hardware.power@1.0-service \
|
||||||
|
power.universal7870
|
||||||
|
|
||||||
|
# Radio
|
||||||
|
PRODUCT_PACKAGES += \
|
||||||
|
android.hardware.radio@1.4 \
|
||||||
|
android.hardware.radio.config@1.1 \
|
||||||
|
android.hardware.radio.deprecated@1.0 \
|
||||||
|
libxml2 \
|
||||||
|
libprotobuf-cpp-full \
|
||||||
|
rild \
|
||||||
|
libril \
|
||||||
|
libsecril-client \
|
||||||
|
libsecril-client-sap \
|
||||||
|
libreference-ril
|
||||||
|
|
||||||
|
# Ramdisk
|
||||||
|
PRODUCT_PACKAGES += \
|
||||||
|
fstab.samsungexynos7870 \
|
||||||
|
init.baseband.rc \
|
||||||
|
init.rilchip.rc \
|
||||||
|
init.rilcommon.rc \
|
||||||
|
init.samsung.rc \
|
||||||
|
init.samsungexynos7870.rc \
|
||||||
|
init.samsungexynos7870.usb.rc \
|
||||||
|
init.wifi.rc \
|
||||||
|
init.wifi_device.rc \
|
||||||
|
ueventd.samsungexynos7870.rc
|
||||||
|
|
||||||
|
# Samsung Doze
|
||||||
|
PRODUCT_PACKAGES += \
|
||||||
|
SamsungDoze
|
||||||
|
|
||||||
|
# Seccomp_policy
|
||||||
|
PRODUCT_COPY_FILES += \
|
||||||
|
$(LOCAL_PATH)/seccomp/mediacodec-seccomp.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/mediacodec.policy \
|
||||||
|
$(LOCAL_PATH)/seccomp/mediaextractor-seccomp.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/mediaextractor.policy
|
||||||
|
|
||||||
|
# Sensors
|
||||||
|
PRODUCT_PACKAGES += \
|
||||||
|
android.hardware.sensors@1.0-impl
|
||||||
|
|
||||||
|
# TextClassifier
|
||||||
|
PRODUCT_PACKAGES += \
|
||||||
|
textclassifier.bundle1
|
||||||
|
|
||||||
|
# Touchscreen
|
||||||
|
PRODUCT_COPY_FILES += \
|
||||||
|
$(LOCAL_PATH)/configs/idc/AVRCP.idc:$(TARGET_COPY_OUT_VENDOR)/usr/idc/AVRCP.idc \
|
||||||
|
$(LOCAL_PATH)/configs/idc/qwerty.idc:$(TARGET_COPY_OUT_VENDOR)/usr/idc/qwerty.idc \
|
||||||
|
$(LOCAL_PATH)/configs/idc/qwerty2.idc:$(TARGET_COPY_OUT_VENDOR)/usr/idc/qwerty2.idc
|
||||||
|
|
||||||
|
# Thermal
|
||||||
|
PRODUCT_PACKAGES += \
|
||||||
|
android.hardware.thermal@1.0-impl \
|
||||||
|
android.hardware.thermal@1.0-service
|
||||||
|
|
||||||
|
# Touch features
|
||||||
|
PRODUCT_PACKAGES += \
|
||||||
|
vendor.lineage.touch@1.0-service.samsung
|
||||||
|
|
||||||
|
# Trust HAL
|
||||||
|
PRODUCT_PACKAGES += \
|
||||||
|
vendor.lineage.trust@1.0-service
|
||||||
|
|
||||||
|
# Shims
|
||||||
|
PRODUCT_PACKAGES += \
|
||||||
|
libexynoscamera_shim
|
||||||
|
# libstagefright_shim
|
||||||
|
|
||||||
|
# USB
|
||||||
|
PRODUCT_PACKAGES += \
|
||||||
|
android.hardware.usb@1.0-service.basic
|
||||||
|
|
||||||
|
# Vibrator
|
||||||
|
PRODUCT_PACKAGES += \
|
||||||
|
android.hardware.vibrator@1.0-impl \
|
||||||
|
android.hardware.vibrator@1.0-service
|
||||||
|
|
||||||
|
# Vendor security patch level
|
||||||
|
PRODUCT_PROPERTY_OVERRIDES += \
|
||||||
|
ro.build.vendor_security_patch=2019-11-01
|
||||||
|
|
||||||
|
# VNDK
|
||||||
|
PRODUCT_PACKAGES += \
|
||||||
|
libgui_vendor
|
||||||
|
|
||||||
|
# WiFi Display
|
||||||
|
PRODUCT_PACKAGES += \
|
||||||
|
libnl
|
||||||
|
|
||||||
|
# Properties
|
||||||
|
-include $(LOCAL_PATH)/vendor_prop.mk
|
||||||
|
|
||||||
|
# call the proprietary setup
|
||||||
|
$(call inherit-product, vendor/samsung/universal7870-common/universal7870-common-vendor.mk)
|
67
extract-files.sh
Normal file
67
extract-files.sh
Normal file
|
@ -0,0 +1,67 @@
|
||||||
|
#!/bin/bash
|
||||||
|
#
|
||||||
|
# Copyright (C) 2017-2019 The LineageOS Project
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
#
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
VENDOR=samsung
|
||||||
|
DEVICE_COMMON=universal7870-common
|
||||||
|
|
||||||
|
# Load extract_utils and do some sanity checks
|
||||||
|
MY_DIR="${BASH_SOURCE%/*}"
|
||||||
|
if [[ ! -d "${MY_DIR}" ]]; then MY_DIR="${PWD}"; fi
|
||||||
|
|
||||||
|
LINEAGE_ROOT="${MY_DIR}"/../../..
|
||||||
|
|
||||||
|
HELPER="${AOSP_ROOT}/vendor/aosp/build/tools/extract_utils.sh"
|
||||||
|
if [ ! -f "${HELPER}" ]; then
|
||||||
|
echo "Unable to find helper script at ${HELPER}"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
source "${HELPER}"
|
||||||
|
|
||||||
|
SECTION=
|
||||||
|
KANG=
|
||||||
|
|
||||||
|
while [ "${#}" -gt 0 ]; do
|
||||||
|
case "${1}" in
|
||||||
|
-n | --no-cleanup )
|
||||||
|
CLEAN_VENDOR=false
|
||||||
|
;;
|
||||||
|
-k | --kang )
|
||||||
|
KANG="--kang"
|
||||||
|
;;
|
||||||
|
-s | --section )
|
||||||
|
SECTION="${2}"; shift
|
||||||
|
CLEAN_VENDOR=false
|
||||||
|
;;
|
||||||
|
* )
|
||||||
|
SRC="${1}"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
shift
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ -z "${SRC}" ]; then
|
||||||
|
SRC="adb"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Initialize the helper
|
||||||
|
setup_vendor "${DEVICE_COMMON}" "${VENDOR}" "${AOSP_ROOT}" true "${CLEAN_VENDOR}"
|
||||||
|
|
||||||
|
extract "$MY_DIR"/proprietary-files.txt "$SRC"
|
||||||
|
|
||||||
|
"${MY_DIR}/setup-makefiles.sh"
|
47
hidl/Android.mk
Normal file
47
hidl/Android.mk
Normal file
|
@ -0,0 +1,47 @@
|
||||||
|
#
|
||||||
|
# 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 $(CLEAR_VARS)
|
||||||
|
LOCAL_SHARED_LIBRARIES := libhidltransport
|
||||||
|
LOCAL_MODULE := android.hidl.base@1.0
|
||||||
|
LOCAL_MODULE_TAGS := optional
|
||||||
|
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
|
||||||
|
LOCAL_VENDOR_MODULE := true
|
||||||
|
include $(BUILD_SHARED_LIBRARY)
|
||||||
|
|
||||||
|
include $(CLEAR_VARS)
|
||||||
|
LOCAL_SHARED_LIBRARIES := libhidltransport
|
||||||
|
LOCAL_MODULE := android.hidl.manager@1.0
|
||||||
|
LOCAL_MODULE_TAGS := optional
|
||||||
|
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
|
||||||
|
LOCAL_VENDOR_MODULE := true
|
||||||
|
include $(BUILD_SHARED_LIBRARY)
|
||||||
|
|
||||||
|
include $(CLEAR_VARS)
|
||||||
|
LOCAL_SHARED_LIBRARIES := libhidltransport
|
||||||
|
LOCAL_MODULE := android.hidl.base@1.0_system
|
||||||
|
LOCAL_INSTALLED_MODULE_STEM := android.hidl.base@1.0.so
|
||||||
|
LOCAL_MODULE_TAGS := optional
|
||||||
|
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
|
||||||
|
include $(BUILD_SHARED_LIBRARY)
|
||||||
|
|
||||||
|
include $(CLEAR_VARS)
|
||||||
|
LOCAL_SHARED_LIBRARIES := libhidltransport
|
||||||
|
LOCAL_MODULE := android.hidl.manager@1.0_system
|
||||||
|
LOCAL_INSTALLED_MODULE_STEM := android.hidl.manager@1.0.so
|
||||||
|
LOCAL_MODULE_TAGS := optional
|
||||||
|
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
|
||||||
|
include $(BUILD_SHARED_LIBRARY)
|
||||||
|
|
157
include/hardware/audio_amplifier.h
Normal file
157
include/hardware/audio_amplifier.h
Normal file
|
@ -0,0 +1,157 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2015, The CyanogenMod Project
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef CM_AUDIO_AMPLIFIER_INTERFACE_H
|
||||||
|
#define CM_AUDIO_AMPLIFIER_INTERFACE_H
|
||||||
|
|
||||||
|
#include <stdint.h>
|
||||||
|
#include <sys/cdefs.h>
|
||||||
|
#include <sys/types.h>
|
||||||
|
|
||||||
|
#include <hardware/audio.h>
|
||||||
|
#include <hardware/hardware.h>
|
||||||
|
|
||||||
|
#include <system/audio.h>
|
||||||
|
|
||||||
|
__BEGIN_DECLS
|
||||||
|
|
||||||
|
#define AMPLIFIER_HARDWARE_MODULE_ID "audio_amplifier"
|
||||||
|
|
||||||
|
#define AMPLIFIER_HARDWARE_INTERFACE "audio_amplifier_hw_if"
|
||||||
|
|
||||||
|
#define AMPLIFIER_MODULE_API_VERSION_0_1 HARDWARE_MODULE_API_VERSION(0, 1)
|
||||||
|
|
||||||
|
#define AMPLIFIER_DEVICE_API_VERSION_1_0 HARDWARE_DEVICE_API_VERSION(1, 0)
|
||||||
|
#define AMPLIFIER_DEVICE_API_VERSION_2_0 HARDWARE_DEVICE_API_VERSION(2, 0)
|
||||||
|
#define AMPLIFIER_DEVICE_API_VERSION_2_1 HARDWARE_DEVICE_API_VERSION(2, 1)
|
||||||
|
#define AMPLIFIER_DEVICE_API_VERSION_CURRENT AMPLIFIER_DEVICE_API_VERSION_2_1
|
||||||
|
|
||||||
|
struct str_parms;
|
||||||
|
|
||||||
|
typedef struct amplifier_device {
|
||||||
|
/**
|
||||||
|
* Common methods of the amplifier device. This *must* be the first member
|
||||||
|
* of amplifier_device as users of this structure will cast a hw_device_t
|
||||||
|
* to amplifier_device pointer in contexts where it's known
|
||||||
|
* the hw_device_t references a amplifier_device.
|
||||||
|
*/
|
||||||
|
struct hw_device_t common;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Notify amplifier device of current input devices
|
||||||
|
*
|
||||||
|
* This function should handle only input devices.
|
||||||
|
*/
|
||||||
|
int (*set_input_devices)(struct amplifier_device *device, uint32_t devices);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Notify amplifier device of current output devices
|
||||||
|
*
|
||||||
|
* This function should handle only output devices.
|
||||||
|
*/
|
||||||
|
int (*set_output_devices)(struct amplifier_device *device, uint32_t devices);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Notify amplifier device of output device enable/disable
|
||||||
|
*
|
||||||
|
* This function should handle only output devices.
|
||||||
|
*/
|
||||||
|
int (*enable_output_devices)(struct amplifier_device *device,
|
||||||
|
uint32_t devices, bool enable);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Notify amplifier device of input device enable/disable
|
||||||
|
*
|
||||||
|
* This function should handle only input devices.
|
||||||
|
*/
|
||||||
|
int (*enable_input_devices)(struct amplifier_device *device,
|
||||||
|
uint32_t devices, bool enable);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Notify amplifier device about current audio mode
|
||||||
|
*/
|
||||||
|
int (*set_mode)(struct amplifier_device *device, audio_mode_t mode);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Notify amplifier device that an output stream has started
|
||||||
|
*/
|
||||||
|
int (*output_stream_start)(struct amplifier_device *device,
|
||||||
|
struct audio_stream_out *stream, bool offload);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Notify amplifier device that an input stream has started
|
||||||
|
*/
|
||||||
|
int (*input_stream_start)(struct amplifier_device *device,
|
||||||
|
struct audio_stream_in *stream);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Notify amplifier device that an output stream has stopped
|
||||||
|
*/
|
||||||
|
int (*output_stream_standby)(struct amplifier_device *device,
|
||||||
|
struct audio_stream_out *stream);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Notify amplifier device that an input stream has stopped
|
||||||
|
*/
|
||||||
|
int (*input_stream_standby)(struct amplifier_device *device,
|
||||||
|
struct audio_stream_in *stream);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* set/get audio device parameters.
|
||||||
|
*/
|
||||||
|
int (*set_parameters)(struct amplifier_device *device,
|
||||||
|
struct str_parms *parms);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* set/get output stream parameters.
|
||||||
|
*/
|
||||||
|
int (*out_set_parameters)(struct amplifier_device *device,
|
||||||
|
struct str_parms *parms);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* set/get input stream parameters.
|
||||||
|
*/
|
||||||
|
int (*in_set_parameters)(struct amplifier_device *device,
|
||||||
|
struct str_parms *parms);
|
||||||
|
} amplifier_device_t;
|
||||||
|
|
||||||
|
typedef struct amplifier_module {
|
||||||
|
/**
|
||||||
|
* Common methods of the amplifier module. This *must* be the first member
|
||||||
|
* of amplifier_module as users of this structure will cast a hw_module_t
|
||||||
|
* to amplifier_module pointer in contexts where it's known
|
||||||
|
* the hw_module_t references a amplifier_module.
|
||||||
|
*/
|
||||||
|
struct hw_module_t common;
|
||||||
|
} amplifier_module_t;
|
||||||
|
|
||||||
|
/** convenience API for opening and closing a supported device */
|
||||||
|
|
||||||
|
static inline int amplifier_device_open(const struct hw_module_t *module,
|
||||||
|
struct amplifier_device **device)
|
||||||
|
{
|
||||||
|
return module->methods->open(module, AMPLIFIER_HARDWARE_INTERFACE,
|
||||||
|
(struct hw_device_t **) device);
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline int amplifier_device_close(struct amplifier_device *device)
|
||||||
|
{
|
||||||
|
return device->common.close(&device->common);
|
||||||
|
}
|
||||||
|
|
||||||
|
__END_DECLS
|
||||||
|
|
||||||
|
#endif // CM_AUDIO_AMPLIFIER_INTERFACE_H
|
275
include/hardware/gnss-base.h
Normal file
275
include/hardware/gnss-base.h
Normal file
|
@ -0,0 +1,275 @@
|
||||||
|
// This file is autogenerated by hidl-gen. Do not edit manually.
|
||||||
|
// Source: android.hardware.gnss@1.0
|
||||||
|
// Root: android.hardware:hardware/interfaces
|
||||||
|
|
||||||
|
#ifndef HIDL_GENERATED_ANDROID_HARDWARE_GNSS_V1_0_EXPORTED_CONSTANTS_H_
|
||||||
|
#define HIDL_GENERATED_ANDROID_HARDWARE_GNSS_V1_0_EXPORTED_CONSTANTS_H_
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
enum {
|
||||||
|
GNSS_MAX_SVS_COUNT = 64u, // 64
|
||||||
|
};
|
||||||
|
|
||||||
|
enum {
|
||||||
|
GNSS_CONSTELLATION_UNKNOWN = 0,
|
||||||
|
GNSS_CONSTELLATION_GPS = 1,
|
||||||
|
GNSS_CONSTELLATION_SBAS = 2,
|
||||||
|
GNSS_CONSTELLATION_GLONASS = 3,
|
||||||
|
GNSS_CONSTELLATION_QZSS = 4,
|
||||||
|
GNSS_CONSTELLATION_BEIDOU = 5,
|
||||||
|
GNSS_CONSTELLATION_GALILEO = 6,
|
||||||
|
};
|
||||||
|
|
||||||
|
enum {
|
||||||
|
GPS_LOCATION_HAS_LAT_LONG = 1, // 0x0001
|
||||||
|
GPS_LOCATION_HAS_ALTITUDE = 2, // 0x0002
|
||||||
|
GPS_LOCATION_HAS_SPEED = 4, // 0x0004
|
||||||
|
GPS_LOCATION_HAS_BEARING = 8, // 0x0008
|
||||||
|
GPS_LOCATION_HAS_HORIZONTAL_ACCURACY = 16, // 0x0010
|
||||||
|
GPS_LOCATION_HAS_VERTICAL_ACCURACY = 32, // 0x0020
|
||||||
|
GPS_LOCATION_HAS_SPEED_ACCURACY = 64, // 0x0040
|
||||||
|
GPS_LOCATION_HAS_BEARING_ACCURACY = 128, // 0x0080
|
||||||
|
};
|
||||||
|
|
||||||
|
enum {
|
||||||
|
APN_IP_INVALID = 0,
|
||||||
|
APN_IP_IPV4 = 1,
|
||||||
|
APN_IP_IPV6 = 2,
|
||||||
|
APN_IP_IPV4V6 = 3,
|
||||||
|
};
|
||||||
|
|
||||||
|
enum {
|
||||||
|
AGPS_TYPE_SUPL = 1,
|
||||||
|
AGPS_TYPE_C2K = 2,
|
||||||
|
};
|
||||||
|
|
||||||
|
enum {
|
||||||
|
GNSS_REQUEST_AGNSS_DATA_CONN = 1,
|
||||||
|
GNSS_RELEASE_AGNSS_DATA_CONN = 2,
|
||||||
|
GNSS_AGNSS_DATA_CONNECTED = 3,
|
||||||
|
GNSS_AGNSS_DATA_CONN_DONE = 4,
|
||||||
|
GNSS_AGNSS_DATA_CONN_FAILED = 5,
|
||||||
|
};
|
||||||
|
|
||||||
|
enum {
|
||||||
|
AGPS_SETID_TYPE_NONE = 0,
|
||||||
|
AGPS_SETID_TYPE_IMSI = 1,
|
||||||
|
AGPS_SETID_TYPE_MSISDM = 2,
|
||||||
|
};
|
||||||
|
|
||||||
|
enum {
|
||||||
|
AGPS_RIL_NETWORK_TYPE_MOBILE = 0,
|
||||||
|
AGPS_RIL_NETWORK_TYPE_WIFI = 1,
|
||||||
|
AGPS_RIL_NETWORK_TYPE_MMS = 2,
|
||||||
|
AGPS_RIL_NETWORK_TYPE_SUPL = 3,
|
||||||
|
AGPS_RIL_NETWORK_TYPE_DUN = 4,
|
||||||
|
AGPS_RIL_NETWORK_TYPE_HIPRI = 5,
|
||||||
|
AGPS_RIL_NETWORK_TYPE_WIMAX = 6,
|
||||||
|
};
|
||||||
|
|
||||||
|
enum {
|
||||||
|
AGPS_REF_LOCATION_TYPE_GSM_CELLID = 1,
|
||||||
|
AGPS_REF_LOCATION_TYPE_UMTS_CELLID = 2,
|
||||||
|
AGPS_REF_LOCATION_TYPE_LTE_CELLID = 4,
|
||||||
|
};
|
||||||
|
|
||||||
|
enum {
|
||||||
|
AGPS_RIL_REQUEST_SETID_IMSI = 1u, // (1 << 0L)
|
||||||
|
AGPS_RIL_REQUEST_SETID_MSISDN = 2u, // (1 << 1L)
|
||||||
|
};
|
||||||
|
|
||||||
|
enum {
|
||||||
|
GPS_POSITION_MODE_STANDALONE = 0,
|
||||||
|
GPS_POSITION_MODE_MS_BASED = 1,
|
||||||
|
GPS_POSITION_MODE_MS_ASSISTED = 2,
|
||||||
|
};
|
||||||
|
|
||||||
|
enum {
|
||||||
|
GPS_POSITION_RECURRENCE_PERIODIC = 0u, // 0
|
||||||
|
GPS_POSITION_RECURRENCE_SINGLE = 1u, // 1
|
||||||
|
};
|
||||||
|
|
||||||
|
enum {
|
||||||
|
GPS_DELETE_EPHEMERIS = 1, // 0x0001
|
||||||
|
GPS_DELETE_ALMANAC = 2, // 0x0002
|
||||||
|
GPS_DELETE_POSITION = 4, // 0x0004
|
||||||
|
GPS_DELETE_TIME = 8, // 0x0008
|
||||||
|
GPS_DELETE_IONO = 16, // 0x0010
|
||||||
|
GPS_DELETE_UTC = 32, // 0x0020
|
||||||
|
GPS_DELETE_HEALTH = 64, // 0x0040
|
||||||
|
GPS_DELETE_SVDIR = 128, // 0x0080
|
||||||
|
GPS_DELETE_SVSTEER = 256, // 0x0100
|
||||||
|
GPS_DELETE_SADATA = 512, // 0x0200
|
||||||
|
GPS_DELETE_RTI = 1024, // 0x0400
|
||||||
|
GPS_DELETE_CELLDB_INFO = 32768, // 0x8000
|
||||||
|
GPS_DELETE_ALL = 65535, // 0xFFFF
|
||||||
|
};
|
||||||
|
|
||||||
|
enum {
|
||||||
|
FLP_BATCH_WAKEUP_ON_FIFO_FULL = 1, // 0x01
|
||||||
|
};
|
||||||
|
|
||||||
|
enum {
|
||||||
|
GPS_CAPABILITY_SCHEDULING = 1u, // (1 << 0)
|
||||||
|
GPS_CAPABILITY_MSB = 2u, // (1 << 1)
|
||||||
|
GPS_CAPABILITY_MSA = 4u, // (1 << 2)
|
||||||
|
GPS_CAPABILITY_SINGLE_SHOT = 8u, // (1 << 3)
|
||||||
|
GPS_CAPABILITY_ON_DEMAND_TIME = 16u, // (1 << 4)
|
||||||
|
GPS_CAPABILITY_GEOFENCING = 32u, // (1 << 5)
|
||||||
|
GPS_CAPABILITY_MEASUREMENTS = 64u, // (1 << 6)
|
||||||
|
GPS_CAPABILITY_NAV_MESSAGES = 128u, // (1 << 7)
|
||||||
|
};
|
||||||
|
|
||||||
|
enum {
|
||||||
|
GPS_STATUS_NONE = 0,
|
||||||
|
GPS_STATUS_SESSION_BEGIN = 1,
|
||||||
|
GPS_STATUS_SESSION_END = 2,
|
||||||
|
GPS_STATUS_ENGINE_ON = 3,
|
||||||
|
GPS_STATUS_ENGINE_OFF = 4,
|
||||||
|
};
|
||||||
|
|
||||||
|
enum {
|
||||||
|
GNSS_SV_FLAGS_NONE = 0,
|
||||||
|
GNSS_SV_FLAGS_HAS_EPHEMERIS_DATA = 1, // (1 << 0)
|
||||||
|
GNSS_SV_FLAGS_HAS_ALMANAC_DATA = 2, // (1 << 1)
|
||||||
|
GNSS_SV_FLAGS_USED_IN_FIX = 4, // (1 << 2)
|
||||||
|
GNSS_SV_FLAGS_HAS_CARRIER_FREQUENCY = 8, // (1 << 3)
|
||||||
|
};
|
||||||
|
|
||||||
|
enum {
|
||||||
|
GPS_GEOFENCE_ENTERED = 1, // (1 << 0L)
|
||||||
|
GPS_GEOFENCE_EXITED = 2, // (1 << 1L)
|
||||||
|
GPS_GEOFENCE_UNCERTAIN = 4, // (1 << 2L)
|
||||||
|
};
|
||||||
|
|
||||||
|
enum {
|
||||||
|
GPS_GEOFENCE_UNAVAILABLE = 1, // (1 << 0L)
|
||||||
|
GPS_GEOFENCE_AVAILABLE = 2, // (1 << 1L)
|
||||||
|
};
|
||||||
|
|
||||||
|
enum {
|
||||||
|
GPS_GEOFENCE_OPERATION_SUCCESS = 0,
|
||||||
|
GPS_GEOFENCE_ERROR_TOO_MANY_GEOFENCES = -100, // (-100)
|
||||||
|
GPS_GEOFENCE_ERROR_ID_EXISTS = -101, // (-101)
|
||||||
|
GPS_GEOFENCE_ERROR_ID_UNKNOWN = -102, // (-102)
|
||||||
|
GPS_GEOFENCE_ERROR_INVALID_TRANSITION = -103, // (-103)
|
||||||
|
GPS_GEOFENCE_ERROR_GENERIC = -149, // (-149)
|
||||||
|
};
|
||||||
|
|
||||||
|
enum {
|
||||||
|
GPS_MEASUREMENT_SUCCESS = 0,
|
||||||
|
GPS_MEASUREMENT_ERROR_ALREADY_INIT = -100, // (-100)
|
||||||
|
GPS_MEASUREMENT_ERROR_GENERIC = -101, // (-101)
|
||||||
|
};
|
||||||
|
|
||||||
|
enum {
|
||||||
|
GNSS_CLOCK_HAS_LEAP_SECOND = 1, // (1 << 0)
|
||||||
|
GNSS_CLOCK_HAS_TIME_UNCERTAINTY = 2, // (1 << 1)
|
||||||
|
GNSS_CLOCK_HAS_FULL_BIAS = 4, // (1 << 2)
|
||||||
|
GNSS_CLOCK_HAS_BIAS = 8, // (1 << 3)
|
||||||
|
GNSS_CLOCK_HAS_BIAS_UNCERTAINTY = 16, // (1 << 4)
|
||||||
|
GNSS_CLOCK_HAS_DRIFT = 32, // (1 << 5)
|
||||||
|
GNSS_CLOCK_HAS_DRIFT_UNCERTAINTY = 64, // (1 << 6)
|
||||||
|
};
|
||||||
|
|
||||||
|
enum {
|
||||||
|
GNSS_MEASUREMENT_HAS_SNR = 1u, // (1 << 0)
|
||||||
|
GNSS_MEASUREMENT_HAS_CARRIER_FREQUENCY = 512u, // (1 << 9)
|
||||||
|
GNSS_MEASUREMENT_HAS_CARRIER_CYCLES = 1024u, // (1 << 10)
|
||||||
|
GNSS_MEASUREMENT_HAS_CARRIER_PHASE = 2048u, // (1 << 11)
|
||||||
|
GNSS_MEASUREMENT_HAS_CARRIER_PHASE_UNCERTAINTY = 4096u, // (1 << 12)
|
||||||
|
GNSS_MEASUREMENT_HAS_AUTOMATIC_GAIN_CONTROL = 8192u, // (1 << 13)
|
||||||
|
};
|
||||||
|
|
||||||
|
enum {
|
||||||
|
GNSS_MULTIPATH_INDICATOR_UNKNOWN = 0,
|
||||||
|
GNSS_MULTIPATH_INDICATOR_PRESENT = 1,
|
||||||
|
GNSS_MULTIPATH_INDICATIOR_NOT_PRESENT = 2,
|
||||||
|
};
|
||||||
|
|
||||||
|
enum {
|
||||||
|
GNSS_MEASUREMENT_STATE_UNKNOWN = 0u, // 0
|
||||||
|
GNSS_MEASUREMENT_STATE_CODE_LOCK = 1u, // (1 << 0)
|
||||||
|
GNSS_MEASUREMENT_STATE_BIT_SYNC = 2u, // (1 << 1)
|
||||||
|
GNSS_MEASUREMENT_STATE_SUBFRAME_SYNC = 4u, // (1 << 2)
|
||||||
|
GNSS_MEASUREMENT_STATE_TOW_DECODED = 8u, // (1 << 3)
|
||||||
|
GNSS_MEASUREMENT_STATE_MSEC_AMBIGUOUS = 16u, // (1 << 4)
|
||||||
|
GNSS_MEASUREMENT_STATE_SYMBOL_SYNC = 32u, // (1 << 5)
|
||||||
|
GNSS_MEASUREMENT_STATE_GLO_STRING_SYNC = 64u, // (1 << 6)
|
||||||
|
GNSS_MEASUREMENT_STATE_GLO_TOD_DECODED = 128u, // (1 << 7)
|
||||||
|
GNSS_MEASUREMENT_STATE_BDS_D2_BIT_SYNC = 256u, // (1 << 8)
|
||||||
|
GNSS_MEASUREMENT_STATE_BDS_D2_SUBFRAME_SYNC = 512u, // (1 << 9)
|
||||||
|
GNSS_MEASUREMENT_STATE_GAL_E1BC_CODE_LOCK = 1024u, // (1 << 10)
|
||||||
|
GNSS_MEASUREMENT_STATE_GAL_E1C_2ND_CODE_LOCK = 2048u, // (1 << 11)
|
||||||
|
GNSS_MEASUREMENT_STATE_GAL_E1B_PAGE_SYNC = 4096u, // (1 << 12)
|
||||||
|
GNSS_MEASUREMENT_STATE_SBAS_SYNC = 8192u, // (1 << 13)
|
||||||
|
GNSS_MEASUREMENT_STATE_TOW_KNOWN = 16384u, // (1 << 14)
|
||||||
|
GNSS_MEASUREMENT_STATE_GLO_TOD_KNOWN = 32768u, // (1 << 15)
|
||||||
|
};
|
||||||
|
|
||||||
|
enum {
|
||||||
|
GNSS_ADR_STATE_UNKNOWN = 0,
|
||||||
|
GNSS_ADR_STATE_VALID = 1, // (1 << 0)
|
||||||
|
GNSS_ADR_STATE_RESET = 2, // (1 << 1)
|
||||||
|
GNSS_ADR_STATE_CYCLE_SLIP = 4, // (1 << 2)
|
||||||
|
};
|
||||||
|
|
||||||
|
enum {
|
||||||
|
GPS_NAVIGATION_MESSAGE_SUCCESS = 0,
|
||||||
|
GPS_NAVIGATION_MESSAGE_ERROR_ALREADY_INIT = -100, // (-100)
|
||||||
|
GPS_NAVIGATION_MESSAGE_ERROR_GENERIC = -101, // (-101)
|
||||||
|
};
|
||||||
|
|
||||||
|
enum {
|
||||||
|
GNSS_NAVIGATION_MESSAGE_TYPE_UNKNOWN = 0,
|
||||||
|
GNSS_NAVIGATION_MESSAGE_TYPE_GNSS_L1CA = 257, // 0x0101
|
||||||
|
GNSS_NAVIGATION_MESSAGE_TYPE_GNSS_L2CNAV = 258, // 0x0102
|
||||||
|
GNSS_NAVIGATION_MESSAGE_TYPE_GNSS_L5CNAV = 259, // 0x0103
|
||||||
|
GNSS_NAVIGATION_MESSAGE_TYPE_GNSS_CNAV2 = 260, // 0x0104
|
||||||
|
GNSS_NAVIGATION_MESSAGE_TYPE_GLO_L1CA = 769, // 0x0301
|
||||||
|
GNSS_NAVIGATION_MESSAGE_TYPE_BDS_D1 = 1281, // 0x0501
|
||||||
|
GNSS_NAVIGATION_MESSAGE_TYPE_BDS_D2 = 1282, // 0x0502
|
||||||
|
GNSS_NAVIGATION_MESSAGE_TYPE_GAL_I = 1537, // 0x0601
|
||||||
|
GNSS_NAVIGATION_MESSAGE_TYPE_GAL_F = 1538, // 0x0602
|
||||||
|
};
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
NAV_MESSAGE_STATUS_PARITY_PASSED = 1, // (1 << 0)
|
||||||
|
NAV_MESSAGE_STATUS_PARITY_REBUILT = 2, // (1 << 1)
|
||||||
|
NAV_MESSAGE_STATUS_UNKNOWN = 0,
|
||||||
|
} navigation_message_status;
|
||||||
|
|
||||||
|
enum {
|
||||||
|
GPS_NI_TYPE_VOICE = 1,
|
||||||
|
GPS_NI_TYPE_UMTS_SUPL = 2,
|
||||||
|
GPS_NI_TYPE_UMTS_CTRL_PLANE = 3,
|
||||||
|
};
|
||||||
|
|
||||||
|
enum {
|
||||||
|
GPS_NI_NEED_NOTIFY = 1u, // 0x0001
|
||||||
|
GPS_NI_NEED_VERIFY = 2u, // 0x0002
|
||||||
|
GPS_NI_PRIVACY_OVERRIDE = 4u, // 0x0004
|
||||||
|
};
|
||||||
|
|
||||||
|
enum {
|
||||||
|
GPS_NI_RESPONSE_ACCEPT = 1,
|
||||||
|
GPS_NI_RESPONSE_DENY = 2,
|
||||||
|
GPS_NI_RESPONSE_NORESP = 3,
|
||||||
|
};
|
||||||
|
|
||||||
|
enum {
|
||||||
|
GPS_ENC_NONE = 0,
|
||||||
|
GPS_ENC_SUPL_GSM_DEFAULT = 1,
|
||||||
|
GPS_ENC_SUPL_UTF8 = 2,
|
||||||
|
GPS_ENC_SUPL_UCS2 = 3,
|
||||||
|
GPS_ENC_UNKNOWN = -1, // (-1)
|
||||||
|
};
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif // HIDL_GENERATED_ANDROID_HARDWARE_GNSS_V1_0_EXPORTED_CONSTANTS_H_
|
2006
include/hardware/gps.h
Normal file
2006
include/hardware/gps.h
Normal file
File diff suppressed because it is too large
Load diff
437
include/hardware/gralloc.h
Normal file
437
include/hardware/gralloc.h
Normal file
|
@ -0,0 +1,437 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2008 The Android Open Source Project
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef ANDROID_GRALLOC_INTERFACE_H
|
||||||
|
#define ANDROID_GRALLOC_INTERFACE_H
|
||||||
|
|
||||||
|
#include <system/graphics.h>
|
||||||
|
#include <hardware/hardware.h>
|
||||||
|
|
||||||
|
#include <stdint.h>
|
||||||
|
#include <sys/cdefs.h>
|
||||||
|
#include <sys/types.h>
|
||||||
|
|
||||||
|
#include <cutils/native_handle.h>
|
||||||
|
|
||||||
|
#include <hardware/hardware.h>
|
||||||
|
#include <hardware/fb.h>
|
||||||
|
|
||||||
|
__BEGIN_DECLS
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Module versioning information for the Gralloc hardware module, based on
|
||||||
|
* gralloc_module_t.common.module_api_version.
|
||||||
|
*
|
||||||
|
* Version History:
|
||||||
|
*
|
||||||
|
* GRALLOC_MODULE_API_VERSION_0_1:
|
||||||
|
* Initial Gralloc hardware module API.
|
||||||
|
*
|
||||||
|
* GRALLOC_MODULE_API_VERSION_0_2:
|
||||||
|
* Add support for flexible YCbCr format with (*lock_ycbcr)() method.
|
||||||
|
*
|
||||||
|
* GRALLOC_MODULE_API_VERSION_0_3:
|
||||||
|
* Add support for fence passing to/from lock/unlock.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define GRALLOC_MODULE_API_VERSION_0_1 HARDWARE_MODULE_API_VERSION(0, 1)
|
||||||
|
#define GRALLOC_MODULE_API_VERSION_0_2 HARDWARE_MODULE_API_VERSION(0, 2)
|
||||||
|
#define GRALLOC_MODULE_API_VERSION_0_3 HARDWARE_MODULE_API_VERSION(0, 3)
|
||||||
|
|
||||||
|
#define GRALLOC_DEVICE_API_VERSION_0_1 HARDWARE_DEVICE_API_VERSION(0, 1)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The id of this module
|
||||||
|
*/
|
||||||
|
#define GRALLOC_HARDWARE_MODULE_ID "gralloc"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Name of the graphics device to open
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define GRALLOC_HARDWARE_GPU0 "gpu0"
|
||||||
|
|
||||||
|
enum {
|
||||||
|
/* buffer is never read in software */
|
||||||
|
GRALLOC_USAGE_SW_READ_NEVER = 0x00000000U,
|
||||||
|
/* buffer is rarely read in software */
|
||||||
|
GRALLOC_USAGE_SW_READ_RARELY = 0x00000002U,
|
||||||
|
/* buffer is often read in software */
|
||||||
|
GRALLOC_USAGE_SW_READ_OFTEN = 0x00000003U,
|
||||||
|
/* added for VR single buffer only */
|
||||||
|
#ifdef USES_VR_FRONT_BUFFER
|
||||||
|
GRALLOC_USAGE_VR_SINGLE_BUFFER_USAGE= 0x00000004U,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* mask for the software read values */
|
||||||
|
GRALLOC_USAGE_SW_READ_MASK = 0x0000000FU,
|
||||||
|
|
||||||
|
/* buffer is never written in software */
|
||||||
|
GRALLOC_USAGE_SW_WRITE_NEVER = 0x00000000U,
|
||||||
|
/* buffer is rarely written in software */
|
||||||
|
GRALLOC_USAGE_SW_WRITE_RARELY = 0x00000020U,
|
||||||
|
/* buffer is often written in software */
|
||||||
|
GRALLOC_USAGE_SW_WRITE_OFTEN = 0x00000030U,
|
||||||
|
/* mask for the software write values */
|
||||||
|
GRALLOC_USAGE_SW_WRITE_MASK = 0x000000F0U,
|
||||||
|
|
||||||
|
/* buffer will be used as an OpenGL ES texture */
|
||||||
|
GRALLOC_USAGE_HW_TEXTURE = 0x00000100U,
|
||||||
|
/* buffer will be used as an OpenGL ES render target */
|
||||||
|
GRALLOC_USAGE_HW_RENDER = 0x00000200U,
|
||||||
|
/* buffer will be used by the 2D hardware blitter */
|
||||||
|
GRALLOC_USAGE_HW_2D = 0x00000400U,
|
||||||
|
/* buffer will be used by the HWComposer HAL module */
|
||||||
|
GRALLOC_USAGE_HW_COMPOSER = 0x00000800U,
|
||||||
|
/* buffer will be used with the framebuffer device */
|
||||||
|
GRALLOC_USAGE_HW_FB = 0x00001000U,
|
||||||
|
|
||||||
|
/* buffer should be displayed full-screen on an external display when
|
||||||
|
* possible */
|
||||||
|
GRALLOC_USAGE_EXTERNAL_DISP = 0x00002000U,
|
||||||
|
|
||||||
|
/* Must have a hardware-protected path to external display sink for
|
||||||
|
* this buffer. If a hardware-protected path is not available, then
|
||||||
|
* either don't composite only this buffer (preferred) to the
|
||||||
|
* external sink, or (less desirable) do not route the entire
|
||||||
|
* composition to the external sink. */
|
||||||
|
GRALLOC_USAGE_PROTECTED = 0x00004000U,
|
||||||
|
|
||||||
|
/* buffer may be used as a cursor */
|
||||||
|
GRALLOC_USAGE_CURSOR = 0x00008000U,
|
||||||
|
|
||||||
|
/* buffer will be used with the HW video encoder */
|
||||||
|
GRALLOC_USAGE_HW_VIDEO_ENCODER = 0x00010000U,
|
||||||
|
/* buffer will be written by the HW camera pipeline */
|
||||||
|
GRALLOC_USAGE_HW_CAMERA_WRITE = 0x00020000U,
|
||||||
|
/* buffer will be read by the HW camera pipeline */
|
||||||
|
GRALLOC_USAGE_HW_CAMERA_READ = 0x00040000U,
|
||||||
|
/* buffer will be used as part of zero-shutter-lag queue */
|
||||||
|
GRALLOC_USAGE_HW_CAMERA_ZSL = 0x00060000U,
|
||||||
|
/* mask for the camera access values */
|
||||||
|
GRALLOC_USAGE_HW_CAMERA_MASK = 0x00060000U,
|
||||||
|
/* mask for the software usage bit-mask */
|
||||||
|
GRALLOC_USAGE_HW_MASK = 0x00071F00U,
|
||||||
|
|
||||||
|
/* buffer will be used as a RenderScript Allocation */
|
||||||
|
GRALLOC_USAGE_RENDERSCRIPT = 0x00100000U,
|
||||||
|
|
||||||
|
/* Set by the consumer to indicate to the producer that they may attach a
|
||||||
|
* buffer that they did not detach from the BufferQueue. Will be filtered
|
||||||
|
* out by GRALLOC_USAGE_ALLOC_MASK, so gralloc modules will not need to
|
||||||
|
* handle this flag. */
|
||||||
|
GRALLOC_USAGE_FOREIGN_BUFFERS = 0x00200000U,
|
||||||
|
|
||||||
|
/* Mask of all flags which could be passed to a gralloc module for buffer
|
||||||
|
* allocation. Any flags not in this mask do not need to be handled by
|
||||||
|
* gralloc modules. */
|
||||||
|
GRALLOC_USAGE_ALLOC_MASK = ~(GRALLOC_USAGE_FOREIGN_BUFFERS),
|
||||||
|
|
||||||
|
/* implementation-specific private usage flags */
|
||||||
|
GRALLOC_USAGE_PRIVATE_0 = 0x10000000U,
|
||||||
|
GRALLOC_USAGE_PRIVATE_1 = 0x20000000U,
|
||||||
|
GRALLOC_USAGE_PRIVATE_2 = 0x40000000U,
|
||||||
|
GRALLOC_USAGE_PRIVATE_3 = 0x80000000U,
|
||||||
|
GRALLOC_USAGE_PRIVATE_MASK = 0xF0000000U,
|
||||||
|
|
||||||
|
GRALLOC_USAGE_INTERNAL_ONLY = 0x10000000U,
|
||||||
|
GRALLOC_USAGE_EXTERNAL_FLEXIBLE = 0x20000000U,
|
||||||
|
GRALLOC_USAGE_EXTERNAL_BLOCK = 0x40000000U,
|
||||||
|
GRALLOC_USAGE_EXTERNAL_ONLY = 0x80000000U,
|
||||||
|
GRALLOC_USAGE_EXTERNAL_VIRTUALFB = 0x00400000U,
|
||||||
|
GRALLOC_USAGE_PROTECTED_DPB = 0x00800000U,
|
||||||
|
/* buffer will be used by the HW IPs when sysmmu is off */
|
||||||
|
GRALLOC_USAGE_PHYSICALLY_LINEAR = 0x01000000U,
|
||||||
|
GRALLOC_USAGE_PRIVATE_NONSECURE = 0x02000000U,
|
||||||
|
GRALLOC_USAGE_CAMERA_RESERVED = 0x04000000U,
|
||||||
|
GRALLOC_USAGE_NOZEROED = 0x08000000U,
|
||||||
|
GRALLOC_USAGE_VIDEO_EXT = 0x10000000U,
|
||||||
|
GRALLOC_USAGE_GPU_BUFFER = 0x00800000U,
|
||||||
|
};
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Every hardware module must have a data structure named HAL_MODULE_INFO_SYM
|
||||||
|
* and the fields of this data structure must begin with hw_module_t
|
||||||
|
* followed by module specific information.
|
||||||
|
*/
|
||||||
|
typedef struct gralloc_module_t {
|
||||||
|
struct hw_module_t common;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* (*registerBuffer)() must be called before a buffer_handle_t that has not
|
||||||
|
* been created with (*alloc_device_t::alloc)() can be used.
|
||||||
|
*
|
||||||
|
* This is intended to be used with buffer_handle_t's that have been
|
||||||
|
* received in this process through IPC.
|
||||||
|
*
|
||||||
|
* This function checks that the handle is indeed a valid one and prepares
|
||||||
|
* it for use with (*lock)() and (*unlock)().
|
||||||
|
*
|
||||||
|
* It is not necessary to call (*registerBuffer)() on a handle created
|
||||||
|
* with (*alloc_device_t::alloc)().
|
||||||
|
*
|
||||||
|
* returns an error if this buffer_handle_t is not valid.
|
||||||
|
*/
|
||||||
|
int (*registerBuffer)(struct gralloc_module_t const* module,
|
||||||
|
buffer_handle_t handle);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* (*unregisterBuffer)() is called once this handle is no longer needed in
|
||||||
|
* this process. After this call, it is an error to call (*lock)(),
|
||||||
|
* (*unlock)(), or (*registerBuffer)().
|
||||||
|
*
|
||||||
|
* This function doesn't close or free the handle itself; this is done
|
||||||
|
* by other means, usually through libcutils's native_handle_close() and
|
||||||
|
* native_handle_free().
|
||||||
|
*
|
||||||
|
* It is an error to call (*unregisterBuffer)() on a buffer that wasn't
|
||||||
|
* explicitly registered first.
|
||||||
|
*/
|
||||||
|
int (*unregisterBuffer)(struct gralloc_module_t const* module,
|
||||||
|
buffer_handle_t handle);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The (*lock)() method is called before a buffer is accessed for the
|
||||||
|
* specified usage. This call may block, for instance if the h/w needs
|
||||||
|
* to finish rendering or if CPU caches need to be synchronized.
|
||||||
|
*
|
||||||
|
* The caller promises to modify only pixels in the area specified
|
||||||
|
* by (l,t,w,h).
|
||||||
|
*
|
||||||
|
* The content of the buffer outside of the specified area is NOT modified
|
||||||
|
* by this call.
|
||||||
|
*
|
||||||
|
* If usage specifies GRALLOC_USAGE_SW_*, vaddr is filled with the address
|
||||||
|
* of the buffer in virtual memory.
|
||||||
|
*
|
||||||
|
* Note calling (*lock)() on HAL_PIXEL_FORMAT_YCbCr_*_888 buffers will fail
|
||||||
|
* and return -EINVAL. These buffers must be locked with (*lock_ycbcr)()
|
||||||
|
* instead.
|
||||||
|
*
|
||||||
|
* THREADING CONSIDERATIONS:
|
||||||
|
*
|
||||||
|
* It is legal for several different threads to lock a buffer from
|
||||||
|
* read access, none of the threads are blocked.
|
||||||
|
*
|
||||||
|
* However, locking a buffer simultaneously for write or read/write is
|
||||||
|
* undefined, but:
|
||||||
|
* - shall not result in termination of the process
|
||||||
|
* - shall not block the caller
|
||||||
|
* It is acceptable to return an error or to leave the buffer's content
|
||||||
|
* into an indeterminate state.
|
||||||
|
*
|
||||||
|
* If the buffer was created with a usage mask incompatible with the
|
||||||
|
* requested usage flags here, -EINVAL is returned.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
int (*lock)(struct gralloc_module_t const* module,
|
||||||
|
buffer_handle_t handle, int usage,
|
||||||
|
int l, int t, int w, int h,
|
||||||
|
void** vaddr);
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The (*unlock)() method must be called after all changes to the buffer
|
||||||
|
* are completed.
|
||||||
|
*/
|
||||||
|
|
||||||
|
int (*unlock)(struct gralloc_module_t const* module,
|
||||||
|
buffer_handle_t handle);
|
||||||
|
|
||||||
|
/* reserved for future use */
|
||||||
|
int (*perform)(struct gralloc_module_t const* module,
|
||||||
|
int operation, ... );
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The (*lock_ycbcr)() method is like the (*lock)() method, with the
|
||||||
|
* difference that it fills a struct ycbcr with a description of the buffer
|
||||||
|
* layout, and zeroes out the reserved fields.
|
||||||
|
*
|
||||||
|
* If the buffer format is not compatible with a flexible YUV format (e.g.
|
||||||
|
* the buffer layout cannot be represented with the ycbcr struct), it
|
||||||
|
* will return -EINVAL.
|
||||||
|
*
|
||||||
|
* This method must work on buffers with HAL_PIXEL_FORMAT_YCbCr_*_888
|
||||||
|
* if supported by the device, as well as with any other format that is
|
||||||
|
* requested by the multimedia codecs when they are configured with a
|
||||||
|
* flexible-YUV-compatible color-format with android native buffers.
|
||||||
|
*
|
||||||
|
* Note that this method may also be called on buffers of other formats,
|
||||||
|
* including non-YUV formats.
|
||||||
|
*
|
||||||
|
* Added in GRALLOC_MODULE_API_VERSION_0_2.
|
||||||
|
*/
|
||||||
|
|
||||||
|
int (*lock_ycbcr)(struct gralloc_module_t const* module,
|
||||||
|
buffer_handle_t handle, int usage,
|
||||||
|
int l, int t, int w, int h,
|
||||||
|
struct android_ycbcr *ycbcr);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The (*lockAsync)() method is like the (*lock)() method except
|
||||||
|
* that the buffer's sync fence object is passed into the lock
|
||||||
|
* call instead of requiring the caller to wait for completion.
|
||||||
|
*
|
||||||
|
* The gralloc implementation takes ownership of the fenceFd and
|
||||||
|
* is responsible for closing it when no longer needed.
|
||||||
|
*
|
||||||
|
* Added in GRALLOC_MODULE_API_VERSION_0_3.
|
||||||
|
*/
|
||||||
|
int (*lockAsync)(struct gralloc_module_t const* module,
|
||||||
|
buffer_handle_t handle, int usage,
|
||||||
|
int l, int t, int w, int h,
|
||||||
|
void** vaddr, int fenceFd);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The (*unlockAsync)() method is like the (*unlock)() method
|
||||||
|
* except that a buffer sync fence object is returned from the
|
||||||
|
* lock call, representing the completion of any pending work
|
||||||
|
* performed by the gralloc implementation.
|
||||||
|
*
|
||||||
|
* The caller takes ownership of the fenceFd and is responsible
|
||||||
|
* for closing it when no longer needed.
|
||||||
|
*
|
||||||
|
* Added in GRALLOC_MODULE_API_VERSION_0_3.
|
||||||
|
*/
|
||||||
|
int (*unlockAsync)(struct gralloc_module_t const* module,
|
||||||
|
buffer_handle_t handle, int* fenceFd);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The (*lockAsync_ycbcr)() method is like the (*lock_ycbcr)()
|
||||||
|
* method except that the buffer's sync fence object is passed
|
||||||
|
* into the lock call instead of requiring the caller to wait for
|
||||||
|
* completion.
|
||||||
|
*
|
||||||
|
* The gralloc implementation takes ownership of the fenceFd and
|
||||||
|
* is responsible for closing it when no longer needed.
|
||||||
|
*
|
||||||
|
* Added in GRALLOC_MODULE_API_VERSION_0_3.
|
||||||
|
*/
|
||||||
|
int (*lockAsync_ycbcr)(struct gralloc_module_t const* module,
|
||||||
|
buffer_handle_t handle, int usage,
|
||||||
|
int l, int t, int w, int h,
|
||||||
|
struct android_ycbcr *ycbcr, int fenceFd);
|
||||||
|
|
||||||
|
/* reserved for future use */
|
||||||
|
void* reserved_proc[3];
|
||||||
|
} gralloc_module_t;
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Every device data structure must begin with hw_device_t
|
||||||
|
* followed by module specific public methods and attributes.
|
||||||
|
*/
|
||||||
|
|
||||||
|
typedef struct alloc_device_t {
|
||||||
|
struct hw_device_t common;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* (*alloc)() Allocates a buffer in graphic memory with the requested
|
||||||
|
* parameters and returns a buffer_handle_t and the stride in pixels to
|
||||||
|
* allow the implementation to satisfy hardware constraints on the width
|
||||||
|
* of a pixmap (eg: it may have to be multiple of 8 pixels).
|
||||||
|
* The CALLER TAKES OWNERSHIP of the buffer_handle_t.
|
||||||
|
*
|
||||||
|
* If format is HAL_PIXEL_FORMAT_YCbCr_420_888, the returned stride must be
|
||||||
|
* 0, since the actual strides are available from the android_ycbcr
|
||||||
|
* structure.
|
||||||
|
*
|
||||||
|
* Returns 0 on success or -errno on error.
|
||||||
|
*/
|
||||||
|
|
||||||
|
int (*alloc)(struct alloc_device_t* dev,
|
||||||
|
int w, int h, int format, int usage,
|
||||||
|
buffer_handle_t* handle, int* stride);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* (*free)() Frees a previously allocated buffer.
|
||||||
|
* Behavior is undefined if the buffer is still mapped in any process,
|
||||||
|
* but shall not result in termination of the program or security breaches
|
||||||
|
* (allowing a process to get access to another process' buffers).
|
||||||
|
* THIS FUNCTION TAKES OWNERSHIP of the buffer_handle_t which becomes
|
||||||
|
* invalid after the call.
|
||||||
|
*
|
||||||
|
* Returns 0 on success or -errno on error.
|
||||||
|
*/
|
||||||
|
int (*free)(struct alloc_device_t* dev,
|
||||||
|
buffer_handle_t handle);
|
||||||
|
|
||||||
|
/* This hook is OPTIONAL.
|
||||||
|
*
|
||||||
|
* If non NULL it will be caused by SurfaceFlinger on dumpsys
|
||||||
|
*/
|
||||||
|
void (*dump)(struct alloc_device_t *dev, char *buff, int buff_len);
|
||||||
|
|
||||||
|
void* reserved_proc[7];
|
||||||
|
} alloc_device_t;
|
||||||
|
|
||||||
|
|
||||||
|
/** convenience API for opening and closing a supported device */
|
||||||
|
|
||||||
|
static inline int gralloc_open(const struct hw_module_t* module,
|
||||||
|
struct alloc_device_t** device) {
|
||||||
|
return module->methods->open(module,
|
||||||
|
#ifdef __cplusplus
|
||||||
|
GRALLOC_HARDWARE_GPU0, reinterpret_cast<struct hw_device_t**>(device));
|
||||||
|
#else
|
||||||
|
GRALLOC_HARDWARE_GPU0, TO_HW_DEVICE_T_OPEN(device));
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline int gralloc_close(struct alloc_device_t* device) {
|
||||||
|
return device->common.close(&device->common);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* map_usage_to_memtrack should be called after allocating a gralloc buffer.
|
||||||
|
*
|
||||||
|
* @param usage - it is the flag used when alloc function is called.
|
||||||
|
*
|
||||||
|
* This function maps the gralloc usage flags to appropriate memtrack bucket.
|
||||||
|
* GrallocHAL implementers and users should make an additional ION_IOCTL_TAG
|
||||||
|
* call using the memtrack tag returned by this function. This will help the
|
||||||
|
* in-kernel memtack to categorize the memory allocated by different processes
|
||||||
|
* according to their usage.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
static inline const char* map_usage_to_memtrack(uint32_t usage) {
|
||||||
|
usage &= GRALLOC_USAGE_ALLOC_MASK;
|
||||||
|
|
||||||
|
if ((usage & GRALLOC_USAGE_HW_CAMERA_WRITE) != 0) {
|
||||||
|
return "camera";
|
||||||
|
} else if ((usage & GRALLOC_USAGE_HW_VIDEO_ENCODER) != 0 ||
|
||||||
|
(usage & GRALLOC_USAGE_EXTERNAL_DISP) != 0) {
|
||||||
|
return "video";
|
||||||
|
} else if ((usage & GRALLOC_USAGE_HW_RENDER) != 0 ||
|
||||||
|
(usage & GRALLOC_USAGE_HW_TEXTURE) != 0) {
|
||||||
|
return "gl";
|
||||||
|
} else if ((usage & GRALLOC_USAGE_HW_CAMERA_READ) != 0) {
|
||||||
|
return "camera";
|
||||||
|
} else if ((usage & GRALLOC_USAGE_SW_READ_MASK) != 0 ||
|
||||||
|
(usage & GRALLOC_USAGE_SW_WRITE_MASK) != 0) {
|
||||||
|
return "cpu";
|
||||||
|
}
|
||||||
|
return "graphics";
|
||||||
|
}
|
||||||
|
|
||||||
|
__END_DECLS
|
||||||
|
|
||||||
|
#endif // ANDROID_GRALLOC_INTERFACE_H
|
84
include/samsung_audio.h
Normal file
84
include/samsung_audio.h
Normal file
|
@ -0,0 +1,84 @@
|
||||||
|
/*
|
||||||
|
* 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 <telephony/ril.h>
|
||||||
|
|
||||||
|
#ifndef SAMSUNG_AUDIO_H
|
||||||
|
#define SAMSUNG_AUDIO_H
|
||||||
|
|
||||||
|
#define MIXER_CARD 0
|
||||||
|
#define SOUND_CARD 0
|
||||||
|
|
||||||
|
/* Playback */
|
||||||
|
#define SOUND_DEEP_BUFFER_DEVICE 1
|
||||||
|
#define SOUND_PLAYBACK_DEVICE 0
|
||||||
|
#define SOUND_PLAYBACK_SCO_DEVICE 3
|
||||||
|
|
||||||
|
/* Capture */
|
||||||
|
#define SOUND_CAPTURE_DEVICE 0
|
||||||
|
#define SOUND_CAPTURE_SCO_DEVICE 3
|
||||||
|
|
||||||
|
/* Voice calls */
|
||||||
|
#define SOUND_PLAYBACK_VOICE_DEVICE 2
|
||||||
|
#define SOUND_CAPTURE_VOICE_DEVICE 2
|
||||||
|
|
||||||
|
/* Wideband AMR callback */
|
||||||
|
#ifndef RIL_UNSOL_SNDMGR_WB_AMR_REPORT
|
||||||
|
#ifdef RIL_UNSOL_WB_AMR_STATE
|
||||||
|
#define RIL_UNSOL_SNDMGR_WB_AMR_REPORT RIL_UNSOL_WB_AMR_STATE
|
||||||
|
#else
|
||||||
|
#define RIL_UNSOL_SNDMGR_WB_AMR_REPORT 0
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Unusupported
|
||||||
|
#define SOUND_CAPTURE_LOOPBACK_AEC_DEVICE 1
|
||||||
|
#define SOUND_CAPTURE_HOTWORD_DEVICE 0
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* If the device has stereo speakers and the speakers are arranged on
|
||||||
|
* different sides of the device you can activate this feature by
|
||||||
|
* setting it to 1.
|
||||||
|
*/
|
||||||
|
#define SWAP_SPEAKER_ON_SCREEN_ROTATION 0
|
||||||
|
|
||||||
|
/*
|
||||||
|
* You can that this to 1 if your kernel supports irq affinity for
|
||||||
|
* fast mode. See /proc/asound/irq_affinity
|
||||||
|
*/
|
||||||
|
#define SUPPORTS_IRQ_AFFINITY 0
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The Wolfson/Cirruslogic chips need to shutdown the DAPM route completely
|
||||||
|
* to be able to load a new firmware. Some of these chips need a delay after
|
||||||
|
* shutodown to full poweroff the DSPs.
|
||||||
|
*
|
||||||
|
* A good value to start with is 10ms:
|
||||||
|
*
|
||||||
|
* #define DSP_POWEROFF_DELAY 10 * 1000
|
||||||
|
*/
|
||||||
|
/* #define DSP_POWEROFF_DELAY 0 */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Some device variants (often T-Mobile) have a separate voice processing IC
|
||||||
|
* (Audience EarSmart xxx).
|
||||||
|
* This hooks into the voice call session and enables, configures and disables
|
||||||
|
* this extra firmware so RX/TX streams can be routed by the driver.
|
||||||
|
*/
|
||||||
|
/* #define AUDIENCE_EARSMART_IC */
|
||||||
|
|
||||||
|
#endif // SAMSUNG_AUDIO_H
|
46
include/samsung_dtbh.h
Normal file
46
include/samsung_dtbh.h
Normal file
|
@ -0,0 +1,46 @@
|
||||||
|
/* tools/mkbootimg/samsung_dtbh.h
|
||||||
|
**
|
||||||
|
** Copyright 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _SAMSUNG_DTBH_H_
|
||||||
|
#define _SAMSUNG_DTBH_H_
|
||||||
|
|
||||||
|
#define DTBH_MAGIC "DTBH"
|
||||||
|
#define DTBH_VERSION 2
|
||||||
|
#define DTBH_PLATFORM "android"
|
||||||
|
#define DTBH_SUBTYPE "samsung"
|
||||||
|
/* Hardcoded entry */
|
||||||
|
#define DTBH_PLATFORM_CODE 0x000050a6
|
||||||
|
#define DTBH_SUBTYPE_CODE 0x217584da
|
||||||
|
|
||||||
|
/* DTBH_MAGIC + DTBH_VERSION + DTB counts */
|
||||||
|
#define DT_HEADER_PHYS_SIZE 12
|
||||||
|
|
||||||
|
/* model = "Samsung Galaxy Tab A LTE rev01 board based on Exynos7870";
|
||||||
|
* model_info-chip = <7870>;
|
||||||
|
* model_info-platform = "android";
|
||||||
|
* model_info-subtype = "samsung";
|
||||||
|
* model_info-hw_rev = <2>;
|
||||||
|
* model_info-hw_rev_end = <3>;
|
||||||
|
* compatible = "samsung, Galaxy Tab A LTE 01", "samsung,exynos7870";
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* keep the eight uint32_t entries first in this struct so we can memcpy them to the file
|
||||||
|
*/
|
||||||
|
#define DT_ENTRY_PHYS_SIZE (sizeof(uint32_t) * 8)
|
||||||
|
|
||||||
|
#endif // _SAMSUNG_DTBH_H_
|
7481
include/telephony/ril.h
Normal file
7481
include/telephony/ril.h
Normal file
File diff suppressed because it is too large
Load diff
806
include/telephony/ril_cdma_sms.h
Normal file
806
include/telephony/ril_cdma_sms.h
Normal file
|
@ -0,0 +1,806 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2006 The Android Open Source Project
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* ISSUES:
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef ANDROID_RIL_CDMA_SMS_H
|
||||||
|
#define ANDROID_RIL_CDMA_SMS_H 1
|
||||||
|
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Used by RIL_REQUEST_CDMA_SEND_SMS and RIL_UNSOL_RESPONSE_CDMA_NEW_SMS */
|
||||||
|
|
||||||
|
#define RIL_CDMA_SMS_ADDRESS_MAX 36
|
||||||
|
#define RIL_CDMA_SMS_SUBADDRESS_MAX 36
|
||||||
|
#define RIL_CDMA_SMS_BEARER_DATA_MAX 255
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
RIL_CDMA_SMS_DIGIT_MODE_4_BIT = 0, /* DTMF digits */
|
||||||
|
RIL_CDMA_SMS_DIGIT_MODE_8_BIT = 1,
|
||||||
|
RIL_CDMA_SMS_DIGIT_MODE_MAX32 = 0x10000000 /* Force constant ENUM size in structures */
|
||||||
|
} RIL_CDMA_SMS_DigitMode;
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
RIL_CDMA_SMS_NUMBER_MODE_NOT_DATA_NETWORK = 0,
|
||||||
|
RIL_CDMA_SMS_NUMBER_MODE_DATA_NETWORK = 1,
|
||||||
|
RIL_CDMA_SMS_NUMBER_MODE_MAX32 = 0x10000000 /* Force constant ENUM size in structures */
|
||||||
|
} RIL_CDMA_SMS_NumberMode;
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
RIL_CDMA_SMS_NUMBER_TYPE_UNKNOWN = 0,
|
||||||
|
RIL_CDMA_SMS_NUMBER_TYPE_INTERNATIONAL_OR_DATA_IP = 1,
|
||||||
|
/* INTERNATIONAL is used when number mode is not data network address.
|
||||||
|
* DATA_IP is used when the number mode is data network address
|
||||||
|
*/
|
||||||
|
RIL_CDMA_SMS_NUMBER_TYPE_NATIONAL_OR_INTERNET_MAIL = 2,
|
||||||
|
/* NATIONAL is used when the number mode is not data network address.
|
||||||
|
* INTERNET_MAIL is used when the number mode is data network address.
|
||||||
|
* For INTERNET_MAIL, in the address data "digits", each byte contains
|
||||||
|
* an ASCII character. Examples are "x@y.com,a@b.com - ref TIA/EIA-637A 3.4.3.3
|
||||||
|
*/
|
||||||
|
RIL_CDMA_SMS_NUMBER_TYPE_NETWORK = 3,
|
||||||
|
RIL_CDMA_SMS_NUMBER_TYPE_SUBSCRIBER = 4,
|
||||||
|
RIL_CDMA_SMS_NUMBER_TYPE_ALPHANUMERIC = 5,
|
||||||
|
/* GSM SMS: address value is GSM 7-bit chars */
|
||||||
|
RIL_CDMA_SMS_NUMBER_TYPE_ABBREVIATED = 6,
|
||||||
|
RIL_CDMA_SMS_NUMBER_TYPE_RESERVED_7 = 7,
|
||||||
|
RIL_CDMA_SMS_NUMBER_TYPE_MAX32 = 0x10000000 /* Force constant ENUM size in structures */
|
||||||
|
} RIL_CDMA_SMS_NumberType;
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
RIL_CDMA_SMS_NUMBER_PLAN_UNKNOWN = 0,
|
||||||
|
RIL_CDMA_SMS_NUMBER_PLAN_TELEPHONY = 1, /* CCITT E.164 and E.163, including ISDN plan */
|
||||||
|
RIL_CDMA_SMS_NUMBER_PLAN_RESERVED_2 = 2,
|
||||||
|
RIL_CDMA_SMS_NUMBER_PLAN_DATA = 3, /* CCITT X.121 */
|
||||||
|
RIL_CDMA_SMS_NUMBER_PLAN_TELEX = 4, /* CCITT F.69 */
|
||||||
|
RIL_CDMA_SMS_NUMBER_PLAN_RESERVED_5 = 5,
|
||||||
|
RIL_CDMA_SMS_NUMBER_PLAN_RESERVED_6 = 6,
|
||||||
|
RIL_CDMA_SMS_NUMBER_PLAN_RESERVED_7 = 7,
|
||||||
|
RIL_CDMA_SMS_NUMBER_PLAN_RESERVED_8 = 8,
|
||||||
|
RIL_CDMA_SMS_NUMBER_PLAN_PRIVATE = 9,
|
||||||
|
RIL_CDMA_SMS_NUMBER_PLAN_RESERVED_10 = 10,
|
||||||
|
RIL_CDMA_SMS_NUMBER_PLAN_RESERVED_11 = 11,
|
||||||
|
RIL_CDMA_SMS_NUMBER_PLAN_RESERVED_12 = 12,
|
||||||
|
RIL_CDMA_SMS_NUMBER_PLAN_RESERVED_13 = 13,
|
||||||
|
RIL_CDMA_SMS_NUMBER_PLAN_RESERVED_14 = 14,
|
||||||
|
RIL_CDMA_SMS_NUMBER_PLAN_RESERVED_15 = 15,
|
||||||
|
RIL_CDMA_SMS_NUMBER_PLAN_MAX32 = 0x10000000 /* Force constant ENUM size in structures */
|
||||||
|
} RIL_CDMA_SMS_NumberPlan;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
RIL_CDMA_SMS_DigitMode digit_mode;
|
||||||
|
/* Indicates 4-bit or 8-bit */
|
||||||
|
RIL_CDMA_SMS_NumberMode number_mode;
|
||||||
|
/* Used only when digitMode is 8-bit */
|
||||||
|
RIL_CDMA_SMS_NumberType number_type;
|
||||||
|
/* Used only when digitMode is 8-bit.
|
||||||
|
* To specify an international address, use the following:
|
||||||
|
* digitMode = RIL_CDMA_SMS_DIGIT_MODE_8_BIT
|
||||||
|
* numberMode = RIL_CDMA_SMS_NOT_DATA_NETWORK
|
||||||
|
* numberType = RIL_CDMA_SMS_NUMBER_TYPE_INTERNATIONAL_OR_DATA_IP
|
||||||
|
* numberPlan = RIL_CDMA_SMS_NUMBER_PLAN_TELEPHONY
|
||||||
|
* numberOfDigits = number of digits
|
||||||
|
* digits = ASCII digits, e.g. '1', '2', '3'3, '4', and '5'
|
||||||
|
*/
|
||||||
|
RIL_CDMA_SMS_NumberPlan number_plan;
|
||||||
|
/* Used only when digitMode is 8-bit */
|
||||||
|
unsigned char number_of_digits;
|
||||||
|
unsigned char digits[ RIL_CDMA_SMS_ADDRESS_MAX ];
|
||||||
|
/* Each byte in this array represnts a 40bit or 8-bit digit of address data */
|
||||||
|
} RIL_CDMA_SMS_Address;
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
RIL_CDMA_SMS_SUBADDRESS_TYPE_NSAP = 0, /* CCITT X.213 or ISO 8348 AD2 */
|
||||||
|
RIL_CDMA_SMS_SUBADDRESS_TYPE_USER_SPECIFIED = 1, /* e.g. X.25 */
|
||||||
|
RIL_CDMA_SMS_SUBADDRESS_TYPE_MAX32 = 0x10000000 /* Force constant ENUM size in structures */
|
||||||
|
} RIL_CDMA_SMS_SubaddressType;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
RIL_CDMA_SMS_SubaddressType subaddressType;
|
||||||
|
/* 1 means the last byte's lower 4 bits should be ignored */
|
||||||
|
unsigned char odd;
|
||||||
|
unsigned char number_of_digits;
|
||||||
|
/* Each byte respresents a 8-bit digit of subaddress data */
|
||||||
|
unsigned char digits[ RIL_CDMA_SMS_SUBADDRESS_MAX ];
|
||||||
|
} RIL_CDMA_SMS_Subaddress;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
int uTeleserviceID;
|
||||||
|
unsigned char bIsServicePresent;
|
||||||
|
int uServicecategory;
|
||||||
|
RIL_CDMA_SMS_Address sAddress;
|
||||||
|
RIL_CDMA_SMS_Subaddress sSubAddress;
|
||||||
|
int uBearerDataLen;
|
||||||
|
unsigned char aBearerData[ RIL_CDMA_SMS_BEARER_DATA_MAX ];
|
||||||
|
} RIL_CDMA_SMS_Message;
|
||||||
|
|
||||||
|
/* Used by RIL_REQUEST_CDMA_SMS_ACKNOWLEDGE */
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
RIL_CDMA_SMS_NO_ERROR = 0,
|
||||||
|
RIL_CDMA_SMS_ERROR = 1,
|
||||||
|
RIL_CDMA_SMS_ERROR_MAX32 = 0x10000000 /* Force constant ENUM size in structures */
|
||||||
|
} RIL_CDMA_SMS_ErrorClass;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
RIL_CDMA_SMS_ErrorClass uErrorClass;
|
||||||
|
int uSMSCauseCode; /* As defined in N.S00005, 6.5.2.125.
|
||||||
|
Currently, only 35 (resource shortage) and
|
||||||
|
39 (other terminal problem) are reported. */
|
||||||
|
} RIL_CDMA_SMS_Ack;
|
||||||
|
|
||||||
|
/* Used by RIL_REQUEST_CDMA_SMS_GET_BROADCAST_CONFIG and
|
||||||
|
RIL_REQUEST_CDMA_SMS_SET_BROADCAST_CONFIG */
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
int service_category;
|
||||||
|
int language;
|
||||||
|
unsigned char selected;
|
||||||
|
} RIL_CDMA_BroadcastSmsConfigInfo;
|
||||||
|
|
||||||
|
/* Used by RIL_REQUEST_CDMA_WRITE_SMS_TO_RUIM */
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
int status; /* Status of message. See TS 27.005 3.1, "<stat>": */
|
||||||
|
/* 0 = "REC UNREAD" */
|
||||||
|
/* 1 = "REC READ" */
|
||||||
|
/* 2 = "STO UNSENT" */
|
||||||
|
/* 3 = "STO SENT" */
|
||||||
|
|
||||||
|
RIL_CDMA_SMS_Message message;
|
||||||
|
} RIL_CDMA_SMS_WriteArgs;
|
||||||
|
|
||||||
|
|
||||||
|
/* Used by RIL_REQUEST_ENCODE_CDMA_SMS and RIL_REQUEST_DECODE_CDMA_SMS*/
|
||||||
|
|
||||||
|
#define RIL_CDMA_SMS_UDH_MAX_SND_SIZE 128
|
||||||
|
#define RIL_CDMA_SMS_UDH_EO_DATA_SEGMENT_MAX 131 /* 140 - 3 - 6 */
|
||||||
|
#define RIL_CDMA_SMS_MAX_UD_HEADERS 7
|
||||||
|
#define RIL_CDMA_SMS_USER_DATA_MAX 229
|
||||||
|
#define RIL_CDMA_SMS_ADDRESS_MAX 36
|
||||||
|
#define RIL_CDMA_SMS_UDH_LARGE_PIC_SIZE 128
|
||||||
|
#define RIL_CDMA_SMS_UDH_SMALL_PIC_SIZE 32
|
||||||
|
#define RIL_CDMA_SMS_UDH_VAR_PIC_SIZE 134
|
||||||
|
#define RIL_CDMA_SMS_UDH_ANIM_NUM_BITMAPS 4
|
||||||
|
#define RIL_CDMA_SMS_UDH_LARGE_BITMAP_SIZE 32
|
||||||
|
#define RIL_CDMA_SMS_UDH_SMALL_BITMAP_SIZE 8
|
||||||
|
#define RIL_CDMA_SMS_UDH_OTHER_SIZE 226
|
||||||
|
#define RIL_CDMA_SMS_IP_ADDRESS_SIZE 4
|
||||||
|
|
||||||
|
/* ------------------- */
|
||||||
|
/* ---- User Data ---- */
|
||||||
|
/* ------------------- */
|
||||||
|
typedef enum {
|
||||||
|
RIL_CDMA_SMS_UDH_CONCAT_8 = 0x00,
|
||||||
|
RIL_CDMA_SMS_UDH_SPECIAL_SM,
|
||||||
|
/* 02 - 03 Reserved */
|
||||||
|
RIL_CDMA_SMS_UDH_PORT_8 = 0x04,
|
||||||
|
RIL_CDMA_SMS_UDH_PORT_16,
|
||||||
|
RIL_CDMA_SMS_UDH_SMSC_CONTROL,
|
||||||
|
RIL_CDMA_SMS_UDH_SOURCE,
|
||||||
|
RIL_CDMA_SMS_UDH_CONCAT_16,
|
||||||
|
RIL_CDMA_SMS_UDH_WCMP,
|
||||||
|
RIL_CDMA_SMS_UDH_TEXT_FORMATING,
|
||||||
|
RIL_CDMA_SMS_UDH_PRE_DEF_SOUND,
|
||||||
|
RIL_CDMA_SMS_UDH_USER_DEF_SOUND,
|
||||||
|
RIL_CDMA_SMS_UDH_PRE_DEF_ANIM,
|
||||||
|
RIL_CDMA_SMS_UDH_LARGE_ANIM,
|
||||||
|
RIL_CDMA_SMS_UDH_SMALL_ANIM,
|
||||||
|
RIL_CDMA_SMS_UDH_LARGE_PICTURE,
|
||||||
|
RIL_CDMA_SMS_UDH_SMALL_PICTURE,
|
||||||
|
RIL_CDMA_SMS_UDH_VAR_PICTURE,
|
||||||
|
|
||||||
|
RIL_CDMA_SMS_UDH_USER_PROMPT = 0x13,
|
||||||
|
RIL_CDMA_SMS_UDH_EXTENDED_OBJECT = 0x14,
|
||||||
|
|
||||||
|
/* 15 - 1F Reserved for future EMS */
|
||||||
|
|
||||||
|
RIL_CDMA_SMS_UDH_RFC822 = 0x20,
|
||||||
|
|
||||||
|
/* 21 - 6F Reserved for future use */
|
||||||
|
/* 70 - 7f Reserved for (U)SIM Toolkit Security Headers */
|
||||||
|
/* 80 - 9F SME to SME specific use */
|
||||||
|
/* A0 - BF Reserved for future use */
|
||||||
|
/* C0 - DF SC specific use */
|
||||||
|
/* E0 - FF Reserved for future use */
|
||||||
|
|
||||||
|
RIL_CDMA_SMS_UDH_OTHER = 0xFFFF, /* For unsupported or proprietary headers */
|
||||||
|
RIL_CDMA_SMS_UDH_ID_MAX32 = 0x10000000 /* Force constant ENUM size in structures */
|
||||||
|
|
||||||
|
} RIL_CDMA_SMS_UdhId;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
/*indicates the reference number for a particular concatenated short message. */
|
||||||
|
/*it is constant for every short message which makes up a particular concatenated short message*/
|
||||||
|
unsigned char msg_ref;
|
||||||
|
|
||||||
|
/*indicates the total number of short messages within the concatenated short message.
|
||||||
|
The value shall start at 1 and remain constant for every
|
||||||
|
short message which makes up the concatenated short message.
|
||||||
|
if it is 0 then the receiving entity shall ignore the whole Information Element*/
|
||||||
|
unsigned char total_sm;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* it indicates the sequence number of a particular short message within the concatenated short
|
||||||
|
* message. The value shall start at 1 and increment by one for every short message sent
|
||||||
|
* within the concatenated short message. If the value is zero or the value is
|
||||||
|
* greater than the value in octet 2 then the receiving
|
||||||
|
* entity shall ignore the whole Information Element.
|
||||||
|
*/
|
||||||
|
unsigned char seq_num;
|
||||||
|
} RIL_CDMA_SMS_UdhConcat8;
|
||||||
|
|
||||||
|
/* GW message waiting actions
|
||||||
|
*/
|
||||||
|
typedef enum {
|
||||||
|
RIL_CDMA_SMS_GW_MSG_WAITING_NONE,
|
||||||
|
RIL_CDMA_SMS_GW_MSG_WAITING_DISCARD,
|
||||||
|
RIL_CDMA_SMS_GW_MSG_WAITING_STORE,
|
||||||
|
RIL_CDMA_SMS_GW_MSG_WAITING_NONE_1111,
|
||||||
|
RIL_CDMA_SMS_GW_MSG_WAITING_MAX32 = 0x10000000 /* Force constant ENUM size in structures */
|
||||||
|
} RIL_CDMA_SMS_GWMsgWaiting;
|
||||||
|
|
||||||
|
/* GW message waiting types
|
||||||
|
*/
|
||||||
|
typedef enum {
|
||||||
|
RIL_CDMA_SMS_GW_MSG_WAITING_VOICEMAIL,
|
||||||
|
RIL_CDMA_SMS_GW_MSG_WAITING_FAX,
|
||||||
|
RIL_CDMA_SMS_GW_MSG_WAITING_EMAIL,
|
||||||
|
RIL_CDMA_SMS_GW_MSG_WAITING_OTHER,
|
||||||
|
RIL_CDMA_SMS_GW_MSG_WAITING_KIND_MAX32 = 0x10000000 /* Force constant ENUM size in structures */
|
||||||
|
} RIL_CDMA_SMS_GWMsgWaitingKind;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
RIL_CDMA_SMS_GWMsgWaiting msg_waiting;
|
||||||
|
RIL_CDMA_SMS_GWMsgWaitingKind msg_waiting_kind;
|
||||||
|
|
||||||
|
/*it indicates the number of messages of the type specified in Octet 1 waiting.*/
|
||||||
|
unsigned char message_count;
|
||||||
|
} RIL_CDMA_SMS_UdhSpecialSM;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
unsigned char dest_port;
|
||||||
|
unsigned char orig_port;
|
||||||
|
} RIL_CDMA_SMS_UdhWap8;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
unsigned short dest_port;
|
||||||
|
unsigned short orig_port;
|
||||||
|
} RIL_CDMA_SMS_UdhWap16;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
unsigned short msg_ref;
|
||||||
|
unsigned char total_sm;
|
||||||
|
unsigned char seq_num;
|
||||||
|
|
||||||
|
} RIL_CDMA_SMS_UdhConcat16;
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
RIL_CDMA_SMS_UDH_LEFT_ALIGNMENT = 0,
|
||||||
|
RIL_CDMA_SMS_UDH_CENTER_ALIGNMENT,
|
||||||
|
RIL_CDMA_SMS_UDH_RIGHT_ALIGNMENT,
|
||||||
|
RIL_CDMA_SMS_UDH_DEFAULT_ALIGNMENT,
|
||||||
|
RIL_CDMA_SMS_UDH_MAX_ALIGNMENT,
|
||||||
|
RIL_CDMA_SMS_UDH_ALIGNMENT_MAX32 = 0x10000000 /* Force constant ENUM size in structures */
|
||||||
|
} RIL_CDMA_SMS_UdhAlignment;
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
RIL_CDMA_SMS_UDH_FONT_NORMAL = 0,
|
||||||
|
RIL_CDMA_SMS_UDH_FONT_LARGE,
|
||||||
|
RIL_CDMA_SMS_UDH_FONT_SMALL,
|
||||||
|
RIL_CDMA_SMS_UDH_FONT_RESERVED,
|
||||||
|
RIL_CDMA_SMS_UDH_FONT_MAX,
|
||||||
|
RIL_CDMA_SMS_UDH_FONT_MAX32 = 0x10000000 /* Force constant ENUM size in structures */
|
||||||
|
} RIL_CDMA_SMS_UdhFontSize;
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
RIL_CDMA_SMS_UDH_TEXT_COLOR_BLACK = 0x0,
|
||||||
|
RIL_CDMA_SMS_UDH_TEXT_COLOR_DARK_GREY = 0x1,
|
||||||
|
RIL_CDMA_SMS_UDH_TEXT_COLOR_DARK_RED = 0x2,
|
||||||
|
RIL_CDMA_SMS_UDH_TEXT_COLOR_DARK_YELLOW = 0x3,
|
||||||
|
RIL_CDMA_SMS_UDH_TEXT_COLOR_DARK_GREEN = 0x4,
|
||||||
|
RIL_CDMA_SMS_UDH_TEXT_COLOR_DARK_CYAN = 0x5,
|
||||||
|
RIL_CDMA_SMS_UDH_TEXT_COLOR_DARK_BLUE = 0x6,
|
||||||
|
RIL_CDMA_SMS_UDH_TEXT_COLOR_DARK_MAGENTA = 0x7,
|
||||||
|
RIL_CDMA_SMS_UDH_TEXT_COLOR_GREY = 0x8,
|
||||||
|
RIL_CDMA_SMS_UDH_TEXT_COLOR_WHITE = 0x9,
|
||||||
|
RIL_CDMA_SMS_UDH_TEXT_COLOR_BRIGHT_RED = 0xA,
|
||||||
|
RIL_CDMA_SMS_UDH_TEXT_COLOR_BRIGHT_YELLOW = 0xB,
|
||||||
|
RIL_CDMA_SMS_UDH_TEXT_COLOR_BRIGHT_GREEN = 0xC,
|
||||||
|
RIL_CDMA_SMS_UDH_TEXT_COLOR_BRIGHT_CYAN = 0xD,
|
||||||
|
RIL_CDMA_SMS_UDH_TEXT_COLOR_BRIGHT_BLUE = 0xE,
|
||||||
|
RIL_CDMA_SMS_UDH_TEXT_COLOR_BRIGHT_MAGENTA = 0xF,
|
||||||
|
RIL_CDMA_SMS_UDH_TEXT_COLOR_MAX32 = 0x10000000 /* Force constant ENUM size in structures */
|
||||||
|
} RIL_CDMA_SMS_UdhTextColor;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
unsigned char start_position;
|
||||||
|
unsigned char text_formatting_length;
|
||||||
|
RIL_CDMA_SMS_UdhAlignment alignment_type ; /*bit 0 and bit 1*/
|
||||||
|
RIL_CDMA_SMS_UdhFontSize font_size ; /*bit 3 and bit 2*/
|
||||||
|
unsigned char style_bold; /*bit 4 */
|
||||||
|
unsigned char style_italic; /*bit 5 */
|
||||||
|
unsigned char style_underlined; /*bit 6 */
|
||||||
|
unsigned char style_strikethrough; /*bit 7 */
|
||||||
|
|
||||||
|
/* if FALSE, ignore the following color information */
|
||||||
|
unsigned char is_color_present;
|
||||||
|
RIL_CDMA_SMS_UdhTextColor text_color_foreground;
|
||||||
|
RIL_CDMA_SMS_UdhTextColor text_color_background;
|
||||||
|
|
||||||
|
} RIL_CDMA_SMS_UdhTextFormating;
|
||||||
|
|
||||||
|
/* Predefined sound
|
||||||
|
*/
|
||||||
|
typedef struct {
|
||||||
|
unsigned char position;
|
||||||
|
unsigned char snd_number;
|
||||||
|
} RIL_CDMA_SMS_UdhPreDefSound;
|
||||||
|
|
||||||
|
/* User Defined sound
|
||||||
|
*/
|
||||||
|
typedef struct {
|
||||||
|
unsigned char data_length;
|
||||||
|
unsigned char position;
|
||||||
|
unsigned char user_def_sound[RIL_CDMA_SMS_UDH_MAX_SND_SIZE];
|
||||||
|
} RIL_CDMA_SMS_UdhUserDefSound;
|
||||||
|
|
||||||
|
/* Large picture
|
||||||
|
*/
|
||||||
|
typedef struct {
|
||||||
|
unsigned char position;
|
||||||
|
unsigned char data[RIL_CDMA_SMS_UDH_LARGE_PIC_SIZE];
|
||||||
|
} RIL_CDMA_SMS_UdhLargePictureData;
|
||||||
|
|
||||||
|
/* Small picture
|
||||||
|
*/
|
||||||
|
typedef struct {
|
||||||
|
unsigned char position;
|
||||||
|
unsigned char data[RIL_CDMA_SMS_UDH_SMALL_PIC_SIZE];
|
||||||
|
} RIL_CDMA_SMS_UdhSmallPictureData;
|
||||||
|
|
||||||
|
/* Variable length picture
|
||||||
|
*/
|
||||||
|
typedef struct {
|
||||||
|
unsigned char position;
|
||||||
|
unsigned char width; /* Number of pixels - Should be a mutliple of 8 */
|
||||||
|
unsigned char height;
|
||||||
|
unsigned char data[RIL_CDMA_SMS_UDH_VAR_PIC_SIZE];
|
||||||
|
} RIL_CDMA_SMS_UdhVarPicture;
|
||||||
|
|
||||||
|
/* Predefined animation
|
||||||
|
*/
|
||||||
|
typedef struct {
|
||||||
|
unsigned char position;
|
||||||
|
unsigned char animation_number;
|
||||||
|
} RIL_CDMA_SMS_UdhPreDefAnim;
|
||||||
|
|
||||||
|
/* Large animation
|
||||||
|
*/
|
||||||
|
typedef struct {
|
||||||
|
unsigned char position;
|
||||||
|
unsigned char data[RIL_CDMA_SMS_UDH_ANIM_NUM_BITMAPS][RIL_CDMA_SMS_UDH_LARGE_BITMAP_SIZE];
|
||||||
|
} RIL_CDMA_SMS_UdhLargeAnim;
|
||||||
|
|
||||||
|
/* Small animation
|
||||||
|
*/
|
||||||
|
typedef struct {
|
||||||
|
unsigned char position;
|
||||||
|
unsigned char data[RIL_CDMA_SMS_UDH_ANIM_NUM_BITMAPS][RIL_CDMA_SMS_UDH_SMALL_BITMAP_SIZE];
|
||||||
|
} RIL_CDMA_SMS_UdhSmallAnim;
|
||||||
|
|
||||||
|
/* User Prompt Indicator UDH
|
||||||
|
*/
|
||||||
|
typedef struct {
|
||||||
|
unsigned char number_of_objects;
|
||||||
|
/* Number of objects of the same kind that follow this header which will
|
||||||
|
** be stitched together by the applications. For example, 5 small pictures
|
||||||
|
** are to be stitched together horizontally, or 6 iMelody tones are to be
|
||||||
|
** connected together with intermediate iMelody header and footer ignored.
|
||||||
|
** Allowed objects to be stitched:
|
||||||
|
** - Images (small, large, variable)
|
||||||
|
** - User defined sounds
|
||||||
|
*/
|
||||||
|
} RIL_CDMA_SMS_UdhUserPrompt;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
unsigned char length;
|
||||||
|
|
||||||
|
unsigned char data[RIL_CDMA_SMS_UDH_EO_DATA_SEGMENT_MAX];
|
||||||
|
/* RIL_CDMA_SMS_UDH_EO_VCARD: See http://www.imc.org/pdi/vcard-21.doc for payload */
|
||||||
|
/* RIL_CDMA_SMS_UDH_EO_VCALENDAR: See http://www.imc.org/pdi/vcal-10.doc */
|
||||||
|
/* Or: Unsupported/proprietary extended objects */
|
||||||
|
|
||||||
|
} RIL_CDMA_SMS_UdhEoContent;
|
||||||
|
|
||||||
|
/* Extended Object UDH
|
||||||
|
*/
|
||||||
|
/* Extended Object IDs/types
|
||||||
|
*/
|
||||||
|
typedef enum {
|
||||||
|
RIL_CDMA_SMS_UDH_EO_VCARD = 0x09,
|
||||||
|
RIL_CDMA_SMS_UDH_EO_VCALENDAR = 0x0A,
|
||||||
|
RIL_CDMA_SMS_UDH_EO_MAX32 = 0x10000000 /* Force constant ENUM size in structures */
|
||||||
|
} RIL_CDMA_SMS_UdhEoId;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
/* Extended objects are to be used together with 16-bit concatenation
|
||||||
|
** UDH. The max number of segments supported for E.O. is 8 at least.
|
||||||
|
*/
|
||||||
|
RIL_CDMA_SMS_UdhEoContent content;
|
||||||
|
|
||||||
|
unsigned char first_segment;
|
||||||
|
/* The following fields are only present in the first segment of a
|
||||||
|
** concatenated SMS message.
|
||||||
|
*/
|
||||||
|
unsigned char reference;
|
||||||
|
/* Identify those extended object segments which should be linked together
|
||||||
|
*/
|
||||||
|
unsigned short length;
|
||||||
|
/* Length of the whole extended object data
|
||||||
|
*/
|
||||||
|
unsigned char control;
|
||||||
|
RIL_CDMA_SMS_UdhEoId type;
|
||||||
|
unsigned short position;
|
||||||
|
/* Absolute position of the E.O. in the whole text after concatenation,
|
||||||
|
** starting from 1.
|
||||||
|
*/
|
||||||
|
} RIL_CDMA_SMS_UdhEo;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
RIL_CDMA_SMS_UdhId header_id;
|
||||||
|
unsigned char header_length;
|
||||||
|
unsigned char data[RIL_CDMA_SMS_UDH_OTHER_SIZE];
|
||||||
|
} RIL_CDMA_SMS_UdhOther;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
unsigned char header_length;
|
||||||
|
} RIL_CDMA_SMS_UdhRfc822;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
RIL_CDMA_SMS_UdhId header_id;
|
||||||
|
|
||||||
|
union {
|
||||||
|
RIL_CDMA_SMS_UdhConcat8 concat_8; // 00
|
||||||
|
|
||||||
|
RIL_CDMA_SMS_UdhSpecialSM special_sm; // 01
|
||||||
|
RIL_CDMA_SMS_UdhWap8 wap_8; // 04
|
||||||
|
RIL_CDMA_SMS_UdhWap16 wap_16; // 05
|
||||||
|
RIL_CDMA_SMS_UdhConcat16 concat_16; // 08
|
||||||
|
RIL_CDMA_SMS_UdhTextFormating text_formating; // 0a
|
||||||
|
RIL_CDMA_SMS_UdhPreDefSound pre_def_sound; // 0b
|
||||||
|
RIL_CDMA_SMS_UdhUserDefSound user_def_sound; // 0c
|
||||||
|
RIL_CDMA_SMS_UdhPreDefAnim pre_def_anim; // 0d
|
||||||
|
RIL_CDMA_SMS_UdhLargeAnim large_anim; // 0e
|
||||||
|
RIL_CDMA_SMS_UdhSmallAnim small_anim; // 0f
|
||||||
|
RIL_CDMA_SMS_UdhLargePictureData large_picture; // 10
|
||||||
|
RIL_CDMA_SMS_UdhSmallPictureData small_picture; // 11
|
||||||
|
RIL_CDMA_SMS_UdhVarPicture var_picture; // 12
|
||||||
|
|
||||||
|
RIL_CDMA_SMS_UdhUserPrompt user_prompt; // 13
|
||||||
|
RIL_CDMA_SMS_UdhEo eo; // 14
|
||||||
|
|
||||||
|
RIL_CDMA_SMS_UdhRfc822 rfc822; // 20
|
||||||
|
RIL_CDMA_SMS_UdhOther other;
|
||||||
|
|
||||||
|
}u;
|
||||||
|
} RIL_CDMA_SMS_Udh;
|
||||||
|
|
||||||
|
/* ----------------------------- */
|
||||||
|
/* -- User data encoding type -- */
|
||||||
|
/* ----------------------------- */
|
||||||
|
typedef enum {
|
||||||
|
RIL_CDMA_SMS_ENCODING_OCTET = 0, /* 8-bit */
|
||||||
|
RIL_CDMA_SMS_ENCODING_IS91EP, /* varies */
|
||||||
|
RIL_CDMA_SMS_ENCODING_ASCII, /* 7-bit */
|
||||||
|
RIL_CDMA_SMS_ENCODING_IA5, /* 7-bit */
|
||||||
|
RIL_CDMA_SMS_ENCODING_UNICODE, /* 16-bit */
|
||||||
|
RIL_CDMA_SMS_ENCODING_SHIFT_JIS, /* 8 or 16-bit */
|
||||||
|
RIL_CDMA_SMS_ENCODING_KOREAN, /* 8 or 16-bit */
|
||||||
|
RIL_CDMA_SMS_ENCODING_LATIN_HEBREW, /* 8-bit */
|
||||||
|
RIL_CDMA_SMS_ENCODING_LATIN, /* 8-bit */
|
||||||
|
RIL_CDMA_SMS_ENCODING_GSM_7_BIT_DEFAULT, /* 7-bit */
|
||||||
|
RIL_CDMA_SMS_ENCODING_MAX32 = 0x10000000
|
||||||
|
|
||||||
|
} RIL_CDMA_SMS_UserDataEncoding;
|
||||||
|
|
||||||
|
/* ------------------------ */
|
||||||
|
/* -- IS-91 EP data type -- */
|
||||||
|
/* ------------------------ */
|
||||||
|
typedef enum {
|
||||||
|
RIL_CDMA_SMS_IS91EP_VOICE_MAIL = 0x82,
|
||||||
|
RIL_CDMA_SMS_IS91EP_SHORT_MESSAGE_FULL = 0x83,
|
||||||
|
RIL_CDMA_SMS_IS91EP_CLI_ORDER = 0x84,
|
||||||
|
RIL_CDMA_SMS_IS91EP_SHORT_MESSAGE = 0x85,
|
||||||
|
RIL_CDMA_SMS_IS91EP_MAX32 = 0x10000000
|
||||||
|
|
||||||
|
} RIL_CDMA_SMS_IS91EPType;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
/* NOTE: If message_id.udh_present == TRUE:
|
||||||
|
** 'num_headers' is the number of User Data Headers (UDHs),
|
||||||
|
** and 'headers' include all those headers.
|
||||||
|
*/
|
||||||
|
unsigned char num_headers;
|
||||||
|
RIL_CDMA_SMS_Udh headers[RIL_CDMA_SMS_MAX_UD_HEADERS];
|
||||||
|
|
||||||
|
RIL_CDMA_SMS_UserDataEncoding encoding;
|
||||||
|
RIL_CDMA_SMS_IS91EPType is91ep_type;
|
||||||
|
|
||||||
|
/*----------------------------------------------------------------------
|
||||||
|
'data_len' indicates the valid number of bytes in the 'data' array.
|
||||||
|
|
||||||
|
'padding_bits' (0-7) indicates how many bits in the last byte of 'data'
|
||||||
|
are invalid bits. This parameter is only used for Mobile-Originated
|
||||||
|
messages. There is no way for the API to tell how many padding bits
|
||||||
|
exist in the received message. Instead, the application can find out how
|
||||||
|
many padding bits exist in the user data when decoding the user data.
|
||||||
|
|
||||||
|
'data' has the raw bits of the user data field of the SMS message.
|
||||||
|
The client software should decode the raw user data according to its
|
||||||
|
supported encoding types and languages.
|
||||||
|
|
||||||
|
EXCEPTION 1: CMT-91 user data raw bits are first translated into BD fields
|
||||||
|
(e.g. num_messages, callback, etc.) The translated user data field in
|
||||||
|
VMN and Short Message is in the form of ASCII characters, each occupying
|
||||||
|
a byte in the resulted 'data'.
|
||||||
|
|
||||||
|
EXCEPTION 2: GSM 7-bit Default characters are decoded so that each byte
|
||||||
|
has one 7-bit GSM character.
|
||||||
|
|
||||||
|
'number_of_digits' is the number of digits/characters (7, 8, 16, or
|
||||||
|
whatever bits) in the raw user data, which can be used by the client
|
||||||
|
when decoding the user data according to the encoding type and language.
|
||||||
|
-------------------------------------------------------------------------*/
|
||||||
|
unsigned char data_len;
|
||||||
|
unsigned char padding_bits;
|
||||||
|
unsigned char data[ RIL_CDMA_SMS_USER_DATA_MAX ];
|
||||||
|
unsigned char number_of_digits;
|
||||||
|
|
||||||
|
} RIL_CDMA_SMS_CdmaUserData;
|
||||||
|
|
||||||
|
/* -------------------- */
|
||||||
|
/* ---- Message Id ---- */
|
||||||
|
/* -------------------- */
|
||||||
|
typedef enum {
|
||||||
|
RIL_CDMA_SMS_BD_TYPE_RESERVED_0 = 0,
|
||||||
|
RIL_CDMA_SMS_BD_TYPE_DELIVER, /* MT only */
|
||||||
|
RIL_CDMA_SMS_BD_TYPE_SUBMIT, /* MO only */
|
||||||
|
RIL_CDMA_SMS_BD_TYPE_CANCELLATION, /* MO only */
|
||||||
|
RIL_CDMA_SMS_BD_TYPE_DELIVERY_ACK, /* MT only */
|
||||||
|
RIL_CDMA_SMS_BD_TYPE_USER_ACK, /* MT & MO */
|
||||||
|
RIL_CDMA_SMS_BD_TYPE_READ_ACK, /* MT & MO */
|
||||||
|
RIL_CDMA_SMS_BD_TYPE_MAX32 = 0x10000000
|
||||||
|
|
||||||
|
} RIL_CDMA_SMS_BdMessageType;
|
||||||
|
|
||||||
|
typedef unsigned int RIL_CDMA_SMS_MessageNumber;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
RIL_CDMA_SMS_BdMessageType type;
|
||||||
|
RIL_CDMA_SMS_MessageNumber id_number;
|
||||||
|
unsigned char udh_present;
|
||||||
|
/* NOTE: if FEATURE_SMS_UDH is not defined,
|
||||||
|
** udh_present should be ignored.
|
||||||
|
*/
|
||||||
|
} RIL_CDMA_SMS_MessageId;
|
||||||
|
|
||||||
|
typedef unsigned char RIL_CDMA_SMS_UserResponse;
|
||||||
|
|
||||||
|
/* ------------------- */
|
||||||
|
/* ---- Timestamp ---- */
|
||||||
|
/* ------------------- */
|
||||||
|
typedef struct {
|
||||||
|
/* If 'year' is between 96 and 99, the actual year is 1900 + 'year';
|
||||||
|
if 'year' is between 00 and 95, the actual year is 2000 + 'year'.
|
||||||
|
NOTE: Each field has two BCD digits and byte arrangement is <MSB, ... ,LSB>
|
||||||
|
*/
|
||||||
|
unsigned char year; /* 0x00-0x99 */
|
||||||
|
unsigned char month; /* 0x01-0x12 */
|
||||||
|
unsigned char day; /* 0x01-0x31 */
|
||||||
|
unsigned char hour; /* 0x00-0x23 */
|
||||||
|
unsigned char minute; /* 0x00-0x59 */
|
||||||
|
unsigned char second; /* 0x00-0x59 */
|
||||||
|
signed char timezone; /* +/-, [-48,+48] number of 15 minutes - GW only */
|
||||||
|
} RIL_CDMA_SMS_Timestamp;
|
||||||
|
|
||||||
|
/* ------------------ */
|
||||||
|
/* ---- Priority ---- */
|
||||||
|
/* ------------------ */
|
||||||
|
typedef enum {
|
||||||
|
RIL_CDMA_SMS_PRIORITY_NORMAL = 0,
|
||||||
|
RIL_CDMA_SMS_PRIORITY_INTERACTIVE,
|
||||||
|
RIL_CDMA_SMS_PRIORITY_URGENT,
|
||||||
|
RIL_CDMA_SMS_PRIORITY_EMERGENCY,
|
||||||
|
RIL_CDMA_SMS_PRIORITY_MAX32 = 0x10000000
|
||||||
|
|
||||||
|
} RIL_CDMA_SMS_Priority;
|
||||||
|
|
||||||
|
/* ----------------- */
|
||||||
|
/* ---- Privacy ---- */
|
||||||
|
/* ----------------- */
|
||||||
|
typedef enum {
|
||||||
|
RIL_CDMA_SMS_PRIVACY_NORMAL = 0,
|
||||||
|
RIL_CDMA_SMS_PRIVACY_RESTRICTED,
|
||||||
|
RIL_CDMA_SMS_PRIVACY_CONFIDENTIAL,
|
||||||
|
RIL_CDMA_SMS_PRIVACY_SECRET,
|
||||||
|
RIL_CDMA_SMS_PRIVACY_MAX32 = 0x10000000
|
||||||
|
|
||||||
|
} RIL_CDMA_SMS_Privacy;
|
||||||
|
|
||||||
|
/* ---------------------- */
|
||||||
|
/* ---- Reply option ---- */
|
||||||
|
/* ---------------------- */
|
||||||
|
typedef struct {
|
||||||
|
/* whether user ack is requested
|
||||||
|
*/
|
||||||
|
unsigned char user_ack_requested;
|
||||||
|
|
||||||
|
/* whether delivery ack is requested.
|
||||||
|
Should be FALSE for incoming messages.
|
||||||
|
*/
|
||||||
|
unsigned char delivery_ack_requested;
|
||||||
|
|
||||||
|
/* Message originator requests the receiving phone to send back a READ_ACK
|
||||||
|
** message automatically when the user reads the received message.
|
||||||
|
*/
|
||||||
|
unsigned char read_ack_requested;
|
||||||
|
|
||||||
|
} RIL_CDMA_SMS_ReplyOption;
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
RIL_CDMA_SMS_ALERT_MODE_DEFAULT = 0,
|
||||||
|
RIL_CDMA_SMS_ALERT_MODE_LOW_PRIORITY = 1,
|
||||||
|
RIL_CDMA_SMS_ALERT_MODE_MEDIUM_PRIORITY = 2,
|
||||||
|
RIL_CDMA_SMS_ALERT_MODE_HIGH_PRIORITY = 3,
|
||||||
|
|
||||||
|
/* For pre-IS637A implementations, alert_mode only has values of True/False:
|
||||||
|
*/
|
||||||
|
RIL_CDMA_SMS_ALERT_MODE_OFF = 0,
|
||||||
|
RIL_CDMA_SMS_ALERT_MODE_ON = 1
|
||||||
|
|
||||||
|
} RIL_CDMA_SMS_AlertMode;
|
||||||
|
|
||||||
|
/* ------------------ */
|
||||||
|
/* ---- Language ---- */
|
||||||
|
/* ------------------ */
|
||||||
|
typedef enum {
|
||||||
|
RIL_CDMA_SMS_LANGUAGE_UNSPECIFIED = 0,
|
||||||
|
RIL_CDMA_SMS_LANGUAGE_ENGLISH,
|
||||||
|
RIL_CDMA_SMS_LANGUAGE_FRENCH,
|
||||||
|
RIL_CDMA_SMS_LANGUAGE_SPANISH,
|
||||||
|
RIL_CDMA_SMS_LANGUAGE_JAPANESE,
|
||||||
|
RIL_CDMA_SMS_LANGUAGE_KOREAN,
|
||||||
|
RIL_CDMA_SMS_LANGUAGE_CHINESE,
|
||||||
|
RIL_CDMA_SMS_LANGUAGE_HEBREW,
|
||||||
|
RIL_CDMA_SMS_LANGUAGE_MAX32 = 0x10000000
|
||||||
|
|
||||||
|
} RIL_CDMA_SMS_Language;
|
||||||
|
|
||||||
|
/* ---------------------------------- */
|
||||||
|
/* ---------- Display Mode ---------- */
|
||||||
|
/* ---------------------------------- */
|
||||||
|
typedef enum {
|
||||||
|
RIL_CDMA_SMS_DISPLAY_MODE_IMMEDIATE = 0,
|
||||||
|
RIL_CDMA_SMS_DISPLAY_MODE_DEFAULT = 1,
|
||||||
|
RIL_CDMA_SMS_DISPLAY_MODE_USER_INVOKE = 2,
|
||||||
|
RIL_CDMA_SMS_DISPLAY_MODE_RESERVED = 3
|
||||||
|
} RIL_CDMA_SMS_DisplayMode;
|
||||||
|
|
||||||
|
/* IS-637B parameters/fields
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* ---------------------------------- */
|
||||||
|
/* ---------- Delivery Status ------- */
|
||||||
|
/* ---------------------------------- */
|
||||||
|
typedef enum {
|
||||||
|
RIL_CDMA_SMS_DELIVERY_STATUS_ACCEPTED = 0, /* ERROR_CLASS_NONE */
|
||||||
|
RIL_CDMA_SMS_DELIVERY_STATUS_DEPOSITED_TO_INTERNET = 1, /* ERROR_CLASS_NONE */
|
||||||
|
RIL_CDMA_SMS_DELIVERY_STATUS_DELIVERED = 2, /* ERROR_CLASS_NONE */
|
||||||
|
RIL_CDMA_SMS_DELIVERY_STATUS_CANCELLED = 3, /* ERROR_CLASS_NONE */
|
||||||
|
|
||||||
|
RIL_CDMA_SMS_DELIVERY_STATUS_NETWORK_CONGESTION = 4, /* ERROR_CLASS_TEMP & PERM */
|
||||||
|
RIL_CDMA_SMS_DELIVERY_STATUS_NETWORK_ERROR = 5, /* ERROR_CLASS_TEMP & PERM */
|
||||||
|
RIL_CDMA_SMS_DELIVERY_STATUS_CANCEL_FAILED = 6, /* ERROR_CLASS_PERM */
|
||||||
|
RIL_CDMA_SMS_DELIVERY_STATUS_BLOCKED_DESTINATION = 7, /* ERROR_CLASS_PERM */
|
||||||
|
RIL_CDMA_SMS_DELIVERY_STATUS_TEXT_TOO_LONG = 8, /* ERROR_CLASS_PERM */
|
||||||
|
RIL_CDMA_SMS_DELIVERY_STATUS_DUPLICATE_MESSAGE = 9, /* ERROR_CLASS_PERM */
|
||||||
|
RIL_CDMA_SMS_DELIVERY_STATUS_INVALID_DESTINATION = 10, /* ERROR_CLASS_PERM */
|
||||||
|
RIL_CDMA_SMS_DELIVERY_STATUS_MESSAGE_EXPIRED = 13, /* ERROR_CLASS_PERM */
|
||||||
|
|
||||||
|
RIL_CDMA_SMS_DELIVERY_STATUS_UNKNOWN_ERROR = 0x1F /* ERROR_CLASS_PERM */
|
||||||
|
|
||||||
|
/* All the other values are reserved */
|
||||||
|
|
||||||
|
} RIL_CDMA_SMS_DeliveryStatusE;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
RIL_CDMA_SMS_ErrorClass error_class;
|
||||||
|
RIL_CDMA_SMS_DeliveryStatusE status;
|
||||||
|
} RIL_CDMA_SMS_DeliveryStatus;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
unsigned char address[RIL_CDMA_SMS_IP_ADDRESS_SIZE];
|
||||||
|
unsigned char is_valid;
|
||||||
|
} RIL_CDMA_SMS_IpAddress;
|
||||||
|
|
||||||
|
/* This special parameter captures any unrecognized/proprietary parameters
|
||||||
|
*/
|
||||||
|
typedef struct {
|
||||||
|
unsigned char input_other_len;
|
||||||
|
unsigned char desired_other_len; /* used during decoding */
|
||||||
|
unsigned char * other_data;
|
||||||
|
} RIL_CDMA_SMS_OtherParm;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
/* the mask indicates which fields are present in this message */
|
||||||
|
unsigned int mask;
|
||||||
|
|
||||||
|
RIL_CDMA_SMS_MessageId message_id;
|
||||||
|
RIL_CDMA_SMS_CdmaUserData user_data;
|
||||||
|
RIL_CDMA_SMS_UserResponse user_response;
|
||||||
|
RIL_CDMA_SMS_Timestamp mc_time;
|
||||||
|
RIL_CDMA_SMS_Timestamp validity_absolute;
|
||||||
|
RIL_CDMA_SMS_Timestamp validity_relative;
|
||||||
|
RIL_CDMA_SMS_Timestamp deferred_absolute;
|
||||||
|
RIL_CDMA_SMS_Timestamp deferred_relative;
|
||||||
|
RIL_CDMA_SMS_Priority priority;
|
||||||
|
RIL_CDMA_SMS_Privacy privacy;
|
||||||
|
RIL_CDMA_SMS_ReplyOption reply_option;
|
||||||
|
unsigned char num_messages; /* the actual value; not BCDs */
|
||||||
|
RIL_CDMA_SMS_AlertMode alert_mode;
|
||||||
|
/* For pre-IS-637A implementations, alert_mode is either Off or On. */
|
||||||
|
RIL_CDMA_SMS_Language language;
|
||||||
|
RIL_CDMA_SMS_Address callback;
|
||||||
|
RIL_CDMA_SMS_DisplayMode display_mode;
|
||||||
|
|
||||||
|
RIL_CDMA_SMS_DeliveryStatus delivery_status;
|
||||||
|
unsigned int deposit_index;
|
||||||
|
|
||||||
|
RIL_CDMA_SMS_IpAddress ip_address;
|
||||||
|
unsigned char rsn_no_notify;
|
||||||
|
|
||||||
|
/* See function comments of wms_ts_decode() and
|
||||||
|
** wms_ts_decode_cdma_bd_with_other() for details regarding 'other' parameters
|
||||||
|
*/
|
||||||
|
RIL_CDMA_SMS_OtherParm other;
|
||||||
|
|
||||||
|
} RIL_CDMA_SMS_ClientBd;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
unsigned char length; /* length, in bytes, of the encoded SMS message */
|
||||||
|
unsigned char * data; /* the encoded SMS message (max 255 bytes) */
|
||||||
|
} RIL_CDMA_Encoded_SMS;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /*ANDROID_RIL_CDMA_SMS_H*/
|
46
include/telephony/ril_commands_vendor.h
Normal file
46
include/telephony/ril_commands_vendor.h
Normal file
|
@ -0,0 +1,46 @@
|
||||||
|
/* //device/libs/telephony/ril_commands.h
|
||||||
|
**
|
||||||
|
** Copyright 2006, The Android Open Source Project
|
||||||
|
**
|
||||||
|
** Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
** you may not use this file except in compliance with the License.
|
||||||
|
** You may obtain a copy of the License at
|
||||||
|
**
|
||||||
|
** http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
**
|
||||||
|
** Unless required by applicable law or agreed to in writing, software
|
||||||
|
** distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
** See the License for the specific language governing permissions and
|
||||||
|
** limitations under the License.
|
||||||
|
*/
|
||||||
|
{10000, NULL},
|
||||||
|
{RIL_REQUEST_DIAL_EMERGENCY_CALL, NULL}, // 10001
|
||||||
|
{RIL_REQUEST_CALL_DEFLECTION, NULL}, // 10002
|
||||||
|
{RIL_REQUEST_MODIFY_CALL_INITIATE, NULL}, // 10003
|
||||||
|
{RIL_REQUEST_MODIFY_CALL_CONFIRM, NULL}, // 10004
|
||||||
|
{RIL_REQUEST_SET_VOICE_DOMAIN_PREF, NULL}, // 10005
|
||||||
|
{RIL_REQUEST_SAFE_MODE, NULL}, // 10006
|
||||||
|
{RIL_REQUEST_SET_TRANSMIT_POWER, NULL}, // 10007
|
||||||
|
{RIL_REQUEST_GET_CELL_BROADCAST_CONFIG, NULL}, // 10008
|
||||||
|
{RIL_REQUEST_GET_PHONEBOOK_STORAGE_INFO, NULL}, // 10009
|
||||||
|
{RIL_REQUEST_GET_PHONEBOOK_ENTRY, NULL}, // 10010
|
||||||
|
{RIL_REQUEST_ACCESS_PHONEBOOK_ENTRY, NULL}, // 10011
|
||||||
|
{RIL_REQUEST_USIM_PB_CAPA, NULL}, // 10012
|
||||||
|
{RIL_REQUEST_LOCK_INFO, NULL}, // 10013
|
||||||
|
{RIL_REQUEST_STK_SIM_INIT_EVENT, NULL}, // 10014
|
||||||
|
{RIL_REQUEST_SET_PREFERRED_NETWORK_LIST, NULL}, // 10015
|
||||||
|
{RIL_REQUEST_GET_PREFERRED_NETWORK_LIST, NULL}, // 10016
|
||||||
|
{RIL_REQUEST_CHANGE_SIM_PERSO, NULL}, // 10017
|
||||||
|
{RIL_REQUEST_ENTER_SIM_PERSO, NULL}, // 10018
|
||||||
|
{RIL_REQUEST_SEND_ENCODED_USSD, NULL}, // 10019
|
||||||
|
{RIL_REQUEST_CDMA_SEND_SMS_EXPECT_MORE, NULL}, // 10020
|
||||||
|
{RIL_REQUEST_HANGUP_VT, NULL}, // 10021
|
||||||
|
{RIL_REQUEST_HOLD, NULL}, // 10022
|
||||||
|
{RIL_REQUEST_SET_SIM_POWER, NULL}, // 10023
|
||||||
|
{RIL_REQUEST_UICC_GBA_AUTHENTICATE_BOOTSTRAP, NULL}, // 10025
|
||||||
|
{RIL_REQUEST_UICC_GBA_AUTHENTICATE_NAF, NULL}, // 10026
|
||||||
|
{RIL_REQUEST_GET_INCOMING_COMMUNICATION_BARRING, NULL}, // 10027
|
||||||
|
{RIL_REQUEST_SET_INCOMING_COMMUNICATION_BARRING, NULL}, // 10028
|
||||||
|
{RIL_REQUEST_QUERY_CNAP, NULL}, // 10029
|
||||||
|
{RIL_REQUEST_SET_TRANSFER_CALL, NULL}, // 10030
|
48
include/telephony/ril_msim.h
Normal file
48
include/telephony/ril_msim.h
Normal file
|
@ -0,0 +1,48 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2014 The Android Open Source Project
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef ANDROID_RIL_MSIM_H
|
||||||
|
#define ANDROID_RIL_MSIM_H 1
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
RIL_UICC_SUBSCRIPTION_DEACTIVATE = 0,
|
||||||
|
RIL_UICC_SUBSCRIPTION_ACTIVATE = 1
|
||||||
|
} RIL_UiccSubActStatus;
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
RIL_SUBSCRIPTION_1 = 0,
|
||||||
|
RIL_SUBSCRIPTION_2 = 1,
|
||||||
|
RIL_SUBSCRIPTION_3 = 2
|
||||||
|
} RIL_SubscriptionType;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
int slot; /* 0, 1, ... etc. */
|
||||||
|
int app_index; /* array subscriptor from applications[RIL_CARD_MAX_APPS] in
|
||||||
|
RIL_REQUEST_GET_SIM_STATUS */
|
||||||
|
RIL_SubscriptionType sub_type; /* Indicates subscription 1 or subscription 2 */
|
||||||
|
RIL_UiccSubActStatus act_status;
|
||||||
|
} RIL_SelectUiccSub;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /*ANDROID_RIL_MSIM_H*/
|
88
include/telephony/ril_nv_items.h
Normal file
88
include/telephony/ril_nv_items.h
Normal file
|
@ -0,0 +1,88 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2014 The Android Open Source Project
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef ANDROID_RIL_NV_ITEMS_H
|
||||||
|
#define ANDROID_RIL_NV_ITEMS_H 1
|
||||||
|
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Must match the values in RadioNVItems.java in frameworks/opt/telephony. */
|
||||||
|
typedef enum {
|
||||||
|
|
||||||
|
// CDMA radio and account information (items 1-10)
|
||||||
|
RIL_NV_CDMA_MEID = 1, // CDMA MEID (hex)
|
||||||
|
RIL_NV_CDMA_MIN = 2, // CDMA MIN (MSID)
|
||||||
|
RIL_NV_CDMA_MDN = 3, // CDMA MDN
|
||||||
|
RIL_NV_CDMA_ACCOLC = 4, // CDMA access overload control
|
||||||
|
|
||||||
|
// Carrier device provisioning (items 11-30)
|
||||||
|
RIL_NV_DEVICE_MSL = 11, // device MSL
|
||||||
|
RIL_NV_RTN_RECONDITIONED_STATUS = 12, // RTN reconditioned status
|
||||||
|
RIL_NV_RTN_ACTIVATION_DATE = 13, // RTN activation date
|
||||||
|
RIL_NV_RTN_LIFE_TIMER = 14, // RTN life timer
|
||||||
|
RIL_NV_RTN_LIFE_CALLS = 15, // RTN life calls
|
||||||
|
RIL_NV_RTN_LIFE_DATA_TX = 16, // RTN life data TX
|
||||||
|
RIL_NV_RTN_LIFE_DATA_RX = 17, // RTN life data RX
|
||||||
|
RIL_NV_OMADM_HFA_LEVEL = 18, // HFA in progress
|
||||||
|
|
||||||
|
// Mobile IP profile information (items 31-50)
|
||||||
|
RIL_NV_MIP_PROFILE_NAI = 31, // NAI realm
|
||||||
|
RIL_NV_MIP_PROFILE_HOME_ADDRESS = 32, // MIP home address
|
||||||
|
RIL_NV_MIP_PROFILE_AAA_AUTH = 33, // AAA auth
|
||||||
|
RIL_NV_MIP_PROFILE_HA_AUTH = 34, // HA auth
|
||||||
|
RIL_NV_MIP_PROFILE_PRI_HA_ADDR = 35, // primary HA address
|
||||||
|
RIL_NV_MIP_PROFILE_SEC_HA_ADDR = 36, // secondary HA address
|
||||||
|
RIL_NV_MIP_PROFILE_REV_TUN_PREF = 37, // reverse TUN preference
|
||||||
|
RIL_NV_MIP_PROFILE_HA_SPI = 38, // HA SPI
|
||||||
|
RIL_NV_MIP_PROFILE_AAA_SPI = 39, // AAA SPI
|
||||||
|
RIL_NV_MIP_PROFILE_MN_HA_SS = 40, // HA shared secret
|
||||||
|
RIL_NV_MIP_PROFILE_MN_AAA_SS = 41, // AAA shared secret
|
||||||
|
|
||||||
|
// CDMA network and band config (items 51-70)
|
||||||
|
RIL_NV_CDMA_PRL_VERSION = 51, // CDMA PRL version
|
||||||
|
RIL_NV_CDMA_BC10 = 52, // CDMA band class 10
|
||||||
|
RIL_NV_CDMA_BC14 = 53, // CDMA band class 14
|
||||||
|
RIL_NV_CDMA_SO68 = 54, // CDMA SO68
|
||||||
|
RIL_NV_CDMA_SO73_COP0 = 55, // CDMA SO73 COP0
|
||||||
|
RIL_NV_CDMA_SO73_COP1TO7 = 56, // CDMA SO73 COP1-7
|
||||||
|
RIL_NV_CDMA_1X_ADVANCED_ENABLED = 57, // CDMA 1X Advanced enabled
|
||||||
|
RIL_NV_CDMA_EHRPD_ENABLED = 58, // CDMA eHRPD enabled
|
||||||
|
RIL_NV_CDMA_EHRPD_FORCED = 59, // CDMA eHRPD forced
|
||||||
|
|
||||||
|
// LTE network and band config (items 71-90)
|
||||||
|
RIL_NV_LTE_BAND_ENABLE_25 = 71, // LTE band 25 enable
|
||||||
|
RIL_NV_LTE_BAND_ENABLE_26 = 72, // LTE band 26 enable
|
||||||
|
RIL_NV_LTE_BAND_ENABLE_41 = 73, // LTE band 41 enable
|
||||||
|
|
||||||
|
RIL_NV_LTE_SCAN_PRIORITY_25 = 74, // LTE band 25 scan priority
|
||||||
|
RIL_NV_LTE_SCAN_PRIORITY_26 = 75, // LTE band 26 scan priority
|
||||||
|
RIL_NV_LTE_SCAN_PRIORITY_41 = 76, // LTE band 41 scan priority
|
||||||
|
|
||||||
|
RIL_NV_LTE_HIDDEN_BAND_PRIORITY_25 = 77, // LTE hidden band 25 priority
|
||||||
|
RIL_NV_LTE_HIDDEN_BAND_PRIORITY_26 = 78, // LTE hidden band 26 priority
|
||||||
|
RIL_NV_LTE_HIDDEN_BAND_PRIORITY_41 = 79, // LTE hidden band 41 priority
|
||||||
|
|
||||||
|
} RIL_NV_Item;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* ANDROID_RIL_NV_ITEMS_H */
|
85
include/telephony/ril_unsol_commands_vendor.h
Normal file
85
include/telephony/ril_unsol_commands_vendor.h
Normal file
|
@ -0,0 +1,85 @@
|
||||||
|
/* //device/libs/telephony/ril_unsol_commands.h
|
||||||
|
**
|
||||||
|
** Copyright 2006, The Android Open Source Project
|
||||||
|
**
|
||||||
|
** Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
** you may not use this file except in compliance with the License.
|
||||||
|
** You may obtain a copy of the License at
|
||||||
|
**
|
||||||
|
** http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
**
|
||||||
|
** Unless required by applicable law or agreed to in writing, software
|
||||||
|
** distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
** See the License for the specific language governing permissions and
|
||||||
|
** limitations under the License.
|
||||||
|
*/
|
||||||
|
{SAMSUNG_UNSOL_RESPONSE_BASE, NULL, WAKE_PARTIAL}, // 11000
|
||||||
|
{RIL_UNSOL_RELEASE_COMPLETE_MESSAGE, NULL, WAKE_PARTIAL}, // 11001
|
||||||
|
{RIL_UNSOL_STK_SEND_SMS_RESULT, NULL, WAKE_PARTIAL}, // 11002
|
||||||
|
{RIL_UNSOL_STK_CALL_CONTROL_RESULT, NULL, WAKE_PARTIAL}, // 11003
|
||||||
|
{11004, NULL, WAKE_PARTIAL},
|
||||||
|
{11005, NULL, WAKE_PARTIAL},
|
||||||
|
{11006, NULL, WAKE_PARTIAL},
|
||||||
|
{11007, NULL, WAKE_PARTIAL},
|
||||||
|
{RIL_UNSOL_DEVICE_READY_NOTI, NULL, WAKE_PARTIAL}, // 11008
|
||||||
|
{RIL_UNSOL_GPS_NOTI, NULL, WAKE_PARTIAL}, // 11009
|
||||||
|
{RIL_UNSOL_AM, NULL, WAKE_PARTIAL}, // 11010
|
||||||
|
{RIL_UNSOL_DUN_PIN_CONTROL_SIGNAL, NULL, WAKE_PARTIAL}, // 11011
|
||||||
|
{RIL_UNSOL_DATA_SUSPEND_RESUME, NULL, WAKE_PARTIAL}, // 11012
|
||||||
|
{RIL_UNSOL_SAP, NULL, WAKE_PARTIAL}, // 11013
|
||||||
|
{11014, NULL, WAKE_PARTIAL},
|
||||||
|
{11015, NULL, WAKE_PARTIAL},
|
||||||
|
{11016, NULL, WAKE_PARTIAL},
|
||||||
|
{RIL_UNSOL_WB_AMR_STATE, NULL, WAKE_PARTIAL},
|
||||||
|
{11018, NULL, WAKE_PARTIAL},
|
||||||
|
{11019, NULL, WAKE_PARTIAL},
|
||||||
|
{RIL_UNSOL_UART, NULL, WAKE_PARTIAL},
|
||||||
|
{RIL_UNSOL_SIM_PB_READY, NULL, WAKE_PARTIAL},
|
||||||
|
{11022, NULL, WAKE_PARTIAL},
|
||||||
|
{11023, NULL, WAKE_PARTIAL},
|
||||||
|
{RIL_UNSOL_VE, NULL, WAKE_PARTIAL}, // 11024
|
||||||
|
{11025, NULL, WAKE_PARTIAL},
|
||||||
|
{RIL_UNSOL_FACTORY_AM, NULL, WAKE_PARTIAL}, // 11026
|
||||||
|
{RIL_UNSOL_IMS_REGISTRATION_STATE_CHANGED, NULL, WAKE_PARTIAL}, // 11027
|
||||||
|
{RIL_UNSOL_MODIFY_CALL, NULL, WAKE_PARTIAL}, // 11028
|
||||||
|
{11029, NULL, WAKE_PARTIAL},
|
||||||
|
{RIL_UNSOL_CS_FALLBACK, NULL, WAKE_PARTIAL}, // 11030
|
||||||
|
{11031, NULL, WAKE_PARTIAL},
|
||||||
|
{RIL_UNSOL_VOICE_SYSTEM_ID, NULL, WAKE_PARTIAL}, // 11032
|
||||||
|
{11033, NULL, WAKE_PARTIAL},
|
||||||
|
{RIL_UNSOL_IMS_RETRYOVER, NULL, WAKE_PARTIAL}, // 11034
|
||||||
|
{RIL_UNSOL_PB_INIT_COMPLETE, NULL, WAKE_PARTIAL}, // 11035
|
||||||
|
{11036, NULL, WAKE_PARTIAL},
|
||||||
|
{RIL_UNSOL_HYSTERESIS_DCN, NULL, WAKE_PARTIAL}, // 11037
|
||||||
|
{RIL_UNSOL_CP_POSITION, NULL, WAKE_PARTIAL}, // 11038
|
||||||
|
{11039, NULL, WAKE_PARTIAL},
|
||||||
|
{11040, NULL, WAKE_PARTIAL},
|
||||||
|
{11041, NULL, WAKE_PARTIAL},
|
||||||
|
{11042, NULL, WAKE_PARTIAL},
|
||||||
|
{RIL_UNSOL_HOME_NETWORK_NOTI, NULL, WAKE_PARTIAL}, // 11043
|
||||||
|
{11044, NULL, WAKE_PARTIAL},
|
||||||
|
{11045, NULL, WAKE_PARTIAL},
|
||||||
|
{11046, NULL, WAKE_PARTIAL},
|
||||||
|
{11047, NULL, WAKE_PARTIAL},
|
||||||
|
{11048, NULL, WAKE_PARTIAL},
|
||||||
|
{11049, NULL, WAKE_PARTIAL},
|
||||||
|
{11050, NULL, WAKE_PARTIAL},
|
||||||
|
{11051, NULL, WAKE_PARTIAL},
|
||||||
|
{11052, NULL, WAKE_PARTIAL},
|
||||||
|
{11053, NULL, WAKE_PARTIAL},
|
||||||
|
{RIL_UNSOL_STK_CALL_STATUS, NULL, WAKE_PARTIAL}, // 11054
|
||||||
|
{11055, NULL, WAKE_PARTIAL},
|
||||||
|
{RIL_UNSOL_MODEM_CAP, NULL, WAKE_PARTIAL}, // 11056
|
||||||
|
{RIL_UNSOL_SIM_SWAP_STATE_CHANGED, NULL, WAKE_PARTIAL}, // 11057
|
||||||
|
{11058, NULL, WAKE_PARTIAL},
|
||||||
|
{11059, NULL, WAKE_PARTIAL},
|
||||||
|
{RIL_UNSOL_DUN, NULL, WAKE_PARTIAL}, // 11060
|
||||||
|
{RIL_UNSOL_IMS_PREFERENCE_CHANGED, NULL, WAKE_PARTIAL}, // 11061
|
||||||
|
{RIL_UNSOL_SIM_APPLICATION_REFRESH, NULL, WAKE_PARTIAL}, // 11062
|
||||||
|
{RIL_UNSOL_UICC_APPLICATION_STATUS, NULL, WAKE_PARTIAL}, // 11063
|
||||||
|
{RIL_UNSOL_VOICE_RADIO_BEARER_HO_STATUS, NULL, WAKE_PARTIAL}, // 11064
|
||||||
|
{RIL_UNSOL_CLM_NOTI, NULL, WAKE_PARTIAL},
|
||||||
|
{RIL_UNSOL_SIM_ICCID_NOTI, NULL, WAKE_PARTIAL},
|
||||||
|
{RIL_UNSOL_SNDMGR_WB_AMR_REPORT, NULL, WAKE_PARTIAL}, // 20017
|
||||||
|
{RIL_UNSOL_SNDMGR_CLOCK_CTRL, NULL, WAKE_PARTIAL}, // 20022
|
14
lineage.dependencies
Normal file
14
lineage.dependencies
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"repository": "android_hardware_samsung",
|
||||||
|
"target_path": "hardware/samsung"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"repository": "android_kernel_samsung_exynos7870",
|
||||||
|
"target_path": "kernel/samsung/exynos7870"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"repository": "android_packages_resources_devicesettings",
|
||||||
|
"target_path": "packages/resources/devicesettings"
|
||||||
|
}
|
||||||
|
]
|
422
manifest.xml
Normal file
422
manifest.xml
Normal file
|
@ -0,0 +1,422 @@
|
||||||
|
<manifest version="1.0" type="device" target-level="3">
|
||||||
|
<hal format="hidl">
|
||||||
|
<name>android.hardware.audio</name>
|
||||||
|
<transport>hwbinder</transport>
|
||||||
|
<version>5.0</version>
|
||||||
|
<interface>
|
||||||
|
<name>IDevicesFactory</name>
|
||||||
|
<instance>default</instance>
|
||||||
|
</interface>
|
||||||
|
<fqname>@5.0::IDevicesFactory/default</fqname>
|
||||||
|
</hal>
|
||||||
|
<hal format="hidl">
|
||||||
|
<name>android.hardware.audio.effect</name>
|
||||||
|
<transport>hwbinder</transport>
|
||||||
|
<version>5.0</version>
|
||||||
|
<interface>
|
||||||
|
<name>IEffectsFactory</name>
|
||||||
|
<instance>default</instance>
|
||||||
|
</interface>
|
||||||
|
<fqname>@5.0::IEffectsFactory/default</fqname>
|
||||||
|
</hal>
|
||||||
|
<hal format="hidl">
|
||||||
|
<name>android.hardware.biometrics.fingerprint</name>
|
||||||
|
<transport>hwbinder</transport>
|
||||||
|
<version>2.1</version>
|
||||||
|
<interface>
|
||||||
|
<name>IBiometricsFingerprint</name>
|
||||||
|
<instance>default</instance>
|
||||||
|
</interface>
|
||||||
|
<fqname>@2.1::IBiometricsFingerprint/default</fqname>
|
||||||
|
</hal>
|
||||||
|
<hal format="hidl">
|
||||||
|
<name>android.hardware.bluetooth</name>
|
||||||
|
<transport>hwbinder</transport>
|
||||||
|
<version>1.0</version>
|
||||||
|
<interface>
|
||||||
|
<name>IBluetoothHci</name>
|
||||||
|
<instance>default</instance>
|
||||||
|
</interface>
|
||||||
|
<fqname>@1.0::IBluetoothHci/default</fqname>
|
||||||
|
</hal>
|
||||||
|
<hal format="hidl">
|
||||||
|
<name>android.hardware.camera.provider</name>
|
||||||
|
<transport>hwbinder</transport>
|
||||||
|
<version>2.4</version>
|
||||||
|
<interface>
|
||||||
|
<name>ICameraProvider</name>
|
||||||
|
<instance>legacy/0</instance>
|
||||||
|
</interface>
|
||||||
|
<fqname>@2.4::ICameraProvider/legacy/0</fqname>
|
||||||
|
</hal>
|
||||||
|
<hal format="hidl">
|
||||||
|
<name>android.hardware.configstore</name>
|
||||||
|
<transport>hwbinder</transport>
|
||||||
|
<version>1.1</version>
|
||||||
|
<interface>
|
||||||
|
<name>ISurfaceFlingerConfigs</name>
|
||||||
|
<instance>default</instance>
|
||||||
|
</interface>
|
||||||
|
<fqname>@1.1::ISurfaceFlingerConfigs/default</fqname>
|
||||||
|
</hal>
|
||||||
|
<hal format="hidl">
|
||||||
|
<name>android.hardware.drm</name>
|
||||||
|
<transport>hwbinder</transport>
|
||||||
|
<version>1.0</version>
|
||||||
|
<interface>
|
||||||
|
<name>ICryptoFactory</name>
|
||||||
|
<instance>default</instance>
|
||||||
|
</interface>
|
||||||
|
<interface>
|
||||||
|
<name>IDrmFactory</name>
|
||||||
|
<instance>default</instance>
|
||||||
|
</interface>
|
||||||
|
<fqname>@1.0::ICryptoFactory/default</fqname>
|
||||||
|
<fqname>@1.0::IDrmFactory/default</fqname>
|
||||||
|
<fqname>@1.1::ICryptoFactory/widevine</fqname>
|
||||||
|
<fqname>@1.1::IDrmFactory/widevine</fqname>
|
||||||
|
<fqname>@1.2::ICryptoFactory/clearkey</fqname>
|
||||||
|
<fqname>@1.2::IDrmFactory/clearkey</fqname>
|
||||||
|
</hal>
|
||||||
|
<hal format="hidl">
|
||||||
|
<name>android.hardware.gatekeeper</name>
|
||||||
|
<transport arch="32+64">passthrough</transport>
|
||||||
|
<version>1.0</version>
|
||||||
|
<interface>
|
||||||
|
<name>IGatekeeper</name>
|
||||||
|
<instance>default</instance>
|
||||||
|
</interface>
|
||||||
|
<fqname>@1.0::IGatekeeper/default</fqname>
|
||||||
|
</hal>
|
||||||
|
<hal format="hidl">
|
||||||
|
<name>android.hardware.gnss</name>
|
||||||
|
<transport>hwbinder</transport>
|
||||||
|
<version>1.1</version>
|
||||||
|
<interface>
|
||||||
|
<name>IGnss</name>
|
||||||
|
<instance>default</instance>
|
||||||
|
</interface>
|
||||||
|
<fqname>@1.1::IGnss/default</fqname>
|
||||||
|
</hal>
|
||||||
|
<hal format="hidl">
|
||||||
|
<name>android.hardware.graphics.allocator</name>
|
||||||
|
<transport>hwbinder</transport>
|
||||||
|
<version>2.0</version>
|
||||||
|
<interface>
|
||||||
|
<name>IAllocator</name>
|
||||||
|
<instance>default</instance>
|
||||||
|
</interface>
|
||||||
|
<fqname>@2.0::IAllocator/default</fqname>
|
||||||
|
</hal>
|
||||||
|
<hal format="hidl">
|
||||||
|
<name>android.hardware.graphics.composer</name>
|
||||||
|
<transport>hwbinder</transport>
|
||||||
|
<version>2.1</version>
|
||||||
|
<interface>
|
||||||
|
<name>IComposer</name>
|
||||||
|
<instance>default</instance>
|
||||||
|
</interface>
|
||||||
|
<fqname>@2.1::IComposer/default</fqname>
|
||||||
|
</hal>
|
||||||
|
<hal format="hidl">
|
||||||
|
<name>android.hardware.graphics.mapper</name>
|
||||||
|
<transport arch="32+64">passthrough</transport>
|
||||||
|
<version>2.0</version>
|
||||||
|
<interface>
|
||||||
|
<name>IMapper</name>
|
||||||
|
<instance>default</instance>
|
||||||
|
</interface>
|
||||||
|
<fqname>@2.0::IMapper/default</fqname>
|
||||||
|
</hal>
|
||||||
|
<hal format="hidl">
|
||||||
|
<name>android.hardware.health</name>
|
||||||
|
<transport>hwbinder</transport>
|
||||||
|
<version>2.0</version>
|
||||||
|
<interface>
|
||||||
|
<name>IHealth</name>
|
||||||
|
<instance>default</instance>
|
||||||
|
</interface>
|
||||||
|
<fqname>@2.0::IHealth/default</fqname>
|
||||||
|
</hal>
|
||||||
|
<hal format="hidl">
|
||||||
|
<name>android.hardware.keymaster</name>
|
||||||
|
<transport>hwbinder</transport>
|
||||||
|
<version>3.0</version>
|
||||||
|
<interface>
|
||||||
|
<name>IKeymasterDevice</name>
|
||||||
|
<instance>default</instance>
|
||||||
|
</interface>
|
||||||
|
<fqname>@3.0::IKeymasterDevice/default</fqname>
|
||||||
|
</hal>
|
||||||
|
<hal format="hidl">
|
||||||
|
<name>android.hardware.light</name>
|
||||||
|
<transport>hwbinder</transport>
|
||||||
|
<version>2.0</version>
|
||||||
|
<interface>
|
||||||
|
<name>ILight</name>
|
||||||
|
<instance>default</instance>
|
||||||
|
</interface>
|
||||||
|
<fqname>@2.0::ILight/default</fqname>
|
||||||
|
</hal>
|
||||||
|
<hal format="hidl">
|
||||||
|
<name>android.hardware.media.omx</name>
|
||||||
|
<transport>hwbinder</transport>
|
||||||
|
<version>1.0</version>
|
||||||
|
<interface>
|
||||||
|
<name>IOmx</name>
|
||||||
|
<instance>default</instance>
|
||||||
|
</interface>
|
||||||
|
<interface>
|
||||||
|
<name>IOmxStore</name>
|
||||||
|
<instance>default</instance>
|
||||||
|
</interface>
|
||||||
|
<fqname>@1.0::IOmx/default</fqname>
|
||||||
|
<fqname>@1.0::IOmxStore/default</fqname>
|
||||||
|
</hal>
|
||||||
|
<hal format="hidl">
|
||||||
|
<name>android.hardware.memtrack</name>
|
||||||
|
<transport>hwbinder</transport>
|
||||||
|
<version>1.0</version>
|
||||||
|
<interface>
|
||||||
|
<name>IMemtrack</name>
|
||||||
|
<instance>default</instance>
|
||||||
|
</interface>
|
||||||
|
<fqname>@1.0::IMemtrack/default</fqname>
|
||||||
|
</hal>
|
||||||
|
<hal format="hidl">
|
||||||
|
<name>android.hardware.nfc</name>
|
||||||
|
<transport>hwbinder</transport>
|
||||||
|
<version>1.1</version>
|
||||||
|
<interface>
|
||||||
|
<name>INfc</name>
|
||||||
|
<instance>default</instance>
|
||||||
|
</interface>
|
||||||
|
<fqname>@1.1::INfc/default</fqname>
|
||||||
|
</hal>
|
||||||
|
<hal format="hidl">
|
||||||
|
<name>android.hardware.power</name>
|
||||||
|
<transport>hwbinder</transport>
|
||||||
|
<version>1.0</version>
|
||||||
|
<interface>
|
||||||
|
<name>IPower</name>
|
||||||
|
<instance>default</instance>
|
||||||
|
</interface>
|
||||||
|
<fqname>@1.0::IPower/default</fqname>
|
||||||
|
</hal>
|
||||||
|
<hal format="hidl" override="true">
|
||||||
|
<name>android.hardware.radio</name>
|
||||||
|
<transport>hwbinder</transport>
|
||||||
|
</hal>
|
||||||
|
<hal format="hidl" override="true">
|
||||||
|
<name>android.hardware.radio</name>
|
||||||
|
<transport>hwbinder</transport>
|
||||||
|
<fqname>@1.2::ISap/slot1</fqname>
|
||||||
|
<fqname>@1.2::ISap/slot2</fqname>
|
||||||
|
<fqname>@1.4::IRadio/slot1</fqname>
|
||||||
|
<fqname>@1.4::IRadio/slot2</fqname>
|
||||||
|
</hal>
|
||||||
|
<hal format="hidl" override="true">
|
||||||
|
<name>android.hardware.radio.config</name>
|
||||||
|
<transport>hwbinder</transport>
|
||||||
|
<version>1.1</version>
|
||||||
|
<interface>
|
||||||
|
<name>IRadioConfig</name>
|
||||||
|
<instance>default</instance>
|
||||||
|
</interface>
|
||||||
|
<fqname>@1.1::IRadioConfig/default</fqname>
|
||||||
|
</hal>
|
||||||
|
<hal format="hidl" override="true">
|
||||||
|
<name>android.hardware.radio.deprecated</name>
|
||||||
|
<transport>hwbinder</transport>
|
||||||
|
</hal>
|
||||||
|
<hal format="hidl">
|
||||||
|
<name>android.hardware.renderscript</name>
|
||||||
|
<transport arch="32+64">passthrough</transport>
|
||||||
|
<version>1.0</version>
|
||||||
|
<interface>
|
||||||
|
<name>IDevice</name>
|
||||||
|
<instance>default</instance>
|
||||||
|
</interface>
|
||||||
|
<fqname>@1.0::IDevice/default</fqname>
|
||||||
|
</hal>
|
||||||
|
<hal format="hidl">
|
||||||
|
<name>android.hardware.sensors</name>
|
||||||
|
<transport>hwbinder</transport>
|
||||||
|
<version>1.0</version>
|
||||||
|
<interface>
|
||||||
|
<name>ISensors</name>
|
||||||
|
<instance>default</instance>
|
||||||
|
</interface>
|
||||||
|
<fqname>@1.0::ISensors/default</fqname>
|
||||||
|
</hal>
|
||||||
|
<hal format="hidl">
|
||||||
|
<name>android.hardware.soundtrigger</name>
|
||||||
|
<transport>hwbinder</transport>
|
||||||
|
<version>2.1</version>
|
||||||
|
<interface>
|
||||||
|
<name>ISoundTriggerHw</name>
|
||||||
|
<instance>default</instance>
|
||||||
|
</interface>
|
||||||
|
<fqname>@2.1::ISoundTriggerHw/default</fqname>
|
||||||
|
</hal>
|
||||||
|
<hal format="hidl">
|
||||||
|
<name>android.hardware.tetheroffload.config</name>
|
||||||
|
<transport>hwbinder</transport>
|
||||||
|
<version>1.0</version>
|
||||||
|
<interface>
|
||||||
|
<name>IOffloadConfig</name>
|
||||||
|
<instance>default</instance>
|
||||||
|
</interface>
|
||||||
|
<fqname>@1.0::IOffloadConfig/default</fqname>
|
||||||
|
</hal>
|
||||||
|
<hal format="hidl">
|
||||||
|
<name>android.hardware.tetheroffload.control</name>
|
||||||
|
<transport>hwbinder</transport>
|
||||||
|
<version>1.0</version>
|
||||||
|
<interface>
|
||||||
|
<name>IOffloadControl</name>
|
||||||
|
<instance>default</instance>
|
||||||
|
</interface>
|
||||||
|
<fqname>@1.0::IOffloadControl/default</fqname>
|
||||||
|
</hal>
|
||||||
|
<hal format="hidl">
|
||||||
|
<name>android.hardware.thermal</name>
|
||||||
|
<transport>hwbinder</transport>
|
||||||
|
<version>1.0</version>
|
||||||
|
<interface>
|
||||||
|
<name>IThermal</name>
|
||||||
|
<instance>default</instance>
|
||||||
|
</interface>
|
||||||
|
<fqname>@1.0::IThermal/default</fqname>
|
||||||
|
</hal>
|
||||||
|
<hal format="hidl">
|
||||||
|
<name>android.hardware.usb</name>
|
||||||
|
<transport>hwbinder</transport>
|
||||||
|
<version>1.0</version>
|
||||||
|
<interface>
|
||||||
|
<name>IUsb</name>
|
||||||
|
<instance>default</instance>
|
||||||
|
</interface>
|
||||||
|
<fqname>@1.0::IUsb/default</fqname>
|
||||||
|
</hal>
|
||||||
|
<hal format="hidl">
|
||||||
|
<name>android.hardware.vibrator</name>
|
||||||
|
<transport>hwbinder</transport>
|
||||||
|
<version>1.0</version>
|
||||||
|
<interface>
|
||||||
|
<name>IVibrator</name>
|
||||||
|
<instance>default</instance>
|
||||||
|
</interface>
|
||||||
|
<fqname>@1.0::IVibrator/default</fqname>
|
||||||
|
</hal>
|
||||||
|
<hal format="hidl">
|
||||||
|
<name>android.hardware.wifi</name>
|
||||||
|
<transport>hwbinder</transport>
|
||||||
|
<version>1.3</version>
|
||||||
|
<interface>
|
||||||
|
<name>IWifi</name>
|
||||||
|
<instance>default</instance>
|
||||||
|
</interface>
|
||||||
|
<fqname>@1.3::IWifi/default</fqname>
|
||||||
|
</hal>
|
||||||
|
<hal format="hidl">
|
||||||
|
<name>android.hardware.wifi.hostapd</name>
|
||||||
|
<transport>hwbinder</transport>
|
||||||
|
<version>1.1</version>
|
||||||
|
<interface>
|
||||||
|
<name>IHostapd</name>
|
||||||
|
<instance>default</instance>
|
||||||
|
</interface>
|
||||||
|
<fqname>@1.1::IHostapd/default</fqname>
|
||||||
|
</hal>
|
||||||
|
<hal format="hidl">
|
||||||
|
<name>android.hardware.wifi.supplicant</name>
|
||||||
|
<transport>hwbinder</transport>
|
||||||
|
<version>1.2</version>
|
||||||
|
<interface>
|
||||||
|
<name>ISupplicant</name>
|
||||||
|
<instance>default</instance>
|
||||||
|
</interface>
|
||||||
|
<fqname>@1.2::ISupplicant/default</fqname>
|
||||||
|
</hal>
|
||||||
|
<hal format="hidl">
|
||||||
|
<name>com.qualcomm.qti.ant</name>
|
||||||
|
<transport>hwbinder</transport>
|
||||||
|
<version>1.0</version>
|
||||||
|
<interface>
|
||||||
|
<name>IAntHci</name>
|
||||||
|
<instance>default</instance>
|
||||||
|
</interface>
|
||||||
|
<fqname>@1.0::IAntHci/default</fqname>
|
||||||
|
</hal>
|
||||||
|
<hal format="hidl">
|
||||||
|
<name>vendor.samsung.hardware.biometrics.fingerprint</name>
|
||||||
|
<transport>hwbinder</transport>
|
||||||
|
<version>2.1</version>
|
||||||
|
<interface>
|
||||||
|
<name>ISecBiometricsFingerprint</name>
|
||||||
|
<instance>default</instance>
|
||||||
|
</interface>
|
||||||
|
<fqname>@2.1::ISecBiometricsFingerprint/default</fqname>
|
||||||
|
</hal>
|
||||||
|
<hal format="hidl">
|
||||||
|
<name>vendor.samsung.hardware.gnss</name>
|
||||||
|
<transport>hwbinder</transport>
|
||||||
|
<version>1.0</version>
|
||||||
|
<interface>
|
||||||
|
<name>ISecGnss</name>
|
||||||
|
<instance>default</instance>
|
||||||
|
</interface>
|
||||||
|
<fqname>@1.0::ISecGnss/default</fqname>
|
||||||
|
</hal>
|
||||||
|
<hal format="hidl">
|
||||||
|
<name>vendor.samsung.hardware.nfc</name>
|
||||||
|
<transport>hwbinder</transport>
|
||||||
|
<version>1.1</version>
|
||||||
|
<interface>
|
||||||
|
<name>ISecNfc</name>
|
||||||
|
<instance>default</instance>
|
||||||
|
</interface>
|
||||||
|
<fqname>@1.1::ISecNfc/default</fqname>
|
||||||
|
</hal>
|
||||||
|
<hal format="hidl">
|
||||||
|
<name>vendor.samsung.hardware.radio</name>
|
||||||
|
<transport>hwbinder</transport>
|
||||||
|
<version>2.0</version>
|
||||||
|
<interface>
|
||||||
|
<name>ISehRadio</name>
|
||||||
|
<instance>slot1</instance>
|
||||||
|
<instance>slot2</instance>
|
||||||
|
</interface>
|
||||||
|
<fqname>@2.0::ISehRadio/slot1</fqname>
|
||||||
|
<fqname>@2.0::ISehRadio/slot2</fqname>
|
||||||
|
</hal>
|
||||||
|
<hal format="hidl">
|
||||||
|
<name>vendor.samsung.hardware.radio.bridge</name>
|
||||||
|
<transport>hwbinder</transport>
|
||||||
|
<version>2.0</version>
|
||||||
|
<interface>
|
||||||
|
<name>ISehBridge</name>
|
||||||
|
<instance>slot1</instance>
|
||||||
|
<instance>slot2</instance>
|
||||||
|
</interface>
|
||||||
|
<fqname>@2.0::ISehBridge/slot1</fqname>
|
||||||
|
<fqname>@2.0::ISehBridge/slot2</fqname>
|
||||||
|
</hal>
|
||||||
|
<hal format="hidl">
|
||||||
|
<name>vendor.samsung.hardware.radio.channel</name>
|
||||||
|
<transport>hwbinder</transport>
|
||||||
|
<version>2.0</version>
|
||||||
|
<interface>
|
||||||
|
<name>ISehChannel</name>
|
||||||
|
<instance>epdgd</instance>
|
||||||
|
<instance>epdgd2</instance>
|
||||||
|
<instance>imsd</instance>
|
||||||
|
<instance>imsd2</instance>
|
||||||
|
</interface>
|
||||||
|
<fqname>@2.0::ISehChannel/epdgd</fqname>
|
||||||
|
<fqname>@2.0::ISehChannel/epdgd2</fqname>
|
||||||
|
<fqname>@2.0::ISehChannel/imsd</fqname>
|
||||||
|
<fqname>@2.0::ISehChannel/imsd2</fqname>
|
||||||
|
</hal>
|
||||||
|
</manifest>
|
634
overlay/frameworks/base/core/res/res/values/config.xml
Normal file
634
overlay/frameworks/base/core/res/res/values/config.xml
Normal file
|
@ -0,0 +1,634 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
/*
|
||||||
|
** Copyright 2014, The Android Open Source Project
|
||||||
|
**
|
||||||
|
** Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
** you may not use this file except in compliance with the License.
|
||||||
|
** You may obtain a copy of the License at
|
||||||
|
**
|
||||||
|
** http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
**
|
||||||
|
** Unless required by applicable law or agreed to in writing, software
|
||||||
|
** distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
** See the License for the specific language governing permissions and
|
||||||
|
** limitations under the License.
|
||||||
|
*/
|
||||||
|
-->
|
||||||
|
|
||||||
|
<resources>
|
||||||
|
|
||||||
|
<!-- Flag indicating whether the we should enable the automatic brightness in Settings.
|
||||||
|
Software implementation will be used if config_hardware_auto_brightness_available is not set -->
|
||||||
|
<bool name="config_automatic_brightness_available">true</bool>
|
||||||
|
|
||||||
|
<!-- Array of light sensor lux values to define our levels for auto backlight brightness support.
|
||||||
|
The N entries of this array define N + 1 control points as follows:
|
||||||
|
(1-based arrays)
|
||||||
|
Point 1: (0, value[1]): lux <= 0
|
||||||
|
Point 2: (level[1], value[2]): 0 < lux <= level[1]
|
||||||
|
Point 3: (level[2], value[3]): level[2] < lux <= level[3]
|
||||||
|
...
|
||||||
|
Point N+1: (level[N], value[N+1]): level[N] < lux
|
||||||
|
The control points must be strictly increasing. Each control point
|
||||||
|
corresponds to an entry in the brightness backlight values arrays.
|
||||||
|
For example, if lux == level[1] (first element of the levels array)
|
||||||
|
then the brightness will be determined by value[2] (second element
|
||||||
|
of the brightness values array).
|
||||||
|
Spline interpolation is used to determine the auto-brightness
|
||||||
|
backlight values for lux levels between these control points.
|
||||||
|
Must be overridden in platform specific overlays -->
|
||||||
|
<integer-array name="config_autoBrightnessLevels">
|
||||||
|
<item>2</item>
|
||||||
|
<item>7</item>
|
||||||
|
<item>15</item>
|
||||||
|
<item>50</item>
|
||||||
|
<item>100</item>
|
||||||
|
<item>200</item>
|
||||||
|
<item>400</item>
|
||||||
|
<item>1000</item>
|
||||||
|
<item>2000</item>
|
||||||
|
<item>3000</item>
|
||||||
|
<item>5000</item>
|
||||||
|
<item>10000</item>
|
||||||
|
</integer-array>
|
||||||
|
|
||||||
|
<!-- Array of output values for LCD backlight corresponding to the LUX values
|
||||||
|
in the config_autoBrightnessLevels array. This array should have size one greater
|
||||||
|
than the size of the config_autoBrightnessLevels array.
|
||||||
|
This must be overridden in platform specific overlays -->
|
||||||
|
<integer-array name="config_autoBrightnessLcdBacklightValues">
|
||||||
|
<item>12</item> <!-- 0-2 -->
|
||||||
|
<item>22</item> <!-- 3-7 -->
|
||||||
|
<item>32</item> <!-- 5-15 -->
|
||||||
|
<item>42</item> <!-- 15-50 -->
|
||||||
|
<item>52</item> <!-- 50-100 -->
|
||||||
|
<item>62</item> <!-- 100-200 -->
|
||||||
|
<item>72</item> <!-- 200-400 -->
|
||||||
|
<item>82</item> <!-- 400-1000 -->
|
||||||
|
<item>96</item> <!-- 1000-2000 -->
|
||||||
|
<item>134</item> <!-- 2000-3000 -->
|
||||||
|
<item>178</item> <!-- 3000-5000 -->
|
||||||
|
<item>225</item> <!-- 5000-10000 -->
|
||||||
|
<item>255</item> <!-- 10000+ -->
|
||||||
|
</integer-array>
|
||||||
|
|
||||||
|
<!-- An array describing the screen's backlight values corresponding to the brightness
|
||||||
|
values in the config_screenBrightnessNits array.
|
||||||
|
This array should be equal in size to config_screenBrightnessBacklight. -->
|
||||||
|
<integer-array name="config_screenBrightnessBacklight">
|
||||||
|
<item>0</item>
|
||||||
|
<item>1</item>
|
||||||
|
<item>2</item>
|
||||||
|
<item>3</item>
|
||||||
|
<item>4</item>
|
||||||
|
<item>5</item>
|
||||||
|
<item>6</item>
|
||||||
|
<item>7</item>
|
||||||
|
<item>8</item>
|
||||||
|
<item>9</item>
|
||||||
|
<item>10</item>
|
||||||
|
<item>11</item>
|
||||||
|
<item>12</item>
|
||||||
|
<item>13</item>
|
||||||
|
<item>14</item>
|
||||||
|
<item>15</item>
|
||||||
|
<item>16</item>
|
||||||
|
<item>17</item>
|
||||||
|
<item>18</item>
|
||||||
|
<item>19</item>
|
||||||
|
<item>20</item>
|
||||||
|
<item>25</item>
|
||||||
|
<item>30</item>
|
||||||
|
<item>35</item>
|
||||||
|
<item>40</item>
|
||||||
|
<item>45</item>
|
||||||
|
<item>50</item>
|
||||||
|
<item>55</item>
|
||||||
|
<item>60</item>
|
||||||
|
<item>65</item>
|
||||||
|
<item>70</item>
|
||||||
|
<item>75</item>
|
||||||
|
<item>80</item>
|
||||||
|
<item>85</item>
|
||||||
|
<item>90</item>
|
||||||
|
<item>95</item>
|
||||||
|
<item>100</item>
|
||||||
|
<item>105</item>
|
||||||
|
<item>110</item>
|
||||||
|
<item>115</item>
|
||||||
|
<item>120</item>
|
||||||
|
<item>125</item>
|
||||||
|
<item>130</item>
|
||||||
|
<item>135</item>
|
||||||
|
<item>140</item>
|
||||||
|
<item>145</item>
|
||||||
|
<item>150</item>
|
||||||
|
<item>155</item>
|
||||||
|
<item>160</item>
|
||||||
|
<item>165</item>
|
||||||
|
<item>170</item>
|
||||||
|
<item>175</item>
|
||||||
|
<item>180</item>
|
||||||
|
<item>185</item>
|
||||||
|
<item>190</item>
|
||||||
|
<item>195</item>
|
||||||
|
<item>200</item>
|
||||||
|
<item>205</item>
|
||||||
|
<item>210</item>
|
||||||
|
<item>215</item>
|
||||||
|
<item>220</item>
|
||||||
|
<item>225</item>
|
||||||
|
<item>230</item>
|
||||||
|
<item>235</item>
|
||||||
|
<item>240</item>
|
||||||
|
<item>245</item>
|
||||||
|
<item>250</item>
|
||||||
|
<item>255</item>
|
||||||
|
</integer-array>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Screen brightness used to dim the screen when the user activity
|
||||||
|
timeout expires. May be less than the minimum allowed brightness setting
|
||||||
|
that can be set by the user. -->
|
||||||
|
<integer name="config_screenBrightnessDim">6</integer>
|
||||||
|
|
||||||
|
<!-- Default screen brightness setting.
|
||||||
|
Must be in the range specified by minimum and maximum. -->
|
||||||
|
<integer name="config_screenBrightnessSettingDefault">184</integer>
|
||||||
|
|
||||||
|
<!-- Minimum screen brightness setting allowed by the power manager.
|
||||||
|
The user is forbidden from setting the brightness below this level. -->
|
||||||
|
<integer name="config_screenBrightnessSettingMinimum">1</integer>
|
||||||
|
|
||||||
|
<!-- Radius of the software rounded corners. -->
|
||||||
|
<dimen name="rounded_corner_radius">2px</dimen>
|
||||||
|
|
||||||
|
<!-- Boolean indicating whether we want button brightness support -->
|
||||||
|
<bool name="config_button_brightness_support">false</bool>
|
||||||
|
|
||||||
|
<!-- Maximum screen brightness allowed by the power manager.
|
||||||
|
The user is forbidden from setting the brightness above this level. -->
|
||||||
|
<integer name="config_screenBrightnessSettingMaximum">255</integer>
|
||||||
|
|
||||||
|
<!-- List of regexpressions describing the interface (if any) that represent tetherable
|
||||||
|
USB interfaces. If the device doesn't want to support tething over USB this should
|
||||||
|
be empty. An example would be "usb.*" -->
|
||||||
|
<string-array translatable="false" name="config_tether_usb_regexs">
|
||||||
|
<item>rndis\\d</item>
|
||||||
|
</string-array>
|
||||||
|
|
||||||
|
<!-- List of regexpressions describing the interface (if any) that represent tetherable
|
||||||
|
Wifi interfaces. If the device doesn't want to support tethering over Wifi this
|
||||||
|
should be empty. An example would be "softap.*" -->
|
||||||
|
<string-array translatable="false" name="config_tether_wifi_regexs">
|
||||||
|
<item>"wlan0"</item>
|
||||||
|
<item>"swlan0"</item>
|
||||||
|
<item>"softap.*"</item>
|
||||||
|
</string-array>
|
||||||
|
|
||||||
|
<!-- List of regexpressions describing the interface (if any) that represent tetherable
|
||||||
|
bluetooth interfaces. If the device doesn't want to support tethering over bluetooth this
|
||||||
|
should be empty. -->
|
||||||
|
<string-array translatable="false" name="config_tether_bluetooth_regexs">
|
||||||
|
<item>bt-pan</item>
|
||||||
|
</string-array>
|
||||||
|
|
||||||
|
<!-- Array of allowable ConnectivityManager network types for tethering -->
|
||||||
|
<!-- Common options are [1, 4] for TYPE_WIFI and TYPE_MOBILE_DUN or
|
||||||
|
[0,1,5,7] for TYPE_MOBILE, TYPE_WIFI, TYPE_MOBILE_HIPRI and TYPE_BLUETOOTH -->
|
||||||
|
<integer-array translatable="false" name="config_tether_upstream_types">
|
||||||
|
<item>0</item>
|
||||||
|
<item>1</item>
|
||||||
|
<item>4</item>
|
||||||
|
<item>5</item>
|
||||||
|
<item>7</item>
|
||||||
|
<item>9</item>
|
||||||
|
</integer-array>
|
||||||
|
|
||||||
|
<!-- The default iface on which to monitor data use -->
|
||||||
|
<string name="config_datause_iface" translatable="false">rmnet0</string>
|
||||||
|
|
||||||
|
<!-- If this is true, the screen will come on when you unplug usb/power/whatever. -->
|
||||||
|
<bool name="config_unplugTurnsOnScreen">true</bool>
|
||||||
|
|
||||||
|
<!-- Boolean indicating whether the wifi chipset has dual frequency band support -->
|
||||||
|
<bool translatable="false" name="config_wifi_dual_band_support">true</bool>
|
||||||
|
|
||||||
|
<!-- Wifi driver supports batched scan -->
|
||||||
|
<bool translatable="false" name="config_wifi_batched_scan_supported">true</bool>
|
||||||
|
|
||||||
|
<!-- Boolean indicating whether 802.11r Fast BSS Transition is enabled on this platform -->
|
||||||
|
<bool translatable="false" name="config_wifi_fast_bss_transition_enabled">true</bool>
|
||||||
|
|
||||||
|
<!-- Boolean indicating whether the wifi chipset supports background scanning mechanism.
|
||||||
|
This mechanism allows the host to remain in suspend state and the dongle to actively
|
||||||
|
scan and wake the host when a configured SSID is detected by the dongle. This chipset
|
||||||
|
capability can provide power savings when wifi needs to be always kept on. -->
|
||||||
|
<bool translatable="false" name="config_wifi_background_scan_support">true</bool>
|
||||||
|
|
||||||
|
<!-- Integer thresholds, do not connect to APs with RSSI lower than these values -->
|
||||||
|
<integer translatable="false" name="config_wifi_framework_wifi_score_entry_rssi_threshold_5GHz">-82</integer>
|
||||||
|
<integer translatable="false" name="config_wifi_framework_wifi_score_entry_rssi_threshold_24GHz">-85</integer>
|
||||||
|
|
||||||
|
<!-- Integer thresholds for low network score, should be somewhat less than the entry threshholds -->
|
||||||
|
<integer translatable="false" name="config_wifi_framework_wifi_score_bad_rssi_threshold_5GHz">-79</integer>
|
||||||
|
<integer translatable="false" name="config_wifi_framework_wifi_score_bad_rssi_threshold_24GHz">-82</integer>
|
||||||
|
|
||||||
|
<!-- Boolean indicating whether or not to revert to default country code when cellular
|
||||||
|
radio is unable to find any MCC information to infer wifi country code from -->
|
||||||
|
<bool translatable="false" name="config_wifi_revert_country_code_on_cellular_loss">false</bool>
|
||||||
|
|
||||||
|
<!-- This string array should be overridden by the device to present a list of network
|
||||||
|
attributes. This is used by the connectivity manager to decide which networks can coexist
|
||||||
|
based on the hardware -->
|
||||||
|
<!-- An Array of "[Connection name],[ConnectivityManager.TYPE_xxxx],
|
||||||
|
[associated radio-type],[priority],[restoral-timer(ms)],[dependencyMet] -->
|
||||||
|
<!-- the 5th element "resore-time" indicates the number of milliseconds to delay
|
||||||
|
before automatically restore the default connection. Set -1 if the connection
|
||||||
|
does not require auto-restore. -->
|
||||||
|
<!-- the 6th element indicates boot-time dependency-met value. -->
|
||||||
|
<string-array translatable="false" name="networkAttributes">
|
||||||
|
<item>"wifi,1,1,1,-1,true"</item>
|
||||||
|
<item>"mobile,0,0,0,-1,true"</item>
|
||||||
|
<item>"mobile_mms,2,0,4,60000,true"</item>
|
||||||
|
<item>"mobile_supl,3,0,2,60000,true"</item>
|
||||||
|
<item>"mobile_dun,4,0,2,60000,true"</item>
|
||||||
|
<item>"mobile_hipri,5,0,3,60000,true"</item>
|
||||||
|
<item>"mobile_fota,10,0,2,60000,true"</item>
|
||||||
|
<item>"mobile_ims,11,0,2,60000,true"</item>
|
||||||
|
<item>"mobile_cbs,12,0,2,60000,true"</item>
|
||||||
|
<item>"mobile_ia,14,0,2,-1,true"</item>
|
||||||
|
<item>"bluetooth,7,7,2,-1,true"</item>
|
||||||
|
<item>"ethernet,9,9,9,-1,true"</item>
|
||||||
|
<item>"mobile_emergency,15,0,5,-1,true</item>
|
||||||
|
</string-array>
|
||||||
|
|
||||||
|
<!-- Dhcp range (min, max) to use for tethering purposes -->
|
||||||
|
<!-- USB is 192.168.42.1 and 255.255.255.0
|
||||||
|
Wifi is 192.168.43.1 and 255.255.255.0
|
||||||
|
BT is limited to max default of 5 connections. 192.168.44.1 to 192.168.48.1
|
||||||
|
with 255.255.255.0
|
||||||
|
P2P is 192.168.49.1 and 255.255.255.0
|
||||||
|
Wigig is 192.168.50.1 and 255.255.255.0
|
||||||
|
Wigig P2P is 192.168.51.1 and 255.255.255.0
|
||||||
|
-->
|
||||||
|
<string-array translatable="false" name="config_tether_dhcp_range">
|
||||||
|
<item>192.168.42.2</item>
|
||||||
|
<item>192.168.42.254</item>
|
||||||
|
<item>192.168.43.2</item>
|
||||||
|
<item>192.168.43.254</item>
|
||||||
|
<item>192.168.44.2</item>
|
||||||
|
<item>192.168.44.254</item>
|
||||||
|
<item>192.168.45.2</item>
|
||||||
|
<item>192.168.45.254</item>
|
||||||
|
<item>192.168.46.2</item>
|
||||||
|
<item>192.168.46.254</item>
|
||||||
|
<item>192.168.47.2</item>
|
||||||
|
<item>192.168.47.254</item>
|
||||||
|
<item>192.168.48.2</item>
|
||||||
|
<item>192.168.48.254</item>
|
||||||
|
<item>192.168.49.2</item>
|
||||||
|
<item>192.168.49.254</item>
|
||||||
|
<item>192.168.50.2</item>
|
||||||
|
<item>192.168.50.254</item>
|
||||||
|
<item>192.168.51.2</item>
|
||||||
|
<item>192.168.51.254</item>
|
||||||
|
</string-array>
|
||||||
|
|
||||||
|
<!-- This string array should be overridden by the device to present a list of radio
|
||||||
|
attributes. This is used by the connectivity manager to decide which networks can coexist
|
||||||
|
based on the hardware -->
|
||||||
|
<!-- An Array of "[ConnectivityManager connectionType],
|
||||||
|
[# simultaneous connection types]" -->
|
||||||
|
<string-array translatable="false" name="radioAttributes">
|
||||||
|
<item>"1,1"</item>
|
||||||
|
<item>"0,1"</item>
|
||||||
|
<item>"7,1"</item>
|
||||||
|
<item>"9,1"</item>
|
||||||
|
</string-array>
|
||||||
|
|
||||||
|
<!-- Boolean indicating if restoring network selection should be skipped -->
|
||||||
|
<!-- The restoring is handled by modem if it is true -->
|
||||||
|
<bool translatable="false" name="skip_restoring_network_selection">true</bool>
|
||||||
|
|
||||||
|
<!-- When true use the linux /dev/input/event subsystem to detect the switch changes
|
||||||
|
on the headphone/microphone jack. When false use the older uevent framework -->
|
||||||
|
<bool name="config_useDevInputEventForAudioJack">false</bool>
|
||||||
|
|
||||||
|
<!-- Set to true to add links to Cell Broadcast app from Settings and MMS app. -->
|
||||||
|
<bool name="config_cellBroadcastAppLinks">true</bool>
|
||||||
|
|
||||||
|
<!-- MMS user agent string -->
|
||||||
|
<string name="config_mms_user_agent" translatable="false">Android-Mms/2.0</string>
|
||||||
|
|
||||||
|
<!-- MMS user agent prolfile url -->
|
||||||
|
<string name="config_mms_user_agent_profile_url" translatable="false">http://www.google.com/oha/rdf/ua-profile-kila.xml</string>
|
||||||
|
|
||||||
|
<bool name="config_ui_enableFadingMarquee">false</bool>
|
||||||
|
|
||||||
|
<!-- reference volume index for music stream to limit headphone volume and display warning -->
|
||||||
|
<integer name="config_safe_media_volume_index">18</integer>
|
||||||
|
|
||||||
|
<!-- Whether WiFi display is supported by this device.
|
||||||
|
There are many prerequisites for this feature to work correctly.
|
||||||
|
Here are a few of them:
|
||||||
|
* The WiFi radio must support WiFi P2P.
|
||||||
|
* The WiFi radio must support concurrent connections to the WiFi display and
|
||||||
|
to an access point.
|
||||||
|
* The Audio Flinger audio_policy.conf file must specify a rule for the "r_submix"
|
||||||
|
remote submix module. This module is used to record and stream system
|
||||||
|
audio output to the WiFi display encoder in the media server.
|
||||||
|
* The remote submix module "audio.r_submix.default" must be installed on the device.
|
||||||
|
* The device must be provisioned with HDCP keys (for protected content).
|
||||||
|
-->
|
||||||
|
<bool name="config_enableWifiDisplay">true</bool>
|
||||||
|
|
||||||
|
<!-- Set to true if the wifi display supports compositing content stored
|
||||||
|
in gralloc protected buffers. For this to be true, there must exist
|
||||||
|
a protected hardware path for surface flinger to composite and send
|
||||||
|
protected buffers to the wifi display video encoder.
|
||||||
|
If this flag is false, we advise applications not to use protected
|
||||||
|
buffers (if possible) when presenting content to a wifi display because
|
||||||
|
the content may be blanked.
|
||||||
|
This flag controls whether the {@link Display#FLAG_SUPPORTS_PROTECTED_BUFFERS}
|
||||||
|
flag is set for wifi displays.
|
||||||
|
-->
|
||||||
|
<bool name="config_wifiDisplaySupportsProtectedBuffers">false</bool>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Flag indicating if the speed up audio on mt call code should be executed -->
|
||||||
|
<bool name="config_speed_up_audio_on_mt_calls">true</bool>
|
||||||
|
|
||||||
|
<!-- Indicate whether closing the lid causes the device to go to sleep and opening
|
||||||
|
it causes the device to wake up.
|
||||||
|
The default is false. -->
|
||||||
|
<bool name="config_lidControlsSleep">true</bool>
|
||||||
|
|
||||||
|
<!-- Indicate whether to allow the device to suspend when the screen is off
|
||||||
|
due to the proximity sensor. This resource should only be set to true
|
||||||
|
if the sensor HAL correctly handles the proximity sensor as a wake-up source.
|
||||||
|
Otherwise, the device may fail to wake out of suspend reliably.
|
||||||
|
The default is false. -->
|
||||||
|
<bool name="config_suspendWhenScreenOffDueToProximity">true</bool>
|
||||||
|
|
||||||
|
<!-- Disable lockscreen translucent decor by default -->
|
||||||
|
<bool name="config_enableLockScreenTranslucentDecor">true</bool>
|
||||||
|
|
||||||
|
<!-- The list absolute paths of jar/apk files containing the device specific handlers,
|
||||||
|
delimited by File.pathSeparator, which defaults to ":" on Android -->
|
||||||
|
<string name="config_deviceKeyHandlerLib" translatable="false">/system/priv-app/DeviceParts/DeviceParts.apk</string>
|
||||||
|
<!-- Full qualified name of the class that implements
|
||||||
|
com.android.internal.os.DeviceKeyHandler interface. -->
|
||||||
|
<string name="config_deviceKeyHandlerClass" translatable="false">org.omnirom.device.KeyHandler</string>
|
||||||
|
|
||||||
|
<!-- Flag specifying whether WFC over IMS is available on device -->
|
||||||
|
<bool name="config_device_wfc_ims_available">true</bool>
|
||||||
|
|
||||||
|
<!-- Flag specifying whether WFC over IMS should be available for carrier: independent of
|
||||||
|
carrier provisioning. If false: hard disabled. If true: then depends on carrier
|
||||||
|
provisioning, availability etc -->
|
||||||
|
<bool name="config_carrier_wfc_ims_available">true</bool>
|
||||||
|
|
||||||
|
<!-- Maximum number of supported users -->
|
||||||
|
<integer name="config_multiuserMaximumUsers">4</integer>
|
||||||
|
<!-- Whether Multiuser UI should be shown -->
|
||||||
|
<bool name="config_enableMultiUserUI">true</bool>
|
||||||
|
|
||||||
|
<!-- Screen brightness when dozing -->
|
||||||
|
<integer name="config_screenBrightnessDoze">20</integer>
|
||||||
|
|
||||||
|
<!-- Dream of notifications -->
|
||||||
|
<string name="config_dozeComponent">com.android.systemui/com.android.systemui.doze.DozeService</string>
|
||||||
|
<bool name="config_dozeAfterScreenOffByDefault">true</bool>
|
||||||
|
|
||||||
|
<!-- Whether the always on display mode is available. -->
|
||||||
|
<bool name="config_dozeAlwaysOnDisplayAvailable">true</bool>
|
||||||
|
|
||||||
|
<!-- Control whether the always on display mode is enabled by default. This value will be used
|
||||||
|
during initialization when the setting is still null. -->
|
||||||
|
<bool name="config_dozeAlwaysOnEnabled">false</bool>
|
||||||
|
|
||||||
|
<!-- Whether the display blanks itself when going from a doze to a non-doze state -->
|
||||||
|
<bool name="config_displayBlanksAfterDoze">true</bool>
|
||||||
|
|
||||||
|
<!-- Specify custom blanking delay of the display -->
|
||||||
|
<integer name="config_screen_off_delay">0</integer>
|
||||||
|
|
||||||
|
<!-- Power Management: Specifies whether to decouple the auto-suspend state of the
|
||||||
|
device from the display on/off state.
|
||||||
|
|
||||||
|
When false, autosuspend_disable() will be called before the display is turned on
|
||||||
|
and autosuspend_enable() will be called after the display is turned off.
|
||||||
|
This mode provides best compatibility for devices using legacy power management
|
||||||
|
features such as early suspend / late resume.
|
||||||
|
|
||||||
|
When true, autosuspend_display() and autosuspend_enable() will be called
|
||||||
|
independently of whether the display is being turned on or off. This mode
|
||||||
|
enables the power manager to suspend the application processor while the
|
||||||
|
display is on.
|
||||||
|
|
||||||
|
This resource should be set to "true" when a doze component has been specified
|
||||||
|
to maximize power savings but not all devices support it.
|
||||||
|
|
||||||
|
Refer to autosuspend.h for details.
|
||||||
|
-->
|
||||||
|
<bool name="config_powerDecoupleAutoSuspendModeFromDisplay">true</bool>
|
||||||
|
|
||||||
|
<!-- Power Management: Specifies whether to decouple the interactive state of the
|
||||||
|
device from the display on/off state.
|
||||||
|
|
||||||
|
When false, setInteractive(..., true) will be called before the display is turned on
|
||||||
|
and setInteractive(..., false) will be called after the display is turned off.
|
||||||
|
This mode provides best compatibility for devices that expect the interactive
|
||||||
|
state to be tied to the display state.
|
||||||
|
|
||||||
|
When true, setInteractive(...) will be called independently of whether the display
|
||||||
|
is being turned on or off. This mode enables the power manager to reduce
|
||||||
|
clocks and disable the touch controller while the display is on.
|
||||||
|
|
||||||
|
This resource should be set to "true" when a doze component has been specified
|
||||||
|
to maximize power savings but not all devices support it.
|
||||||
|
|
||||||
|
Refer to power.h for details.
|
||||||
|
-->
|
||||||
|
<bool name="config_powerDecoupleInteractiveModeFromDisplay">true</bool>
|
||||||
|
|
||||||
|
<!-- enable doze powersaving mode -->
|
||||||
|
<bool name="config_enableAutoPowerModes">true</bool>
|
||||||
|
|
||||||
|
<!-- Control the behavior when the user long presses the home button.
|
||||||
|
0 - Nothing
|
||||||
|
1 - Recent apps view in SystemUI
|
||||||
|
2 - Launch assist intent
|
||||||
|
This needs to match the constants in
|
||||||
|
policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
|
||||||
|
-->
|
||||||
|
<integer name="config_longPressOnHomeBehavior">2</integer>
|
||||||
|
|
||||||
|
<!-- Control the behavior when the user long presses the menu button.
|
||||||
|
0 - Nothing
|
||||||
|
1 - Recent apps view in SystemUI
|
||||||
|
2 - Launch assist intent
|
||||||
|
This needs to match the constants in
|
||||||
|
policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
|
||||||
|
-->
|
||||||
|
<!--<integer name="config_longPressOnMenuBehavior">1</integer>-->
|
||||||
|
|
||||||
|
<!-- Flag indicating if device supports EAP SIM, AKA, AKA' -->
|
||||||
|
<bool name="config_eap_sim_based_auth_supported">true</bool>
|
||||||
|
|
||||||
|
<!-- Whether device supports double tap to wake -->
|
||||||
|
<bool name="config_supportDoubleTapWake">true</bool>
|
||||||
|
|
||||||
|
<string-array name="config_mobile_tcp_buffers">
|
||||||
|
<item>5gnr:2097152,6291456,16777216,512000,2097152,8388608</item>
|
||||||
|
<item>lte:2097152,4194304,8388608,262144,524288,1048576</item>
|
||||||
|
<item>lte_ca:4096,6291456,12582912,4096,1048576,2097152</item>
|
||||||
|
<item>umts:4094,87380,1220608,4096,16384,1220608</item>
|
||||||
|
<item>hspa:4094,87380,1220608,4096,16384,1220608</item>
|
||||||
|
<item>hsupa:4094,87380,1220608,4096,16384,1220608</item>
|
||||||
|
<item>hsdpa:4094,87380,1220608,4096,16384,1220608</item>
|
||||||
|
<item>hspap:4094,87380,1220608,4096,16384,1220608</item>
|
||||||
|
<item>edge:4093,26280,35040,4096,16384,35040</item>
|
||||||
|
<item>gprs:4092,8760,11680,4096,8760,11680</item>
|
||||||
|
<item>evdo:4094,87380,524288,4096,16384,262144</item>
|
||||||
|
</string-array>
|
||||||
|
|
||||||
|
<!-- Values for GPS configuration -->
|
||||||
|
<string-array translatable="false" name="config_gpsParameters">
|
||||||
|
<item>SUPL_HOST=supl.google.com</item>
|
||||||
|
<item>SUPL_PORT=7275</item>
|
||||||
|
<item>SUPL_VER=0x20000</item>
|
||||||
|
<item>SUPL_MODE=1</item>
|
||||||
|
<item>SUPL_ES=1</item>
|
||||||
|
<item>LPP_PROFILE=2</item>
|
||||||
|
<item>USE_EMERGENCY_PDN_FOR_EMERGENCY_SUPL=1</item>
|
||||||
|
<item>A_GLONASS_POS_PROTOCOL_SELECT=0</item>
|
||||||
|
<item>GPS_LOCK=0</item>
|
||||||
|
</string-array>
|
||||||
|
|
||||||
|
<!-- Configure wifi tcp buffersizes in the form:
|
||||||
|
rmem_min,rmem_def,rmem_max,wmem_min,wmem_def,wmem_max -->
|
||||||
|
<string name="config_wifi_tcp_buffers" translatable="false">524288,1048576,4194304,524288,1048576,4194304</string>
|
||||||
|
|
||||||
|
<!-- Is the device capable of hot swapping an ICC Card -->
|
||||||
|
<bool name="config_hotswapCapable">true</bool>
|
||||||
|
|
||||||
|
<!-- Flag specifying whether VoLTE & VT is available on device -->
|
||||||
|
<bool name="config_device_volte_available">true</bool>
|
||||||
|
|
||||||
|
<!-- Flag specifying whether VoLTE should be available for carrier: independent of
|
||||||
|
carrier provisioning. If false: hard disabled. If true: then depends on carrier
|
||||||
|
provisioning, availability etc -->
|
||||||
|
<bool name="config_carrier_volte_available">true</bool>
|
||||||
|
|
||||||
|
<!-- Flag specifying whether VoLTE is available on device -->
|
||||||
|
<bool name="config_device_vt_available">true</bool>
|
||||||
|
|
||||||
|
<!-- Flag specifying whether VoLTE TTY is supported -->
|
||||||
|
<bool name="config_carrier_volte_tty_supported">true</bool>
|
||||||
|
|
||||||
|
<!-- Config determines whether to update phone object when voice registration
|
||||||
|
state changes. Voice radio tech change will always trigger an update of
|
||||||
|
phone object irrespective of this config -->
|
||||||
|
<bool name="config_switch_phone_on_voice_reg_state_change">false</bool>
|
||||||
|
|
||||||
|
<!-- Vibrator pattern for feedback about a long screen/key press -->
|
||||||
|
<integer-array name="config_longPressVibePattern">
|
||||||
|
<item>0</item>
|
||||||
|
<item>10</item>
|
||||||
|
<item>5</item>
|
||||||
|
</integer-array>
|
||||||
|
|
||||||
|
<!-- Vibrator pattern for feedback about touching a virtual key -->
|
||||||
|
<integer-array name="config_virtualKeyVibePattern">
|
||||||
|
<item>0</item>
|
||||||
|
<item>10</item>
|
||||||
|
<item>5</item>
|
||||||
|
</integer-array>
|
||||||
|
|
||||||
|
<!-- Vibrator pattern for a very short but reliable vibration for soft keyboard tap -->
|
||||||
|
<integer-array name="config_keyboardTapVibePattern">
|
||||||
|
<item>10</item>
|
||||||
|
</integer-array>
|
||||||
|
|
||||||
|
<!-- Boolean indicating if current platform supports BLE peripheral mode -->
|
||||||
|
<bool name="config_bluetooth_le_peripheral_mode_supported">true</bool>
|
||||||
|
|
||||||
|
<!-- Max number of scan filters supported by blutooth controller. 0 if the
|
||||||
|
device does not support hardware scan filters-->
|
||||||
|
<integer translatable="false" name="config_bluetooth_max_scan_filters">1</integer>
|
||||||
|
|
||||||
|
<!-- Max number of advertisers supported by bluetooth controller. 0 if the
|
||||||
|
device does not support multiple advertisement-->
|
||||||
|
<integer translatable="false" name="config_bluetooth_max_advertisers">4</integer>
|
||||||
|
|
||||||
|
<!-- Operating volatage for bluetooth controller. -->
|
||||||
|
<integer name="config_bluetooth_operating_voltage_mv">3300</integer>
|
||||||
|
|
||||||
|
<!-- Boolean indicating if current platform supports HFP inband ringing -->
|
||||||
|
<!--<bool name="config_bluetooth_hfp_inband_ringing_support">true</bool>-->
|
||||||
|
|
||||||
|
<!-- Enable overlay for all location components. -->
|
||||||
|
<bool name="config_enableNetworkLocationOverlay" translatable="false">false</bool>
|
||||||
|
<bool name="config_enableFusedLocationOverlay" translatable="false">false</bool>
|
||||||
|
|
||||||
|
<!-- Enable overlay for all location components. -->
|
||||||
|
<string name="config_networkLocationProviderPackageName" translatable="false">com.qualcomm.location</string>
|
||||||
|
<string name="config_fusedLocationProviderPackageName" translatable="false">com.qualcomm.location</string>
|
||||||
|
<string name="config_comboNetworkLocationProvider" translatable="false">com.qualcomm.location</string>
|
||||||
|
|
||||||
|
<!-- Should the pinner service pin the Camera application? -->
|
||||||
|
<bool name="config_pinnerCameraApp">true</bool>
|
||||||
|
|
||||||
|
<!-- <bool name="config_fingerprintRemoveClientOnCancel">true</bool>a -->
|
||||||
|
|
||||||
|
<!-- If this is true, device supports Sustained Performance Mode. -->
|
||||||
|
<bool name="config_sustainedPerformanceModeSupported">true</bool>
|
||||||
|
|
||||||
|
<!-- Shutdown if the battery temperature exceeds (this value * 0.1) Celsius. -->
|
||||||
|
<integer name="config_shutdownBatteryTemperature">680</integer>
|
||||||
|
|
||||||
|
<bool name="config_dynamic_bind_ims">true</bool>
|
||||||
|
<string name="config_ims_package">org.codeaurora.ims</string>
|
||||||
|
|
||||||
|
<!-- True if Unprocessed audio source supports the required frequency range and level -->
|
||||||
|
<bool name="config_supportAudioSourceUnprocessed">true</bool>
|
||||||
|
|
||||||
|
<!-- Boolean indicating whether the HWC setColorTransform function can be performed efficiently
|
||||||
|
in hardware. -->
|
||||||
|
<bool name="config_setColorTransformAccelerated">true</bool>
|
||||||
|
|
||||||
|
<integer translatable="false" name="config_wifi_wakeup_available">1</integer>
|
||||||
|
|
||||||
|
<bool name="config_proxiSensorWakupCheck">true</bool>
|
||||||
|
|
||||||
|
<!-- Whether a software navigation bar should be shown. NOTE: in the future this may be
|
||||||
|
autodetected from the Configuration. -->
|
||||||
|
<bool name="config_showNavigationBar">true</bool>
|
||||||
|
|
||||||
|
<!-- enable support for configure max aspect ratio per app -->
|
||||||
|
<bool name="config_haveHigherAspectRatioScreen">false</bool>
|
||||||
|
|
||||||
|
<!-- Allow automatic adjusting of the screen brightness while dozing in low power state. -->
|
||||||
|
<bool name="config_allowAutoBrightnessWhileDozing">true</bool>
|
||||||
|
|
||||||
|
<!-- The list of vendor package signatures that should also be considered
|
||||||
|
platform signatures, specifically for use on devices with a vendor partition. -->
|
||||||
|
<string-array name="config_vendorPlatformSignatures">
|
||||||
|
<item>308203e5308202cda003020102020900ca7f2ef3e2f1842e300d06092a864886f70d0101050500308188310b300906035504061302434e3112301006035504080c094775616e67646f6e673111300f06035504070c085368656e7a68656e3110300e060355040a0c074f6e65506c7573310b3009060355040b0c0253573110300e06035504030c074f6e65506c75733121301f06092a864886f70d01090116126f6e65706c7573406f6e65706c75732e636e301e170d3135303530373037323332335a170d3432303932323037323332335a308188310b300906035504061302434e3112301006035504080c094775616e67646f6e673111300f06035504070c085368656e7a68656e3110300e060355040a0c074f6e65506c7573310b3009060355040b0c0253573110300e06035504030c074f6e65506c75733121301f06092a864886f70d01090116126f6e65706c7573406f6e65706c75732e636e30820122300d06092a864886f70d01010105000382010f003082010a0282010100ce24d23c2044f698476fe8f79388fa901520142424b58d10a5656a27bf1fa5ca4e381d8bc5773f29271e892bf25b06357c0cab9a06a93beb3c9eced9928c938f2829fbc63bc045dcfac0660f747dfe325ed5a8c7b785ccca472bc51afa823c1c0d8dd088aa8ef3ead6053f0020fee55b6c450b0c90f9a19f8f60808d1e0eb24309216f39bccb58991c4c1656aed444a5a0652e84587ae44e7c60101190d8d0d92a37407fc6da5432a8f20fe6414cf0ce2257edf76a7d2eb34d0d31e183867b552030beaf8e6e7ade37668d87c2bd52b8c29d3d30437058a31003f3dbbe8943db602feb71c7af51388234a0ea713a9fdd17ebc89463ff1065ee970edd3969d4110203010001a350304e301d0603551d0e04160414e24ca18e47f2c07476f9d37ce0d85a9f2fdf4456301f0603551d23041830168014e24ca18e47f2c07476f9d37ce0d85a9f2fdf4456300c0603551d13040530030101ff300d06092a864886f70d01010505000382010100a682431bd6bd9d99dc267686842fe3e2d6979798ec565314dcbede7b921ba78e210e9682dc72c07c09b0882b65df2a366007f3e4a594d0a85d04644b8e0f3e13cf16f2e764716625fe8dcf93e3936d496a86d0cc4c0aa2f7d46d904eec834c604dd1c5ad2fd1ad599d6ab3375f36382303685edca5078e931977679a4f4c8a532294fd7dbc0c55ffb33e3aa064b628b8083def2ad60ba0abf8a777d69e38fe18bc2e4c63e94d05c2081b947b7caf919f272157ba90ea83a306fd2941c1d6380cc55abf7983125d4d60ac1463bdbf9baf41a6fef117b37d03d086cf754f4f3ef3b5cb054f5d2f26115b221818c785b3de1be552bb1decdf4f3d373bdd5022d150</item>
|
||||||
|
</string-array>
|
||||||
|
|
||||||
|
<!-- Enable dual LTE capability support-->
|
||||||
|
<bool name="config_dual_LTE_capability">true</bool>
|
||||||
|
|
||||||
|
<!-- Enable system navigation keys. -->
|
||||||
|
<bool name="config_supportSystemNavigationKeys">true</bool>
|
||||||
|
|
||||||
|
<!-- Indicate whether the SD card is accessible without removing the battery. -->
|
||||||
|
<bool name="config_batterySdCardAccessibility">true</bool>
|
||||||
|
|
||||||
|
</resources>
|
||||||
|
|
|
@ -0,0 +1,26 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
/*
|
||||||
|
** Copyright 2009, The Android Open Source Project
|
||||||
|
**
|
||||||
|
** Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
** you may not use this file except in compliance with the License.
|
||||||
|
** You may obtain a copy of the License at
|
||||||
|
**
|
||||||
|
** http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
**
|
||||||
|
** Unless required by applicable law or agreed to in writing, software
|
||||||
|
** distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
** See the License for the specific language governing permissions and
|
||||||
|
** limitations under the License.
|
||||||
|
*/
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- These resources are around just to allow their values to be customized -->
|
||||||
|
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||||
|
|
||||||
|
<!-- Threshold in micro watts below which a charger is rated as "slow"; 1A @ 5V -->
|
||||||
|
<integer name="config_chargingSlowlyThreshold">0</integer>
|
||||||
|
|
||||||
|
</resources>
|
|
@ -0,0 +1,24 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
/**
|
||||||
|
* Copyright (c) 2009, The Android Open Source Project
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
-->
|
||||||
|
<resources>
|
||||||
|
|
||||||
|
<bool name="def_accelerometer_rotation">true</bool>
|
||||||
|
<!-- <bool name="def_screen_brightness_automatic_mode">true</bool> -->
|
||||||
|
|
||||||
|
</resources>
|
|
@ -0,0 +1,30 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
/*
|
||||||
|
** Copyright 2009, The Android Open Source Project
|
||||||
|
**
|
||||||
|
** Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
** you may not use this file except in compliance with the License.
|
||||||
|
** You may obtain a copy of the License at
|
||||||
|
**
|
||||||
|
** http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
**
|
||||||
|
** Unless required by applicable law or agreed to in writing, software
|
||||||
|
** distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
** See the License for the specific language governing permissions and
|
||||||
|
** limitations under the License.
|
||||||
|
*/
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- These resources are around just to allow their values to be customized
|
||||||
|
for different hardware and product builds. -->
|
||||||
|
<resources>
|
||||||
|
|
||||||
|
<!-- Whether recents should use hardware layers for its taskviews. This flag can be enabled
|
||||||
|
for devices where the java drawing of round rects may be slow -->
|
||||||
|
<bool name="config_recents_use_hardware_layers">true</bool>
|
||||||
|
|
||||||
|
<!-- Doze: does this device support STATE_DOZE and STATE_DOZE_SUSPEND? -->
|
||||||
|
<bool name="doze_display_state_supported">true</bool>
|
||||||
|
</resources>
|
154
overlay/lineage-sdk/lineage/res/res/values/config.xml
Executable file
154
overlay/lineage-sdk/lineage/res/res/values/config.xml
Executable file
|
@ -0,0 +1,154 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
Copyright (C) 2015 The CyanogenMod Project
|
||||||
|
2017-2018 The LineageOS Project
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
-->
|
||||||
|
<resources>
|
||||||
|
<!-- All the capabilities of the LEDs on this device, stored as a bit field.
|
||||||
|
This integer should equal the sum of the corresponding value for each
|
||||||
|
of the following capabilities present:
|
||||||
|
|
||||||
|
// Device has a color adjustable battery light.
|
||||||
|
LIGHTS_RGB_NOTIFICATION_LED = 1
|
||||||
|
|
||||||
|
// Device has a color adjustable notification light.
|
||||||
|
LIGHTS_RGB_BATTERY_LED = 2
|
||||||
|
|
||||||
|
LIGHTS_MULTIPLE_NOTIFICATION_LED = 4 (deprecated)
|
||||||
|
|
||||||
|
// The notification light has adjustable pulsing capability.
|
||||||
|
LIGHTS_PULSATING_LED = 8
|
||||||
|
|
||||||
|
// Device has a multi-segment battery light that is able to
|
||||||
|
// use the light brightness value to determine how many
|
||||||
|
// segments to show (in order to represent battery level).
|
||||||
|
LIGHTS_SEGMENTED_BATTERY_LED = 16
|
||||||
|
|
||||||
|
// The notification light supports HAL adjustable brightness
|
||||||
|
// via the alpha channel.
|
||||||
|
// Note: if a device notification light supports LIGHTS_RGB_NOTIFICATION_LED
|
||||||
|
// then HAL support is not necessary for brightness control. In this case,
|
||||||
|
// brightness support will be provided by lineage-sdk through the scaling of
|
||||||
|
// RGB color values.
|
||||||
|
LIGHTS_ADJUSTABLE_NOTIFICATION_LED_BRIGHTNESS = 32
|
||||||
|
|
||||||
|
// Device has a battery light.
|
||||||
|
LIGHTS_BATTERY_LED = 64
|
||||||
|
|
||||||
|
// The battery light supports HAL adjustable brightness via
|
||||||
|
// the alpha channel.
|
||||||
|
// Note: if a device battery light supports LIGHTS_RGB_BATTERY_LED then HAL
|
||||||
|
// support is not necessary for brightness control. In this case,
|
||||||
|
// brightness support will be provided by lineage-sdk through the scaling of
|
||||||
|
// RGB color values.
|
||||||
|
LIGHTS_ADJUSTABLE_BATTERY_LED_BRIGHTNESS = 128
|
||||||
|
|
||||||
|
For example, a device with notification and battery lights that supports
|
||||||
|
pulsating and RGB control would set this config to 75. -->
|
||||||
|
<integer name="config_deviceLightCapabilities">0</integer>
|
||||||
|
|
||||||
|
<!-- Hardware keys present on the device, stored as a bit field.
|
||||||
|
This integer should equal the sum of the corresponding value for each
|
||||||
|
of the following keys present:
|
||||||
|
1 - Home
|
||||||
|
2 - Back
|
||||||
|
4 - Menu
|
||||||
|
8 - Assistant (search)
|
||||||
|
16 - App switch
|
||||||
|
32 - Camera
|
||||||
|
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>
|
||||||
|
|
||||||
|
<!-- 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
|
||||||
|
of the following keys present:
|
||||||
|
1 - Home
|
||||||
|
2 - Back
|
||||||
|
4 - Menu
|
||||||
|
8 - Assistant (search)
|
||||||
|
16 - App switch
|
||||||
|
32 - Camera
|
||||||
|
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>
|
||||||
|
|
||||||
|
<!-- Control the behavior when the user long presses the home button.
|
||||||
|
0 - Nothing
|
||||||
|
1 - Menu key
|
||||||
|
2 - Recent apps view in SystemUI
|
||||||
|
3 - Launch assist intent
|
||||||
|
4 - Voice Search
|
||||||
|
5 - In-app Search
|
||||||
|
6 - Launch camera
|
||||||
|
7 - Sleep
|
||||||
|
8 - Last app
|
||||||
|
9 - Toggle split screen
|
||||||
|
This needs to match the enums in
|
||||||
|
sdk/src/java/org/lineageos/internal/util/DeviceKeysConstants.java.
|
||||||
|
-->
|
||||||
|
<!-- <integer name="config_longPressOnHomeBehavior">3</integer> -->
|
||||||
|
|
||||||
|
<!-- Control the behavior when the user double-taps the home button.
|
||||||
|
0 - Nothing
|
||||||
|
1 - Menu key
|
||||||
|
2 - Recent apps view in SystemUI
|
||||||
|
3 - Launch assist intent
|
||||||
|
4 - Voice Search
|
||||||
|
5 - In-app Search
|
||||||
|
6 - Launch camera
|
||||||
|
7 - Sleep
|
||||||
|
8 - Last app
|
||||||
|
9 - Toggle split screen
|
||||||
|
This needs to match the enums in
|
||||||
|
sdk/src/java/org/lineageos/internal/util/DeviceKeysConstants.java.
|
||||||
|
-->
|
||||||
|
<!-- <integer name="config_doubleTapOnHomeBehavior">0</integer> -->
|
||||||
|
|
||||||
|
<!-- Control the behavior when the user long presses the menu button.
|
||||||
|
0 - Nothing
|
||||||
|
1 - Menu key
|
||||||
|
2 - Recent apps view in SystemUI
|
||||||
|
3 - Launch assist intent
|
||||||
|
4 - Voice Search
|
||||||
|
5 - In-app Search
|
||||||
|
6 - Launch camera
|
||||||
|
7 - Sleep
|
||||||
|
8 - Last app
|
||||||
|
9 - Toggle split screen
|
||||||
|
This needs to match the enums in
|
||||||
|
sdk/src/java/org/lineageos/internal/util/DeviceKeysConstants.java.
|
||||||
|
-->
|
||||||
|
<!-- <integer name="config_longPressOnMenuBehavior">2</integer> -->
|
||||||
|
|
||||||
|
<!-- Control the behavior when the user long presses the app switch button.
|
||||||
|
0 - Nothing
|
||||||
|
1 - Menu key
|
||||||
|
2 - Recent apps view in SystemUI
|
||||||
|
3 - Launch assist intent
|
||||||
|
4 - Voice Search
|
||||||
|
5 - In-app Search
|
||||||
|
6 - Launch camera
|
||||||
|
7 - Sleep
|
||||||
|
8 - Last app
|
||||||
|
9 - Toggle split screen
|
||||||
|
This needs to match the enums in
|
||||||
|
sdk/src/java/org/lineageos/internal/util/DeviceKeysConstants.java.
|
||||||
|
-->
|
||||||
|
<!-- <integer name="config_longPressOnAppSwitchBehavior">9</integer> -->
|
||||||
|
|
||||||
|
</resources>
|
31
overlay/packages/apps/Settings/res/values/arrays.xml
Executable file
31
overlay/packages/apps/Settings/res/values/arrays.xml
Executable file
|
@ -0,0 +1,31 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
/*
|
||||||
|
**
|
||||||
|
** Copyright 2015 The Android Open Source Project
|
||||||
|
** 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.
|
||||||
|
*/
|
||||||
|
-->
|
||||||
|
<resources>
|
||||||
|
|
||||||
|
<!-- IDs for each color mode. The values must match the corresponding constants in
|
||||||
|
android.view.Display -->
|
||||||
|
<integer-array name="color_mode_ids">
|
||||||
|
<item>0</item>
|
||||||
|
<item>-1</item>
|
||||||
|
<item>-1</item>
|
||||||
|
</integer-array>
|
||||||
|
|
||||||
|
</resources>
|
25
overlay/packages/apps/Settings/res/values/config.xml
Normal file
25
overlay/packages/apps/Settings/res/values/config.xml
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Copyright (C) 2013 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.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<resources>
|
||||||
|
<!-- Home button Wake Support. Some devices do not support this.
|
||||||
|
Setting to false will disable Home button Wake support -->
|
||||||
|
<bool name="config_show_homeWake">true</bool>
|
||||||
|
|
||||||
|
<!-- Volume Rocker Wake -->
|
||||||
|
<bool name="config_show_volumeRockerWake">true</bool>
|
||||||
|
|
||||||
|
</resources>
|
22
overlay/packages/services/Telephony/res/values/config.xml
Normal file
22
overlay/packages/services/Telephony/res/values/config.xml
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Copyright (C) 2009 The Android Open Source Project
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- Phone app resources that may need to be customized
|
||||||
|
for different hardware or product builds. -->
|
||||||
|
<resources>
|
||||||
|
<!-- Show enabled lte option for lte device -->
|
||||||
|
<bool name="config_enabled_lte" translatable="false">true</bool>
|
||||||
|
</resources>
|
170
proprietary-files.txt
Normal file
170
proprietary-files.txt
Normal file
|
@ -0,0 +1,170 @@
|
||||||
|
#
|
||||||
|
# Copyright (C) 2019 The LineageOS Project
|
||||||
|
#
|
||||||
|
# This program is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 3 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
# Bluetooth (aptX)
|
||||||
|
product/lib64/libaptX_encoder.so
|
||||||
|
product/lib64/libaptXHD_encoder.so
|
||||||
|
|
||||||
|
# Camera
|
||||||
|
vendor/lib/hw/camera.universal7870.so
|
||||||
|
vendor/lib64/hw/camera.universal7870.so
|
||||||
|
vendor/lib/libcamera_client.so
|
||||||
|
|
||||||
|
# DRM
|
||||||
|
vendor/lib/liboemcrypto.so
|
||||||
|
vendor/lib/mediadrm/libwvdrmengine.so
|
||||||
|
|
||||||
|
# DRM - Widevine
|
||||||
|
vendor/bin/hw/android.hardware.drm@1.1-service.widevine
|
||||||
|
vendor/etc/init/android.hardware.drm@1.1-service.widevine.rc
|
||||||
|
vendor/lib/libwvhidl.so
|
||||||
|
|
||||||
|
# GPS
|
||||||
|
vendor/bin/hw/gpsd
|
||||||
|
vendor/bin/hw/vendor.samsung.hardware.gnss@1.0-service
|
||||||
|
vendor/etc/gnss/ca.pem
|
||||||
|
vendor/etc/gnss/gps.cfg
|
||||||
|
vendor/etc/init/init.gps.rc
|
||||||
|
vendor/etc/init/vendor.samsung.hardware.gnss@1.0-service.rc
|
||||||
|
vendor/lib/libwrappergps.so
|
||||||
|
vendor/lib/vendor.samsung.hardware.gnss@1.0.so
|
||||||
|
vendor/lib64/hw/android.hardware.gnss@1.1-impl.so
|
||||||
|
vendor/lib64/hw/gps.default.so
|
||||||
|
vendor/lib64/hw/vendor.samsung.hardware.gnss@1.0-impl.so
|
||||||
|
vendor/lib64/libwrappergps.so
|
||||||
|
vendor/lib64/vendor.samsung.hardware.gnss@1.0.so
|
||||||
|
|
||||||
|
# Graphics
|
||||||
|
vendor/lib/egl/libGLES_mali.so
|
||||||
|
vendor/lib64/egl/libGLES_mali.so
|
||||||
|
|
||||||
|
# HWC
|
||||||
|
vendor/bin/hw/android.hardware.graphics.composer@2.1-service
|
||||||
|
vendor/lib/hw/gralloc.default.so
|
||||||
|
vendor/lib/hw/gralloc.exynos5.so
|
||||||
|
vendor/lib/hw/hwcomposer.exynos5.so
|
||||||
|
vendor/lib/libexynosdisplay.so
|
||||||
|
vendor/lib/libexynosgscaler.so
|
||||||
|
vendor/lib/libExynosHWCService.so
|
||||||
|
vendor/lib/libexynosscaler.so
|
||||||
|
vendor/lib/libexynosutils.so
|
||||||
|
vendor/lib/libexynosv4l2.so
|
||||||
|
vendor/lib/libGrallocWrapper.so
|
||||||
|
vendor/lib/libhdmi.so
|
||||||
|
vendor/lib/libhwc2on1adapter.so
|
||||||
|
vendor/lib/libhwc2onfbadapter.so
|
||||||
|
vendor/lib/libhwcutils.so
|
||||||
|
vendor/lib/libion_exynos.so
|
||||||
|
vendor/lib/libmpp.so
|
||||||
|
vendor/lib/libstainkiller.so
|
||||||
|
vendor/lib/libvirtualdisplay.so
|
||||||
|
vendor/lib64/hw/gralloc.default.so
|
||||||
|
vendor/lib64/hw/gralloc.exynos5.so
|
||||||
|
vendor/lib64/hw/hwcomposer.exynos5.so
|
||||||
|
vendor/lib64/libexynosdisplay.so
|
||||||
|
vendor/lib64/libexynosgscaler.so
|
||||||
|
vendor/lib64/libExynosHWCService.so
|
||||||
|
vendor/lib64/libexynosscaler.so
|
||||||
|
vendor/lib64/libexynosutils.so
|
||||||
|
vendor/lib64/libexynosv4l2.so
|
||||||
|
vendor/lib64/libGrallocWrapper.so
|
||||||
|
vendor/lib64/libhdmi.so
|
||||||
|
vendor/lib64/libhwc2on1adapter.so
|
||||||
|
vendor/lib64/libhwc2onfbadapter.so
|
||||||
|
vendor/lib64/libhwcutils.so
|
||||||
|
vendor/lib64/libion_exynos.so
|
||||||
|
vendor/lib64/libmpp.so
|
||||||
|
vendor/lib64/libvirtualdisplay.so
|
||||||
|
|
||||||
|
# Lpm
|
||||||
|
vendor/bin/lpm
|
||||||
|
|
||||||
|
# Memtrack
|
||||||
|
vendor/bin/hw/android.hardware.memtrack@1.0-service
|
||||||
|
vendor/lib/hw/memtrack.exynos5.so
|
||||||
|
vendor/lib64/hw/memtrack.exynos5.so
|
||||||
|
|
||||||
|
# Misc
|
||||||
|
vendor/bin/sswap
|
||||||
|
vendor/lib/libcsc.so
|
||||||
|
vendor/lib/libsecnativefeature.so
|
||||||
|
vendor/lib/libuniplugin.so
|
||||||
|
vendor/lib64/libcsc.so
|
||||||
|
vendor/lib64/libsecnativefeature.so
|
||||||
|
vendor/lib64/libuniplugin.so
|
||||||
|
|
||||||
|
# OMX
|
||||||
|
vendor/lib/libExynosOMX_Core.so
|
||||||
|
vendor/lib/libExynosOMX_Resourcemanager.so
|
||||||
|
vendor/lib/libstagefrighthw.so
|
||||||
|
vendor/lib/omx/libOMX.Exynos.AVC.Decoder.so
|
||||||
|
vendor/lib/omx/libOMX.Exynos.AVC.Encoder.so
|
||||||
|
vendor/lib/omx/libOMX.Exynos.HEVC.Decoder.so
|
||||||
|
vendor/lib/omx/libOMX.Exynos.HEVC.Encoder.so
|
||||||
|
vendor/lib/omx/libOMX.Exynos.MPEG4.Decoder.so
|
||||||
|
vendor/lib/omx/libOMX.Exynos.MPEG4.Encoder.so
|
||||||
|
vendor/lib/omx/libOMX.Exynos.VP8.Decoder.so
|
||||||
|
vendor/lib/omx/libOMX.Exynos.VP8.Encoder.so
|
||||||
|
vendor/lib/omx/libOMX.Exynos.VP9.Decoder.so
|
||||||
|
vendor/lib/omx/libOMX.Exynos.WMV.Decoder.so
|
||||||
|
vendor/lib64/libExynosOMX_Core.so
|
||||||
|
vendor/lib64/libExynosOMX_Resourcemanager.so
|
||||||
|
vendor/lib64/libstagefrighthw.so
|
||||||
|
vendor/lib64/omx/libOMX.Exynos.AVC.Decoder.so
|
||||||
|
vendor/lib64/omx/libOMX.Exynos.AVC.Encoder.so
|
||||||
|
vendor/lib64/omx/libOMX.Exynos.HEVC.Decoder.so
|
||||||
|
vendor/lib64/omx/libOMX.Exynos.HEVC.Encoder.so
|
||||||
|
vendor/lib64/omx/libOMX.Exynos.MPEG4.Decoder.so
|
||||||
|
vendor/lib64/omx/libOMX.Exynos.MPEG4.Encoder.so
|
||||||
|
vendor/lib64/omx/libOMX.Exynos.VP8.Decoder.so
|
||||||
|
vendor/lib64/omx/libOMX.Exynos.VP8.Encoder.so
|
||||||
|
vendor/lib64/omx/libOMX.Exynos.VP9.Decoder.so
|
||||||
|
vendor/lib64/omx/libOMX.Exynos.WMV.Decoder.so
|
||||||
|
|
||||||
|
# RIL
|
||||||
|
vendor/bin/cbd
|
||||||
|
vendor/bin/hw/rild
|
||||||
|
vendor/etc/plmn_delta.bin
|
||||||
|
vendor/etc/plmn_delta_attaio.bin
|
||||||
|
vendor/etc/plmn_delta_hktw.bin
|
||||||
|
vendor/etc/plmn_delta_usacdma.bin
|
||||||
|
vendor/etc/plmn_delta_usagsm.bin
|
||||||
|
vendor/etc/plmn_se13.bin
|
||||||
|
vendor/lib/libfloatingfeature.so
|
||||||
|
vendor/lib64/libfloatingfeature.so
|
||||||
|
vendor/lib64/libreference-ril.so
|
||||||
|
vendor/lib64/libril.so
|
||||||
|
vendor/lib64/librilutils.so
|
||||||
|
vendor/lib64/libsec-ril.so
|
||||||
|
vendor/lib64/libsec-ril-dsds.so
|
||||||
|
vendor/lib64/libvndsecril-client.so
|
||||||
|
vendor/lib64/libvkmanager_vendor.so
|
||||||
|
vendor/lib64/vendor.samsung.hardware.radio.bridge@2.0.so
|
||||||
|
vendor/lib64/vendor.samsung.hardware.radio.channel@2.0.so
|
||||||
|
vendor/lib64/vendor.samsung.hardware.radio@2.0.so
|
||||||
|
|
||||||
|
# Sensors
|
||||||
|
vendor/bin/hw/android.hardware.sensors@1.0-service
|
||||||
|
vendor/etc/init/android.hardware.sensors@1.0-service.rc
|
||||||
|
vendor/lib/libsensorlistener.so
|
||||||
|
vendor/lib/libsensorndkbridge.so
|
||||||
|
vendor/lib64/libsensorlistener.so
|
||||||
|
vendor/lib64/libsensorndkbridge.so
|
||||||
|
|
||||||
|
# Thermal
|
||||||
|
vendor/bin/hw/android.hardware.thermal@1.0-service
|
||||||
|
vendor/etc/init/android.hardware.thermal@1.0-service.rc
|
||||||
|
vendor/lib/hw/thermal.universal7870.so
|
||||||
|
vendor/lib64/hw/thermal.universal7870.so
|
88
rootdir/Android.mk
Normal file
88
rootdir/Android.mk
Normal file
|
@ -0,0 +1,88 @@
|
||||||
|
#
|
||||||
|
# Copyright (C) 2019 The LineageOS Project
|
||||||
|
#
|
||||||
|
# This program is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 3 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
|
||||||
|
LOCAL_PATH := $(call my-dir)
|
||||||
|
|
||||||
|
include $(CLEAR_VARS)
|
||||||
|
LOCAL_MODULE := fstab.samsungexynos7870
|
||||||
|
LOCAL_MODULE_TAGS := optional
|
||||||
|
LOCAL_MODULE_CLASS := ETC
|
||||||
|
LOCAL_SRC_FILES := etc/fstab.samsungexynos7870
|
||||||
|
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)
|
||||||
|
include $(BUILD_PREBUILT)
|
||||||
|
|
||||||
|
include $(CLEAR_VARS)
|
||||||
|
LOCAL_MODULE := init.baseband.rc
|
||||||
|
LOCAL_MODULE_TAGS := optional
|
||||||
|
LOCAL_MODULE_CLASS := ETC
|
||||||
|
LOCAL_SRC_FILES := etc/init.baseband.rc
|
||||||
|
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)/init/hw
|
||||||
|
include $(BUILD_PREBUILT)
|
||||||
|
|
||||||
|
include $(CLEAR_VARS)
|
||||||
|
LOCAL_MODULE := init.rilchip.rc
|
||||||
|
LOCAL_MODULE_TAGS := optional
|
||||||
|
LOCAL_MODULE_CLASS := ETC
|
||||||
|
LOCAL_SRC_FILES := etc/init.rilchip.rc
|
||||||
|
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)/init/hw
|
||||||
|
include $(BUILD_PREBUILT)
|
||||||
|
|
||||||
|
include $(CLEAR_VARS)
|
||||||
|
LOCAL_MODULE := init.rilcommon.rc
|
||||||
|
LOCAL_MODULE_TAGS := optional
|
||||||
|
LOCAL_MODULE_CLASS := ETC
|
||||||
|
LOCAL_SRC_FILES := etc/init.rilcommon.rc
|
||||||
|
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)/init/hw
|
||||||
|
include $(BUILD_PREBUILT)
|
||||||
|
|
||||||
|
include $(CLEAR_VARS)
|
||||||
|
LOCAL_MODULE := init.samsung.rc
|
||||||
|
LOCAL_MODULE_TAGS := optional
|
||||||
|
LOCAL_MODULE_CLASS := ETC
|
||||||
|
LOCAL_SRC_FILES := etc/init.samsung.rc
|
||||||
|
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)/init/hw
|
||||||
|
include $(BUILD_PREBUILT)
|
||||||
|
|
||||||
|
include $(CLEAR_VARS)
|
||||||
|
LOCAL_MODULE := init.samsungexynos7870.rc
|
||||||
|
LOCAL_MODULE_TAGS := optional
|
||||||
|
LOCAL_MODULE_CLASS := ETC
|
||||||
|
LOCAL_SRC_FILES := etc/init.samsungexynos7870.rc
|
||||||
|
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)/init/hw
|
||||||
|
include $(BUILD_PREBUILT)
|
||||||
|
|
||||||
|
include $(CLEAR_VARS)
|
||||||
|
LOCAL_MODULE := init.samsungexynos7870.usb.rc
|
||||||
|
LOCAL_MODULE_TAGS := optional
|
||||||
|
LOCAL_MODULE_CLASS := ETC
|
||||||
|
LOCAL_SRC_FILES := etc/init.samsungexynos7870.usb.rc
|
||||||
|
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)/init/hw
|
||||||
|
include $(BUILD_PREBUILT)
|
||||||
|
|
||||||
|
include $(CLEAR_VARS)
|
||||||
|
LOCAL_MODULE := init.wifi.rc
|
||||||
|
LOCAL_MODULE_TAGS := optional
|
||||||
|
LOCAL_MODULE_CLASS := ETC
|
||||||
|
LOCAL_SRC_FILES := etc/init.wifi.rc
|
||||||
|
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)/init/hw
|
||||||
|
include $(BUILD_PREBUILT)
|
||||||
|
|
||||||
|
include $(CLEAR_VARS)
|
||||||
|
LOCAL_MODULE := ueventd.samsungexynos7870.rc
|
||||||
|
LOCAL_MODULE_TAGS := optional
|
||||||
|
LOCAL_MODULE_STEM := ueventd.rc
|
||||||
|
LOCAL_MODULE_CLASS := ETC
|
||||||
|
LOCAL_SRC_FILES := etc/ueventd.samsungexynos7870.rc
|
||||||
|
LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)
|
||||||
|
include $(BUILD_PREBUILT)
|
21
rootdir/etc/fstab.recovery
Normal file
21
rootdir/etc/fstab.recovery
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
# Android fstab file.
|
||||||
|
#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
|
||||||
|
# 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
|
||||||
|
|
||||||
|
|
||||||
|
/dev/block/platform/13540000.dwmmc0/by-name/BOOT /boot emmc defaults defaults
|
||||||
|
/dev/block/platform/13540000.dwmmc0/by-name/RECOVERY /recovery emmc defaults defaults
|
||||||
|
/dev/block/platform/13540000.dwmmc0/by-name/SYSTEM /system ext4 ro,errors=panic wait,recoveryonly
|
||||||
|
/dev/block/platform/13540000.dwmmc0/by-name/VENDOR /vendor ext4 ro,errors=panic wait,recoveryonly
|
||||||
|
/dev/block/platform/13540000.dwmmc0/by-name/CACHE /cache ext4 nosuid,nodev,noatime,noauto_da_alloc,discard,journal_async_commit,errors=panic wait,check
|
||||||
|
/dev/block/platform/13540000.dwmmc0/by-name/CACHE /cache f2fs nosuid,nodev,noatime,rw,inline_xattr wait,check,formattable
|
||||||
|
/dev/block/platform/13540000.dwmmc0/by-name/USERDATA /data ext4 nosuid,nodev,noatime,noauto_da_alloc,discard,journal_async_commit,errors=panic wait,check,formattable,encryptable=footer,length=-16384
|
||||||
|
/dev/block/platform/13540000.dwmmc0/by-name/USERDATA /data f2fs nosuid,nodev,noatime,rw,inline_xattr wait,check,formattable,encryptable=footer,length=-16384
|
||||||
|
/dev/block/platform/13540000.dwmmc0/by-name/EFS /efs ext4 nosuid,nodev,noatime,noauto_da_alloc,discard,journal_async_commit,errors=panic wait,check
|
||||||
|
/dev/block/platform/13540000.dwmmc0/by-name/CPEFS /cpefs ext4 noatime,nosuid,nodev,noauto_da_alloc,discard,journal_async_commit,errors=panic wait,check
|
||||||
|
|
||||||
|
# VOLD
|
||||||
|
/dev/block/platform/13540000.dwmmc0/by-name/HIDDEN /preload ext4 defaults voldmanaged=preload:auto
|
||||||
|
/devices/13560000.dwmmc2/mmc_host/mmc* auto auto defaults voldmanaged=sdcard1:auto,encryptable=userdata
|
||||||
|
/devices/13600000.usb/13600000.dwc3/xhci-hcd.2.auto/usb* auto auto defaults voldmanaged=usb:auto
|
21
rootdir/etc/fstab.samsungexynos7870
Normal file
21
rootdir/etc/fstab.samsungexynos7870
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
# Android fstab file.
|
||||||
|
#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
|
||||||
|
# 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
|
||||||
|
|
||||||
|
|
||||||
|
# /dev/block/platform/13540000.dwmmc0/by-name/BOOT /boot emmc defaults defaults
|
||||||
|
# /dev/block/platform/13540000.dwmmc0/by-name/RECOVERY /recovery emmc defaults defaults
|
||||||
|
# /dev/block/platform/13540000.dwmmc0/by-name/SYSTEM /system ext4 ro,errors=panic wait,recoveryonly
|
||||||
|
# /dev/block/platform/13540000.dwmmc0/by-name/VENDOR /vendor ext4 ro,errors=panic wait,recoveryonly
|
||||||
|
/dev/block/platform/13540000.dwmmc0/by-name/CACHE /cache ext4 nosuid,nodev,noatime,noauto_da_alloc,discard,journal_async_commit,errors=panic wait,check
|
||||||
|
/dev/block/platform/13540000.dwmmc0/by-name/CACHE /cache f2fs nosuid,nodev,noatime,rw,inline_xattr wait,check,formattable
|
||||||
|
/dev/block/platform/13540000.dwmmc0/by-name/USERDATA /data ext4 nosuid,nodev,noatime,noauto_da_alloc,discard,journal_async_commit,errors=panic wait,check,formattable,encryptable=footer,length=-16384
|
||||||
|
/dev/block/platform/13540000.dwmmc0/by-name/USERDATA /data f2fs nosuid,nodev,noatime,rw,inline_xattr wait,check,formattable,encryptable=footer,length=-16384
|
||||||
|
/dev/block/platform/13540000.dwmmc0/by-name/EFS /efs ext4 nosuid,nodev,noatime,noauto_da_alloc,discard,journal_async_commit,errors=panic wait,check
|
||||||
|
/dev/block/platform/13540000.dwmmc0/by-name/CPEFS /cpefs ext4 noatime,nosuid,nodev,noauto_da_alloc,discard,journal_async_commit,errors=panic wait,check
|
||||||
|
|
||||||
|
# VOLD
|
||||||
|
/dev/block/platform/13540000.dwmmc0/by-name/HIDDEN /preload ext4 defaults voldmanaged=preload:auto
|
||||||
|
/devices/13560000.dwmmc2/mmc_host/mmc* auto auto defaults voldmanaged=sdcard1:auto,encryptable=userdata
|
||||||
|
/devices/13600000.usb/13600000.dwc3/xhci-hcd.2.auto/usb* auto auto defaults voldmanaged=usb:auto
|
63
rootdir/etc/init.baseband.rc
Normal file
63
rootdir/etc/init.baseband.rc
Normal file
|
@ -0,0 +1,63 @@
|
||||||
|
on init
|
||||||
|
symlink /dev/block/platform/13540000.dwmmc0/by-name/RADIO /dev/mbin0
|
||||||
|
restorecon /dev/mbin0
|
||||||
|
write /sys/class/net/rmnet0/queues/rx-0/rps_cpus 6
|
||||||
|
write /sys/class/net/rmnet1/queues/rx-0/rps_cpus 6
|
||||||
|
write /sys/class/net/rmnet2/queues/rx-0/rps_cpus 6
|
||||||
|
write /sys/class/net/rmnet3/queues/rx-0/rps_cpus 6
|
||||||
|
write /sys/class/net/rmnet4/queues/rx-0/rps_cpus 6
|
||||||
|
write /sys/class/net/rmnet5/queues/rx-0/rps_cpus 6
|
||||||
|
write /sys/class/net/rmnet6/queues/rx-0/rps_cpus 6
|
||||||
|
write /sys/class/net/rmnet7/queues/rx-0/rps_cpus 6
|
||||||
|
|
||||||
|
on fs
|
||||||
|
chown radio system /efs
|
||||||
|
chmod 0771 /efs
|
||||||
|
chown radio radio sys/devices/virtual/misc/multipdp/waketime
|
||||||
|
chmod 0660 /sys/devices/virtual/misc/umts_dm0/dm_state
|
||||||
|
chown radio system /sys/devices/virtual/misc/umts_dm0/dm_state
|
||||||
|
|
||||||
|
# /efs/factory.prop for Dual / Single SIM settings
|
||||||
|
chown radio radio /efs/factory.prop
|
||||||
|
chmod 0600 /efs/factory.prop
|
||||||
|
|
||||||
|
on property:ril.clatd.v4-rmnet0=up
|
||||||
|
write /sys/class/net/rmnet0/queues/rx-0/rps_cpus 4
|
||||||
|
write /sys/class/net/v4-rmnet0/queues/rx-0/rps_cpus 2
|
||||||
|
|
||||||
|
on property:ril.clatd.v4-rmnet1=up
|
||||||
|
write /sys/class/net/rmnet1/queues/rx-0/rps_cpus 4
|
||||||
|
write /sys/class/net/v4-rmnet1/queues/rx-0/rps_cpus 2
|
||||||
|
|
||||||
|
on property:ril.clatd.v4-rmnet2=up
|
||||||
|
write /sys/class/net/rmnet2/queues/rx-0/rps_cpus 4
|
||||||
|
write /sys/class/net/v4-rmnet2/queues/rx-0/rps_cpus 2
|
||||||
|
|
||||||
|
on property:ril.clatd.v4-rmnet3=up
|
||||||
|
write /sys/class/net/rmnet3/queues/rx-0/rps_cpus 4
|
||||||
|
write /sys/class/net/v4-rmnet3/queues/rx-0/rps_cpus 2
|
||||||
|
|
||||||
|
on property:ril.clatd.v4-rmnet4=up
|
||||||
|
write /sys/class/net/rmnet4/queues/rx-0/rps_cpus 4
|
||||||
|
write /sys/class/net/v4-rmnet4/queues/rx-0/rps_cpus 2
|
||||||
|
|
||||||
|
on property:ril.clatd.v4-rmnet5=up
|
||||||
|
write /sys/class/net/rmnet5/queues/rx-0/rps_cpus 4
|
||||||
|
write /sys/class/net/v4-rmnet5/queues/rx-0/rps_cpus 2
|
||||||
|
|
||||||
|
on property:ril.clatd.v4-rmnet6=up
|
||||||
|
write /sys/class/net/rmnet6/queues/rx-0/rps_cpus 4
|
||||||
|
write /sys/class/net/v4-rmnet6/queues/rx-0/rps_cpus 2
|
||||||
|
|
||||||
|
on property:ril.clatd.v4-rmnet7=up
|
||||||
|
write /sys/class/net/rmnet7/queues/rx-0/rps_cpus 4
|
||||||
|
write /sys/class/net/v4-rmnet7/queues/rx-0/rps_cpus 2
|
||||||
|
|
||||||
|
service cpboot-daemon /vendor/bin/cbd -d -tss310 -bm -mm -P platform/13540000.dwmmc0/by-name/RADIO
|
||||||
|
class main
|
||||||
|
user root
|
||||||
|
group radio cache inet misc audio sdcard_rw log sdcard_r shell
|
||||||
|
# seclabel u:r:cbd:s0
|
||||||
|
|
||||||
|
on property:ro.multisim.simslotcount=*
|
||||||
|
write /sys/module/modem_ctrl_ss310ap/parameters/ds_detect ${ro.multisim.simslotcount}
|
22
rootdir/etc/init.rilchip.rc
Executable file
22
rootdir/etc/init.rilchip.rc
Executable file
|
@ -0,0 +1,22 @@
|
||||||
|
# Copyright (C) 2012 The Android Open Source Project
|
||||||
|
#
|
||||||
|
# IMPORTANT: Do not create world writable files or directories.
|
||||||
|
# This is a common source of Android security bugs.
|
||||||
|
#
|
||||||
|
|
||||||
|
service ril-daemon /vendor/bin/hw/rild -l /vendor/lib64/libsec-ril.so
|
||||||
|
class main
|
||||||
|
user radio
|
||||||
|
group radio cache inet misc audio sdcard_r sdcard_rw log vpn system readproc wakelock
|
||||||
|
capabilities BLOCK_SUSPEND NET_ADMIN NET_RAW SYS_ADMIN CHOWN SYS_TIME
|
||||||
|
socket sap_uim_socket1 stream 660 bluetooth bluetooth
|
||||||
|
onrestart restart cpboot-daemon
|
||||||
|
onrestart restart DIAG-daemon
|
||||||
|
|
||||||
|
service ril-daemon1 /vendor/bin/hw/rild -c 2 -l /vendor/lib64/libsec-ril-dsds.so
|
||||||
|
class main
|
||||||
|
user radio
|
||||||
|
group radio cache inet misc audio sdcard_r sdcard_rw log vpn system readproc wakelock
|
||||||
|
capabilities BLOCK_SUSPEND NET_ADMIN NET_RAW SYS_ADMIN CHOWN SYS_TIME
|
||||||
|
onrestart restart cpboot-daemon
|
||||||
|
onrestart restart DIAG-daemon
|
20
rootdir/etc/init.rilcommon.rc
Executable file
20
rootdir/etc/init.rilcommon.rc
Executable file
|
@ -0,0 +1,20 @@
|
||||||
|
# Copyright (C) 2012 The Android Open Source Project
|
||||||
|
#
|
||||||
|
# IMPORTANT: Do not create world writable files or directories.
|
||||||
|
# This is a common source of Android security bugs.
|
||||||
|
#
|
||||||
|
|
||||||
|
# service can not be overwritten except SPRINT
|
||||||
|
# Thus, rilcarrier is imported before common rc, like init.rilchip.rc
|
||||||
|
|
||||||
|
on post-fs-data
|
||||||
|
mkdir /data/vendor/secradio 0770 radio radio
|
||||||
|
|
||||||
|
on property:ro.vendor.multisim.simslotcount=1
|
||||||
|
stop ril-daemon1
|
||||||
|
|
||||||
|
on property:hwservicemanager.ready=false
|
||||||
|
restart ril-daemon
|
||||||
|
|
||||||
|
on property:hwservicemanager.ready=false && property:ro.vendor.multisim.simslotcount=2
|
||||||
|
restart ril-daemon1
|
1892
rootdir/etc/init.samsung.rc
Normal file
1892
rootdir/etc/init.samsung.rc
Normal file
File diff suppressed because it is too large
Load diff
566
rootdir/etc/init.samsungexynos7870.rc
Executable file
566
rootdir/etc/init.samsungexynos7870.rc
Executable file
|
@ -0,0 +1,566 @@
|
||||||
|
import /vendor/etc/init/hw/init.samsungexynos7870.usb.rc
|
||||||
|
import /vendor/etc/init/hw/init.baseband.rc
|
||||||
|
import /vendor/etc/init/hw/init.wifi.rc
|
||||||
|
import /vendor/etc/init/hw/init.wifi_device.rc
|
||||||
|
import /vendor/etc/init/hw/init.rilchip.rc
|
||||||
|
import /vendor/etc/init/hw/init.rilcommon.rc
|
||||||
|
|
||||||
|
# Samsung stock init.rc additions
|
||||||
|
import /vendor/etc/init/hw/init.samsung.rc
|
||||||
|
|
||||||
|
on early-init
|
||||||
|
mount debugfs /sys/kernel/debug /sys/kernel/debug
|
||||||
|
on init
|
||||||
|
start watchdogd
|
||||||
|
|
||||||
|
# See storage config details at http://source.android.com/tech/storage/
|
||||||
|
mkdir /mnt/shell/emulated 0700 shell shell
|
||||||
|
mkdir /storage/emulated 0555 root root
|
||||||
|
|
||||||
|
# Support legacy paths
|
||||||
|
symlink /sdcard /mnt/sdcard
|
||||||
|
|
||||||
|
export EXTERNAL_STORAGE /sdcard
|
||||||
|
symlink /data/app /factory
|
||||||
|
symlink /dev/block/platform/13540000.dwmmc0/by-name/PERSISTENT /dev/block/persistent
|
||||||
|
symlink /dev/block/platform/13540000.dwmmc0/by-name/STEADY /dev/block/steady
|
||||||
|
|
||||||
|
on post-fs-data
|
||||||
|
# Log data folder
|
||||||
|
# mkdir /data/log 0771 radio system
|
||||||
|
|
||||||
|
# C-STATE
|
||||||
|
chown system system /sys/module/cpuidle/parameters/off
|
||||||
|
chmod 0660 /sys/module/cpuidle/parameters/off
|
||||||
|
|
||||||
|
# CPU Idle
|
||||||
|
chown system system /sys/module/cpuidle_exynos64/parameters/enable_mask
|
||||||
|
|
||||||
|
# Audio I2C node for TFA amp
|
||||||
|
chmod 0660 /dev/i2c-20
|
||||||
|
chown audio audio /dev/i2c-20
|
||||||
|
|
||||||
|
setprop vold.post_fs_data_done 1
|
||||||
|
|
||||||
|
# /efs/factory.prop for Dual / Single SIM settings
|
||||||
|
chown radio radio /efs/factory.prop
|
||||||
|
chmod 0600 /efs/factory.prop
|
||||||
|
|
||||||
|
restorecon /sys/kernel/debug/tracing/trace_marker
|
||||||
|
|
||||||
|
on boot
|
||||||
|
# override init.rc to keep plenty of large order chunks around
|
||||||
|
# to improve allocation times
|
||||||
|
# write /proc/sys/vm/min_free_kbytes 32768
|
||||||
|
# write /proc/sys/vm/min_free_order_shift 1
|
||||||
|
|
||||||
|
# SSWAP
|
||||||
|
write /proc/sys/vm/swappiness 130
|
||||||
|
|
||||||
|
# mount debugfs /sys/kernel/debug /sys/kernel/debug
|
||||||
|
# Allow to access debugfs for system:system
|
||||||
|
chmod 755 /sys/kernel/debug
|
||||||
|
chown system system /sys/kernel/debug
|
||||||
|
# setprop ro.radio.noril yes
|
||||||
|
|
||||||
|
# Assign TCP buffer thresholds to be ceiling value of technology maximums
|
||||||
|
# Increased technology maximums should be reflected here.
|
||||||
|
write /proc/sys/net/core/rmem_max 4194304
|
||||||
|
write /proc/sys/net/core/wmem_max 4194304
|
||||||
|
|
||||||
|
# Set up kernel tracing, but disable it by default
|
||||||
|
chmod 0222 /sys/kernel/debug/tracing/trace_marker
|
||||||
|
write /sys/kernel/debug/tracing/tracing_on 0
|
||||||
|
|
||||||
|
# sec_log
|
||||||
|
chown system log /proc/sec_log
|
||||||
|
|
||||||
|
# EFS permissions
|
||||||
|
chown system radio /efs/nv_data.bin
|
||||||
|
chown system radio /efs/nv_data.bin.md5
|
||||||
|
chown system radio /cpefs/.nv_core.bak
|
||||||
|
chown system radio /efs/.nv_core.bak
|
||||||
|
|
||||||
|
# Permissions for NAD
|
||||||
|
symlink /dev/block/platform/13540000.dwmmc0/by-name/NAD_REFER /dev/block/NAD_REFER
|
||||||
|
chown system radio /sys/class/sec/sec_nad/nad_stat
|
||||||
|
chmod 0664 /sys/class/sec/sec_nad/nad_stat
|
||||||
|
chown system radio /sys/class/sec/sec_nad/nad_erase
|
||||||
|
chmod 0664 /sys/class/sec/sec_nad/nad_erase
|
||||||
|
chown system radio /sys/class/sec/sec_nad/nad_acat
|
||||||
|
chmod 0664 /sys/class/sec/sec_nad/nad_acat
|
||||||
|
chown system radio /sys/class/sec/sec_nad/nad_dram
|
||||||
|
chmod 0664 /sys/class/sec/sec_nad/nad_dram
|
||||||
|
chown system radio /sys/class/sec/sec_nad/nad_all
|
||||||
|
chmod 0664 /sys/class/sec/sec_nad/nad_all
|
||||||
|
chown system radio /dev/block/NAD_REFER
|
||||||
|
chmod 0664 /dev/block/NAD_REFER
|
||||||
|
|
||||||
|
# 1-key hard reset
|
||||||
|
chown system system /sys/power/reset_enabled
|
||||||
|
chmod 0660 /sys/power/reset_enabled
|
||||||
|
|
||||||
|
# CPU hotplug
|
||||||
|
chown system system /sys/power/cpuhotplug/enabled
|
||||||
|
chmod 0660 /sys/power/cpuhotplug/enabled
|
||||||
|
chown system system /sys/power/cpuhotplug/min_online_cpu
|
||||||
|
chmod 0664 /sys/power/cpuhotplug/min_online_cpu
|
||||||
|
chown system system /sys/power/cpuhotplug/max_online_cpu
|
||||||
|
chmod 0664 /sys/power/cpuhotplug/max_online_cpu
|
||||||
|
|
||||||
|
# GPU dvfs node
|
||||||
|
chown radio system /sys/devices/11400000.mali/dvfs_table
|
||||||
|
chmod 0664 /sys/devices/11400000.mali/dvfs_table
|
||||||
|
chown radio system /sys/devices/11400000.mali/dvfs_min_lock
|
||||||
|
chmod 0664 /sys/devices/11400000.mali/dvfs_min_lock
|
||||||
|
chown radio system /sys/devices/11400000.mali/dvfs_max_lock
|
||||||
|
chmod 0664 /sys/devices/11400000.mali/dvfs_max_lock
|
||||||
|
|
||||||
|
# mif, int
|
||||||
|
chown radio system /sys/class/devfreq/17000010.devfreq_mif/min_freq
|
||||||
|
chmod 0664 /sys/class/devfreq/17000010.devfreq_mif/min_freq
|
||||||
|
chown radio system /sys/class/devfreq/17000010.devfreq_mif/max_freq
|
||||||
|
chmod 0664 /sys/class/devfreq/17000010.devfreq_mif/max_freq
|
||||||
|
chown radio system /sys/class/devfreq/17000010.devfreq_mif/available_frequencies
|
||||||
|
chmod 0644 /sys/class/devfreq/17000010.devfreq_mif/available_frequencies
|
||||||
|
chown radio system /sys/class/devfreq/17000020.devfreq_int/min_freq
|
||||||
|
chmod 0664 /sys/class/devfreq/17000020.devfreq_int/min_freq
|
||||||
|
chown radio system /sys/class/devfreq/17000020.devfreq_int/max_freq
|
||||||
|
chmod 0664 /sys/class/devfreq/17000020.devfreq_int/max_freq
|
||||||
|
chown radio system /sys/class/devfreq/17000020.devfreq_int/available_frequencies
|
||||||
|
chmod 0664 /sys/class/devfreq/17000020.devfreq_int/available_frequencies
|
||||||
|
|
||||||
|
# Change permission for interactive governor
|
||||||
|
chown system system /sys/devices/system/cpu/cpu0/cpufreq/interactive/timer_rate
|
||||||
|
chmod 0660 /sys/devices/system/cpu/cpu0/cpufreq/interactive/timer_rate
|
||||||
|
chown system system /sys/devices/system/cpu/cpu0/cpufreq/interactive/timer_slack
|
||||||
|
chmod 0660 /sys/devices/system/cpu/cpu0/cpufreq/interactive/timer_slack
|
||||||
|
chown system system /sys/devices/system/cpu/cpu0/cpufreq/interactive/min_sample_time
|
||||||
|
chmod 0660 /sys/devices/system/cpu/cpu0/cpufreq/interactive/min_sample_time
|
||||||
|
chown system system /sys/devices/system/cpu/cpu0/cpufreq/interactive/hispeed_freq
|
||||||
|
chmod 0660 /sys/devices/system/cpu/cpu0/cpufreq/interactive/hispeed_freq
|
||||||
|
chown system system /sys/devices/system/cpu/cpu0/cpufreq/interactive/target_loads
|
||||||
|
chmod 0660 /sys/devices/system/cpu/cpu0/cpufreq/interactive/target_loads
|
||||||
|
chown system system /sys/devices/system/cpu/cpu0/cpufreq/interactive/go_hispeed_load
|
||||||
|
chmod 0660 /sys/devices/system/cpu/cpu0/cpufreq/interactive/go_hispeed_load
|
||||||
|
chown system system /sys/devices/system/cpu/cpu0/cpufreq/interactive/above_hispeed_delay
|
||||||
|
chmod 0660 /sys/devices/system/cpu/cpu0/cpufreq/interactive/above_hispeed_delay
|
||||||
|
chown system system /sys/devices/system/cpu/cpu0/cpufreq/interactive/boost
|
||||||
|
chmod 0660 /sys/devices/system/cpu/cpu0/cpufreq/interactive/boost
|
||||||
|
chown system system /sys/devices/system/cpu/cpu0/cpufreq/interactive/boostpulse
|
||||||
|
chown system system /sys/devices/system/cpu/cpu0/cpufreq/interactive/input_boost
|
||||||
|
chmod 0660 /sys/devices/system/cpu/cpu0/cpufreq/interactive/input_boost
|
||||||
|
chown system system /sys/devices/system/cpu/cpu0/cpufreq/interactive/boostpulse_duration
|
||||||
|
chmod 0660 /sys/devices/system/cpu/cpu0/cpufreq/interactive/boostpulse_duration
|
||||||
|
chown system system /sys/devices/system/cpu/cpu0/cpufreq/interactive/io_is_busy
|
||||||
|
chmod 0660 /sys/devices/system/cpu/cpu0/cpufreq/interactive/io_is_busy
|
||||||
|
|
||||||
|
chown system system /sys/devices/system/cpu/cpu4/cpufreq/interactive/timer_rate
|
||||||
|
chmod 0660 /sys/devices/system/cpu/cpu4/cpufreq/interactive/timer_rate
|
||||||
|
chown system system /sys/devices/system/cpu/cpu4/cpufreq/interactive/timer_slack
|
||||||
|
chmod 0660 /sys/devices/system/cpu/cpu4/cpufreq/interactive/timer_slack
|
||||||
|
chown system system /sys/devices/system/cpu/cpu4/cpufreq/interactive/min_sample_time
|
||||||
|
chmod 0660 /sys/devices/system/cpu/cpu4/cpufreq/interactive/min_sample_time
|
||||||
|
chown system system /sys/devices/system/cpu/cpu4/cpufreq/interactive/hispeed_freq
|
||||||
|
chmod 0660 /sys/devices/system/cpu/cpu4/cpufreq/interactive/hispeed_freq
|
||||||
|
chown system system /sys/devices/system/cpu/cpu4/cpufreq/interactive/target_loads
|
||||||
|
chmod 0660 /sys/devices/system/cpu/cpu4/cpufreq/interactive/target_loads
|
||||||
|
chown system system /sys/devices/system/cpu/cpu4/cpufreq/interactive/go_hispeed_load
|
||||||
|
chmod 0660 /sys/devices/system/cpu/cpu4/cpufreq/interactive/go_hispeed_load
|
||||||
|
chown system system /sys/devices/system/cpu/cpu4/cpufreq/interactive/above_hispeed_delay
|
||||||
|
chmod 0660 /sys/devices/system/cpu/cpu4/cpufreq/interactive/above_hispeed_delay
|
||||||
|
chown system system /sys/devices/system/cpu/cpu4/cpufreq/interactive/boost
|
||||||
|
chmod 0660 /sys/devices/system/cpu/cpu4/cpufreq/interactive/boost
|
||||||
|
chown system system /sys/devices/system/cpu/cpu4/cpufreq/interactive/boostpulse
|
||||||
|
chown system system /sys/devices/system/cpu/cpu4/cpufreq/interactive/input_boost
|
||||||
|
chmod 0660 /sys/devices/system/cpu/cpu4/cpufreq/interactive/input_boost
|
||||||
|
chown system system /sys/devices/system/cpu/cpu4/cpufreq/interactive/boostpulse_duration
|
||||||
|
chmod 0660 /sys/devices/system/cpu/cpu4/cpufreq/interactive/boostpulse_duration
|
||||||
|
chown system system /sys/devices/system/cpu/cpu4/cpufreq/interactive/io_is_busy
|
||||||
|
chmod 0660 /sys/devices/system/cpu/cpu4/cpufreq/interactive/io_is_busy
|
||||||
|
|
||||||
|
# RTC status
|
||||||
|
chown system system /sys/power/rtc_status
|
||||||
|
chmod 0444 /sys/power/rtc_status
|
||||||
|
chown system system /efs/FactoryApp/rtc_status
|
||||||
|
chmod 0664 /efs/FactoryApp/rtc_status
|
||||||
|
|
||||||
|
chown bluetooth bluetooth /dev/ttySAC0
|
||||||
|
chmod 0660 /dev/ttySAC0
|
||||||
|
|
||||||
|
# sem_daemon permission
|
||||||
|
chown system system /efs/sec_efs/ssp_data
|
||||||
|
chmod 0644 /efs/sec_efs/ssp_data
|
||||||
|
|
||||||
|
#MST HW Support
|
||||||
|
setprop ro.mst.support 1
|
||||||
|
|
||||||
|
#Secure OS migration
|
||||||
|
chown radio system /sys/devices/system/sec_os_ctrl/migrate_os
|
||||||
|
chmod 664 /sys/devices/system/sec_os_ctrl/migrate_os
|
||||||
|
|
||||||
|
# permissions for bluetooth.
|
||||||
|
setprop ro.bt.bdaddr_path "/efs/bluetooth/bt_addr"
|
||||||
|
chown bluetooth bluetooth ro.bt.bdaddr_path
|
||||||
|
chown radio bluetooth /efs/bluetooth/bt_addr
|
||||||
|
chmod 0640 /efs/bluetooth/bt_addr
|
||||||
|
chmod 0660 /sys/class/rfkill/rfkill0/state
|
||||||
|
chmod 0660 /sys/class/rfkill/rfkill0/device/extldo
|
||||||
|
chown bluetooth net_bt /sys/class/rfkill/rfkill0/state
|
||||||
|
chown bluetooth net_bt /sys/class/rfkill/rfkill0/type
|
||||||
|
chown bluetooth net_bt /sys/class/rfkill/rfkill0/device/extldo
|
||||||
|
|
||||||
|
# MOBEAM
|
||||||
|
chown system radio /sys/class/sec/sec_barcode_emul/vendor
|
||||||
|
chown system radio /sys/class/sec/sec_barcode_emul/name
|
||||||
|
chown system radio /sys/class/sec/sec_barcode_emul/barcode_send
|
||||||
|
chown system radio /sys/class/sec/sec_barcode_emul/barcode_led_status
|
||||||
|
chown system radio /sys/class/sec/sec_barcode_emul/barcode_ver_check
|
||||||
|
|
||||||
|
#Meta event
|
||||||
|
chown system radio /sys/class/sensors/sensor_dev/flush
|
||||||
|
|
||||||
|
# Permission for USB SELECT
|
||||||
|
chown system system /sys/class/android_usb/android0/enable
|
||||||
|
chmod 0660 /sys/class/android_usb/android0/enable
|
||||||
|
chown system system /sys/class/android_usb/android0/idVendor
|
||||||
|
chmod 0660 /sys/class/android_usb/android0/idVendor
|
||||||
|
chown system system /sys/class/android_usb/android0/idProduct
|
||||||
|
chmod 0660 /sys/class/android_usb/android0/idProduct
|
||||||
|
chown system system /sys/class/android_usb/android0/f_diag/clients
|
||||||
|
chmod 0660 /sys/class/android_usb/android0/f_diag/clients
|
||||||
|
chown system system /sys/class/android_usb/android0/functions
|
||||||
|
chmod 0660 /sys/class/android_usb/android0/functions
|
||||||
|
chown system system /sys/class/android_usb/android0/bDeviceClass
|
||||||
|
chmod 0660 /sys/class/android_usb/android0/bDeviceClass
|
||||||
|
|
||||||
|
# Support DM logging
|
||||||
|
# chmod 0770 /system/bin/dmd
|
||||||
|
|
||||||
|
# Support DM logging
|
||||||
|
chmod 0770 /system/bin/diagexe
|
||||||
|
|
||||||
|
# terminal mode
|
||||||
|
chmod 0660 /sys/class/android_usb/android0/terminal_version
|
||||||
|
chown system system /sys/class/android_usb/android0/terminal_version
|
||||||
|
|
||||||
|
# for datarouter
|
||||||
|
chown system system /dev/dun
|
||||||
|
chown system system /dev/ttyGS0
|
||||||
|
chown system system /dev/ttyGS1
|
||||||
|
chown system system /dev/ttyGS2
|
||||||
|
chown system system /dev/ttyGS3
|
||||||
|
|
||||||
|
# Support Virtual Com
|
||||||
|
chmod 0770 /system/bin/vcd
|
||||||
|
|
||||||
|
# Support AP/CP log dump
|
||||||
|
chmod 0770 /system/bin/sced
|
||||||
|
|
||||||
|
# Switch Device
|
||||||
|
chown system radio /sys/class/sec/switch/vbus_value
|
||||||
|
|
||||||
|
# LPM mode for ccic
|
||||||
|
chown system radio /sys/class/sec/ccic/lpm_mode
|
||||||
|
chown system radio /sys/class/sec/ccic/ccic_control_option
|
||||||
|
|
||||||
|
# IPSec for VOLTE
|
||||||
|
chown root system /dev/socket
|
||||||
|
chmod 0775 /dev/socket
|
||||||
|
|
||||||
|
on fs
|
||||||
|
mount_all /vendor/etc/fstab.samsungexynos7870
|
||||||
|
setprop ro.crypto.fuse_sdcard true
|
||||||
|
chown radio system /efs
|
||||||
|
|
||||||
|
# Permissions for ION
|
||||||
|
chmod 0660 /sys/class/ion_cma/ion_video_ext/isolated
|
||||||
|
chown system system /sys/class/ion_cma/ion_video_ext/isolated
|
||||||
|
|
||||||
|
# Permissions for backlight
|
||||||
|
chown system system /sys/class/backlight/panel/brightness
|
||||||
|
|
||||||
|
# Permissions for LCD
|
||||||
|
chown system radio /sys/class/lcd/panel/manufacture_code
|
||||||
|
chown system radio /sys/class/lcd/panel/lcd_type
|
||||||
|
chown system system /sys/class/lcd/panel/siop_enable
|
||||||
|
chown system system /sys/class/lcd/panel/temperature
|
||||||
|
chown system radio /sys/class/lcd/panel/power_reduce
|
||||||
|
chown system system /sys/class/lcd/panel/lux
|
||||||
|
chown system system /sys/class/lcd/panel/adaptive_control
|
||||||
|
chown system system /sys/class/lcd/panel/alpm
|
||||||
|
chown system system /sys/class/lcd/panel/dpui
|
||||||
|
chown system system /sys/class/lcd/panel/dpui_dbg
|
||||||
|
chown system system /sys/devices/svc/OCTA/SVC_OCTA
|
||||||
|
|
||||||
|
# Permissions for MDNIE
|
||||||
|
chown system media_rw /sys/class/mdnie/mdnie/mode
|
||||||
|
chown system media_rw /sys/class/mdnie/mdnie/scenario
|
||||||
|
chown system media_rw /sys/class/mdnie/mdnie/outdoor
|
||||||
|
chown system system /sys/class/mdnie/mdnie/accessibility
|
||||||
|
chown system media_rw /sys/class/mdnie/mdnie/rgb_adj_enable
|
||||||
|
chown system media_rw /sys/class/mdnie/mdnie/r_adj
|
||||||
|
chown system media_rw /sys/class/mdnie/mdnie/g_adj
|
||||||
|
chown system media_rw /sys/class/mdnie/mdnie/b_adj
|
||||||
|
chown system media_rw /sys/class/mdnie/mdnie/tuning
|
||||||
|
chown system system /sys/class/mdnie/mdnie/sensorRGB
|
||||||
|
chown system system /sys/class/mdnie/mdnie/mdnie_ldu
|
||||||
|
chown system system /sys/class/mdnie/mdnie/night_mode
|
||||||
|
chown system system /sys/class/mdnie/mdnie/whiteRGB
|
||||||
|
write /sys/class/mdnie/mdnie/scenario 0
|
||||||
|
write /sys/class/mdnie/mdnie/outdoor 0
|
||||||
|
write /sys/class/mdnie/mdnie/mode 1
|
||||||
|
write /sys/class/mdnie/mdnie/accessibility 0
|
||||||
|
write /sys/class/mdnie/mdnie/rgb_adj_enable 1
|
||||||
|
write /sys/class/mdnie/mdnie/r_adj 255
|
||||||
|
write /sys/class/mdnie/mdnie/g_adj 255
|
||||||
|
write /sys/class/mdnie/mdnie/b_adj 255
|
||||||
|
write /sys/class/mdnie/mdnie/tuning 0
|
||||||
|
|
||||||
|
chown system system /sys/class/lcd/panel/hmt_on
|
||||||
|
chmod 0660 /sys/class/lcd/panel/hmt_on
|
||||||
|
chown system system /sys/class/lcd/panel/hmt_bright
|
||||||
|
chmod 0660 /sys/class/lcd/panel/hmt_bright
|
||||||
|
chown system system /sys/class/mdnie/mdnie/hmt_color_temperature
|
||||||
|
chmod 0660 /sys/class/mdnie/mdnie/hmt_color_temperature
|
||||||
|
|
||||||
|
# Copy DRM Key
|
||||||
|
copy /system/app/wv.keys /factory/wv.keys
|
||||||
|
|
||||||
|
# Permission for DRM Key
|
||||||
|
chmod 0644 /factory/wv.keys
|
||||||
|
|
||||||
|
# Permissions for System LSI NFC
|
||||||
|
# NFC : Permissions for NFC
|
||||||
|
chmod 0660 /dev/sec-nfc
|
||||||
|
chown nfc nfc /dev/sec-nfc
|
||||||
|
# Permissions for S.LSI ESE
|
||||||
|
chmod 0660 /dev/p3
|
||||||
|
chown system system /dev/p3
|
||||||
|
|
||||||
|
# Permission for flashlight control for HAL3.3
|
||||||
|
chmod 0660 /sys/class/camera/flash/rear_torch_flash
|
||||||
|
chown media system /sys/class/camera/flash/rear_torch_flash
|
||||||
|
chmod 0660 /sys/class/camera/flash/front_torch_flash
|
||||||
|
chown media system /sys/class/camera/flash/front_torch_flash
|
||||||
|
|
||||||
|
# Permissions for TouchScreen
|
||||||
|
chown system radio /sys/class/sec/tsp/cmd
|
||||||
|
chown system system /sys/class/sec/tsp/input/enabled
|
||||||
|
chown system system /sys/class/sec/tsp/ito_check
|
||||||
|
chown system system /sys/class/sec/tsp/raw_check
|
||||||
|
chown system system /sys/class/sec/tsp/module_id
|
||||||
|
chown system system /sys/class/sec/tsp/multi_count
|
||||||
|
chown system system /sys/class/sec/tsp/wet_mode
|
||||||
|
chown system system /sys/class/sec/tsp/comm_err_count
|
||||||
|
|
||||||
|
# Permissions for Touchkey
|
||||||
|
chown system radio /sys/class/sec/sec_touchkey/brightness
|
||||||
|
chown system radio /sys/class/sec/sec_touchkey/touchkey_firm_update
|
||||||
|
chown system radio /sys/class/sec/sec_touchkey/touch_sensitivity
|
||||||
|
chown system radio /sys/class/sec/sec_touchkey/glove_mode
|
||||||
|
chown system radio /sys/class/sec/sec_touchkey/flip_mode
|
||||||
|
chown system radio /sys/class/sec/sec_touchkey/sar_enable
|
||||||
|
chown system radio /sys/class/sec/sec_touchkey/sw_reset
|
||||||
|
chown system radio /sys/class/sec/sec_touchkey/touchkey_earjack
|
||||||
|
chown system system /sys/class/sec/sec_touchkey/input/enabled
|
||||||
|
chown system radio /sys/class/sec/sec_touchkey/touchkey_light_version
|
||||||
|
chown system radio /sys/class/sec/sec_touchkey/touchkey_light_update
|
||||||
|
chown system radio /sys/class/sec/sec_touchkey/touchkey_light_id_compare
|
||||||
|
chown system radio /sys/class/sec/sec_touchkey/touchkey_light_table_write
|
||||||
|
|
||||||
|
# Permissions for gpio_keys
|
||||||
|
chown radio system /sys/class/sec/sec_key/wakeup_keys
|
||||||
|
write /sys/class/sec/sec_key/wakeup_keys 116,172
|
||||||
|
|
||||||
|
# Permissions Camera
|
||||||
|
mkdir /data/camera 0770 cameraserver system
|
||||||
|
chown system radio /sys/class/camera/rear/rear_camfw
|
||||||
|
chown system radio /sys/class/camera/rear/rear_camfw_full
|
||||||
|
chown system radio /sys/class/camera/rear/rear_checkfw_user
|
||||||
|
chown system radio /sys/class/camera/rear/rear_checkfw_factory
|
||||||
|
chown system radio /sys/class/camera/rear/rear_sensor_standby
|
||||||
|
chown system radio /sys/class/camera/rear/rear_camtype
|
||||||
|
chown system radio /sys/class/camera/rear/rear_companionfw
|
||||||
|
chown system radio /sys/class/camera/rear/rear_companionfw_full
|
||||||
|
chown system radio /sys/class/camera/rear/rear_calcheck
|
||||||
|
chown system radio /sys/class/camera/rear/rear_caminfo
|
||||||
|
chown system radio /sys/class/camera/rear/rear_sensorid
|
||||||
|
chown system radio /sys/class/camera/rear/from_write
|
||||||
|
chown system radio /sys/class/camera/rear/isp_core
|
||||||
|
chown system radio /sys/class/camera/rear/fw_update
|
||||||
|
chown system radio /sys/class/camera/flash/rear_flash
|
||||||
|
chown system radio /sys/class/camera/flash/front_flash
|
||||||
|
chown cameraserver system /sys/class/camera/flash/rear_torch_flash
|
||||||
|
chown cameraserver system /sys/class/camera/flash/front_torch_flash
|
||||||
|
chown system radio /sys/class/camera/front/front_camfw
|
||||||
|
chown system radio /sys/class/camera/front/front_camfw_full
|
||||||
|
chown system radio /sys/class/camera/front/front_checkfw_factory
|
||||||
|
chown system radio /sys/class/camera/front/front_camtype
|
||||||
|
chown system radio /sys/class/camera/front/front_moduleid
|
||||||
|
chown system radio /sys/class/camera/front/front_caminfo
|
||||||
|
chown system radio /sys/class/camera/front/front_sensorid
|
||||||
|
chown system radio /sys/class/camera/ois/selftest
|
||||||
|
chown system radio /sys/class/camera/ois/ois_power
|
||||||
|
chown system radio /sys/class/camera/ois/ois_rawdata
|
||||||
|
chown system radio /sys/class/camera/ois/oisfw
|
||||||
|
chown system radio /sys/class/camera/ois/ois_diff
|
||||||
|
chown system radio /sys/class/camera/ois/fw_update
|
||||||
|
chown system radio /sys/class/camera/ois/ois_exif
|
||||||
|
chown system system /sys/devices/svc/Camera/SVC_rear_module
|
||||||
|
chown system system /sys/devices/svc/Camera/SVC_front_module
|
||||||
|
|
||||||
|
# FM Radio
|
||||||
|
chown system audio /dev/radio0
|
||||||
|
chmod 0660 /dev/radio0
|
||||||
|
|
||||||
|
#ARGOSD network_throughput
|
||||||
|
chown system system /dev/network_throughput
|
||||||
|
# ARGOSD
|
||||||
|
service argos-daemon /system/bin/argosd
|
||||||
|
class main
|
||||||
|
user system
|
||||||
|
group system radio
|
||||||
|
|
||||||
|
# LPM
|
||||||
|
service lpm /vendor/bin/lpm
|
||||||
|
class charger
|
||||||
|
critical
|
||||||
|
seclabel u:r:charger:s0
|
||||||
|
|
||||||
|
# Bluetooth
|
||||||
|
on property:wc_transport.start_hci=true
|
||||||
|
start start_hci_filter
|
||||||
|
|
||||||
|
on property:wc_transport.start_hci=false
|
||||||
|
stop start_hci_filter
|
||||||
|
|
||||||
|
service start_hci_filter /vendor/bin/wcnss_filter
|
||||||
|
class late_start
|
||||||
|
user bluetooth
|
||||||
|
group bluetooth
|
||||||
|
disabled
|
||||||
|
|
||||||
|
# RPMB daemon
|
||||||
|
service rpmbd /system/bin/rpmbd
|
||||||
|
user root
|
||||||
|
group drmrpc
|
||||||
|
class main
|
||||||
|
|
||||||
|
on property:sys.mobicoredaemon.enable=true
|
||||||
|
start cs_service
|
||||||
|
write /proc/iccc_ready 1
|
||||||
|
|
||||||
|
on property:ro.multisim.simslotcount=1
|
||||||
|
setprop persist.radio.multisim.config ss
|
||||||
|
|
||||||
|
on property:ro.multisim.simslotcount=2
|
||||||
|
setprop persist.radio.multisim.config dsds
|
||||||
|
|
||||||
|
# Modem boot daemon
|
||||||
|
# service cpboot-daemon /system/bin/cbd -d
|
||||||
|
# class main
|
||||||
|
# user root
|
||||||
|
# group radio cache inet misc audio sdcard_rw log
|
||||||
|
|
||||||
|
# DM daemon
|
||||||
|
# service DM-daemon /system/bin/dmd
|
||||||
|
# class main
|
||||||
|
# user root
|
||||||
|
# group system
|
||||||
|
|
||||||
|
# SCE daemon
|
||||||
|
# service SCE-daemon /system/bin/sced
|
||||||
|
# class main
|
||||||
|
# user root
|
||||||
|
# group system
|
||||||
|
|
||||||
|
# diag daemon
|
||||||
|
# service DM-daemon /system/bin/diagexe
|
||||||
|
# class main
|
||||||
|
# user root
|
||||||
|
# group system
|
||||||
|
|
||||||
|
service fuse_sdcard /system/bin/sdcard -u 1023 -g 1023 -d /mnt/media_rw/sdcard /storage/sdcard
|
||||||
|
class late_start
|
||||||
|
disabled
|
||||||
|
service fuse_usb1 /system/bin/sdcard -u 1023 -g 1023 -d /mnt/media_rw/usb1 /storage/usb1
|
||||||
|
class late_start
|
||||||
|
disabled
|
||||||
|
|
||||||
|
# IPSec for VOLTE
|
||||||
|
service ipsec-daemon /system/bin/IPSecService
|
||||||
|
class main
|
||||||
|
socket ipsec_socket stream 660 system net_admin
|
||||||
|
user system
|
||||||
|
group system net_raw inet net_admin
|
||||||
|
|
||||||
|
# Set watchdog timer to 30 seconds and pet it every 10 seconds to get a 20 second margin
|
||||||
|
service watchdogd /sbin/watchdogd 10 20
|
||||||
|
class core
|
||||||
|
seclabel u:r:watchdogd:s0
|
||||||
|
|
||||||
|
# on userdebug and eng builds, enable kgdb on the serial console
|
||||||
|
on property:ro.debuggable=1
|
||||||
|
write /sys/module/kgdboc/parameters/kgdboc ttyFIQ1
|
||||||
|
write /sys/module/fiq_debugger/parameters/kgdb_enable 1
|
||||||
|
|
||||||
|
service prepare_param /system/bin/prepare_param.sh /dev/block/platform/13540000.dwmmc0/by-name/PARAM
|
||||||
|
class core
|
||||||
|
user root
|
||||||
|
group root
|
||||||
|
seclabel u:r:prepare_param:s0
|
||||||
|
oneshot
|
||||||
|
|
||||||
|
# Secure Storage startup
|
||||||
|
service secure_storage /system/bin/secure_storage_daemon
|
||||||
|
class core
|
||||||
|
user system
|
||||||
|
group system
|
||||||
|
disabled
|
||||||
|
on property:ro.securestorage.knox=true
|
||||||
|
mkdir /dev/.secure_storage
|
||||||
|
chmod 0711 /dev/.secure_storage
|
||||||
|
chown system system /dev/.secure_storage
|
||||||
|
restorecon -R /dev/.secure_storage
|
||||||
|
start secure_storage
|
||||||
|
on property:ro.securestorage.support=true
|
||||||
|
mkdir /dev/.secure_storage
|
||||||
|
chmod 0711 /dev/.secure_storage
|
||||||
|
chown system system /dev/.secure_storage
|
||||||
|
restorecon -R /dev/.secure_storage
|
||||||
|
start secure_storage
|
||||||
|
|
||||||
|
# umount service
|
||||||
|
service umount_service /system/bin/umount -D /preload
|
||||||
|
disabled
|
||||||
|
oneshot
|
||||||
|
|
||||||
|
# Support Preload install apks
|
||||||
|
on property:persist.sys.storage_preload=1
|
||||||
|
mount ext4 /dev/block/platform/13540000.dwmmc0/by-name/HIDDEN /preload nosuid nodev ro barrier=1
|
||||||
|
setprop storage.preload.complete 1
|
||||||
|
|
||||||
|
on property:persist.sys.storage_preload=0
|
||||||
|
start umount_service
|
||||||
|
|
||||||
|
# SSWAP
|
||||||
|
service sswap /vendor/bin/sswap -s
|
||||||
|
class core
|
||||||
|
user root
|
||||||
|
group root
|
||||||
|
oneshot
|
||||||
|
|
||||||
|
# sem_daemon
|
||||||
|
service sem_daemon /system/bin/sem_daemon
|
||||||
|
class core
|
||||||
|
user system
|
||||||
|
group system nfc
|
||||||
|
disabled
|
||||||
|
|
||||||
|
on property:sys.boot_completed=1
|
||||||
|
setprop security.semdaemonfinish 0
|
||||||
|
start sem_daemon
|
||||||
|
|
||||||
|
on property:security.semdaemonfinish=1
|
||||||
|
stop sem_daemon
|
302
rootdir/etc/init.samsungexynos7870.usb.rc
Normal file
302
rootdir/etc/init.samsungexynos7870.usb.rc
Normal file
|
@ -0,0 +1,302 @@
|
||||||
|
on init
|
||||||
|
write /sys/class/android_usb/android0/iSerial $ro.serialno
|
||||||
|
write /sys/class/android_usb/android0/f_rndis/manufacturer Samsung
|
||||||
|
write /sys/class/android_usb/android0/f_rndis/vendorID 04e8
|
||||||
|
write /sys/class/android_usb/android0/f_rndis/wceis 1
|
||||||
|
|
||||||
|
on post-fs
|
||||||
|
mkdir /dev/usb-ffs 0770 shell shell
|
||||||
|
mkdir /dev/usb-ffs/adb 0770 shell shell
|
||||||
|
mount functionfs adb /dev/usb-ffs/adb uid=2000,gid=2000
|
||||||
|
write /sys/class/android_usb/android0/f_ffs/aliases adb
|
||||||
|
|
||||||
|
on boot
|
||||||
|
write /sys/class/android_usb/android0/iManufacturer ${ro.product.manufacturer}
|
||||||
|
write /sys/class/android_usb/android0/iProduct ${ro.product.model}
|
||||||
|
write /sys/class/android_usb/android0/iSerial ${ro.serialno}
|
||||||
|
write /sys/class/android_usb/android0/f_mass_storage/inquiry_string "Samsung"
|
||||||
|
|
||||||
|
on property:sys.usb.config=mtp
|
||||||
|
write /sys/class/android_usb/android0/enable 0
|
||||||
|
write /sys/class/android_usb/android0/idVendor 04e8
|
||||||
|
write /sys/class/android_usb/android0/idProduct 6860
|
||||||
|
write /sys/class/android_usb/android0/functions ${sys.usb.config}
|
||||||
|
write /sys/class/android_usb/android0/enable 1
|
||||||
|
setprop sys.usb.state ${sys.usb.config}
|
||||||
|
|
||||||
|
on property:sys.usb.config=adb
|
||||||
|
start adbd
|
||||||
|
|
||||||
|
on property:sys.usb.ffs.ready=1 && property:sys.usb.config=adb
|
||||||
|
write /sys/class/android_usb/android0/enable 0
|
||||||
|
write /sys/class/android_usb/android0/idVendor 04e8
|
||||||
|
write /sys/class/android_usb/android0/idProduct 6860
|
||||||
|
write /sys/class/android_usb/android0/functions ${sys.usb.config}
|
||||||
|
write /sys/class/android_usb/android0/enable 1
|
||||||
|
setprop sys.usb.state ${sys.usb.config}
|
||||||
|
|
||||||
|
on property:sys.usb.config=mtp,adb
|
||||||
|
start adbd
|
||||||
|
|
||||||
|
on property:sys.usb.ffs.ready=1 && property:sys.usb.config=mtp,adb
|
||||||
|
write /sys/class/android_usb/android0/enable 0
|
||||||
|
write /sys/class/android_usb/android0/idVendor 04e8
|
||||||
|
write /sys/class/android_usb/android0/idProduct 6860
|
||||||
|
write /sys/class/android_usb/android0/functions ${sys.usb.config}
|
||||||
|
write /sys/class/android_usb/android0/enable 1
|
||||||
|
setprop sys.usb.state ${sys.usb.config}
|
||||||
|
|
||||||
|
on property:sys.usb.config=midi
|
||||||
|
write /sys/class/android_usb/android0/enable 0
|
||||||
|
write /sys/class/android_usb/android0/idVendor 04e8
|
||||||
|
write /sys/class/android_usb/android0/idProduct 686C
|
||||||
|
write /sys/class/android_usb/android0/functions ${sys.usb.config}
|
||||||
|
write /sys/class/android_usb/android0/enable 1
|
||||||
|
setprop sys.usb.state ${sys.usb.config}
|
||||||
|
|
||||||
|
on property:sys.usb.config=midi,adb
|
||||||
|
start adbd
|
||||||
|
|
||||||
|
on property:sys.usb.ffs.ready=1 && property:sys.usb.config=midi,adb
|
||||||
|
write /sys/class/android_usb/android0/enable 0
|
||||||
|
write /sys/class/android_usb/android0/idVendor 04e8
|
||||||
|
write /sys/class/android_usb/android0/idProduct 686C
|
||||||
|
write /sys/class/android_usb/android0/functions ${sys.usb.config}
|
||||||
|
write /sys/class/android_usb/android0/enable 1
|
||||||
|
setprop sys.usb.state ${sys.usb.config}
|
||||||
|
|
||||||
|
on property:sys.usb.config=ncm
|
||||||
|
write /sys/class/android_usb/android0/enable 0
|
||||||
|
write /sys/class/android_usb/android0/idVendor 04e8
|
||||||
|
write /sys/class/android_usb/android0/idProduct 685d
|
||||||
|
write /sys/class/android_usb/android0/functions ncm
|
||||||
|
write /sys/class/android_usb/android0/bDeviceClass 2
|
||||||
|
write /sys/class/android_usb/android0/enable 1
|
||||||
|
setprop sys.usb.state ${sys.usb.config}
|
||||||
|
|
||||||
|
on property:sys.usb.config=ncm,adb
|
||||||
|
start adbd
|
||||||
|
|
||||||
|
on property:sys.usb.ffs.ready=1 && property:sys.usb.config=ncm,adb
|
||||||
|
write /sys/class/android_usb/android0/enable 0
|
||||||
|
write /sys/class/android_usb/android0/idVendor 04e8
|
||||||
|
write /sys/class/android_usb/android0/idProduct 685d
|
||||||
|
write /sys/class/android_usb/android0/functions ncm,adb
|
||||||
|
write /sys/class/android_usb/android0/bDeviceClass 2
|
||||||
|
write /sys/class/android_usb/android0/enable 1
|
||||||
|
setprop sys.usb.state ${sys.usb.config}
|
||||||
|
|
||||||
|
on property:sys.usb.config=rndis
|
||||||
|
write /sys/class/android_usb/android0/enable 0
|
||||||
|
write /sys/class/android_usb/android0/idVendor 04e8
|
||||||
|
write /sys/class/android_usb/android0/idProduct 6863
|
||||||
|
write /sys/class/android_usb/android0/functions ${sys.usb.config}
|
||||||
|
write /sys/class/android_usb/android0/bDeviceClass 224
|
||||||
|
write /sys/class/android_usb/android0/enable 1
|
||||||
|
setprop sys.usb.state ${sys.usb.config}
|
||||||
|
|
||||||
|
on property:sys.usb.config=rndis,adb
|
||||||
|
start adbd
|
||||||
|
|
||||||
|
on property:sys.usb.ffs.ready=1 && property:sys.usb.config=rndis,adb
|
||||||
|
write /sys/class/android_usb/android0/enable 0
|
||||||
|
write /sys/class/android_usb/android0/idVendor 04e8
|
||||||
|
write /sys/class/android_usb/android0/idProduct 6864
|
||||||
|
write /sys/class/android_usb/android0/functions ${sys.usb.config}
|
||||||
|
write /sys/class/android_usb/android0/bDeviceClass 224
|
||||||
|
write /sys/class/android_usb/android0/enable 1
|
||||||
|
setprop sys.usb.state ${sys.usb.config}
|
||||||
|
|
||||||
|
on property:sys.usb.config=ptp
|
||||||
|
write /sys/class/android_usb/android0/enable 0
|
||||||
|
write /sys/class/android_usb/android0/idVendor 04e8
|
||||||
|
write /sys/class/android_usb/android0/idProduct 6865
|
||||||
|
write /sys/class/android_usb/android0/functions ${sys.usb.config}
|
||||||
|
write /sys/class/android_usb/android0/enable 1
|
||||||
|
setprop sys.usb.state ${sys.usb.config}
|
||||||
|
|
||||||
|
on property:sys.usb.config=ptp,adb
|
||||||
|
start adbd
|
||||||
|
|
||||||
|
on property:sys.usb.ffs.ready=1 && property:sys.usb.config=ptp,adb
|
||||||
|
write /sys/class/android_usb/android0/enable 0
|
||||||
|
write /sys/class/android_usb/android0/idVendor 04e8
|
||||||
|
write /sys/class/android_usb/android0/idProduct 6866
|
||||||
|
write /sys/class/android_usb/android0/functions ${sys.usb.config}
|
||||||
|
write /sys/class/android_usb/android0/enable 1
|
||||||
|
setprop sys.usb.state ${sys.usb.config}
|
||||||
|
|
||||||
|
on property:sys.usb.config=rndis,dm
|
||||||
|
write /sys/class/android_usb/android0/enable 0
|
||||||
|
write /sys/class/android_usb/android0/idVendor 04e8
|
||||||
|
write /sys/class/android_usb/android0/idProduct 6862
|
||||||
|
write /sys/class/android_usb/android0/functions ${sys.usb.config}
|
||||||
|
write /sys/class/android_usb/android0/enable 1
|
||||||
|
setprop sys.usb.state ${sys.usb.config}
|
||||||
|
|
||||||
|
on property:sys.usb.config=rndis,acm,dm
|
||||||
|
write /sys/class/android_usb/android0/enable 0
|
||||||
|
write /sys/class/android_usb/android0/idVendor 04e8
|
||||||
|
write /sys/class/android_usb/android0/idProduct 6862
|
||||||
|
write /sys/class/android_usb/android0/functions ${sys.usb.config}
|
||||||
|
write /sys/class/android_usb/android0/enable 1
|
||||||
|
setprop sys.usb.state ${sys.usb.config}
|
||||||
|
|
||||||
|
on property:sys.usb.config=rndis,acm,dm,adb
|
||||||
|
start adbd
|
||||||
|
|
||||||
|
on property:sys.usb.ffs.ready=1 && property:sys.usb.config=rndis,acm,dm,adb
|
||||||
|
write /sys/class/android_usb/android0/enable 0
|
||||||
|
write /sys/class/android_usb/android0/idVendor 04e8
|
||||||
|
write /sys/class/android_usb/android0/idProduct 6862
|
||||||
|
write /sys/class/android_usb/android0/functions ${sys.usb.config}
|
||||||
|
write /sys/class/android_usb/android0/enable 1
|
||||||
|
setprop sys.usb.state ${sys.usb.config}
|
||||||
|
|
||||||
|
on property:sys.usb.config=acm,dm,adb
|
||||||
|
start adbd
|
||||||
|
|
||||||
|
on property:sys.usb.ffs.ready=1 && property:sys.usb.config=acm,dm,adb
|
||||||
|
write /sys/class/android_usb/android0/enable 0
|
||||||
|
write /sys/class/android_usb/android0/idVendor 04E8
|
||||||
|
write /sys/class/android_usb/android0/idProduct 685d
|
||||||
|
write /sys/class/android_usb/android0/functions ${sys.usb.config}
|
||||||
|
write /sys/class/android_usb/android0/enable 1
|
||||||
|
setprop sys.usb.state ${sys.usb.config}
|
||||||
|
|
||||||
|
on property:sys.usb.config=acm,dm
|
||||||
|
write /sys/class/android_usb/android0/enable 0
|
||||||
|
write /sys/class/android_usb/android0/idVendor 04E8
|
||||||
|
write /sys/class/android_usb/android0/idProduct 685d
|
||||||
|
write /sys/class/android_usb/android0/functions ${sys.usb.config}
|
||||||
|
write /sys/class/android_usb/android0/enable 1
|
||||||
|
setprop sys.usb.state ${sys.usb.config}
|
||||||
|
|
||||||
|
on property:sys.usb.config=sec_charging
|
||||||
|
write /sys/class/android_usb/android0/enable 0
|
||||||
|
write /sys/class/android_usb/android0/idVendor 04E8
|
||||||
|
write /sys/class/android_usb/android0/idProduct 6860
|
||||||
|
write /sys/class/android_usb/android0/functions mtp
|
||||||
|
write /sys/class/android_usb/android0/enable 1
|
||||||
|
setprop sys.usb.state ${sys.usb.config}
|
||||||
|
|
||||||
|
on property:sys.usb.config=sec_charging,adb
|
||||||
|
start adbd
|
||||||
|
|
||||||
|
on property:sys.usb.ffs.ready=1 && property:sys.usb.config=sec_charging,adb
|
||||||
|
write /sys/class/android_usb/android0/enable 0
|
||||||
|
write /sys/class/android_usb/android0/idVendor 04E8
|
||||||
|
write /sys/class/android_usb/android0/idProduct 6860
|
||||||
|
write /sys/class/android_usb/android0/functions mtp,adb
|
||||||
|
write /sys/class/android_usb/android0/enable 1
|
||||||
|
setprop sys.usb.state ${sys.usb.config}
|
||||||
|
|
||||||
|
on property:sys.usb.config=vzw_charging
|
||||||
|
write /sys/class/android_usb/android0/enable 0
|
||||||
|
write /sys/class/android_usb/android0/idVendor 04E8
|
||||||
|
write /sys/class/android_usb/android0/idProduct 6860
|
||||||
|
write /sys/class/android_usb/android0/functions mtp
|
||||||
|
write /sys/class/android_usb/android0/enable 1
|
||||||
|
setprop sys.usb.state ${sys.usb.config}
|
||||||
|
|
||||||
|
on property:sys.usb.config=vzw_charging,adb
|
||||||
|
start adbd
|
||||||
|
|
||||||
|
on property:sys.usb.ffs.ready=1 && property:sys.usb.config=vzw_charging,adb
|
||||||
|
write /sys/class/android_usb/android0/enable 0
|
||||||
|
write /sys/class/android_usb/android0/idVendor 04E8
|
||||||
|
write /sys/class/android_usb/android0/idProduct 6860
|
||||||
|
write /sys/class/android_usb/android0/functions mtp,adb
|
||||||
|
write /sys/class/android_usb/android0/enable 1
|
||||||
|
setprop sys.usb.state ${sys.usb.config}
|
||||||
|
|
||||||
|
on property:sys.usb.config=mass_storage
|
||||||
|
write /sys/class/android_usb/android0/enable 0
|
||||||
|
write /sys/class/android_usb/android0/idVendor 04e8
|
||||||
|
write /sys/class/android_usb/android0/idProduct 685B
|
||||||
|
write /sys/class/android_usb/android0/functions ${sys.usb.config}
|
||||||
|
write /sys/class/android_usb/android0/enable 1
|
||||||
|
setprop sys.usb.state ${sys.usb.config}
|
||||||
|
|
||||||
|
on property:sys.usb.config=mass_storage,adb
|
||||||
|
start adbd
|
||||||
|
|
||||||
|
on property:sys.usb.ffs.ready=1 && property:sys.usb.config=mass_storage,adb
|
||||||
|
write /sys/class/android_usb/android0/enable 0
|
||||||
|
write /sys/class/android_usb/android0/idVendor 04e8
|
||||||
|
write /sys/class/android_usb/android0/idProduct 685e
|
||||||
|
write /sys/class/android_usb/android0/functions ${sys.usb.config}
|
||||||
|
write /sys/class/android_usb/android0/enable 1
|
||||||
|
setprop sys.usb.state ${sys.usb.config}
|
||||||
|
|
||||||
|
on property:sys.usb.config=mass_storage,acm
|
||||||
|
write /sys/class/android_usb/android0/enable 0
|
||||||
|
write /sys/class/android_usb/android0/idVendor 04e8
|
||||||
|
write /sys/class/android_usb/android0/idProduct 685e
|
||||||
|
write /sys/class/android_usb/android0/functions ${sys.usb.config}
|
||||||
|
write /sys/class/android_usb/android0/enable 1
|
||||||
|
setprop sys.usb.state ${sys.usb.config}
|
||||||
|
|
||||||
|
# rndis,acm,diag and diag,acm,adb used for Hidden Menu
|
||||||
|
|
||||||
|
on property:sys.usb.config=rndis,diag
|
||||||
|
write /sys/class/android_usb/android0/enable 0
|
||||||
|
write /sys/class/android_usb/android0/idVendor 04e8
|
||||||
|
write /sys/class/android_usb/android0/idProduct 6862
|
||||||
|
write /sys/class/android_usb/android0/f_diag/clients diag_mdm
|
||||||
|
write /sys/class/android_usb/android0/functions ${sys.usb.config}
|
||||||
|
write /sys/class/android_usb/android0/enable 1
|
||||||
|
setprop sys.usb.state ${sys.usb.config}
|
||||||
|
|
||||||
|
on property:sys.usb.config=dm,acm,adb
|
||||||
|
start adbd
|
||||||
|
|
||||||
|
on property:sys.usb.ffs.ready=1 && property:sys.usb.config=dm,acm,adb
|
||||||
|
write /sys/class/android_usb/android0/enable 0
|
||||||
|
write /sys/class/android_usb/android0/idVendor 04E8
|
||||||
|
write /sys/class/android_usb/android0/idProduct 685d
|
||||||
|
write /sys/class/android_usb/android0/f_diag/clients diag_mdm
|
||||||
|
write /sys/class/android_usb/android0/functions ${sys.usb.config}
|
||||||
|
write /sys/class/android_usb/android0/enable 1
|
||||||
|
setprop sys.usb.state ${sys.usb.config}
|
||||||
|
|
||||||
|
on property:sys.usb.config=diag,acm
|
||||||
|
write /sys/class/android_usb/android0/enable 0
|
||||||
|
write /sys/class/android_usb/android0/idVendor 04E8
|
||||||
|
write /sys/class/android_usb/android0/idProduct 685d
|
||||||
|
write /sys/class/android_usb/android0/f_diag/clients diag_mdm
|
||||||
|
write /sys/class/android_usb/android0/functions ${sys.usb.config}
|
||||||
|
write /sys/class/android_usb/android0/enable 1
|
||||||
|
setprop sys.usb.state ${sys.usb.config}
|
||||||
|
|
||||||
|
|
||||||
|
on property:sys.usb.config=rndis,acm,diag
|
||||||
|
write /sys/class/android_usb/android0/enable 0
|
||||||
|
write /sys/class/android_usb/android0/idVendor 04E8
|
||||||
|
write /sys/class/android_usb/android0/idProduct 6864
|
||||||
|
write /sys/class/android_usb/android0/f_diag/clients diag_mdm
|
||||||
|
write /sys/class/android_usb/android0/functions ${sys.usb.config}
|
||||||
|
write /sys/class/android_usb/android0/enable 1
|
||||||
|
setprop sys.usb.state ${sys.usb.config}
|
||||||
|
|
||||||
|
on property:sys.usb.config=mtp,conn_gadget
|
||||||
|
write /sys/class/android_usb/android0/enable 0
|
||||||
|
write /sys/class/android_usb/android0/idVendor 04e8
|
||||||
|
write /sys/class/android_usb/android0/idProduct 6860
|
||||||
|
write /sys/class/android_usb/android0/functions ${sys.usb.config}
|
||||||
|
write /sys/class/android_usb/android0/bDeviceClass 0
|
||||||
|
write /sys/class/android_usb/android0/enable 1
|
||||||
|
setprop sys.usb.state ${sys.usb.config}
|
||||||
|
|
||||||
|
on property:sys.usb.config=mtp,conn_gadget,adb
|
||||||
|
start adbd
|
||||||
|
|
||||||
|
on property:sys.usb.ffs.ready=1 && property:sys.usb.config=mtp,conn_gadget,adb
|
||||||
|
write /sys/class/android_usb/android0/enable 0
|
||||||
|
write /sys/class/android_usb/android0/idVendor 04e8
|
||||||
|
write /sys/class/android_usb/android0/idProduct 6860
|
||||||
|
write /sys/class/android_usb/android0/functions ${sys.usb.config}
|
||||||
|
write /sys/class/android_usb/android0/bDeviceClass 0
|
||||||
|
write /sys/class/android_usb/android0/enable 1
|
||||||
|
setprop sys.usb.state ${sys.usb.config}
|
||||||
|
|
57
rootdir/etc/init.wifi.rc
Normal file
57
rootdir/etc/init.wifi.rc
Normal file
|
@ -0,0 +1,57 @@
|
||||||
|
# Wi-Fi init file
|
||||||
|
on post-fs-data
|
||||||
|
mkdir /data/vendor/conn 0771 wifi root
|
||||||
|
mkdir /data/vendor/wifi 0771 wifi wifi
|
||||||
|
mkdir /data/vendor/wifi/wpa 0770 wifi wifi
|
||||||
|
mkdir /data/vendor/wifi/wpa/sockets 0770 wifi wifi
|
||||||
|
mkdir /data/vendor/log/wifi 0770 wifi system
|
||||||
|
|
||||||
|
# for WIFI TRP/TIS
|
||||||
|
chown wifi root /data/vendor/conn/.psm.info
|
||||||
|
chmod 0660 /data/vendor/conn/.psm.info
|
||||||
|
|
||||||
|
# for WIFI Antenna Selection
|
||||||
|
chown wifi root /data/vendor/conn/.ant.info
|
||||||
|
chmod 0660 /data/vendor/conn/.ant.info
|
||||||
|
|
||||||
|
# for WIFI Version
|
||||||
|
chown wifi root /data/vendor/conn/.wifiver.info
|
||||||
|
chmod 0664 /data/vendor/conn/.wifiver.info
|
||||||
|
|
||||||
|
# for WIFI MEMDUMP
|
||||||
|
# The default value of below memdump file is set in SecProductFeature
|
||||||
|
#write /data/vendor/conn/.memdump.info 2
|
||||||
|
chown wifi root /data/vendor/conn/.memdump.info
|
||||||
|
chmod 0660 /data/vendor/conn/.memdump.info
|
||||||
|
|
||||||
|
# for WIFI hotspot
|
||||||
|
chown wifi root /data/vendor/conn/.softap.info
|
||||||
|
chmod 0664 /data/vendor/conn/.softap.info
|
||||||
|
chown system wifi /vendor/etc/wifi/indoorchannel.info
|
||||||
|
chmod 0664 /vendor/etc/wifi/indoorchannel.info
|
||||||
|
|
||||||
|
# for WIFI MAC
|
||||||
|
chown wifi root /sys/wifi/mac_addr
|
||||||
|
chmod 0660 /sys/wifi/mac_addr
|
||||||
|
|
||||||
|
on boot
|
||||||
|
setprop wifi.interface wlan0
|
||||||
|
|
||||||
|
service wpa_supplicant /vendor/bin/hw/wpa_supplicant \
|
||||||
|
-O/data/vendor/wifi/wpa/sockets \
|
||||||
|
-g@android:wpa_wlan0
|
||||||
|
interface android.hardware.wifi.supplicant@1.0::ISupplicant default
|
||||||
|
interface android.hardware.wifi.supplicant@1.1::ISupplicant default
|
||||||
|
interface android.hardware.wifi.supplicant@1.2::ISupplicant default
|
||||||
|
interface android.hardware.wifi.supplicant@1.3::ISupplicant default
|
||||||
|
class main
|
||||||
|
socket wpa_wlan0 dgram 660 wifi wifi
|
||||||
|
disabled
|
||||||
|
oneshot
|
||||||
|
|
||||||
|
service macloader /vendor/bin/hw/macloader
|
||||||
|
class main
|
||||||
|
oneshot
|
||||||
|
|
||||||
|
# end of WiFi MFG (TestMode)
|
||||||
|
|
14
rootdir/etc/twrp.fstab
Normal file
14
rootdir/etc/twrp.fstab
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
/boot emmc /dev/block/platform/13540000.dwmmc0/by-name/BOOT
|
||||||
|
/recovery emmc /dev/block/platform/13540000.dwmmc0/by-name/RECOVERY flags=backup=1
|
||||||
|
/system ext4 /dev/block/platform/13540000.dwmmc0/by-name/SYSTEM
|
||||||
|
/data ext4 /dev/block/platform/13540000.dwmmc0/by-name/USERDATA flags=encryptable=footer;length=-20480
|
||||||
|
/cache ext4 /dev/block/platform/13540000.dwmmc0/by-name/CACHE
|
||||||
|
/modem emmc /dev/block/platform/13540000.dwmmc0/by-name/RADIO flags=backup=1;display="Modem"
|
||||||
|
/modem-cdma emmc /dev/block/platform/13540000.dwmmc0/by-name/CDMA-RADIO flags=backup=1;display="CDMA Modem";subpartitionof=/modem
|
||||||
|
/efs ext4 /dev/block/platform/13540000.dwmmc0/by-name/EFS flags=backup=1;display="EFS"
|
||||||
|
/cpefs emmc /dev/block/platform/13540000.dwmmc0/by-name/CPEFS flags=backup=1;display="CPEFS";subpartitionof=/efs
|
||||||
|
/m9kefs1 emmc /dev/block/platform/13540000.dwmmc0/by-name/m9kefs1 flags=backup=1;subpartitionof=/efs
|
||||||
|
/m9kefs2 emmc /dev/block/platform/13540000.dwmmc0/by-name/m9kefs2 flags=backup=1;subpartitionof=/efs
|
||||||
|
/m9kefs3 emmc /dev/block/platform/13540000.dwmmc0/by-name/m9kefs3 flags=backup=1;subpartitionof=/efs
|
||||||
|
/external_sd vfat /dev/block/mmcblk1p1 /dev/block/mmcblk1 flags=display="Micro SDcard";storage;wipeingui;removable
|
||||||
|
/usb-otg vfat /dev/block/sda1 /dev/block/sda flags=display="USB-OTG";storage;wipeingui;removable
|
268
rootdir/etc/ueventd.samsungexynos7870.rc
Normal file
268
rootdir/etc/ueventd.samsungexynos7870.rc
Normal file
|
@ -0,0 +1,268 @@
|
||||||
|
# ueventd can only set permissions on device nodes and their associated
|
||||||
|
# sysfs attributes, not on arbitrary paths.
|
||||||
|
#
|
||||||
|
# format for /dev rules: devname mode uid gid
|
||||||
|
# format for /sys rules: nodename attr mode uid gid
|
||||||
|
# shortcut: "mtd@NN" expands to "/dev/mtd/mtdNN"
|
||||||
|
|
||||||
|
/dev/null 0666 root root
|
||||||
|
/dev/zero 0666 root root
|
||||||
|
/dev/full 0666 root root
|
||||||
|
/dev/ptmx 0666 root root
|
||||||
|
/dev/tty 0666 root root
|
||||||
|
/dev/random 0666 root root
|
||||||
|
/dev/urandom 0666 root root
|
||||||
|
# Make HW RNG readable by group system to let EntropyMixer read it.
|
||||||
|
/dev/hw_random 0440 root system
|
||||||
|
/dev/ashmem 0666 root root
|
||||||
|
/dev/binder 0666 root root
|
||||||
|
/dev/hwbinder 0666 root root
|
||||||
|
/dev/vndbinder 0666 root root
|
||||||
|
/dev/ovr* 0664 root system
|
||||||
|
/dev/tvr* 0664 root system
|
||||||
|
/dev/pmsg0 0222 root log
|
||||||
|
|
||||||
|
# the msm hw3d client device node is world writable/readable.
|
||||||
|
/dev/msm_hw3dc 0666 root root
|
||||||
|
|
||||||
|
# gpu driver for adreno200 is globally accessible
|
||||||
|
/dev/kgsl 0666 root root
|
||||||
|
|
||||||
|
# kms driver for drm based gpu
|
||||||
|
/dev/dri/* 0666 root graphics
|
||||||
|
|
||||||
|
# these should not be world writable
|
||||||
|
/dev/diag 0660 radio radio
|
||||||
|
/dev/diag_arm9 0660 radio radio
|
||||||
|
/dev/ttyMSM0 0600 bluetooth bluetooth
|
||||||
|
/dev/uhid 0660 uhid uhid
|
||||||
|
/dev/uinput 0660 system bluetooth
|
||||||
|
/dev/alarm 0664 system radio
|
||||||
|
/dev/power_on_alarm 0660 system radio
|
||||||
|
/dev/rtc0 0660 system system
|
||||||
|
/dev/tty0 0660 root system
|
||||||
|
/dev/ttySAC0 0660 root radio
|
||||||
|
/dev/graphics/* 0660 root graphics
|
||||||
|
/dev/msm_hw3dm 0660 system graphics
|
||||||
|
/dev/input/* 0660 root input
|
||||||
|
/dev/v4l-touch* 0660 root input
|
||||||
|
/dev/eac 0660 root audio
|
||||||
|
/dev/cam 0660 root camera
|
||||||
|
/dev/pmem 0660 system graphics
|
||||||
|
/dev/pmem_adsp* 0660 system audio
|
||||||
|
/dev/pmem_camera* 0660 system camera
|
||||||
|
/dev/oncrpc/* 0660 root system
|
||||||
|
/dev/adsp/* 0660 system audio
|
||||||
|
/dev/snd/* 0660 system audio
|
||||||
|
/dev/mt9t013 0660 system system
|
||||||
|
/dev/msm_camera/* 0660 system system
|
||||||
|
/dev/akm8976_daemon 0640 compass system
|
||||||
|
/dev/akm8976_aot 0640 compass system
|
||||||
|
/dev/akm8973_daemon 0640 compass system
|
||||||
|
/dev/akm8973_aot 0640 compass system
|
||||||
|
/dev/bma150 0640 compass system
|
||||||
|
/dev/cm3602 0640 compass system
|
||||||
|
/dev/akm8976_pffd 0640 compass system
|
||||||
|
/dev/lightsensor 0640 system system
|
||||||
|
/dev/msm_pcm_out* 0660 system audio
|
||||||
|
/dev/msm_pcm_in* 0660 system audio
|
||||||
|
/dev/msm_pcm_ctl* 0660 system audio
|
||||||
|
/dev/msm_snd* 0660 system audio
|
||||||
|
/dev/msm_mp3* 0660 system audio
|
||||||
|
/dev/audience_a1026* 0660 system audio
|
||||||
|
/dev/tpa2018d1* 0660 system audio
|
||||||
|
/dev/msm_audpre 0660 system audio
|
||||||
|
/dev/msm_audio_ctl 0660 system audio
|
||||||
|
/dev/htc-acoustic 0660 system audio
|
||||||
|
/dev/vdec 0660 system audio
|
||||||
|
/dev/q6venc 0660 system audio
|
||||||
|
/dev/snd/dsp 0660 system audio
|
||||||
|
/dev/snd/dsp1 0660 system audio
|
||||||
|
/dev/snd/mixer 0660 system audio
|
||||||
|
/dev/smd0 0640 radio radio
|
||||||
|
/dev/qmi 0640 radio radio
|
||||||
|
/dev/qmi0 0640 radio radio
|
||||||
|
/dev/qmi1 0640 radio radio
|
||||||
|
/dev/qmi2 0640 radio radio
|
||||||
|
/dev/bus/usb/* 0660 root usb
|
||||||
|
/dev/mtp_usb 0660 root mtp
|
||||||
|
/dev/usb_accessory 0660 root usb
|
||||||
|
/dev/tun 0660 system vpn
|
||||||
|
/dev/input/event* 0660 system input
|
||||||
|
|
||||||
|
# CDMA radio interface MUX
|
||||||
|
/dev/ts0710mux* 0640 radio radio
|
||||||
|
/dev/ppp 0660 radio vpn
|
||||||
|
|
||||||
|
# sysfs properties
|
||||||
|
/sys/devices/platform/trusty.* trusty_version 0440 root log
|
||||||
|
/sys/devices/virtual/input/input* enable 0660 system input
|
||||||
|
/sys/devices/virtual/input/input* poll_delay 0660 system input
|
||||||
|
/sys/devices/virtual/usb_composite/* enable 0664 root system
|
||||||
|
/sys/devices/system/cpu/cpu* cpufreq/scaling_max_freq 0664 system system
|
||||||
|
/sys/devices/system/cpu/cpu* cpufreq/scaling_min_freq 0664 system system
|
||||||
|
|
||||||
|
# MobiCore
|
||||||
|
/dev/mobicore 0700 system system
|
||||||
|
/dev/mobicore-user 0666 radio system
|
||||||
|
|
||||||
|
# Secure MEM driver
|
||||||
|
/dev/s5p-smem 0660 system system
|
||||||
|
|
||||||
|
# Fingerprint Sensor
|
||||||
|
/dev/vfsspi 0660 system system
|
||||||
|
/dev/esfp0 0660 system system
|
||||||
|
/dev/goodix_fp 0660 system system
|
||||||
|
/dev/qbt2000_fd 0660 system system
|
||||||
|
/dev/qbt2000_ipc 0660 system system
|
||||||
|
/dev/qbtspi 0660 system system
|
||||||
|
|
||||||
|
# DVB API device nodes
|
||||||
|
/dev/dvb* 0660 root system
|
||||||
|
|
||||||
|
# USB
|
||||||
|
/dev/ttyGS* 0660 system system
|
||||||
|
|
||||||
|
# MPSD
|
||||||
|
/dev/mpsd 0660 system system
|
||||||
|
|
||||||
|
/dev/mali0 0666 system system
|
||||||
|
/dev/ion 0666 system system
|
||||||
|
/dev/ump 0666 system graphics
|
||||||
|
/dev/exynos-mem 0660 system graphics
|
||||||
|
/dev/video0 0660 system camera
|
||||||
|
/dev/video1 0660 system camera
|
||||||
|
/dev/video2 0660 system camera
|
||||||
|
/dev/video3 0660 system camera
|
||||||
|
/dev/video20 0660 system system
|
||||||
|
# media0 is used for GSC, DECON, etc
|
||||||
|
/dev/media0 0660 system camera
|
||||||
|
# media1 is used for DECON Ext WB
|
||||||
|
/dev/media1 0660 system graphics
|
||||||
|
# Various devices use the v4l-subdev interface
|
||||||
|
# We declare all such nodes simultaneously here
|
||||||
|
/dev/v4l-subdev0 0660 system camera
|
||||||
|
/dev/v4l-subdev1 0660 system camera
|
||||||
|
/dev/v4l-subdev2 0660 system camera
|
||||||
|
/dev/v4l-subdev3 0660 system camera
|
||||||
|
/dev/v4l-subdev4 0660 system camera
|
||||||
|
/dev/v4l-subdev5 0660 system camera
|
||||||
|
/dev/v4l-subdev6 0660 system camera
|
||||||
|
/dev/v4l-subdev7 0660 system camera
|
||||||
|
/dev/v4l-subdev8 0660 system camera
|
||||||
|
/dev/v4l-subdev9 0660 system camera
|
||||||
|
/dev/v4l-subdev10 0660 system camera
|
||||||
|
/dev/v4l-subdev11 0660 system camera
|
||||||
|
/dev/v4l-subdev12 0660 system camera
|
||||||
|
/dev/v4l-subdev13 0660 system camera
|
||||||
|
/dev/v4l-subdev14 0660 system camera
|
||||||
|
/dev/v4l-subdev15 0660 system camera
|
||||||
|
/dev/v4l-subdev16 0660 system camera
|
||||||
|
/dev/v4l-subdev17 0660 system camera
|
||||||
|
/dev/v4l-subdev18 0660 system camera
|
||||||
|
/dev/v4l-subdev19 0660 system camera
|
||||||
|
# v4l-subdev20 is used for DECON Ext WB
|
||||||
|
/dev/v4l-subdev20 0660 system graphics
|
||||||
|
/dev/v4l-subdev21 0660 system graphics
|
||||||
|
|
||||||
|
# gscalers
|
||||||
|
/dev/video23 0660 media graphics
|
||||||
|
/dev/video26 0660 media graphics
|
||||||
|
/dev/video24 0660 media graphics
|
||||||
|
/dev/video27 0660 media graphics
|
||||||
|
/dev/video29 0660 media graphics
|
||||||
|
/dev/video30 0660 media graphics
|
||||||
|
# video31 is used for DECON Ext WB
|
||||||
|
/dev/video31 0660 media graphics
|
||||||
|
|
||||||
|
# mscalers
|
||||||
|
/dev/video50 0660 mediacodec drmrpc
|
||||||
|
/dev/video51 0660 media graphics
|
||||||
|
/dev/m2m1shot_scaler0 0660 mediacodec drmrpc
|
||||||
|
/dev/m2m1shot_scaler1 0660 cameraserver cameraserver
|
||||||
|
|
||||||
|
/dev/video55 0666 system graphics
|
||||||
|
/dev/fimg2d 0666 system graphics
|
||||||
|
/dev/i2c-2 0660 system system
|
||||||
|
/dev/HPD 0660 system system
|
||||||
|
|
||||||
|
# mfc
|
||||||
|
/dev/video6 0660 mediacodec mediadrm
|
||||||
|
/dev/video7 0660 mediacodec mediadrm
|
||||||
|
/dev/video8 0660 mediacodec mediadrm
|
||||||
|
/dev/video9 0660 mediacodec mediadrm
|
||||||
|
|
||||||
|
# camera
|
||||||
|
/dev/video100 0660 cameraserver camera
|
||||||
|
/dev/video101 0660 cameraserver camera
|
||||||
|
/dev/video102 0660 cameraserver camera
|
||||||
|
/dev/video103 0660 cameraserver camera
|
||||||
|
/dev/video104 0660 cameraserver camera
|
||||||
|
/dev/video109 0660 cameraserver camera
|
||||||
|
/dev/video110 0660 cameraserver camera
|
||||||
|
/dev/video111 0660 cameraserver camera
|
||||||
|
/dev/video112 0660 cameraserver camera
|
||||||
|
/dev/video120 0660 cameraserver camera
|
||||||
|
/dev/video121 0660 cameraserver camera
|
||||||
|
/dev/video122 0660 cameraserver camera
|
||||||
|
/dev/video130 0660 cameraserver camera
|
||||||
|
/dev/video131 0660 cameraserver camera
|
||||||
|
/dev/video132 0660 cameraserver camera
|
||||||
|
/dev/video140 0660 cameraserver camera
|
||||||
|
/dev/video141 0660 cameraserver camera
|
||||||
|
/dev/video142 0660 cameraserver camera
|
||||||
|
/dev/video150 0660 cameraserver camera
|
||||||
|
/dev/video151 0660 cameraserver camera
|
||||||
|
/dev/video152 0660 cameraserver camera
|
||||||
|
/dev/video160 0660 cameraserver camera
|
||||||
|
/dev/media2 0660 media media
|
||||||
|
|
||||||
|
# hevc
|
||||||
|
/dev/video10 0660 media media
|
||||||
|
/dev/video11 0660 media media
|
||||||
|
|
||||||
|
# jpeg
|
||||||
|
/dev/video12 0660 cameraserver media
|
||||||
|
|
||||||
|
# audio
|
||||||
|
/dev/seiren 0660 system audio
|
||||||
|
|
||||||
|
# Secure MEM driver
|
||||||
|
/dev/s5p-smem 0660 system system
|
||||||
|
|
||||||
|
# cbd modem block
|
||||||
|
/dev/block/mmcblk0p5 0400 radio system
|
||||||
|
|
||||||
|
# Modem Interface
|
||||||
|
/dev/block/platform/13540000.dwmmc0/by-name/RADIO 0660 system radio
|
||||||
|
/dev/block/platform/13540000.dwmmc0/by-name/CP_DEBUG 0660 radio system
|
||||||
|
/dev/umts* 0660 system radio
|
||||||
|
/dev/umts_csd 0660 system loop_radio
|
||||||
|
/dev/smd4 0660 system radio
|
||||||
|
/dev/umts_ciq* 0660 system bridge_rw
|
||||||
|
|
||||||
|
# SIPC RIL
|
||||||
|
/dev/umts_boot0 0660 radio radio
|
||||||
|
/dev/umts_ipc0 0660 radio radio
|
||||||
|
/dev/umts_ipc1 0660 radio radio
|
||||||
|
/dev/umts_rfs0 0660 radio radio
|
||||||
|
|
||||||
|
# interactive governor parameters
|
||||||
|
/sys/devices/system/cpu/cpu* cpufreq/interactive/timer_rate 0660 system system
|
||||||
|
/sys/devices/system/cpu/cpu* cpufreq/interactive/timer_slack 0660 system system
|
||||||
|
/sys/devices/system/cpu/cpu* cpufreq/interactive/min_sample_time 0660 system system
|
||||||
|
/sys/devices/system/cpu/cpu* cpufreq/interactive/hispeed_freq 0660 system system
|
||||||
|
/sys/devices/system/cpu/cpu* cpufreq/interactive/target_loads 0660 system system
|
||||||
|
/sys/devices/system/cpu/cpu* cpufreq/interactive/go_hispeed_load 0660 system system
|
||||||
|
/sys/devices/system/cpu/cpu* cpufreq/interactive/above_hispeed_delay 0660 system system
|
||||||
|
/sys/devices/system/cpu/cpu* cpufreq/interactive/boost 0660 system system
|
||||||
|
/sys/devices/system/cpu/cpu* cpufreq/interactive/boostpulse 0200 system system
|
||||||
|
/sys/devices/system/cpu/cpu* cpufreq/interactive/input_boost 0660 system system
|
||||||
|
/sys/devices/system/cpu/cpu* cpufreq/interactive/boostpulse_duration 0660 system system
|
||||||
|
/sys/devices/system/cpu/cpu* cpufreq/interactive/io_is_busy 0660 system system
|
||||||
|
|
||||||
|
# Google FRP solution
|
||||||
|
/dev/block/platform/13540000.dwmmc0/by-name/PERSISTENT 0660 system system
|
||||||
|
|
||||||
|
# Reactivation Lock
|
||||||
|
/dev/block/platform/13540000.dwmmc0/by-name/STEADY 0660 system system
|
19
seccomp/mediacodec-seccomp.policy
Normal file
19
seccomp/mediacodec-seccomp.policy
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
# device specific syscalls
|
||||||
|
# extension of services/mediacodec/minijail/seccomp_policy/mediacodec-seccomp-arm.policy
|
||||||
|
pselect6: 1
|
||||||
|
eventfd2: 1
|
||||||
|
sendto: 1
|
||||||
|
recvfrom: 1
|
||||||
|
_llseek: 1
|
||||||
|
sysinfo: 1
|
||||||
|
getcwd: 1
|
||||||
|
getdents64: 1
|
||||||
|
ARM_cacheflush: 1
|
||||||
|
inotify_init1: 1
|
||||||
|
inotify_add_watch: 1
|
||||||
|
inotify_rm_watch: 1
|
||||||
|
uname: 1
|
||||||
|
ueventd: 1
|
||||||
|
timer_create: 1
|
||||||
|
timer_settime: 1
|
||||||
|
rt_sigtimedwait: 1
|
5
seccomp/mediaextractor-seccomp.policy
Normal file
5
seccomp/mediaextractor-seccomp.policy
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
# device specific syscalls.
|
||||||
|
# extension of services/mediaextractor/minijail/seccomp_policy/mediaextractor-seccomp-arm.policy
|
||||||
|
readlinkat: 1
|
||||||
|
pread64: 1
|
||||||
|
mremap: 1
|
3
sepolicy_minimal/file.te
Normal file
3
sepolicy_minimal/file.te
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
type sec_efs_file, file_type;
|
||||||
|
|
||||||
|
|
3
sepolicy_minimal/file_contexts
Normal file
3
sepolicy_minimal/file_contexts
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
/cpefs(/.*)? u:object_r:sec_efs_file:s0
|
||||||
|
|
||||||
|
|
48
setup-makefiles.sh
Normal file
48
setup-makefiles.sh
Normal file
|
@ -0,0 +1,48 @@
|
||||||
|
#!/bin/bash
|
||||||
|
#
|
||||||
|
# Copyright (C) 2017-2019 The LineageOS Project
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
#
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
VENDOR=samsung
|
||||||
|
DEVICE=universal7870-common
|
||||||
|
|
||||||
|
export INITIAL_COPYRIGHT_YEAR=2017
|
||||||
|
|
||||||
|
# Load extract_utils and do some sanity checks
|
||||||
|
MY_DIR="${BASH_SOURCE%/*}"
|
||||||
|
if [[ ! -d "${MY_DIR}" ]]; then MY_DIR="${PWD}"; fi
|
||||||
|
|
||||||
|
LINEAGE_ROOT="${MY_DIR}/../../.."
|
||||||
|
|
||||||
|
HELPER="${AOSP_ROOT}/vendor/aosp/build/tools/extract_utils.sh"
|
||||||
|
if [ ! -f "${HELPER}" ]; then
|
||||||
|
echo "Unable to find helper script at ${HELPER}"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
source "${HELPER}"
|
||||||
|
|
||||||
|
# Initialize the helper
|
||||||
|
setup_vendor "${DEVICE}" "${VENDOR}" "${AOSP_ROOT}"
|
||||||
|
|
||||||
|
# Copyright headers and guards
|
||||||
|
write_headers "universal7870-common"
|
||||||
|
|
||||||
|
# The standard blobs
|
||||||
|
write_makefiles "${MY_DIR}/proprietary-files.txt" true
|
||||||
|
|
||||||
|
# Finish
|
||||||
|
write_footers
|
20
shims/Android.mk
Normal file
20
shims/Android.mk
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# Copyright (C) 2016 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.
|
||||||
|
#
|
||||||
|
|
||||||
|
LOCAL_PATH := $(call my-dir)
|
||||||
|
|
||||||
|
include $(call all-subdir-makefiles,$(LOCAL_PATH))
|
27
shims/libexynoscamera/Android.mk
Normal file
27
shims/libexynoscamera/Android.mk
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
#
|
||||||
|
# Copyright (C) 2019 The LineageOS Project
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
|
||||||
|
LOCAL_PATH := $(call my-dir)
|
||||||
|
|
||||||
|
include $(CLEAR_VARS)
|
||||||
|
LOCAL_SRC_FILES := CameraParameters.cpp GraphicBuffer.cpp
|
||||||
|
LOCAL_C_INCLUDES := frameworks/native/include
|
||||||
|
LOCAL_SHARED_LIBRARIES := libui libutils
|
||||||
|
LOCAL_MODULE := libexynoscamera_shim
|
||||||
|
LOCAL_MODULE_TAGS := optional
|
||||||
|
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
|
||||||
|
LOCAL_VENDOR_MODULE := true
|
||||||
|
|
||||||
|
include $(BUILD_SHARED_LIBRARY)
|
50
shims/libexynoscamera/CameraParameters.cpp
Normal file
50
shims/libexynoscamera/CameraParameters.cpp
Normal file
|
@ -0,0 +1,50 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2018 The LineageOS Project
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "CameraParameters.h"
|
||||||
|
|
||||||
|
namespace android {
|
||||||
|
|
||||||
|
const char CameraParameters::PIXEL_FORMAT_YUV420SP_NV21[] = "nv21";
|
||||||
|
const char CameraParameters::EFFECT_CARTOONIZE[] = "cartoonize";
|
||||||
|
const char CameraParameters::EFFECT_POINT_RED_YELLOW[] = "point-red-yellow";
|
||||||
|
const char CameraParameters::EFFECT_POINT_GREEN[] = "point-green";
|
||||||
|
const char CameraParameters::EFFECT_POINT_BLUE[] = "point-blue";
|
||||||
|
const char CameraParameters::EFFECT_VINTAGE_COLD[] = "vintage-cold";
|
||||||
|
const char CameraParameters::EFFECT_VINTAGE_WARM[] = "vintage-warm";
|
||||||
|
const char CameraParameters::EFFECT_WASHED[] = "washed";
|
||||||
|
const char CameraParameters::ISO_AUTO[] = "auto";
|
||||||
|
const char CameraParameters::ISO_NIGHT[] = "night";
|
||||||
|
const char CameraParameters::ISO_SPORTS[] = "sports";
|
||||||
|
const char CameraParameters::ISO_1600[] = "1600";
|
||||||
|
const char CameraParameters::ISO_800[] = "800";
|
||||||
|
const char CameraParameters::ISO_400[] = "400";
|
||||||
|
const char CameraParameters::ISO_200[] = "200";
|
||||||
|
const char CameraParameters::ISO_100[] = "100";
|
||||||
|
const char CameraParameters::ISO_80[] = "80";
|
||||||
|
const char CameraParameters::ISO_50[] = "50";
|
||||||
|
const char CameraParameters::KEY_SUPPORTED_METERING_MODE[] = "metering-values";
|
||||||
|
const char CameraParameters::METERING_CENTER[] = "center";
|
||||||
|
const char CameraParameters::METERING_MATRIX[] = "matrix";
|
||||||
|
const char CameraParameters::METERING_SPOT[] = "spot";
|
||||||
|
const char CameraParameters::METERING_OFF[] = "off";
|
||||||
|
const char CameraParameters::KEY_DYNAMIC_RANGE_CONTROL[] = "dynamic-range-control";
|
||||||
|
const char CameraParameters::KEY_SUPPORTED_PHASE_AF[] = "phase-af-values";
|
||||||
|
const char CameraParameters::KEY_PHASE_AF[] = "phase-af";
|
||||||
|
const char CameraParameters::KEY_SUPPORTED_RT_HDR[] = "rt-hdr-values";
|
||||||
|
const char CameraParameters::KEY_RT_HDR[] = "rt-hdr";
|
||||||
|
|
||||||
|
}; // namespace android
|
52
shims/libexynoscamera/CameraParameters.h
Normal file
52
shims/libexynoscamera/CameraParameters.h
Normal file
|
@ -0,0 +1,52 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2018 The LineageOS Project
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace android {
|
||||||
|
|
||||||
|
class CameraParameters
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
static const char PIXEL_FORMAT_YUV420SP_NV21[];
|
||||||
|
static const char EFFECT_CARTOONIZE[];
|
||||||
|
static const char EFFECT_POINT_RED_YELLOW[];
|
||||||
|
static const char EFFECT_POINT_GREEN[];
|
||||||
|
static const char EFFECT_POINT_BLUE[];
|
||||||
|
static const char EFFECT_VINTAGE_COLD[];
|
||||||
|
static const char EFFECT_VINTAGE_WARM[];
|
||||||
|
static const char EFFECT_WASHED[];
|
||||||
|
static const char ISO_AUTO[];
|
||||||
|
static const char ISO_NIGHT[];
|
||||||
|
static const char ISO_SPORTS[];
|
||||||
|
static const char ISO_1600[];
|
||||||
|
static const char ISO_800[];
|
||||||
|
static const char ISO_400[];
|
||||||
|
static const char ISO_200[];
|
||||||
|
static const char ISO_100[];
|
||||||
|
static const char ISO_80[];
|
||||||
|
static const char ISO_50[];
|
||||||
|
static const char KEY_SUPPORTED_METERING_MODE[];
|
||||||
|
static const char METERING_CENTER[];
|
||||||
|
static const char METERING_MATRIX[];
|
||||||
|
static const char METERING_SPOT[];
|
||||||
|
static const char METERING_OFF[];
|
||||||
|
static const char KEY_DYNAMIC_RANGE_CONTROL[];
|
||||||
|
static const char KEY_SUPPORTED_PHASE_AF[];
|
||||||
|
static const char KEY_PHASE_AF[];
|
||||||
|
static const char KEY_SUPPORTED_RT_HDR[];
|
||||||
|
static const char KEY_RT_HDR[];
|
||||||
|
};
|
||||||
|
|
||||||
|
}; // namespace android
|
20
shims/libexynoscamera/GraphicBuffer.cpp
Normal file
20
shims/libexynoscamera/GraphicBuffer.cpp
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2018 The LineageOS Project
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <ui/GraphicBuffer.h>
|
||||||
|
|
||||||
|
extern "C" void _ZN7android5FenceD1Ev() {
|
||||||
|
}
|
46
shims/libstagefright/Android.mk
Normal file
46
shims/libstagefright/Android.mk
Normal file
|
@ -0,0 +1,46 @@
|
||||||
|
#
|
||||||
|
# Copyright (C) 2018 The LineageOS Project
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
|
||||||
|
LOCAL_PATH := $(call my-dir)
|
||||||
|
|
||||||
|
include $(CLEAR_VARS)
|
||||||
|
LOCAL_SRC_FILES := CameraSource.cpp
|
||||||
|
|
||||||
|
LOCAL_C_INCLUDES := \
|
||||||
|
$(TOP)/frameworks/av/include \
|
||||||
|
$(TOP)/frameworks/av/media/ndk/include \
|
||||||
|
$(TOP)/frameworks/native/include \
|
||||||
|
$(TOP)/frameworks/native/include/gui \
|
||||||
|
$(TOP)/frameworks/native/include/media/hardware \
|
||||||
|
$(TOP)/frameworks/native/include/media/openmax \
|
||||||
|
$(TOP)/frameworks/native/libs/arect/include \
|
||||||
|
$(TOP)/frameworks/native/libs/nativebase/include \
|
||||||
|
$(TOP)/frameworks/native/libs/nativewindow/include \
|
||||||
|
$(TOP)/frameworks/native/opengl/include \
|
||||||
|
$(TOP)/hardware/libhardware/include \
|
||||||
|
$(TOP)/hardware/interfaces/graphics/bufferqueue/2.0
|
||||||
|
|
||||||
|
LOCAL_SHARED_LIBRARIES := \
|
||||||
|
android.hardware.graphics.bufferqueue@1.0 \
|
||||||
|
android.hidl.token@1.0-utils \
|
||||||
|
libbase \
|
||||||
|
liblog
|
||||||
|
|
||||||
|
LOCAL_MODULE := libstagefright_shim
|
||||||
|
LOCAL_MODULE_TAGS := optional
|
||||||
|
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
|
||||||
|
LOCAL_VENDOR_MODULE := true
|
||||||
|
|
||||||
|
include $(BUILD_SHARED_LIBRARY)
|
97
shims/libstagefright/CameraSource.cpp
Normal file
97
shims/libstagefright/CameraSource.cpp
Normal file
|
@ -0,0 +1,97 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2018 The LineageOS Project
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
//#define LOG_NDEBUG 0
|
||||||
|
#define LOG_TAG "libstagefright_shim"
|
||||||
|
#include <utils/Log.h>
|
||||||
|
|
||||||
|
#include <OMX_Component.h>
|
||||||
|
#include <camera/CameraParameters.h>
|
||||||
|
#include <media/stagefright/CameraSource.h>
|
||||||
|
|
||||||
|
namespace android {
|
||||||
|
|
||||||
|
static const char PIXEL_FORMAT_YUV420SP_NV21[] = "nv21";
|
||||||
|
|
||||||
|
static int32_t getColorFormat(const char* colorFormat) {
|
||||||
|
if (!colorFormat) {
|
||||||
|
ALOGE("Invalid color format");
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!strcmp(colorFormat, CameraParameters::PIXEL_FORMAT_YUV420P)) {
|
||||||
|
return OMX_COLOR_FormatYUV420Planar;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!strcmp(colorFormat, CameraParameters::PIXEL_FORMAT_YUV422SP)) {
|
||||||
|
return OMX_COLOR_FormatYUV422SemiPlanar;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!strcmp(colorFormat, CameraParameters::PIXEL_FORMAT_YUV420SP)) {
|
||||||
|
return OMX_COLOR_FormatYUV420SemiPlanar;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!strcmp(colorFormat, PIXEL_FORMAT_YUV420SP_NV21)) {
|
||||||
|
static const int OMX_SEC_COLOR_FormatNV21Linear = 0x7F000011;
|
||||||
|
return OMX_SEC_COLOR_FormatNV21Linear;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!strcmp(colorFormat, CameraParameters::PIXEL_FORMAT_YUV422I)) {
|
||||||
|
return OMX_COLOR_FormatYCbYCr;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!strcmp(colorFormat, CameraParameters::PIXEL_FORMAT_RGB565)) {
|
||||||
|
return OMX_COLOR_Format16bitRGB565;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!strcmp(colorFormat, "OMX_TI_COLOR_FormatYUV420PackedSemiPlanar")) {
|
||||||
|
return OMX_TI_COLOR_FormatYUV420PackedSemiPlanar;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!strcmp(colorFormat, CameraParameters::PIXEL_FORMAT_ANDROID_OPAQUE)) {
|
||||||
|
return OMX_COLOR_FormatAndroidOpaque;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!strcmp(colorFormat, "YVU420SemiPlanar")) {
|
||||||
|
return OMX_QCOM_COLOR_FormatYVU420SemiPlanar;
|
||||||
|
}
|
||||||
|
|
||||||
|
ALOGE("Uknown color format (%s), please add it to "
|
||||||
|
"CameraSource::getColorFormat", colorFormat);
|
||||||
|
|
||||||
|
//CHECK(!"Unknown color format");
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Check whether the camera has the supported color format
|
||||||
|
* @param params CameraParameters to retrieve the information
|
||||||
|
* @return OK if no error.
|
||||||
|
*/
|
||||||
|
status_t CameraSource::isCameraColorFormatSupported(
|
||||||
|
const CameraParameters& params) {
|
||||||
|
ALOGW("SHIM: hijacking %s!", __func__);
|
||||||
|
|
||||||
|
mColorFormat = getColorFormat(params.get(
|
||||||
|
CameraParameters::KEY_VIDEO_FRAME_FORMAT));
|
||||||
|
if (mColorFormat == -1) {
|
||||||
|
return BAD_VALUE;
|
||||||
|
}
|
||||||
|
return OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace android
|
77
vendor_prop.mk
Normal file
77
vendor_prop.mk
Normal file
|
@ -0,0 +1,77 @@
|
||||||
|
# Low memory optimization
|
||||||
|
ro.config.low_ram=true
|
||||||
|
|
||||||
|
# Audio
|
||||||
|
PRODUCT_PROPERTY_OVERRIDES += \
|
||||||
|
af.fast_track_multiplier=1 \
|
||||||
|
audio_hal.force_voice_config=wide
|
||||||
|
|
||||||
|
# Bluetooth
|
||||||
|
PRODUCT_PROPERTY_OVERRIDES += \
|
||||||
|
ro.bt.bdaddr_path=/efs/bluetooth/bt_addr
|
||||||
|
|
||||||
|
# Dalvik/Art
|
||||||
|
PRODUCT_PROPERTY_OVERRIDES += \
|
||||||
|
dalvik.vm.dex2oat-filter=speed \
|
||||||
|
dalvik.vm.image-dex2oat-filter=speed \
|
||||||
|
ro.sys.fw.dex2oat_thread_count=8 \
|
||||||
|
dalvik.vm.boot-dex2oat-threads=8 \
|
||||||
|
dalvik.vm.dex2oat-threads=8 \
|
||||||
|
dalvik.vm.heapstartsize=8m \
|
||||||
|
dalvik.vm.heapgrowthlimit=192m \
|
||||||
|
dalvik.vm.heapsize=512m \
|
||||||
|
dalvik.vm.heaptargetutilization=0.75 \
|
||||||
|
dalvik.vm.heapminfree=512k \
|
||||||
|
dalvik.vm.heapmaxfree=8m
|
||||||
|
|
||||||
|
# Graphics
|
||||||
|
PRODUCT_PROPERTY_OVERRIDES += \
|
||||||
|
ro.opengles.version=196610 \
|
||||||
|
debug.hwc.skip_dma_types=0,2 \
|
||||||
|
debug.hwc.force_gpu=1 \
|
||||||
|
debug.sf.enable_hwc_vds=1 \
|
||||||
|
debug.sf.latch_unsignaled=1
|
||||||
|
|
||||||
|
# ro.product.first_api_level indicates the first api level the device has commercially launched on.
|
||||||
|
PRODUCT_PROPERTY_OVERRIDES += \
|
||||||
|
ro.product.first_api_level=23
|
||||||
|
|
||||||
|
# Nfc
|
||||||
|
PRODUCT_PROPERTY_OVERRIDES += \
|
||||||
|
ro.nfc.port=I2C \
|
||||||
|
ro.nfc.sec_hal=true
|
||||||
|
|
||||||
|
# Boot directly from charger mode
|
||||||
|
PRODUCT_PROPERTY_OVERRIDES += \
|
||||||
|
ro.enable_boot_charger_mode=1
|
||||||
|
|
||||||
|
# Radio
|
||||||
|
PRODUCT_PROPERTY_OVERRIDES += \
|
||||||
|
persist.radio.sib16_support=0 \
|
||||||
|
ro.ril.hsxpa=1 \
|
||||||
|
ro.ril.gprsclass=10 \
|
||||||
|
ro.ril.telephony.mqanelements=6 \
|
||||||
|
ro.telephony.default_network=9 \
|
||||||
|
ro.telephony.get_imsi_from_sim=true \
|
||||||
|
ro.ril.force_eri_from_xml=true \
|
||||||
|
persist.radio.add_power_save=1 \
|
||||||
|
persist.radio.apm_sim_not_pwdn=1 \
|
||||||
|
ro.smps.enable=true \
|
||||||
|
telephony.lteOnCdmaDevice=0 \
|
||||||
|
|
||||||
|
# read DS/SS property
|
||||||
|
PRODUCT_PROPERTY_OVERRIDES += \
|
||||||
|
import /efs/factory.prop
|
||||||
|
|
||||||
|
#Treble
|
||||||
|
PRODUCT_PROPERTY_OVERRIDES += \
|
||||||
|
persist.media.treble_omx=true
|
||||||
|
|
||||||
|
# sdcardfs
|
||||||
|
PRODUCT_PROPERTY_OVERRIDES += \
|
||||||
|
ro.sys.sdcardfs=true
|
||||||
|
|
||||||
|
# Wifi
|
||||||
|
PRODUCT_PROPERTY_OVERRIDES += \
|
||||||
|
wifi.interface=wlan0 \
|
||||||
|
net.tethering.noprovisioning=true
|
Loading…
Add table
Add a link
Reference in a new issue