mirror of
https://github.com/AetherDroid/android_device_samsung_universal7570-common.git
synced 2025-09-03 06:57: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