[automerger skipped] Merge "[DO NOT MERGE] Disable bypass for GNSS" into udc-qpr-dev am: 7ef7ff3ac2 -s ours
am skip reason: contains skip directive
Original change: https://googleplex-android-review.googlesource.com/c/device/google/akita/+/26133460
Change-Id: I049dcab8871892bbf404743fea428920fdc9e7e1
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/AndroidProducts.mk b/AndroidProducts.mk
index 2ae4cb5..c7519f3 100644
--- a/AndroidProducts.mk
+++ b/AndroidProducts.mk
@@ -20,4 +20,4 @@
$(LOCAL_DIR)/factory_akita.mk
COMMON_LUNCH_CHOICES := \
- aosp_akita-userdebug
+ aosp_akita-trunk_staging-userdebug
diff --git a/OWNERS b/OWNERS
index 57dddec..f3899b9 100644
--- a/OWNERS
+++ b/OWNERS
@@ -1,4 +1,4 @@
per-file powerhint-akita.json = jenhaochen@google.com,wvw@google.com,joaodias@google.com
# per-file for Pixel device makefiles, see go/pixel-device-mk-owner-checklist for details.
-per-file *.mk,*/BoardConfig.mk=file:device/google/gs-common:master:/OWNERS
+per-file *.mk,*/BoardConfig.mk=file:device/google/gs-common:main:/OWNERS
diff --git a/PREUPLOAD.cfg b/PREUPLOAD.cfg
new file mode 100644
index 0000000..3826687
--- /dev/null
+++ b/PREUPLOAD.cfg
@@ -0,0 +1,2 @@
+[Builtin Hooks]
+jsonlint = true
\ No newline at end of file
diff --git a/akita/BoardConfig.mk b/akita/BoardConfig.mk
index b08f9ea..dde0a87 100644
--- a/akita/BoardConfig.mk
+++ b/akita/BoardConfig.mk
@@ -24,6 +24,13 @@
TARGET_BOARD_INFO_FILE := device/google/akita/board-info.txt
TARGET_BOOTLOADER_BOARD_NAME := akita
+ifneq (,$(filter AP1%,$(RELEASE_PLATFORM_VERSION)))
+RELEASE_GOOGLE_PRODUCT_BOOTLOADER_DIR := bootloader/24Q1
+else ifneq (,$(filter AP2% AP3%,$(RELEASE_PLATFORM_VERSION)))
+RELEASE_GOOGLE_PRODUCT_BOOTLOADER_DIR := bootloader/24Q2
+else
+RELEASE_GOOGLE_PRODUCT_BOOTLOADER_DIR := bootloader/trunk
+endif
TARGET_SCREEN_DENSITY := 420
BOARD_USES_GENERIC_AUDIO := true
USES_DEVICE_GOOGLE_AKITA := true
diff --git a/akita/overlay/frameworks/base/core/res/res/values/config.xml b/akita/overlay/frameworks/base/core/res/res/values/config.xml
index 6377f54..e44bee8 100644
--- a/akita/overlay/frameworks/base/core/res/res/values/config.xml
+++ b/akita/overlay/frameworks/base/core/res/res/values/config.xml
@@ -279,6 +279,8 @@
-->
<string name="config_mainDisplayShape" translatable="false">M 96.5,0.09 C 91.13,0.36 82.7,1.63 79.38,2.34 59.53,6.58 50.35,10.97 39.94,18.2 27.73,26.69 16.6,39.86 10.5,52.79 6.41,61.47 2.37,75.03 1.22,83.76 0.14,91.99 0.31,92.14 0.09,96.34 V 2307.68 l 1.59,11.48 c 4.89,22.96 11.89,37.01 25.55,51.29 13.95,14.57 29.8,22.8 53.75,27.88 l 11.5,1.59 H 987.52 l 11.5,-1.59 c 23.95,-5.08 39.8,-13.31 53.75,-27.88 13.66,-14.27 20.66,-28.33 25.55,-51.29 l 1.59,-11.48 V 96.34 c -0.23,-4.2 -0.05,-4.34 -1.13,-12.57 -1.15,-8.73 -5.19,-22.3 -9.28,-30.98 C 1063.4,39.86 1052.27,26.69 1040.06,18.2 1029.65,10.97 1020.47,6.58 1000.62,2.34 997.3,1.63 988.87,0.36 983.5,0.09 Z</string>
+ <bool name="config_safe_sound_dosage_enabled">true</bool>
+
<!-- The max vibration strength allowed in audio haptic channels. -->
<item name="config_hapticChannelMaxVibrationAmplitude" format="float" type="dimen">0.32</item>
@@ -301,6 +303,9 @@
<string name="config_mms_user_agent_profile_url" translatable="false">http://www.gstatic.com/android/sms/GKV4X.xml</string>
<!-- Allow the GPS_PROVIDER to be replaced by the location provider app at run-time. -->
- <bool name="config_useGnssHardwareProvider" translatable="false">true</bool>
+ <bool name="config_useGnssHardwareProvider" translatable="false">false</bool>
+ <!-- Package name providing GNSS location support. Used only when
+ config_useGnssHardwareProvider is false. -->
+ <string name="config_gnssLocationProviderPackageName" translatable="false">com.google.android.gms</string>
</resources>
diff --git a/akita/overlay/frameworks/base/core/res/res/xml/irq_device_map.xml b/akita/overlay/frameworks/base/core/res/res/xml/irq_device_map.xml
index f75f58a..0e42fa6 100644
--- a/akita/overlay/frameworks/base/core/res/res/xml/irq_device_map.xml
+++ b/akita/overlay/frameworks/base/core/res/res/xml/irq_device_map.xml
@@ -26,7 +26,9 @@
<device name="cp2ap_wakeup">
<subsystem>Cellular_data</subsystem>
</device>
- <!-- TODO(b/317130983): Insert mapping for Sound_trigger once it is known -->
+ <device name="MAILBOX_AOCF12APx1300">
+ <subsystem>Sound_trigger</subsystem>
+ </device>
<device name="MAILBOX_AOCA322APx100">
<subsystem>Sensor</subsystem>
</device>
diff --git a/akita/overlay/frameworks/base/packages/SystemUI/res/values/dimens.xml b/akita/overlay/frameworks/base/packages/SystemUI/res/values/dimens.xml
index d8dbf67..9124ad1 100644
--- a/akita/overlay/frameworks/base/packages/SystemUI/res/values/dimens.xml
+++ b/akita/overlay/frameworks/base/packages/SystemUI/res/values/dimens.xml
@@ -30,5 +30,8 @@
<!-- Offset should not be more than 1mm -->
<dimen name="udfps_burn_in_offset_x">6px</dimen>
<dimen name="udfps_burn_in_offset_y">17px</dimen>
+
+ <!-- Pixel pitch of the device. um/px -->
+ <item name="pixel_pitch" format="float" type="dimen">59.1</item>
</resources>
diff --git a/audio/akita/config/audio_platform_configuration.xml b/audio/akita/config/audio_platform_configuration.xml
index b2defe3..e4de84f 100644
--- a/audio/akita/config/audio_platform_configuration.xml
+++ b/audio/akita/config/audio_platform_configuration.xml
@@ -303,6 +303,7 @@
<module libname="audio_waves_aoc.so" argu="Sink=SPK:1 ThermistorsName=VIRTUAL-SKIN-SPEAKER"/>
<module libname="audio_cca_aoc.so" argu="UnsupportBands=48000 ExSharedBands=48000 VoIPMode=Dl"/>
<module libname="audio_fortemedia_aoc.so" argu="MCPS_TABLE=y DL_CH=y VoIP_DLCHs=SPK:2,USB:2,BT:2 VoIP_Rate=32000 SHARED_MODULE=1130578253"/>
+ <module libname="audio_sounddose_aoc.so"/>
<module libname="liboffloadeffect.so"/>
<module libname="audio_amcs_ext.so"/>
<module libname="audio_bluenote_aoc.so"/>
diff --git a/audio/akita/config/audio_policy_configuration.xml b/audio/akita/config/audio_policy_configuration.xml
index 1cfbe9d..3150f07 100644
--- a/audio/akita/config/audio_policy_configuration.xml
+++ b/audio/akita/config/audio_policy_configuration.xml
@@ -90,7 +90,7 @@
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000"
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
</mixPort>
- <mixPort name="incall capture" role="sink">
+ <mixPort name="incall capture" role="sink" maxActiveCount="2" maxOpenCount="2">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000"
channelMasks="AUDIO_CHANNEL_IN_MONO"/>
diff --git a/audio/akita/config/audio_policy_configuration_a2dp_offload_disabled.xml b/audio/akita/config/audio_policy_configuration_a2dp_offload_disabled.xml
index 5e8ee91..6d52bfe 100644
--- a/audio/akita/config/audio_policy_configuration_a2dp_offload_disabled.xml
+++ b/audio/akita/config/audio_policy_configuration_a2dp_offload_disabled.xml
@@ -89,7 +89,7 @@
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000"
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
</mixPort>
- <mixPort name="incall capture" role="sink">
+ <mixPort name="incall capture" role="sink" maxActiveCount="2" maxOpenCount="2">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000"
channelMasks="AUDIO_CHANNEL_IN_MONO"/>
diff --git a/audio/akita/config/audio_policy_configuration_bluetooth_legacy_hal.xml b/audio/akita/config/audio_policy_configuration_bluetooth_legacy_hal.xml
index 07bb37a..38309e5 100644
--- a/audio/akita/config/audio_policy_configuration_bluetooth_legacy_hal.xml
+++ b/audio/akita/config/audio_policy_configuration_bluetooth_legacy_hal.xml
@@ -89,7 +89,7 @@
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000"
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
</mixPort>
- <mixPort name="incall capture" role="sink">
+ <mixPort name="incall capture" role="sink" maxActiveCount="2" maxOpenCount="2">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000"
channelMasks="AUDIO_CHANNEL_IN_MONO"/>
diff --git a/audio/akita/config/audio_policy_configuration_le_offload_disabled.xml b/audio/akita/config/audio_policy_configuration_le_offload_disabled.xml
index 4c512f2..bf995fe 100644
--- a/audio/akita/config/audio_policy_configuration_le_offload_disabled.xml
+++ b/audio/akita/config/audio_policy_configuration_le_offload_disabled.xml
@@ -93,7 +93,7 @@
samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000"
channelMasks="AUDIO_CHANNEL_IN_MONO AUDIO_CHANNEL_IN_STEREO"/>
</mixPort>
- <mixPort name="incall capture" role="sink">
+ <mixPort name="incall capture" role="sink" maxActiveCount="2" maxOpenCount="2">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="48000"
channelMasks="AUDIO_CHANNEL_IN_MONO"/>
diff --git a/audio/akita/config/mixer_paths.xml b/audio/akita/config/mixer_paths.xml
index 09c9c41..c49c9df 100644
--- a/audio/akita/config/mixer_paths.xml
+++ b/audio/akita/config/mixer_paths.xml
@@ -760,8 +760,8 @@
<path name="voice-handset-mic">
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="0" value="0"/>
- <ctl name="BUILDIN MIC ID CAPTURE LIST" id="1" value="2"/>
- <ctl name="BUILDIN MIC ID CAPTURE LIST" id="2" value="-1"/>
+ <ctl name="BUILDIN MIC ID CAPTURE LIST" id="1" value="3"/>
+ <ctl name="BUILDIN MIC ID CAPTURE LIST" id="2" value="2"/>
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="3" value="-1"/>
<ctl name="MIC DC Blocker" value="1"/>
<ctl name="MIC HW Gain At High Power Mode (cB)" value="130"/>
@@ -786,8 +786,8 @@
<path name="voice-speaker-mic">
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="0" value="0"/>
- <ctl name="BUILDIN MIC ID CAPTURE LIST" id="1" value="2"/>
- <ctl name="BUILDIN MIC ID CAPTURE LIST" id="2" value="-1"/>
+ <ctl name="BUILDIN MIC ID CAPTURE LIST" id="1" value="3"/>
+ <ctl name="BUILDIN MIC ID CAPTURE LIST" id="2" value="2"/>
<ctl name="BUILDIN MIC ID CAPTURE LIST" id="3" value="-1"/>
<ctl name="MIC DC Blocker" value="1"/>
<ctl name="MIC HW Gain At High Power Mode (cB)" value="130"/>
diff --git a/audio/akita/tuning/bluenote/smartfeature.gstf b/audio/akita/tuning/bluenote/smartfeature.gstf
index f669a07..d174ae3 100644
--- a/audio/akita/tuning/bluenote/smartfeature.gstf
+++ b/audio/akita/tuning/bluenote/smartfeature.gstf
Binary files differ
diff --git a/audio/akita/tuning/waves/waves_config.ini b/audio/akita/tuning/waves/waves_config.ini
index db233a0..adc6ca8 100644
--- a/audio/akita/tuning/waves/waves_config.ini
+++ b/audio/akita/tuning/waves/waves_config.ini
@@ -42,8 +42,8 @@
SPEAKER_INSTANCE = INSTANCE:1,DEV:0,SR:SR_COMMON,PRESET:SPEAKER_MUSIC|SPEAKER_SAFE_MUSIC|SPEAKER_MUSIC_THROTTLE|SPEAKER_SAFE_MUSIC_THROTTLE|SPEAKER_SAFE_MUSIC_THROTTLE_LITE|SPEAKER_SAFE_MUSIC_LITE
[COEFS_CONVERTER_SETTING]
-AlgFxPath=/vendor/lib/libAlgFx_HiFi3z231114.so
-AlgFxPath64=/vendor/lib64/libAlgFx_HiFi3z231114.so
+AlgFxPath=/vendor/lib/libAlgFx_HiFi3z.so
+AlgFxPath64=/vendor/lib64/libAlgFx_HiFi3z.so
# do not modify the following if not necessary
#AudioFormatType=0
#AudioFormatChannels=2
diff --git a/bluetooth/le_audio_codec_capabilities.xml b/bluetooth/le_audio_codec_capabilities.xml
index f9500d4..0e06d14 100644
--- a/bluetooth/le_audio_codec_capabilities.xml
+++ b/bluetooth/le_audio_codec_capabilities.xml
@@ -32,6 +32,9 @@
<scenario encode="OneChanMono_24_2" decode="invalid"/>
<scenario encode="TwoChanStereo_24_2" decode="invalid"/>
<scenario encode="OneChanStereo_24_2" decode="invalid"/>
+ <scenario encode="OneChanMono_48_2" decode="invalid"/>
+ <scenario encode="TwoChanStereo_48_2" decode="invalid"/>
+ <scenario encode="OneChanStereo_48_2" decode="invalid"/>
<scenario encode="OneChanMono_48_4" decode="invalid"/>
<scenario encode="TwoChanStereo_48_4" decode="invalid"/>
<scenario encode="OneChanStereo_48_4" decode="invalid"/>
@@ -65,6 +68,9 @@
<configuration name="OneChanStereo_32_2" codecConfiguration="LC3_32k_2" strategyConfiguration="STEREO_ONE_CIS_PER_DEVICE"/>
<configuration name="OneChanMono_32_2" codecConfiguration="LC3_32k_2" strategyConfiguration="MONO_ONE_CIS_PER_DEVICE"/>
<configuration name="TwoChanStereo_32_2" codecConfiguration="LC3_32k_2" strategyConfiguration="STEREO_TWO_CISES_PER_DEVICE"/>
+ <configuration name="OneChanMono_48_2" codecConfiguration="LC3_48k_2" strategyConfiguration="MONO_ONE_CIS_PER_DEVICE"/>
+ <configuration name="TwoChanStereo_48_2" codecConfiguration="LC3_48k_2" strategyConfiguration="STEREO_TWO_CISES_PER_DEVICE"/>
+ <configuration name="OneChanStereo_48_2" codecConfiguration="LC3_48k_2" strategyConfiguration="STEREO_ONE_CIS_PER_DEVICE"/>
<configuration name="OneChanMono_48_4" codecConfiguration="LC3_48k_4" strategyConfiguration="MONO_ONE_CIS_PER_DEVICE"/>
<configuration name="TwoChanStereo_48_4" codecConfiguration="LC3_48k_4" strategyConfiguration="STEREO_TWO_CISES_PER_DEVICE"/>
<configuration name="OneChanStereo_48_4" codecConfiguration="LC3_48k_4" strategyConfiguration="STEREO_ONE_CIS_PER_DEVICE"/>
@@ -76,6 +82,7 @@
<codecConfiguration name="LC3_16k_2" codec="LC3" samplingFrequency="16000" frameDurationUs="10000" octetsPerCodecFrame="40"/>
<codecConfiguration name="LC3_24k_2" codec="LC3" samplingFrequency="24000" frameDurationUs="10000" octetsPerCodecFrame="60"/>
<codecConfiguration name="LC3_32k_2" codec="LC3" samplingFrequency="32000" frameDurationUs="10000" octetsPerCodecFrame="80"/>
+ <codecConfiguration name="LC3_48k_2" codec="LC3" samplingFrequency="48000" frameDurationUs="10000" octetsPerCodecFrame="100"/>
<codecConfiguration name="LC3_48k_4" codec="LC3" samplingFrequency="48000" frameDurationUs="10000" octetsPerCodecFrame="120"/>
</codecConfigurationList>
<strategyConfigurationList>
diff --git a/conf/init.akita.rc b/conf/init.akita.rc
index d702709..c317eee 100644
--- a/conf/init.akita.rc
+++ b/conf/init.akita.rc
@@ -17,10 +17,6 @@
chown system system /sys/class/backlight/panel0-backlight/ssc_mode
chmod 664 /sys/class/backlight/panel0-backlight/ssc_mode
- # adjust PCP high level
- write /proc/sys/vm/percpu_pagelist_high_fraction 430
-
-
on early-boot
# Wait for insmod_sh to finish all common modules
wait_for_prop vendor.common.modules.ready 1
@@ -77,36 +73,16 @@
chown system system /mnt/vendor/persist/haptics
chown system system /mnt/vendor/persist/haptics/cs40l26.cal
- chown system system /sys/bus/i2c/devices/6-0043/calibration/f0_stored
- chown system system /sys/bus/i2c/devices/5-0043/calibration/f0_stored
- chown system system /sys/bus/i2c/devices/4-0043/calibration/f0_stored
- chown system system /sys/bus/i2c/devices/6-0043/calibration/q_stored
- chown system system /sys/bus/i2c/devices/5-0043/calibration/q_stored
- chown system system /sys/bus/i2c/devices/4-0043/calibration/q_stored
- chown system system /sys/bus/i2c/devices/6-0043/calibration/redc_stored
- chown system system /sys/bus/i2c/devices/5-0043/calibration/redc_stored
- chown system system /sys/bus/i2c/devices/4-0043/calibration/redc_stored
- chown system system /sys/bus/i2c/devices/6-0043/default/vibe_state
- chown system system /sys/bus/i2c/devices/5-0043/default/vibe_state
- chown system system /sys/bus/i2c/devices/4-0043/default/vibe_state
- chown system system /sys/bus/i2c/devices/6-0043/default/num_waves
- chown system system /sys/bus/i2c/devices/5-0043/default/num_waves
- chown system system /sys/bus/i2c/devices/4-0043/default/num_waves
- chown system system /sys/bus/i2c/devices/6-0043/default/f0_offset
- chown system system /sys/bus/i2c/devices/5-0043/default/f0_offset
- chown system system /sys/bus/i2c/devices/4-0043/default/f0_offset
- chown system system /sys/bus/i2c/devices/6-0043/default/owt_free_space
- chown system system /sys/bus/i2c/devices/5-0043/default/owt_free_space
- chown system system /sys/bus/i2c/devices/4-0043/default/owt_free_space
- chown system system /sys/bus/i2c/devices/6-0043/default/f0_comp_enable
- chown system system /sys/bus/i2c/devices/5-0043/default/f0_comp_enable
- chown system system /sys/bus/i2c/devices/4-0043/default/f0_comp_enable
- chown system system /sys/bus/i2c/devices/6-0043/default/redc_comp_enable
- chown system system /sys/bus/i2c/devices/5-0043/default/redc_comp_enable
- chown system system /sys/bus/i2c/devices/4-0043/default/redc_comp_enable
- chown system system /sys/bus/i2c/devices/6-0043/default/delay_before_stop_playback_us
- chown system system /sys/bus/i2c/devices/5-0043/default/delay_before_stop_playback_us
- chown system system /sys/bus/i2c/devices/4-0043/default/delay_before_stop_playback_us
+ chown system system /sys/bus/i2c/devices/0-0043/calibration/f0_stored
+ chown system system /sys/bus/i2c/devices/0-0043/calibration/q_stored
+ chown system system /sys/bus/i2c/devices/0-0043/calibration/redc_stored
+ chown system system /sys/bus/i2c/devices/0-0043/default/vibe_state
+ chown system system /sys/bus/i2c/devices/0-0043/default/num_waves
+ chown system system /sys/bus/i2c/devices/0-0043/default/f0_offset
+ chown system system /sys/bus/i2c/devices/0-0043/default/owt_free_space
+ chown system system /sys/bus/i2c/devices/0-0043/default/f0_comp_enable
+ chown system system /sys/bus/i2c/devices/0-0043/default/redc_comp_enable
+ chown system system /sys/bus/i2c/devices/0-0043/default/delay_before_stop_playback_us
enable vendor.vibrator.cs40l26
diff --git a/device-akita.mk b/device-akita.mk
index aec9c92..c52d0c5 100644
--- a/device-akita.mk
+++ b/device-akita.mk
@@ -14,9 +14,20 @@
# limitations under the License.
#
+PRODUCT_RELEASE_CONFIG_MAPS += vendor/google_devices/release/phones/release_config_map.mk
+
TARGET_KERNEL_DIR ?= device/google/akita-kernel
TARGET_BOARD_KERNEL_HEADERS := device/google/akita-kernel/kernel-headers
+ifdef RELEASE_GOOGLE_AKITA_KERNEL_VERSION
+TARGET_LINUX_KERNEL_VERSION := $(RELEASE_GOOGLE_AKITA_KERNEL_VERSION)
+endif
+
+ifdef RELEASE_GOOGLE_AKITA_KERNEL_DIR
+TARGET_KERNEL_DIR := $(RELEASE_GOOGLE_AKITA_KERNEL_DIR)
+TARGET_BOARD_KERNEL_HEADERS := $(RELEASE_GOOGLE_AKITA_KERNEL_DIR)/kernel-headers
+endif
+
$(call inherit-product-if-exists, vendor/google_devices/akita/prebuilts/device-vendor-akita.mk)
$(call inherit-product-if-exists, vendor/google_devices/zuma/prebuilts/device-vendor.mk)
$(call inherit-product-if-exists, vendor/google_devices/zuma/proprietary/device-vendor.mk)
@@ -32,7 +43,6 @@
include device/google/gs-common/bcmbt/bluetooth.mk
include device/google/gs-common/touch/gti/gti.mk
include device/google/gs-common/modem/radio_ext/radio_ext.mk
-include device/google/gs-common/diagnosticstool/diagnosticstool.mk
# go/lyric-soong-variables
$(call soong_config_set,lyric,camera_hardware,akita)
@@ -50,7 +60,8 @@
# Display
PRODUCT_COPY_FILES += \
device/google/akita/akita/display_colordata_dev_cal0.pb:$(TARGET_COPY_OUT_VENDOR)/etc/display_colordata_dev_cal0.pb \
- device/google/akita/akita/display_golden_google-ak3b_cal0.pb:$(TARGET_COPY_OUT_VENDOR)/etc/display_golden_google-ak3b_cal0.pb
+ device/google/akita/akita/display_golden_google-ak3b_cal0.pb:$(TARGET_COPY_OUT_VENDOR)/etc/display_golden_google-ak3b_cal0.pb \
+ device/google/akita/display_golden_external_display_cal2.pb:$(TARGET_COPY_OUT_VENDOR)/etc/display_golden_external_display_cal2.pb
# Display brightness curve
PRODUCT_COPY_FILES += \
@@ -71,13 +82,10 @@
display_primary_mipi_coex_table \
display_primary_ssc_coex_table
-# Camera
-PRODUCT_COPY_FILES += \
- device/google/akita/media_profiles_akita.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_V1_0.xml
-
PRODUCT_PROPERTY_OVERRIDES += \
persist.vendor.camera.adjust_backend_min_freq_for_1p_front_video_1080p_30fps=1 \
persist.vendor.camera.adjust_backend_min_freq_for_video_120fps=1 \
+ persist.vendor.camera.adjust_cam_uclamp_min_for_1p_rear_video_60fps=1 \
persist.vendor.camera.extended_launch_boost=1 \
persist.vendor.camera.optimized_tnr_freq=1 \
vendor.camera.debug.enable_software_post_sharpen_node=false \
@@ -95,9 +103,6 @@
# Media Performance Class 13
PRODUCT_PROPERTY_OVERRIDES += ro.odm.build.media_performance_class=33
-# Modem
-PRODUCT_PROPERTY_OVERRIDES += persist.vendor.radio.volte_mif_off=true
-
# NFC
PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.nfc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.xml \
@@ -109,9 +114,10 @@
device/google/akita/nfc/libnfc-nci.conf:$(TARGET_COPY_OUT_PRODUCT)/etc/libnfc-nci.conf
PRODUCT_PACKAGES += \
- NfcNci \
+ $(RELEASE_PACKAGE_NFC_STACK) \
Tag \
- android.hardware.nfc-service.st
+ android.hardware.nfc-service.st \
+ NfcOverlayAkita
# SecureElement
PRODUCT_PACKAGES += \
@@ -143,19 +149,19 @@
# Bluetooth Tx power caps
PRODUCT_COPY_FILES += \
- $(LOCAL_PATH)/bluetooth/bluetooth_power_limits_AK3.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits.csv \
- $(LOCAL_PATH)/bluetooth/bluetooth_power_limits_AK3_G6GPR_CA.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits_G6GPR_CA.csv \
- $(LOCAL_PATH)/bluetooth/bluetooth_power_limits_AK3_G6GPR_EU.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits_G6GPR_EU.csv \
- $(LOCAL_PATH)/bluetooth/bluetooth_power_limits_AK3_G6GPR_US.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits_G6GPR_US.csv \
- $(LOCAL_PATH)/bluetooth/bluetooth_power_limits_AK3_G8HHN_EU.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits_G8HHN_EU.csv \
- $(LOCAL_PATH)/bluetooth/bluetooth_power_limits_AK3_G8HHN_US.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits_G8HHN_US.csv \
- $(LOCAL_PATH)/bluetooth/bluetooth_power_limits_AK3_G576D_CA.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits_G576D_CA.csv \
- $(LOCAL_PATH)/bluetooth/bluetooth_power_limits_AK3_G576D_EU.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits_G576D_EU.csv \
- $(LOCAL_PATH)/bluetooth/bluetooth_power_limits_AK3_G576D_JP.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits_G576D_JP.csv \
- $(LOCAL_PATH)/bluetooth/bluetooth_power_limits_AK3_G576D_US.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits_G576D_US.csv \
- $(LOCAL_PATH)/bluetooth/bluetooth_power_limits_AK3_GKV4X_CA.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits_GKV4X_CA.csv \
- $(LOCAL_PATH)/bluetooth/bluetooth_power_limits_AK3_GKV4X_EU.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits_GKV4X_EU.csv \
- $(LOCAL_PATH)/bluetooth/bluetooth_power_limits_AK3_GKV4X_US.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits_GKV4X_US.csv
+ device/google/akita/bluetooth/bluetooth_power_limits_AK3.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits.csv \
+ device/google/akita/bluetooth/bluetooth_power_limits_AK3_G6GPR_CA.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits_G6GPR_CA.csv \
+ device/google/akita/bluetooth/bluetooth_power_limits_AK3_G6GPR_EU.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits_G6GPR_EU.csv \
+ device/google/akita/bluetooth/bluetooth_power_limits_AK3_G6GPR_US.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits_G6GPR_US.csv \
+ device/google/akita/bluetooth/bluetooth_power_limits_AK3_G8HHN_EU.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits_G8HHN_EU.csv \
+ device/google/akita/bluetooth/bluetooth_power_limits_AK3_G8HHN_US.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits_G8HHN_US.csv \
+ device/google/akita/bluetooth/bluetooth_power_limits_AK3_G576D_CA.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits_G576D_CA.csv \
+ device/google/akita/bluetooth/bluetooth_power_limits_AK3_G576D_EU.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits_G576D_EU.csv \
+ device/google/akita/bluetooth/bluetooth_power_limits_AK3_G576D_JP.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits_G576D_JP.csv \
+ device/google/akita/bluetooth/bluetooth_power_limits_AK3_G576D_US.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits_G576D_US.csv \
+ device/google/akita/bluetooth/bluetooth_power_limits_AK3_GKV4X_CA.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits_GKV4X_CA.csv \
+ device/google/akita/bluetooth/bluetooth_power_limits_AK3_GKV4X_EU.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits_GKV4X_EU.csv \
+ device/google/akita/bluetooth/bluetooth_power_limits_AK3_GKV4X_US.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits_GKV4X_US.csv
# POF
PRODUCT_PRODUCT_PROPERTIES += \
@@ -226,6 +232,10 @@
PRODUCT_PRODUCT_PROPERTIES += \
bluetooth.leaudio.dual_bidirection_swb.supported=true
+# LE Audio Unicast Allowlist
+PRODUCT_PRODUCT_PROPERTIES += \
+ persist.bluetooth.leaudio.allow_list=SM-R510
+
# Enable one-handed mode
PRODUCT_PRODUCT_PROPERTIES += \
ro.support_one_handed_mode=true
@@ -250,6 +260,11 @@
libspatialaudio \
librondo
+# Sound Dose
+PRODUCT_PACKAGES += \
+ android.hardware.audio.sounddose-vendor-impl \
+ audio_sounddose_aoc \
+
# Audio CCA property
PRODUCT_PROPERTY_OVERRIDES += \
persist.vendor.audio.cca.enabled=false
@@ -298,6 +313,13 @@
# Trusty liboemcrypto.so
PRODUCT_SOONG_NAMESPACES += vendor/google_devices/akita/prebuilts
+ifneq (,$(filter AP1%,$(RELEASE_PLATFORM_VERSION)))
+PRODUCT_SOONG_NAMESPACES += vendor/google_devices/akita/prebuilts/trusty/24Q1
+else ifneq (,$(filter AP2% AP3%,$(RELEASE_PLATFORM_VERSION)))
+PRODUCT_SOONG_NAMESPACES += vendor/google_devices/akita/prebuilts/trusty/24Q2
+else
+PRODUCT_SOONG_NAMESPACES += vendor/google_devices/akita/prebuilts/trusty/trunk
+endif
# include GNSSD
include device/google/akita/location/gnssd/device-gnss.mk
@@ -313,11 +335,18 @@
# Fingerprint HAL
GOODIX_CONFIG_BUILD_VERSION := g7_trusty
-include device/google/gs101/fingerprint/udfps_common.mk
-ifeq ($(filter factory%, $(TARGET_PRODUCT)),)
-include device/google/gs101/fingerprint/udfps_shipping.mk
+ifneq (,$(filter AP1%,$(RELEASE_PLATFORM_VERSION)))
+PRODUCT_SOONG_NAMESPACES += vendor/google_devices/akita/prebuilts/firmware/fingerprint/24Q1
+else ifneq (,$(filter AP2% AP3%,$(RELEASE_PLATFORM_VERSION)))
+PRODUCT_SOONG_NAMESPACES += vendor/google_devices/akita/prebuilts/firmware/fingerprint/24Q2
else
-include device/google/gs101/fingerprint/udfps_factory.mk
+PRODUCT_SOONG_NAMESPACES += vendor/google_devices/akita/prebuilts/firmware/fingerprint/trunk
+endif
+$(call inherit-product-if-exists, vendor/goodix/udfps/configuration/udfps_common.mk)
+ifeq ($(filter factory%, $(TARGET_PRODUCT)),)
+$(call inherit-product-if-exists, vendor/goodix/udfps/configuration/udfps_shipping.mk)
+else
+$(call inherit-product-if-exists, vendor/goodix/udfps/configuration/udfps_factory.mk)
endif
# Display
@@ -364,10 +393,6 @@
ro.com.google.ime.kb_pad_port_b=4.19 \
ro.com.google.ime.height_ratio=1.1
-# DisplayPort is disabled (b/300167292, b/300167292)
-PRODUCT_VENDOR_PROPERTIES += \
- persist.vendor.usb.displayport.enabled=0
-
# Enable DeviceAsWebcam support
PRODUCT_VENDOR_PROPERTIES += \
ro.usb.uvc.enabled=true
diff --git a/display_golden_external_display_cal2.pb b/display_golden_external_display_cal2.pb
new file mode 100644
index 0000000..a5e604b
--- /dev/null
+++ b/display_golden_external_display_cal2.pb
Binary files differ
diff --git a/location/gnssd/Android.bp b/location/gnssd/Android.bp
index 29b366f..f5b180c 100644
--- a/location/gnssd/Android.bp
+++ b/location/gnssd/Android.bp
@@ -14,29 +14,8 @@
],
}
-soong_config_module_type {
- name: "lassen_gnss_aidl_service_cc_defaults",
- module_type: "cc_defaults",
- config_namespace: "pixel_gnss",
- bool_variables: ["enable_pixel_gnss_aidl_service"],
- properties: ["vintf_fragments"],
-}
-
-lassen_gnss_aidl_service_cc_defaults {
- name: "lassen_gnss_aidl_service_cc_defaults",
- soong_config_variables: {
- enable_pixel_gnss_aidl_service: {
- vintf_fragments: ["android.hardware.gnss@vendor.xml"],
- conditions_default: {
- vintf_fragments: ["android.hardware.gnss@default.xml"],
- },
- },
- },
-}
-
cc_prebuilt_binary {
name: "android.hardware.gnss-service",
- defaults: ["lassen_gnss_aidl_service_cc_defaults"],
arch: {
arm64: {
srcs: ["release/android.hardware.gnss-service"],
@@ -72,6 +51,7 @@
},
init_rc: ["init.gnss.rc"],
+ vintf_fragments: ["android.hardware.gnss@default.xml"],
}
cc_prebuilt_binary {
@@ -94,6 +74,7 @@
"libc",
"libm",
"libdl",
+ "libcurl",
],
},
},
diff --git a/location/gnssd/android.hardware.gnss@vendor.xml b/location/gnssd/android.hardware.gnss@vendor.xml
deleted file mode 100644
index 3b1525b..0000000
--- a/location/gnssd/android.hardware.gnss@vendor.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<manifest version="1.0" type="device">
- <hal format="aidl">
- <name>android.hardware.gnss</name>
- <version>3</version>
- <fqname>IGnss/vendor</fqname>
- </hal>
-</manifest>
diff --git a/location/gnssd/release/gps.cfg b/location/gnssd/release/gps.cfg
index aab98bf..41e474d 100644
--- a/location/gnssd/release/gps.cfg
+++ b/location/gnssd/release/gps.cfg
@@ -249,7 +249,6 @@
ENABLE_LPPE_CP=0
ENABLE_5G_CP_CAPS_MSA=0
ENABLE_5G_CP_CAPS_MSB=0
-SUPL_SSL_METHOD=TLSv1
USE_EMER_PDN_FOR_EMER_SUPL=0
# DOCOMO
GNSS_CARRIER_ID=8
diff --git a/location/gnssd/release/gps_user.cfg b/location/gnssd/release/gps_user.cfg
index b9ef10a..70b4f52 100644
--- a/location/gnssd/release/gps_user.cfg
+++ b/location/gnssd/release/gps_user.cfg
@@ -125,7 +125,6 @@
ENABLE_LPPE_CP=0
ENABLE_5G_CP_CAPS_MSA=0
ENABLE_5G_CP_CAPS_MSB=0
-SUPL_SSL_METHOD=TLSv1
USE_EMER_PDN_FOR_EMER_SUPL=0
GNSS_CARRIER_ID=8
GNSS_CARRIER_ID=9
diff --git a/media_profiles_akita.xml b/media_profiles_akita.xml
deleted file mode 100644
index fcf6971..0000000
--- a/media_profiles_akita.xml
+++ /dev/null
@@ -1,1099 +0,0 @@
-<?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 (high|low) #REQUIRED>
-<!ATTLIST EncoderProfile fileFormat (mp4|3gp) #REQUIRED>
-<!ATTLIST EncoderProfile duration (30|60) #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>
-]>
-<!--
- 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 -->
- <CamcorderProfiles cameraId="0">
-
- <EncoderProfile quality="2160p" fileFormat="mp4" duration="60">
- <Video codec="h264"
- bitRate="72000000"
- width="3840"
- height="2160"
- frameRate="60" />
-
- <Audio codec="aac"
- bitRate="96000"
- sampleRate="48000"
- channels="1" />
- </EncoderProfile>
-
- <EncoderProfile quality="1080p" fileFormat="mp4" duration="60">
- <Video codec="h264"
- bitRate="33000000"
- width="1920"
- height="1080"
- frameRate="60" />
-
- <Audio codec="aac"
- bitRate="96000"
- sampleRate="48000"
- channels="1" />
- </EncoderProfile>
-
- <EncoderProfile quality="720p" fileFormat="mp4" duration="60">
- <Video codec="h264"
- bitRate="12000000"
- width="1280"
- height="720"
- frameRate="30" />
-
- <Audio codec="aac"
- bitRate="96000"
- sampleRate="48000"
- channels="1" />
- </EncoderProfile>
-
- <EncoderProfile quality="480p" fileFormat="mp4" duration="60">
- <Video codec="h264"
- bitRate="6000000"
- width="720"
- height="480"
- frameRate="30" />
-
- <Audio codec="aac"
- bitRate="96000"
- sampleRate="48000"
- channels="1" />
- </EncoderProfile>
-
- <EncoderProfile quality="cif" fileFormat="mp4" duration="60">
- <Video codec="h264"
- bitRate="1200000"
- width="352"
- height="288"
- frameRate="30" />
-
- <Audio codec="aac"
- bitRate="96000"
- sampleRate="48000"
- channels="1" />
- </EncoderProfile>
-
- <EncoderProfile quality="qvga" fileFormat="mp4" duration="60">
- <Video codec="h264"
- bitRate="512000"
- width="320"
- height="240"
- frameRate="30" />
-
- <Audio codec="aac"
- bitRate="96000"
- sampleRate="48000"
- channels="1" />
- </EncoderProfile>
-
- <EncoderProfile quality="qcif" fileFormat="3gp" duration="60">
- <Video codec="h264"
- bitRate="128000"
- width="176"
- height="144"
- frameRate="30" />
-
- <Audio codec="amrnb"
- bitRate="12200"
- sampleRate="8000"
- channels="1" />
- </EncoderProfile>
-
- <EncoderProfile quality="timelapse2160p" fileFormat="mp4" duration="60">
- <Video codec="h264"
- bitRate="48000000"
- width="3840"
- height="2160"
- frameRate="30" />
-
- <!-- Audio settings are not used for timealpse video recording -->
- <Audio codec="aac"
- bitRate="96000"
- sampleRate="48000"
- channels="1" />
- </EncoderProfile>
-
- <EncoderProfile quality="timelapse1080p" fileFormat="mp4" duration="60">
- <Video codec="h264"
- bitRate="22000000"
- width="1920"
- height="1080"
- frameRate="30" />
-
- <!-- Audio settings are not used for timealpse video recording -->
- <Audio codec="aac"
- bitRate="96000"
- sampleRate="48000"
- channels="1" />
- </EncoderProfile>
-
- <EncoderProfile quality="timelapse720p" fileFormat="mp4" duration="60">
- <Video codec="h264"
- bitRate="12000000"
- width="1280"
- height="720"
- frameRate="30" />
-
- <!-- Audio settings are not used for timealpse video recording -->
- <Audio codec="aac"
- bitRate="96000"
- sampleRate="48000"
- channels="1" />
- </EncoderProfile>
-
- <EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="60">
- <Video codec="h264"
- bitRate="6000000"
- width="720"
- height="480"
- frameRate="30" />
-
- <!-- Audio settings are not used for timealpse video recording -->
- <Audio codec="aac"
- bitRate="96000"
- sampleRate="48000"
- channels="1" />
- </EncoderProfile>
-
- <EncoderProfile quality="timelapsecif" fileFormat="mp4" duration="60">
- <Video codec="h264"
- bitRate="1200000"
- width="352"
- height="288"
- frameRate="30" />
-
- <!-- Audio settings are not used for timealpse video recording -->
- <Audio codec="aac"
- bitRate="96000"
- sampleRate="48000"
- channels="1" />
- </EncoderProfile>
-
- <EncoderProfile quality="timelapseqcif" fileFormat="mp4" duration="60">
- <Video codec="h264"
- bitRate="192000"
- width="176"
- height="144"
- frameRate="30" />
-
- <!-- Audio settings are not used for timealpse video recording -->
- <Audio codec="amrnb"
- bitRate="12200"
- sampleRate="8000"
- channels="1" />
- </EncoderProfile>
-
- <EncoderProfile quality="highspeedlow" fileFormat="mp4" duration="60">
- <Video codec="h264"
- bitRate="72000000"
- width="1920"
- height="1080"
- frameRate="240" />
-
- <!-- audio setting is ignored -->
- <Audio codec="aac"
- bitRate="96000"
- sampleRate="48000"
- channels="1" />
- </EncoderProfile>
-
- <EncoderProfile quality="highspeedhigh" fileFormat="mp4" duration="60">
- <Video codec="h264"
- bitRate="72000000"
- width="1920"
- height="1080"
- frameRate="240" />
-
- <!-- audio setting is ignored -->
- <Audio codec="aac"
- bitRate="96000"
- sampleRate="48000"
- channels="1" />
- </EncoderProfile>
-
- <EncoderProfile quality="highspeed1080p" fileFormat="mp4" duration="60">
- <Video codec="h264"
- bitRate="72000000"
- width="1920"
- height="1080"
- frameRate="240" />
-
- <!-- audio setting is ignored -->
- <Audio codec="aac"
- bitRate="96000"
- sampleRate="48000"
- channels="1" />
- </EncoderProfile>
-
- <ImageEncoding quality="90" />
- <ImageEncoding quality="80" />
- <ImageEncoding quality="70" />
- <ImageDecoding memCap="20000000" />
-
- </CamcorderProfiles>
-
- <CamcorderProfiles cameraId="1">
-
- <EncoderProfile quality="2160p" fileFormat="mp4" duration="60">
- <Video codec="h264"
- bitRate="48000000"
- width="3840"
- height="2160"
- frameRate="30" />
-
- <Audio codec="aac"
- bitRate="96000"
- sampleRate="48000"
- channels="1" />
- </EncoderProfile>
-
- <EncoderProfile quality="1080p" fileFormat="mp4" duration="60">
- <Video codec="h264"
- bitRate="33000000"
- width="1920"
- height="1080"
- frameRate="60" />
-
- <Audio codec="aac"
- bitRate="96000"
- sampleRate="48000"
- channels="1" />
- </EncoderProfile>
-
- <EncoderProfile quality="720p" fileFormat="mp4" duration="60">
- <Video codec="h264"
- bitRate="12000000"
- width="1280"
- height="720"
- frameRate="30" />
-
- <Audio codec="aac"
- bitRate="96000"
- sampleRate="48000"
- channels="1" />
- </EncoderProfile>
-
- <EncoderProfile quality="480p" fileFormat="mp4" duration="60">
- <Video codec="h264"
- bitRate="6000000"
- width="720"
- height="480"
- frameRate="30" />
-
- <Audio codec="aac"
- bitRate="96000"
- sampleRate="48000"
- channels="1" />
- </EncoderProfile>
-
- <EncoderProfile quality="cif" fileFormat="mp4" duration="60">
- <Video codec="h264"
- bitRate="1200000"
- width="352"
- height="288"
- frameRate="30" />
-
- <Audio codec="aac"
- bitRate="96000"
- sampleRate="48000"
- channels="1" />
- </EncoderProfile>
-
- <EncoderProfile quality="qvga" fileFormat="mp4" duration="60">
- <Video codec="h264"
- bitRate="512000"
- width="320"
- height="240"
- frameRate="30" />
-
- <Audio codec="aac"
- bitRate="96000"
- sampleRate="48000"
- channels="1" />
- </EncoderProfile>
-
- <EncoderProfile quality="qcif" fileFormat="3gp" duration="60">
- <Video codec="h264"
- bitRate="128000"
- width="176"
- height="144"
- frameRate="30" />
-
- <Audio codec="amrnb"
- bitRate="12200"
- sampleRate="8000"
- channels="1" />
- </EncoderProfile>
-
- <EncoderProfile quality="timelapse1080p" fileFormat="mp4" duration="60">
- <Video codec="h264"
- bitRate="22000000"
- width="1920"
- height="1080"
- frameRate="30" />
-
- <!-- Audio settings are not used for timealpse video recording -->
- <Audio codec="aac"
- bitRate="96000"
- sampleRate="48000"
- channels="1" />
- </EncoderProfile>
-
- <EncoderProfile quality="timelapse720p" fileFormat="mp4" duration="60">
- <Video codec="h264"
- bitRate="12000000"
- width="1280"
- height="720"
- frameRate="30" />
-
- <!-- Audio settings are not used for timealpse video recording -->
- <Audio codec="aac"
- bitRate="96000"
- sampleRate="48000"
- channels="1" />
- </EncoderProfile>
-
- <EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="60">
- <Video codec="h264"
- bitRate="6000000"
- width="720"
- height="480"
- frameRate="30" />
-
- <!-- Audio settings are not used for timealpse video recording -->
- <Audio codec="aac"
- bitRate="96000"
- sampleRate="48000"
- channels="1" />
- </EncoderProfile>
-
- <EncoderProfile quality="timelapsecif" fileFormat="mp4" duration="60">
- <Video codec="h264"
- bitRate="1200000"
- width="352"
- height="288"
- frameRate="30" />
-
- <!-- Audio settings are not used for timealpse video recording -->
- <Audio codec="aac"
- bitRate="96000"
- sampleRate="48000"
- channels="1" />
- </EncoderProfile>
-
- <EncoderProfile quality="timelapseqcif" fileFormat="mp4" duration="60">
- <Video codec="h264"
- bitRate="192000"
- width="176"
- height="144"
- frameRate="30" />
-
- <!-- Audio settings are not used for timealpse video recording -->
- <Audio codec="amrnb"
- bitRate="12200"
- sampleRate="8000"
- channels="1" />
- </EncoderProfile>
-
- <ImageEncoding quality="90" />
- <ImageEncoding quality="80" />
- <ImageEncoding quality="70" />
- <ImageDecoding memCap="20000000" />
-
- </CamcorderProfiles>
-
- <CamcorderProfiles cameraId="2">
-
- <EncoderProfile quality="2160p" fileFormat="mp4" duration="60">
- <Video codec="h264"
- bitRate="72000000"
- width="3840"
- height="2160"
- frameRate="60" />
-
- <Audio codec="aac"
- bitRate="96000"
- sampleRate="48000"
- channels="1" />
- </EncoderProfile>
-
- <EncoderProfile quality="1080p" fileFormat="mp4" duration="60">
- <Video codec="h264"
- bitRate="33000000"
- width="1920"
- height="1080"
- frameRate="60" />
-
- <Audio codec="aac"
- bitRate="96000"
- sampleRate="48000"
- channels="1" />
- </EncoderProfile>
-
- <EncoderProfile quality="720p" fileFormat="mp4" duration="60">
- <Video codec="h264"
- bitRate="12000000"
- width="1280"
- height="720"
- frameRate="30" />
-
- <Audio codec="aac"
- bitRate="96000"
- sampleRate="48000"
- channels="1" />
- </EncoderProfile>
-
- <EncoderProfile quality="480p" fileFormat="mp4" duration="60">
- <Video codec="h264"
- bitRate="6000000"
- width="720"
- height="480"
- frameRate="30" />
-
- <Audio codec="aac"
- bitRate="96000"
- sampleRate="48000"
- channels="1" />
- </EncoderProfile>
-
- <EncoderProfile quality="cif" fileFormat="mp4" duration="60">
- <Video codec="h264"
- bitRate="1200000"
- width="352"
- height="288"
- frameRate="30" />
-
- <Audio codec="aac"
- bitRate="96000"
- sampleRate="48000"
- channels="1" />
- </EncoderProfile>
-
- <EncoderProfile quality="qvga" fileFormat="mp4" duration="60">
- <Video codec="h264"
- bitRate="512000"
- width="320"
- height="240"
- frameRate="30" />
-
- <Audio codec="aac"
- bitRate="96000"
- sampleRate="48000"
- channels="1" />
- </EncoderProfile>
-
- <EncoderProfile quality="qcif" fileFormat="3gp" duration="60">
- <Video codec="h264"
- bitRate="128000"
- width="176"
- height="144"
- frameRate="30" />
-
- <Audio codec="amrnb"
- bitRate="12200"
- sampleRate="8000"
- channels="1" />
- </EncoderProfile>
-
- <EncoderProfile quality="timelapse2160p" fileFormat="mp4" duration="60">
- <Video codec="h264"
- bitRate="48000000"
- width="3840"
- height="2160"
- frameRate="30" />
-
- <!-- Audio settings are not used for timealpse video recording -->
- <Audio codec="aac"
- bitRate="96000"
- sampleRate="48000"
- channels="1" />
- </EncoderProfile>
-
- <EncoderProfile quality="timelapse1080p" fileFormat="mp4" duration="60">
- <Video codec="h264"
- bitRate="22000000"
- width="1920"
- height="1080"
- frameRate="30" />
-
- <!-- Audio settings are not used for timealpse video recording -->
- <Audio codec="aac"
- bitRate="96000"
- sampleRate="48000"
- channels="1" />
- </EncoderProfile>
-
- <EncoderProfile quality="timelapse720p" fileFormat="mp4" duration="60">
- <Video codec="h264"
- bitRate="12000000"
- width="1280"
- height="720"
- frameRate="30" />
-
- <!-- Audio settings are not used for timealpse video recording -->
- <Audio codec="aac"
- bitRate="96000"
- sampleRate="48000"
- channels="1" />
- </EncoderProfile>
-
- <EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="60">
- <Video codec="h264"
- bitRate="6000000"
- width="720"
- height="480"
- frameRate="30" />
-
- <!-- Audio settings are not used for timealpse video recording -->
- <Audio codec="aac"
- bitRate="96000"
- sampleRate="48000"
- channels="1" />
- </EncoderProfile>
-
- <EncoderProfile quality="timelapsecif" fileFormat="mp4" duration="60">
- <Video codec="h264"
- bitRate="1200000"
- width="352"
- height="288"
- frameRate="30" />
-
- <!-- Audio settings are not used for timealpse video recording -->
- <Audio codec="aac"
- bitRate="96000"
- sampleRate="48000"
- channels="1" />
- </EncoderProfile>
-
- <EncoderProfile quality="timelapseqcif" fileFormat="mp4" duration="60">
- <Video codec="h264"
- bitRate="192000"
- width="176"
- height="144"
- frameRate="30" />
-
- <!-- Audio settings are not used for timealpse video recording -->
- <Audio codec="amrnb"
- bitRate="12200"
- sampleRate="8000"
- channels="1" />
- </EncoderProfile>
-
- <ImageEncoding quality="90" />
- <ImageEncoding quality="80" />
- <ImageEncoding quality="70" />
- <ImageDecoding memCap="20000000" />
-
- </CamcorderProfiles>
-
- <CamcorderProfiles cameraId="3">
-
- <EncoderProfile quality="2160p" fileFormat="mp4" duration="60">
- <Video codec="h264"
- bitRate="48000000"
- width="3840"
- height="2160"
- frameRate="30" />
-
- <Audio codec="aac"
- bitRate="96000"
- sampleRate="48000"
- channels="1" />
- </EncoderProfile>
-
- <EncoderProfile quality="1080p" fileFormat="mp4" duration="60">
- <Video codec="h264"
- bitRate="33000000"
- width="1920"
- height="1080"
- frameRate="60" />
-
- <Audio codec="aac"
- bitRate="96000"
- sampleRate="48000"
- channels="1" />
- </EncoderProfile>
-
- <EncoderProfile quality="720p" fileFormat="mp4" duration="60">
- <Video codec="h264"
- bitRate="12000000"
- width="1280"
- height="720"
- frameRate="30" />
-
- <Audio codec="aac"
- bitRate="96000"
- sampleRate="48000"
- channels="1" />
- </EncoderProfile>
-
- <EncoderProfile quality="480p" fileFormat="mp4" duration="60">
- <Video codec="h264"
- bitRate="6000000"
- width="720"
- height="480"
- frameRate="30" />
-
- <Audio codec="aac"
- bitRate="96000"
- sampleRate="48000"
- channels="1" />
- </EncoderProfile>
-
- <EncoderProfile quality="cif" fileFormat="mp4" duration="60">
- <Video codec="h264"
- bitRate="1200000"
- width="352"
- height="288"
- frameRate="30" />
-
- <Audio codec="aac"
- bitRate="96000"
- sampleRate="48000"
- channels="1" />
- </EncoderProfile>
-
- <EncoderProfile quality="qvga" fileFormat="mp4" duration="60">
- <Video codec="h264"
- bitRate="512000"
- width="320"
- height="240"
- frameRate="30" />
-
- <Audio codec="aac"
- bitRate="96000"
- sampleRate="48000"
- channels="1" />
- </EncoderProfile>
-
- <EncoderProfile quality="qcif" fileFormat="3gp" duration="60">
- <Video codec="h264"
- bitRate="128000"
- width="176"
- height="144"
- frameRate="30" />
-
- <Audio codec="amrnb"
- bitRate="12200"
- sampleRate="8000"
- channels="1" />
- </EncoderProfile>
-
- <EncoderProfile quality="timelapse2160p" fileFormat="mp4" duration="60">
- <Video codec="h264"
- bitRate="48000000"
- width="3840"
- height="2160"
- frameRate="30" />
-
- <!-- Audio settings are not used for timealpse video recording -->
- <Audio codec="aac"
- bitRate="96000"
- sampleRate="48000"
- channels="1" />
- </EncoderProfile>
-
- <EncoderProfile quality="timelapse1080p" fileFormat="mp4" duration="60">
- <Video codec="h264"
- bitRate="22000000"
- width="1920"
- height="1080"
- frameRate="30" />
-
- <!-- Audio settings are not used for timealpse video recording -->
- <Audio codec="aac"
- bitRate="96000"
- sampleRate="48000"
- channels="1" />
- </EncoderProfile>
-
- <EncoderProfile quality="timelapse720p" fileFormat="mp4" duration="60">
- <Video codec="h264"
- bitRate="12000000"
- width="1280"
- height="720"
- frameRate="30" />
-
- <!-- Audio settings are not used for timealpse video recording -->
- <Audio codec="aac"
- bitRate="96000"
- sampleRate="48000"
- channels="1" />
- </EncoderProfile>
-
- <EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="60">
- <Video codec="h264"
- bitRate="6000000"
- width="720"
- height="480"
- frameRate="30" />
-
- <!-- Audio settings are not used for timealpse video recording -->
- <Audio codec="aac"
- bitRate="96000"
- sampleRate="48000"
- channels="1" />
- </EncoderProfile>
-
- <EncoderProfile quality="timelapsecif" fileFormat="mp4" duration="60">
- <Video codec="h264"
- bitRate="1200000"
- width="352"
- height="288"
- frameRate="30" />
-
- <!-- Audio settings are not used for timealpse video recording -->
- <Audio codec="aac"
- bitRate="96000"
- sampleRate="48000"
- channels="1" />
- </EncoderProfile>
-
- <EncoderProfile quality="timelapseqcif" fileFormat="mp4" duration="60">
- <Video codec="h264"
- bitRate="192000"
- width="176"
- height="144"
- frameRate="30" />
-
- <!-- Audio settings are not used for timealpse video recording -->
- <Audio codec="amrnb"
- bitRate="12200"
- sampleRate="8000"
- channels="1" />
- </EncoderProfile>
-
- <ImageEncoding quality="90" />
- <ImageEncoding quality="80" />
- <ImageEncoding quality="70" />
- <ImageDecoding memCap="20000000" />
-
- </CamcorderProfiles>
-
- <CamcorderProfiles cameraId="4">
-
- <EncoderProfile quality="2160p" fileFormat="mp4" duration="60">
- <Video codec="h264"
- bitRate="48000000"
- width="3840"
- height="2160"
- frameRate="30" />
-
- <Audio codec="aac"
- bitRate="96000"
- sampleRate="48000"
- channels="1" />
- </EncoderProfile>
-
- <EncoderProfile quality="1080p" fileFormat="mp4" duration="60">
- <Video codec="h264"
- bitRate="22000000"
- width="1920"
- height="1080"
- frameRate="30" />
-
- <Audio codec="aac"
- bitRate="96000"
- sampleRate="48000"
- channels="1" />
- </EncoderProfile>
-
- <EncoderProfile quality="720p" fileFormat="mp4" duration="60">
- <Video codec="h264"
- bitRate="12000000"
- width="1280"
- height="720"
- frameRate="30" />
-
- <Audio codec="aac"
- bitRate="96000"
- sampleRate="48000"
- channels="1" />
- </EncoderProfile>
-
- <EncoderProfile quality="480p" fileFormat="mp4" duration="60">
- <Video codec="h264"
- bitRate="6000000"
- width="720"
- height="480"
- frameRate="30" />
-
- <Audio codec="aac"
- bitRate="96000"
- sampleRate="48000"
- channels="1" />
- </EncoderProfile>
-
- <EncoderProfile quality="cif" fileFormat="mp4" duration="60">
- <Video codec="h264"
- bitRate="1200000"
- width="352"
- height="288"
- frameRate="30" />
-
- <Audio codec="aac"
- bitRate="96000"
- sampleRate="48000"
- channels="1" />
- </EncoderProfile>
-
- <EncoderProfile quality="qvga" fileFormat="mp4" duration="60">
- <Video codec="h264"
- bitRate="512000"
- width="320"
- height="240"
- frameRate="30" />
-
- <Audio codec="aac"
- bitRate="96000"
- sampleRate="48000"
- channels="1" />
- </EncoderProfile>
-
- <EncoderProfile quality="qcif" fileFormat="3gp" duration="60">
- <Video codec="h264"
- bitRate="128000"
- width="176"
- height="144"
- frameRate="30" />
-
- <Audio codec="amrnb"
- bitRate="12200"
- sampleRate="8000"
- channels="1" />
- </EncoderProfile>
-
- <EncoderProfile quality="timelapse2160p" fileFormat="mp4" duration="60">
- <Video codec="h264"
- bitRate="48000000"
- width="3840"
- height="2160"
- frameRate="30" />
-
- <!-- Audio settings are not used for timealpse video recording -->
- <Audio codec="aac"
- bitRate="96000"
- sampleRate="48000"
- channels="1" />
- </EncoderProfile>
-
- <EncoderProfile quality="timelapse1080p" fileFormat="mp4" duration="60">
- <Video codec="h264"
- bitRate="22000000"
- width="1920"
- height="1080"
- frameRate="30" />
-
- <!-- Audio settings are not used for timealpse video recording -->
- <Audio codec="aac"
- bitRate="96000"
- sampleRate="48000"
- channels="1" />
- </EncoderProfile>
-
- <EncoderProfile quality="timelapse720p" fileFormat="mp4" duration="60">
- <Video codec="h264"
- bitRate="12000000"
- width="1280"
- height="720"
- frameRate="30" />
-
- <!-- Audio settings are not used for timealpse video recording -->
- <Audio codec="aac"
- bitRate="96000"
- sampleRate="48000"
- channels="1" />
- </EncoderProfile>
-
- <EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="60">
- <Video codec="h264"
- bitRate="6000000"
- width="720"
- height="480"
- frameRate="30" />
-
- <!-- Audio settings are not used for timealpse video recording -->
- <Audio codec="aac"
- bitRate="96000"
- sampleRate="48000"
- channels="1" />
- </EncoderProfile>
-
- <EncoderProfile quality="timelapsecif" fileFormat="mp4" duration="60">
- <Video codec="h264"
- bitRate="1200000"
- width="352"
- height="288"
- frameRate="30" />
-
- <!-- Audio settings are not used for timealpse video recording -->
- <Audio codec="aac"
- bitRate="96000"
- sampleRate="48000"
- channels="1" />
- </EncoderProfile>
-
- <EncoderProfile quality="timelapseqcif" fileFormat="mp4" duration="60">
- <Video codec="h264"
- bitRate="192000"
- width="176"
- height="144"
- frameRate="30" />
-
- <!-- Audio settings are not used for timealpse video recording -->
- <Audio codec="amrnb"
- bitRate="12200"
- sampleRate="8000"
- channels="1" />
- </EncoderProfile>
-
- <ImageEncoding quality="90" />
- <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="hevc" enabled="true"
- minBitRate="64000" maxBitRate="100000000"
- minFrameWidth="128" maxFrameWidth="3840"
- minFrameHeight="96" maxFrameHeight="2160"
- minFrameRate="15" maxFrameRate="30" />
-
- <VideoEncoderCap name="h264" enabled="true"
- minBitRate="64000" maxBitRate="100000000"
- minFrameWidth="128" maxFrameWidth="3840"
- minFrameHeight="96" maxFrameHeight="2160"
- minFrameRate="15" maxFrameRate="30" />
-
- <VideoEncoderCap name="h263" enabled="true"
- minBitRate="64000" maxBitRate="1000000"
- minFrameWidth="128" maxFrameWidth="1920"
- minFrameHeight="96" maxFrameHeight="1080"
- minFrameRate="15" maxFrameRate="30" />
-
- <VideoEncoderCap name="m4v" enabled="true"
- minBitRate="64000" maxBitRate="2000000"
- minFrameWidth="128" maxFrameWidth="1920"
- minFrameHeight="96" maxFrameHeight="1080"
- minFrameRate="15" maxFrameRate="30" />
-
- <AudioEncoderCap name="aac" enabled="true"
- minBitRate="758" maxBitRate="288000"
- minSampleRate="8000" maxSampleRate="48000"
- minChannels="1" maxChannels="1" />
-
- <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="23050"
- 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"/>
-</MediaSettings>
diff --git a/nfc/libnfc-hal-st.conf b/nfc/libnfc-hal-st.conf
index 442e785..51dfb91 100644
--- a/nfc/libnfc-hal-st.conf
+++ b/nfc/libnfc-hal-st.conf
@@ -8,7 +8,7 @@
###############################################################################
# Vendor specific mode to enable FW (RF & SWP) traces.
-STNFC_FW_DEBUG_ENABLED=0
+STNFC_FW_DEBUG_ENABLED=1
###############################################################################
# File used for NFA storage
diff --git a/powerhint-akita.json b/powerhint-akita.json
index c1e8626..923d0dc 100644
--- a/powerhint-akita.json
+++ b/powerhint-akita.json
@@ -277,7 +277,7 @@
},
{
"Name": "BGUClampMaxBoost",
- "Path": "/proc/vendor_sched/bg_uclamp_max",
+ "Path": "/proc/vendor_sched/groups/bg/uclamp_max",
"Values": [
"130",
"512"
@@ -287,7 +287,7 @@
},
{
"Name": "Dex2oatUClampMaxBoost",
- "Path": "/proc/vendor_sched/dex2oat_uclamp_max",
+ "Path": "/proc/vendor_sched/groups/dex2oat/uclamp_max",
"Values": [
"-2",
"615"
@@ -297,16 +297,17 @@
},
{
"Name": "CAMUClampBoost",
- "Path": "/proc/vendor_sched/cam_uclamp_min",
+ "Path": "/proc/vendor_sched/groups/cam/uclamp_min",
"Values": [
"765",
+ "250",
"0"
],
"ResetOnInit": true
},
{
"Name": "TAUClampBoost",
- "Path": "/proc/vendor_sched/ta_uclamp_min",
+ "Path": "/proc/vendor_sched/groups/ta/uclamp_min",
"Values": [
"765",
"1"
@@ -315,7 +316,7 @@
},
{
"Name": "FGUClampBoost",
- "Path": "/proc/vendor_sched/fg_uclamp_min",
+ "Path": "/proc/vendor_sched/groups/fg/uclamp_min",
"Values": [
"159",
"0"
@@ -324,7 +325,7 @@
},
{
"Name": "MLUclampBoost",
- "Path": "/proc/vendor_sched/nnapi_uclamp_min",
+ "Path": "/proc/vendor_sched/groups/nnapi/uclamp_min",
"Values": [
"225",
"812"
@@ -343,7 +344,7 @@
},
{
"Name": "CDPreferIdle",
- "Path": "/proc/vendor_sched/cam_prefer_idle",
+ "Path": "/proc/vendor_sched/groups/cam/prefer_idle",
"Values": [
"1",
"0"
@@ -405,7 +406,7 @@
},
{
"Name": "TAPreferHighCap",
- "Path": "/proc/vendor_sched/ta_prefer_high_cap",
+ "Path": "/proc/vendor_sched/groups/ta/prefer_high_cap",
"Values": [
"1",
"0"
@@ -414,7 +415,7 @@
},
{
"Name": "TAPreferIdle",
- "Path": "/proc/vendor_sched/ta_prefer_idle",
+ "Path": "/proc/vendor_sched/groups/ta/prefer_idle",
"Values": [
"1",
"0"
@@ -424,7 +425,7 @@
},
{
"Name": "FGPreferIdle",
- "Path": "/proc/vendor_sched/fg_prefer_idle",
+ "Path": "/proc/vendor_sched/groups/fg/prefer_idle",
"Values": [
"1",
"0"
@@ -434,7 +435,7 @@
},
{
"Name": "CDPreferHighCap",
- "Path": "/proc/vendor_sched/cam_prefer_high_cap",
+ "Path": "/proc/vendor_sched/groups/cam/prefer_high_cap",
"Values": [
"1",
"0"
@@ -752,7 +753,7 @@
},
{
"Name": "Dex2oatGroup",
- "Path": "/proc/vendor_sched/dex2oat_ug",
+ "Path": "/proc/vendor_sched/groups/dex2oat/ug",
"Values": [
"1",
"0"
@@ -793,15 +794,6 @@
"20 40"
],
"ResetOnInit": true
- },
- {
- "Name": "SchedLibMaskIn",
- "Path": "/proc/vendor_sched/sched_lib_mask_in",
- "Values": [
- "0x100",
- "0x0"
- ],
- "ResetOnInit": true
}
],
"Actions": [
@@ -965,12 +957,6 @@
"Value": "1"
},
{
- "PowerHint": "LAUNCH",
- "Node": "SchedLibMaskIn",
- "Duration": 5000,
- "Value": "0x100"
- },
- {
"PowerHint": "LAUNCH_EXTEND",
"Node": "CPUBigClusterMaxFreq",
"Duration": 2000,
@@ -1049,18 +1035,77 @@
"Value": "1"
},
{
- "PowerHint": "LAUNCH_EXTEND",
- "Node": "SchedLibMaskIn",
- "Duration": 5000,
- "Value": "0x100"
- },
- {
"PowerHint": "LAUNCH_PMU",
"Node": "PMU_POLL",
"Duration": 3000,
"Value": "0"
},
{
+ "PowerHint": "DISPLAY_CHANGE",
+ "Node": "ReducePreferIdle",
+ "Duration": 5000,
+ "Value": "0"
+ },
+ {
+ "PowerHint": "DISPLAY_CHANGE_GPU",
+ "Node": "GPUDvfsPeriod",
+ "Duration": 1000,
+ "Value": "10"
+ },
+ {
+ "PowerHint": "DISPLAY_CHANGE",
+ "Type": "DoHint",
+ "Value": "DISPLAY_CHANGE_GPU"
+ },
+ {
+ "PowerHint": "DISPLAY_CHANGE",
+ "Node": "CPUBigClusterMaxFreq",
+ "Duration": 5000,
+ "Value": "9999999"
+ },
+ {
+ "PowerHint": "DISPLAY_CHANGE",
+ "Node": "CPUMidClusterMaxFreq",
+ "Duration": 5000,
+ "Value": "9999999"
+ },
+ {
+ "PowerHint": "DISPLAY_CHANGE",
+ "Node": "CPULittleClusterMaxFreq",
+ "Duration": 5000,
+ "Value": "9999999"
+ },
+ {
+ "PowerHint": "DISPLAY_CHANGE",
+ "Node": "TAUClampBoost",
+ "Duration": 5000,
+ "Value": "765"
+ },
+ {
+ "PowerHint": "DISPLAY_CHANGE",
+ "Node": "FGUClampBoost",
+ "Duration": 5000,
+ "Value": "159"
+ },
+ {
+ "PowerHint": "DISPLAY_CHANGE",
+ "Node": "MemFreq",
+ "Duration": 5000,
+ "Value": "9999999"
+ },
+ {
+ "PowerHint": "DISPLAY_CHANGE",
+ "Node": "DsuMinFreq",
+ "Duration": 5000,
+ "Value": "1800000"
+ },
+ {
+ "PowerHint": "DISPLAY_CHANGE",
+ "Node": "BCIMinFreq",
+ "Duration": 5000,
+ "Value": "1401000"
+ },
+ {
"PowerHint": "CPU_LOAD_RESET",
"Node": "GPUPowerOn",
"Duration": 10,
@@ -1451,6 +1496,12 @@
},
{
"PowerHint": "CAMERA_STREAMING_EXTREME",
+ "Node": "CAMUClampBoost",
+ "Duration": 0,
+ "Value": "250"
+ },
+ {
+ "PowerHint": "CAMERA_STREAMING_EXTREME",
"Node": "PMU_LIT_LIMIT_FREQ",
"Duration": 0,
"Value": "1098000"
@@ -2160,6 +2211,12 @@
"Value": "233000"
},
{
+ "PowerHint": "CAMERA_ADJUST_CAM_UCLAMP_MIN",
+ "Node": "CAMUClampBoost",
+ "Duration": 0,
+ "Value": "250"
+ },
+ {
"PowerHint": "FIXED_PERFORMANCE",
"Node": "CPUBigClusterMaxFreq",
"Duration": 0,
@@ -2334,18 +2391,6 @@
"Value": "1"
},
{
- "PowerHint": "REFRESH_120FPS",
- "Node": "TAUClampBoost",
- "Duration": 0,
- "Value": "1"
- },
- {
- "PowerHint": "REFRESH_60FPS",
- "Node": "TAUClampBoost",
- "Duration": 0,
- "Value": "1"
- },
- {
"PowerHint": "DISPLAY_IDLE",
"Node": "FGPreferIdle",
"Duration": 0,
@@ -2465,12 +2510,6 @@
"Value": "1"
},
{
- "PowerHint": "GAME",
- "Node": "SchedLibMaskIn",
- "Duration": 0,
- "Value": "0x100"
- },
- {
"PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_LIGHT",
"Node": "PMU_POLL",
"Duration": 0,
diff --git a/powerstats/akita/service.cpp b/powerstats/akita/service.cpp
index 743a84b..b5ad6f1 100644
--- a/powerstats/akita/service.cpp
+++ b/powerstats/akita/service.cpp
@@ -27,6 +27,7 @@
#include <android/binder_manager.h>
#include <android/binder_process.h>
#include <log/log.h>
+#include <sys/stat.h>
using aidl::android::hardware::power::stats::DisplayStateResidencyDataProvider;
using aidl::android::hardware::power::stats::EnergyConsumerType;
@@ -35,18 +36,25 @@
void addDisplay(std::shared_ptr<PowerStats> p) {
// Add display residency stats
- std::vector<std::string> states = {
- "Off",
- "LP: 1080x2400@30",
- "On: 1080x2400@60",
- "On: 1080x2400@120",
- "HBM: 1080x2400@60",
- "HBM: 1080x2400@120"};
+ struct stat buffer;
+ if (stat("/sys/class/drm/card0/device/primary-panel/time_in_state", &buffer)) {
+ // time_in_state doesn't exist
+ std::vector<std::string> states = {
+ "Off",
+ "LP: 1080x2400@30",
+ "On: 1080x2400@60",
+ "On: 1080x2400@120",
+ "HBM: 1080x2400@60",
+ "HBM: 1080x2400@120"};
- p->addStateResidencyDataProvider(std::make_unique<DisplayStateResidencyDataProvider>(
- "Display",
- "/sys/class/backlight/panel0-backlight/state",
- states));
+ p->addStateResidencyDataProvider(std::make_unique<DisplayStateResidencyDataProvider>(
+ "Display",
+ "/sys/class/backlight/panel0-backlight/state",
+ states));
+ } else {
+ // time_in_state exists
+ addDisplayMRR(p);
+ }
// Add display energy consumer
p->addEnergyConsumer(PowerStatsEnergyConsumer::createMeterAndEntityConsumer(
diff --git a/rro_overlays/NfcOverlay/Android.bp b/rro_overlays/NfcOverlay/Android.bp
new file mode 100644
index 0000000..78ccc4b
--- /dev/null
+++ b/rro_overlays/NfcOverlay/Android.bp
@@ -0,0 +1,9 @@
+package {
+ default_applicable_licenses: ["device_google_akita_license"],
+}
+
+runtime_resource_overlay {
+ name: "NfcOverlayAkita",
+ sdk_version: "current",
+ product_specific: true
+}
diff --git a/rro_overlays/NfcOverlay/AndroidManifest.xml b/rro_overlays/NfcOverlay/AndroidManifest.xml
new file mode 100644
index 0000000..5241aa4
--- /dev/null
+++ b/rro_overlays/NfcOverlay/AndroidManifest.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2023 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.
+-->
+<!-- Pixel specific nfc overlays -->
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ package="com.android.nfc.overlay"
+ android:versionCode="1"
+ android:versionName="1.0">
+ <application android:hasCode="false" />
+ <overlay
+ android:targetPackage="com.android.nfc"
+ android:targetName="NfcCustomization"
+ android:isStatic="true"
+ android:priority="0"/>
+</manifest>
diff --git a/rro_overlays/NfcOverlay/OWNERS b/rro_overlays/NfcOverlay/OWNERS
new file mode 100644
index 0000000..35e9713
--- /dev/null
+++ b/rro_overlays/NfcOverlay/OWNERS
@@ -0,0 +1,2 @@
+# Bug component: 48448
+include platform/packages/apps/Nfc:/OWNERS
diff --git a/rro_overlays/NfcOverlay/res/values/config.xml b/rro_overlays/NfcOverlay/res/values/config.xml
new file mode 100644
index 0000000..717cf7d
--- /dev/null
+++ b/rro_overlays/NfcOverlay/res/values/config.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2023 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="nfcc_always_on_allowed">false</bool>
+ <bool name="polling_disable_allowed">false</bool>
+ <string-array name="config_skuSupportsSecureNfc" translatable="false">
+ <item>G8HHN</item>
+ <item>GKV4X</item>
+ <item>G6GPR</item>
+ <item>G576D</item>
+ </string-array>
+ <bool name="tag_intent_app_pref_supported">true</bool>
+ <!-- NFC Antenna Location API -->
+ <integer name="device_width">68</integer>
+ <integer name="device_height">142</integer>
+ <bool name="device_foldable">false</bool>
+ <integer-array name="antenna_x">
+ <item>34</item>
+ </integer-array>
+ <integer-array name="antenna_y">
+ <item>96</item>
+ </integer-array>
+ <bool name="nfc_observe_mode_supported">true</bool>
+</resources>
diff --git a/rro_overlays/WifiOverlay/res/values/config.xml b/rro_overlays/WifiOverlay/res/values/config.xml
index 7885c16..f43162c 100644
--- a/rro_overlays/WifiOverlay/res/values/config.xml
+++ b/rro_overlays/WifiOverlay/res/values/config.xml
@@ -159,4 +159,16 @@
<!-- boolean indicating whether the caller thread needs to wait for destroyed listeners -->
<bool translatable="false" name ="config_wifiWaitForDestroyedListeners">true</bool>
+
+ <!-- Boolean indicating performing a partial initial scan is enabled -->
+ <bool translatable="false" name="config_wifiEnablePartialInitialScan">true</bool>
+ <!-- Configure the max number of new channels to add into the initial partial scan list per network.
+ If equals to 0, it means there's no limit on the max number of channels to include per network.-->
+ <integer translatable="false" name="config_wifiInitialPartialScanMaxNewChannelsPerNetwork">3</integer>
+
+ <!-- Boolean indicating whether to disable firmware roaming when the device goes into idle mode.
+ true: firmware roaming will be disabled when the device goes into idle mode, and then
+ re-activated when the device exits idle mode.
+ false: firmware roaming will not be affected. -->
+ <bool translatable="false" name ="config_wifiDisableFirmwareRoamingInIdleMode">true</bool>
</resources>
diff --git a/self-extractors/Android.mk b/self-extractors/Android.mk
deleted file mode 100644
index e69de29..0000000
--- a/self-extractors/Android.mk
+++ /dev/null
diff --git a/self-extractors/extract-lists.txt b/self-extractors/extract-lists.txt
index e8333da..9f3c26f 100644
--- a/self-extractors/extract-lists.txt
+++ b/self-extractors/extract-lists.txt
@@ -5,13 +5,11 @@
IMAGES/vendor_dlkm.img \
RADIO/bootloader.img \
RADIO/radio.img \
- system_ext/etc/permissions/com.android.qns.xml \
system_ext/etc/permissions/com.shannon.imsservice.xml \
system_ext/etc/permissions/com.shannon.rcsservice.xml \
system_ext/lib64/libmediaadaptor.so \
system_ext/priv-app/ShannonRcs/ShannonRcs.apk \
system_ext/priv-app/ShannonIms/ShannonIms.apk \
- system_ext/priv-app/PixelQualifiedNetworksService/PixelQualifiedNetworksService.apk \
"
;;
diff --git a/self-extractors/google_devices/staging/Android.mk.template b/self-extractors/google_devices/staging/Android.mk.template
new file mode 100644
index 0000000..f6ab5f2
--- /dev/null
+++ b/self-extractors/google_devices/staging/Android.mk.template
@@ -0,0 +1,57 @@
+#
+# Copyright (C) 2023 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.
+#
+
+LOCAL_PATH := $(call my-dir)
+
+ifneq ($(filter akita,$(TARGET_DEVICE)),)
+ $(call add-radio-file,bootloader.img)
+ $(call add-radio-file,radio.img)
+endif
+
+ifneq ($(filter akita,$(TARGET_DEVICE)),)
+include $(CLEAR_VARS)
+LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
+LOCAL_MODULE := ShannonIms
+LOCAL_MODULE_TAGS := optional
+LOCAL_BUILT_MODULE_STEM := package.apk
+LOCAL_SYSTEM_EXT_MODULE := true
+LOCAL_PRIVILEGED_MODULE := true
+LOCAL_MODULE_OWNER := samsung
+LOCAL_MODULE_CLASS := APPS
+LOCAL_SRC_FILES := $(LOCAL_MODULE).apk
+LOCAL_CERTIFICATE := PRESIGNED
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../COPYRIGHT $(LOCAL_PATH)/../LICENSE
+include $(BUILD_PREBUILT)
+
+include $(CLEAR_VARS)
+LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
+LOCAL_MODULE := ShannonRcs
+LOCAL_MODULE_TAGS := optional
+LOCAL_BUILT_MODULE_STEM := package.apk
+LOCAL_SYSTEM_EXT_MODULE := true
+LOCAL_PRIVILEGED_MODULE := true
+LOCAL_MODULE_OWNER := samsung
+LOCAL_MODULE_CLASS := APPS
+LOCAL_SRC_FILES := $(LOCAL_MODULE).apk
+LOCAL_CERTIFICATE := platform
+LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0
+LOCAL_LICENSE_CONDITIONS := notice
+LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../COPYRIGHT $(LOCAL_PATH)/../LICENSE
+include $(BUILD_PREBUILT)
+
+endif
diff --git a/self-extractors/google_devices/staging/device-partial.mk b/self-extractors/google_devices/staging/device-partial.mk
index 023145f..1479715 100644
--- a/self-extractors/google_devices/staging/device-partial.mk
+++ b/self-extractors/google_devices/staging/device-partial.mk
@@ -17,7 +17,6 @@
# AOSP packages required by the blobs
PRODUCT_PACKAGES := \
- PixelQualifiedNetworksService \
ShannonIms \
ShannonRcs \
@@ -26,7 +25,6 @@
# blob(s) necessary for akita hardware
PRODUCT_COPY_FILES := \
- vendor/google_devices/akita/proprietary/com.android.qns.xml:system_ext/etc/permissions/com.android.qns.xml:google \
vendor/google_devices/akita/proprietary/com.shannon.imsservice.xml:system_ext/etc/permissions/com.shannon.imsservice.xml:samsung \
vendor/google_devices/akita/proprietary/com.shannon.rcsservice.xml:system_ext/etc/permissions/com.shannon.rcsservice.xml:samsung \
diff --git a/thermal_info_config_akita.json b/thermal_info_config_akita.json
index 5ac2ce9..71f21ad 100644
--- a/thermal_info_config_akita.json
+++ b/thermal_info_config_akita.json
@@ -221,6 +221,7 @@
"Name":"VIRTUAL-SKIN-HINT",
"Type":"UNKNOWN",
"VirtualSensor":true,
+ "Hidden":true,
"TriggerSensor":"soc_therm",
"Formula":"MAXIMUM",
"Combination":["VIRTUAL-SKIN"],