Merge Android 12
Bug: 202323961
Merged-In: Iee14e064c00685d832860de7590d221d553ca3f1
Change-Id: If74b0ce749350ec32ff5eb8898cd3c196bf2f064
diff --git a/Android.bp b/Android.bp
index 5bf63df..eb3944f 100644
--- a/Android.bp
+++ b/Android.bp
@@ -36,3 +36,12 @@
],
// large-scale-change unable to identify any license_text files
}
+
+vintf_compatibility_matrix {
+ name: "redbull_product_compatibility_matrix.xml",
+ stem: "compatibility_matrix.redbull.xml",
+ product_specific: true,
+ srcs: [
+ "device_framework_matrix_product.xml",
+ ],
+}
diff --git a/BoardConfig-common.mk b/BoardConfig-common.mk
index eb2e727..693d733 100644
--- a/BoardConfig-common.mk
+++ b/BoardConfig-common.mk
@@ -21,16 +21,20 @@
USES_DEVICE_GOOGLE_REDBULL := true
TARGET_ARCH := arm64
-TARGET_ARCH_VARIANT := armv8-2a
+TARGET_ARCH_VARIANT := armv8-a
TARGET_CPU_ABI := arm64-v8a
TARGET_CPU_ABI2 :=
-TARGET_CPU_VARIANT := cortex-a76
+TARGET_CPU_VARIANT := generic
+TARGET_CPU_VARIANT_RUNTIME := cortex-a76
+ifeq (,$(filter %_64,$(TARGET_PRODUCT)))
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-a76
+TARGET_2ND_CPU_VARIANT := generic
+TARGET_2ND_CPU_VARIANT_RUNTIME := cortex-a76
+endif
BUILD_BROKEN_DUP_RULES := true
BOARD_KERNEL_CMDLINE += console=ttyMSM0,115200n8 androidboot.console=ttyMSM0 printk.devkmsg=on
@@ -69,15 +73,26 @@
AB_OTA_UPDATER := true
-AB_OTA_PARTITIONS += \
- boot \
- vendor_boot \
- system \
- vbmeta \
- dtbo \
- product \
- vbmeta_system \
- system_ext
+ifneq ($(PRODUCT_BUILD_SYSTEM_IMAGE),false)
+AB_OTA_PARTITIONS += system
+AB_OTA_PARTITIONS += vbmeta_system
+endif
+ifneq ($(PRODUCT_BUILD_PRODUCT_IMAGE),false)
+AB_OTA_PARTITIONS += product
+endif
+ifneq ($(PRODUCT_BUILD_SYSTEM_EXT_IMAGE),false)
+AB_OTA_PARTITIONS += system_ext
+endif
+ifneq ($(PRODUCT_BUILD_BOOT_IMAGE),false)
+AB_OTA_PARTITIONS += boot
+endif
+ifneq ($(PRODUCT_BUILD_VENDOR_BOOT_IMAGE),false)
+AB_OTA_PARTITIONS += vendor_boot
+AB_OTA_PARTITIONS += dtbo
+endif
+ifneq ($(PRODUCT_BUILD_VBMETA_IMAGE),false)
+AB_OTA_PARTITIONS += vbmeta
+endif
# Partitions (listed in the file) to be wiped under recovery.
TARGET_RECOVERY_WIPE := device/google/redbull/recovery.wipe
@@ -88,7 +103,7 @@
libfstab
# Enable chain partition for system.
-BOARD_AVB_VBMETA_SYSTEM := system
+BOARD_AVB_VBMETA_SYSTEM := system system_ext product
BOARD_AVB_VBMETA_SYSTEM_KEY_PATH := external/avb/test/data/testkey_rsa2048.pem
BOARD_AVB_VBMETA_SYSTEM_ALGORITHM := SHA256_RSA2048
BOARD_AVB_VBMETA_SYSTEM_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP)
@@ -351,6 +366,7 @@
sctp_diag.ko \
qrtr-smd.ko \
msm_drm.ko \
+ dm-user.ko \
# system_ext.img
BOARD_SYSTEM_EXTIMAGE_FILE_SYSTEM_TYPE := ext4
@@ -453,9 +469,11 @@
# Vendor Interface Manifest
DEVICE_MANIFEST_FILE := device/google/redbull/manifest.xml
+ifeq (,$(filter %_64,$(TARGET_PRODUCT)))
+# Omx is 32 bit only
+DEVICE_MANIFEST_FILE += device/google/redbull/manifest_omx.xml
+endif
DEVICE_MATRIX_FILE := device/google/redbull/compatibility_matrix.xml
-DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE := device/google/redbull/device_framework_matrix.xml
-DEVICE_FRAMEWORK_MANIFEST_FILE := device/google/redbull/framework_manifest.xml
# Use mke2fs to create ext4 images
TARGET_USES_MKE2FS := true
@@ -463,14 +481,21 @@
# dynamic partition
BOARD_SUPER_PARTITION_SIZE := 9755951104
BOARD_SUPER_PARTITION_GROUPS := google_dynamic_partitions
-BOARD_GOOGLE_DYNAMIC_PARTITIONS_PARTITION_LIST := \
- system \
- vendor \
- product \
- system_ext
+ifneq ($(PRODUCT_BUILD_SYSTEM_IMAGE),false)
+BOARD_GOOGLE_DYNAMIC_PARTITIONS_PARTITION_LIST += system
+endif
+ifneq ($(PRODUCT_BUILD_PRODUCT_IMAGE),false)
+BOARD_GOOGLE_DYNAMIC_PARTITIONS_PARTITION_LIST += product
+endif
+ifneq ($(PRODUCT_BUILD_SYSTEM_EXT_IMAGE),false)
+BOARD_GOOGLE_DYNAMIC_PARTITIONS_PARTITION_LIST += system_ext
+endif
+ifneq ($(PRODUCT_BUILD_VENDOR_IMAGE),false)
+BOARD_GOOGLE_DYNAMIC_PARTITIONS_PARTITION_LIST += vendor
+endif
-#BOARD_GOOGLE_DYNAMIC_PARTITIONS_SIZE is set to BOARD_SUPER_PARTITION_SIZE / 2 - 4MB
-BOARD_GOOGLE_DYNAMIC_PARTITIONS_SIZE := 4873781248
+#BOARD_GOOGLE_DYNAMIC_PARTITIONS_SIZE is set to (5GB - 4MB)
+BOARD_GOOGLE_DYNAMIC_PARTITIONS_SIZE := 5364514816
# Set error limit to BOARD_SUPER_PARTITON_SIZE - 500MB
BOARD_SUPER_PARTITION_ERROR_LIMIT := 9231663104
@@ -512,6 +537,9 @@
KERNEL_MODULE_DIR := $(TARGET_KERNEL_DIR)/kasan
else ifeq (,$(filter-out $(TARGET_BOOTLOADER_BOARD_NAME)_kernel_debug_memory, $(TARGET_PRODUCT)))
KERNEL_MODULE_DIR := $(TARGET_KERNEL_DIR)/debug_memory
+else ifeq (,$(filter-out $(TARGET_BOOTLOADER_BOARD_NAME)_kernel_debug_memory_accounting, $(TARGET_PRODUCT)))
+ KERNEL_MODULE_DIR := $(TARGET_KERNEL_DIR)/debug_memory_accounting
+BOARD_KERNEL_CMDLINE += page_owner=on
else ifeq (,$(filter-out $(TARGET_BOOTLOADER_BOARD_NAME)_kernel_debug_locking, $(TARGET_PRODUCT)))
KERNEL_MODULE_DIR := $(TARGET_KERNEL_DIR)/debug_locking
else ifeq (,$(filter-out $(TARGET_BOOTLOADER_BOARD_NAME)_kernel_debug_hang, $(TARGET_PRODUCT)))
diff --git a/METADATA b/METADATA
new file mode 100644
index 0000000..d97975c
--- /dev/null
+++ b/METADATA
@@ -0,0 +1,3 @@
+third_party {
+ license_type: NOTICE
+}
diff --git a/audio/audio_io_policy.conf b/audio/audio_io_policy.conf
index 948c0ff..68aee2b 100644
--- a/audio/audio_io_policy.conf
+++ b/audio/audio_io_policy.conf
@@ -68,14 +68,14 @@
app_type 69941
}
compress_offload_16 {
- flags AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD|AUDIO_OUTPUT_FLAG_NON_BLOCKING
+ flags AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD|AUDIO_OUTPUT_FLAG_NON_BLOCKING|AUDIO_OUTPUT_FLAG_GAPLESS_OFFLOAD
formats AUDIO_FORMAT_MP3|AUDIO_FORMAT_PCM_16_BIT_OFFLOAD|AUDIO_FORMAT_PCM_24_BIT_OFFLOAD|AUDIO_FORMAT_FLAC|AUDIO_FORMAT_ALAC|AUDIO_FORMAT_APE|AUDIO_FORMAT_AAC_LC|AUDIO_FORMAT_AAC_HE_V1|AUDIO_FORMAT_AAC_HE_V2|AUDIO_FORMAT_WMA|AUDIO_FORMAT_WMA_PRO|AUDIO_FORMAT_VORBIS|AUDIO_FORMAT_AAC_ADTS_LC|AUDIO_FORMAT_AAC_ADTS_HE_V1|AUDIO_FORMAT_AAC_ADTS_HE_V2
sampling_rates 44100|48000|88200|96000|176400|192000
bit_width 16
app_type 69940
}
compress_offload_24 {
- flags AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD|AUDIO_OUTPUT_FLAG_NON_BLOCKING
+ flags AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD|AUDIO_OUTPUT_FLAG_NON_BLOCKING|AUDIO_OUTPUT_FLAG_GAPLESS_OFFLOAD
formats AUDIO_FORMAT_MP3|AUDIO_FORMAT_PCM_24_BIT_OFFLOAD|AUDIO_FORMAT_FLAC|AUDIO_FORMAT_ALAC|AUDIO_FORMAT_APE|AUDIO_FORMAT_AAC_LC|AUDIO_FORMAT_AAC_HE_V1|AUDIO_FORMAT_AAC_HE_V2|AUDIO_FORMAT_VORBIS|AUDIO_FORMAT_WMA|AUDIO_FORMAT_WMA_PRO|AUDIO_FORMAT_AAC_ADTS_LC|AUDIO_FORMAT_AAC_ADTS_HE_V1|AUDIO_FORMAT_AAC_ADTS_HE_V2
sampling_rates 44100|48000|88200|96000|176400|192000
bit_width 24
diff --git a/bluetooth_hearing_aid_audio_policy_configuration.xml b/bluetooth_hearing_aid_audio_policy_configuration.xml
index 7dcabf7..e275d6a 100644
--- a/bluetooth_hearing_aid_audio_policy_configuration.xml
+++ b/bluetooth_hearing_aid_audio_policy_configuration.xml
@@ -5,7 +5,7 @@
<!-- Hearing AIDs Audio Ports -->
<mixPort name="hearing aid output" role="source">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
- samplingRates="24000,16000"
+ samplingRates="24000 16000"
channelMasks="AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
</mixPorts>
diff --git a/default-permissions.xml b/default-permissions.xml
index 23b83b4..e4c6cb6 100644
--- a/default-permissions.xml
+++ b/default-permissions.xml
@@ -48,7 +48,8 @@
</exception>
<exception
- package="com.google.android.apps.pixelmigrate">
+ package="com.google.android.apps.restore"
+ sha256-cert-digest="56:BE:13:2B:78:06:56:FE:24:44:CD:34:32:6E:B5:D7:AA:C9:1D:20:96:AB:F0:FE:67:3A:99:27:06:22:EC:87">
<!-- External storage -->
<permission name="android.permission.READ_EXTERNAL_STORAGE" fixed="false"/>
<permission name="android.permission.WRITE_EXTERNAL_STORAGE" fixed="false"/>
@@ -58,9 +59,8 @@
<!-- Call logs -->
<permission name="android.permission.READ_CALL_LOG" fixed="false"/>
<permission name="android.permission.WRITE_CALL_LOG" fixed="false"/>
- <!-- SMS -->
- <permission name="android.permission.RECEIVE_SMS" fixed="false"/>
- <permission name="android.permission.READ_PHONE_NUMBERS" fixed="false"/>
+ <!-- Used to set up a Wi-Fi P2P network -->
+ <permission name="android.permission.ACCESS_FINE_LOCATION" fixed="false"/>
</exception>
<exception
@@ -73,27 +73,6 @@
<permission name="android.permission.RECEIVE_SMS" fixed="false"/>
</exception>
- <exception
- package="com.google.android.projection.gearhead"
- sha256-cert-digest="FD:B0:0C:43:DB:DE:8B:51:CB:31:2A:A8:1D:3B:5F:A1:77:13:AD:B9:4B:28:F5:98:D7:7F:8E:B8:9D:AC:EE:DF">
- <!-- Gearhead legacy -->
- <permission name="android.permission.ACCESS_FINE_LOCATION" fixed="false"/>
- <permission name="android.permission.CALL_PHONE" fixed="false"/>
- <permission name="android.permission.READ_CALL_LOG" fixed="false"/>
- <permission name="android.permission.READ_CONTACTS" fixed="false"/>
- <permission name="android.permission.READ_PHONE_STATE" fixed="false"/>
- <permission name="android.permission.RECEIVE_SMS" fixed="false"/>
- <permission name="android.permission.RECORD_AUDIO" fixed="false"/>
- <permission name="android.permission.SEND_SMS" fixed="false"/>
- <permission name="android.permission.READ_CALENDAR" fixed="false"/>
- <!-- For Top Gear -->
- <permission name="android.permission.PROCESS_OUTGOING_CALLS" fixed="false"/>
- <permission name="android.permission.READ_SMS" fixed="false"/>
- <permission name="android.permission.RECEIVE_MMS" fixed="false"/>
- <permission name="android.permission.WRITE_CALL_LOG" fixed="false"/>
- <permission name="android.permission.ACCESS_COARSE_LOCATION" fixed="false"/>
- </exception>
-
<exception package="com.google.android.settings.intelligence">
<!-- Calendar -->
<permission name="android.permission.READ_CALENDAR" fixed="true"/>
@@ -102,6 +81,11 @@
<permission name="android.permission.ACCESS_BACKGROUND_LOCATION" fixed="false"/>
</exception>
+ <exception package="com.google.android.apps.camera.services">
+ <!-- Camera -->
+ <permission name="android.permission.CAMERA" fixed="false"/>
+ </exception>
+
<exception package="com.google.android.apps.cbrsnetworkmonitor">
<!-- Location access to create CBRS geofences-->
<permission name="android.permission.ACCESS_FINE_LOCATION" fixed="true"/>
@@ -109,9 +93,6 @@
</exception>
<exception package="com.google.android.apps.scone">
- <!-- Location access to determine proximity to a CBRS network coverage area -->
- <permission name="android.permission.ACCESS_COARSE_LOCATION" fixed="false"/>
- <permission name="android.permission.ACCESS_BACKGROUND_LOCATION" fixed="false"/>
<!-- Used to call ActivityTransition API for Smart OOS & Smart PNO -->
<permission name="android.permission.ACTIVITY_RECOGNITION" fixed="false"/>
</exception>
diff --git a/device-common.mk b/device-common.mk
index 55f0728..6243428 100644
--- a/device-common.mk
+++ b/device-common.mk
@@ -30,12 +30,15 @@
device/google/redbull \
hardware/qcom/sm7250 \
vendor/google/airbrush/floral \
- vendor/google/biometrics/face \
+ vendor/google/biometrics/face/florence \
vendor/google/darwinn \
hardware/qcom/sm7250/display \
vendor/google/camera \
vendor/qcom/sm7250 \
- vendor/google/interfaces
+ vendor/google/interfaces \
+ vendor/google_devices/common/proprietary/confirmatioui_hal \
+ vendor/google_nos/host/android \
+ vendor/google_nos/test/system-test-harness
# Include GPS soong namespace
PRODUCT_SOONG_NAMESPACES += \
@@ -67,6 +70,9 @@
PRODUCT_PRODUCT_PROPERTIES += \
persist.vendor.debug.sensors.accel_cal=1
+PRODUCT_PRODUCT_PROPERTIES += \
+ persist.vendor.testing_battery_profile=2
+
# The default value of this variable is false and should only be set to true when
# the device allows users to retain eSIM profiles after factory reset of user data.
PRODUCT_PRODUCT_PROPERTIES += \
@@ -76,7 +82,7 @@
device/google/redbull/default-permissions.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/default-permissions/default-permissions.xml \
device/google/redbull/component-overrides.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sysconfig/component-overrides.xml \
frameworks/native/data/etc/handheld_core_hardware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/handheld_core_hardware.xml \
- frameworks/native/data/etc/android.software.verified_boot.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/permissions/android.software.verified_boot.xml
+ frameworks/native/data/etc/android.software.verified_boot.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.verified_boot.xml
# Enforce privapp-permissions whitelist
PRODUCT_PROPERTY_OVERRIDES += \
@@ -84,7 +90,6 @@
PRODUCT_PACKAGES += \
messaging \
- dmabuf_dump
TARGET_PRODUCT_PROP := $(LOCAL_PATH)/product.prop
@@ -95,6 +100,7 @@
PRODUCT_CHARACTERISTICS := nosdcard
PRODUCT_SHIPPING_API_LEVEL := 30
+BOARD_SHIPPING_API_LEVEL := 30
DEVICE_PACKAGE_OVERLAYS += $(LOCAL_PATH)/overlay
@@ -102,11 +108,13 @@
$(LOCAL_KERNEL):kernel \
$(LOCAL_PATH)/fstab.hardware:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/first_stage_ramdisk/fstab.$(PRODUCT_PLATFORM) \
$(LOCAL_PATH)/fstab.hardware:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.$(PRODUCT_PLATFORM) \
+ $(LOCAL_PATH)/fstab.persist:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.persist \
$(LOCAL_PATH)/init.hardware.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.$(PRODUCT_PLATFORM).rc \
$(LOCAL_PATH)/init.modem.sh:$(TARGET_COPY_OUT_VENDOR)/bin/init.modem.sh \
$(LOCAL_PATH)/init.power.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.$(PRODUCT_PLATFORM).power.rc \
$(LOCAL_PATH)/init.radio.sh:$(TARGET_COPY_OUT_VENDOR)/bin/init.radio.sh \
$(LOCAL_PATH)/init.hardware.usb.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.$(PRODUCT_PLATFORM).usb.rc \
+ $(LOCAL_PATH)/init.insmod.sh:$(TARGET_COPY_OUT_VENDOR)/bin/init.insmod.sh \
$(LOCAL_PATH)/init.sensors.sh:$(TARGET_COPY_OUT_VENDOR)/bin/init.sensors.sh \
$(LOCAL_PATH)/ueventd.rc:$(TARGET_COPY_OUT_VENDOR)/ueventd.rc \
$(LOCAL_PATH)/init.ramoops.sh:$(TARGET_COPY_OUT_VENDOR)/bin/init.ramoops.sh
@@ -145,6 +153,10 @@
PRODUCT_PRODUCT_PROPERTIES += \
ro.sys.sdcardfs=1
+# Use FUSE passthrough
+PRODUCT_PRODUCT_PROPERTIES += \
+ persist.sys.fuse.passthrough.enable=true
+
PRODUCT_PACKAGES += \
bootctrl.lito \
bootctrl.lito.recovery
@@ -159,7 +171,9 @@
POSTINSTALL_OPTIONAL_system=true
PRODUCT_PACKAGES += \
- update_engine_sideload \
+ update_engine_sideload
+
+PRODUCT_PACKAGES_DEBUG += \
sg_write_buffer \
f2fs_io \
check_f2fs
@@ -179,7 +193,14 @@
# Context hub HAL
PRODUCT_PACKAGES += \
- android.hardware.contexthub@1.1-service.generic
+ android.hardware.contexthub@1.2-service.generic
+
+# CHRE tools
+ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
+PRODUCT_PACKAGES += \
+ chre_power_test_client \
+ chre_test_client
+endif
# Enable project quotas and casefolding for emulated storage without sdcardfs
$(call inherit-product, $(SRC_TARGET_DIR)/product/emulated_storage.mk)
@@ -221,8 +242,8 @@
frameworks/native/data/etc/android.hardware.vulkan.level-1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.level.xml \
frameworks/native/data/etc/android.hardware.vulkan.compute-0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.compute.xml \
frameworks/native/data/etc/android.hardware.vulkan.version-1_1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.version.xml \
- frameworks/native/data/etc/android.software.vulkan.deqp.level-2021-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.vulkan.deqp.level.xml \
- frameworks/native/data/etc/android.software.opengles.deqp.level-2021-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.opengles.deqp.level.xml \
+ frameworks/native/data/etc/android.software.vulkan.deqp.level-2020-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.vulkan.deqp.level.xml \
+ frameworks/native/data/etc/android.software.opengles.deqp.level-2020-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.opengles.deqp.level.xml \
frameworks/native/data/etc/android.hardware.telephony.carrierlock.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.telephony.carrierlock.xml \
frameworks/native/data/etc/android.hardware.strongbox_keystore.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.strongbox_keystore.xml \
frameworks/native/data/etc/android.hardware.nfc.uicc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.uicc.xml \
@@ -310,7 +331,7 @@
# camera enable RT thread
PRODUCT_PROPERTY_OVERRIDES += \
- persist.camera.realtimethread=1
+ persist.vendor.camera.realtimethread=1
# Lets the vendor library that Google Camera HWL is enabled
PRODUCT_PROPERTY_OVERRIDES += \
@@ -382,14 +403,13 @@
#Bluetooth SAR HAL
PRODUCT_PACKAGES += \
- vendor.qti.hardware.bluetooth_sar@1.1-impl \
- vendor.qti.hardware.bluetooth_sar@1.0-impl
+ hardware.google.bluetooth.sar@1.0-impl
PRODUCT_PACKAGES_DEBUG += \
bluetooth_sar_test
#Bluetooth AFH HAL
PRODUCT_PACKAGES += \
- vendor.qti.hardware.bt_channel_avoidance@1.0-impl
+ hardware.google.bluetooth.bt_channel_avoidance@1.0-impl
# Bluetooth SoC
PRODUCT_PROPERTY_OVERRIDES += \
@@ -406,8 +426,8 @@
# DRM HAL
PRODUCT_PACKAGES += \
- android.hardware.drm@1.3-service.clearkey \
- android.hardware.drm@1.3-service.widevine
+ android.hardware.drm@1.4-service.clearkey \
+ android.hardware.drm@1.4-service.widevine
# NFC and Secure Element packages
PRODUCT_PACKAGES += \
@@ -473,8 +493,8 @@
persist.vendor.ims.mm_minqp=1
PRODUCT_PACKAGES += \
- android.hardware.camera.provider@2.6-impl-google \
- android.hardware.camera.provider@2.6-service-google \
+ android.hardware.camera.provider@2.7-impl-google \
+ android.hardware.camera.provider@2.7-service-google \
camera.lito \
lib_multicam_dualfov_capture_session \
libgooglecamerahwl_impl \
@@ -486,7 +506,7 @@
# Google Camera HAL test libraries in debug builds
PRODUCT_PACKAGES_DEBUG += \
libgoogle_camera_hal_proprietary_tests \
- libgoogle_camera_hal_tests.vendor
+ libgoogle_camera_hal_tests
PRODUCT_PACKAGES += \
fs_config_dirs \
@@ -511,6 +531,8 @@
ENABLE_VENDOR_RIL_SERVICE := true
+USE_QCRIL_OEMHOOK := true
+
HOSTAPD := hostapd
ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
HOSTAPD += hostapd_cli
@@ -533,6 +555,10 @@
libwpa_client \
WifiOverlay
+# Connectivity
+PRODUCT_PACKAGES += \
+ ConnectivityOverlay
+
# WLAN driver configuration files
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/wpa_supplicant_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/wpa_supplicant_overlay.conf \
@@ -560,13 +586,11 @@
audio.bluetooth.default
PRODUCT_PACKAGES += \
- android.hardware.audio@6.0-impl:32 \
- android.hardware.audio@5.0-impl:32 \
- android.hardware.audio.effect@6.0-impl:32 \
- android.hardware.audio.effect@5.0-impl:32 \
+ android.hardware.audio@7.0-impl:32 \
+ android.hardware.audio.effect@7.0-impl:32 \
android.hardware.soundtrigger@2.3-impl \
android.hardware.bluetooth.audio@2.0-impl \
- android.hardware.audio@2.0-service
+ android.hardware.audio.service
# Modules for Audio HAL
PRODUCT_PACKAGES += \
@@ -675,21 +699,6 @@
logd.logpersistd.size=30
endif
-# Citadel
-PRODUCT_PACKAGES += \
- citadeld \
- citadel_updater \
- android.hardware.authsecret@1.0-service.citadel \
- android.hardware.oemlock@1.0-service.citadel \
- android.hardware.weaver@1.0-service.citadel \
- android.hardware.keymaster@4.1-service.citadel \
- android.hardware.identity@1.0-service.citadel \
- wait_for_strongbox
-
-# Citadel debug stuff
-PRODUCT_PACKAGES_DEBUG += \
- test_citadel
-
# Storage: for factory reset protection feature
PRODUCT_PROPERTY_OVERRIDES += \
ro.frp.pst=/dev/block/bootdevice/by-name/frp
@@ -799,18 +808,9 @@
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/gps.conf:$(TARGET_COPY_OUT_VENDOR)/etc/gps.conf
-# Pixel atrace HAL
-PRODUCT_PACKAGES += \
- android.hardware.atrace@1.0-service.pixel
-
# dynamic partition
PRODUCT_USE_DYNAMIC_PARTITIONS := true
-# fastbootd
-PRODUCT_PACKAGES += \
- android.hardware.fastboot@1.0-impl.pixel \
- fastbootd
-
# Use /product/etc/fstab.postinstall to mount system_other
PRODUCT_PRODUCT_PROPERTIES += \
ro.postinstall.fstab.prefix=/product
@@ -828,12 +828,14 @@
HIDL_WRAPPER := qti-telephony-hidl-wrapper
HIDL_WRAPPER += qti_telephony_hidl_wrapper.xml
+HIDL_WRAPPER += qti-telephony-hidl-wrapper-prd
+HIDL_WRAPPER += qti_telephony_hidl_wrapper_prd.xml
PRODUCT_PACKAGES += $(HIDL_WRAPPER)
# Increment the SVN for any official public releases
ifeq ($(PRODUCT_DEVICE_SVN_OVERRIDE),)
PRODUCT_PROPERTY_OVERRIDES += \
- ro.vendor.build.svn=30
+ ro.vendor.build.svn=35
endif
# Enable iwlan service logging for debug
@@ -934,10 +936,6 @@
PRODUCT_PRODUCT_PROPERTIES += \
ro.thermal_warmreset = true \
-# Resume on Reboot support
-PRODUCT_PACKAGES += \
- android.hardware.rebootescrow-service.citadel
-
# Vendor verbose logging default property
ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
PRODUCT_PROPERTY_OVERRIDES += \
@@ -953,6 +951,10 @@
persist.sys.disable_rescue=true
endif
+# Set support one-handed mode
+PRODUCT_PRODUCT_PROPERTIES += \
+ ro.support_one_handed_mode=true
+
# Enable Incremental on the device via kernel module
PRODUCT_PROPERTY_OVERRIDES += \
ro.incremental.enable=module:/vendor/lib/modules/incrementalfs.ko
@@ -960,7 +962,21 @@
# Enforce generic ramdisk allow list
$(call inherit-product, $(SRC_TARGET_DIR)/product/generic_ramdisk.mk)
-$(call inherit-product, $(SRC_TARGET_DIR)/product/virtual_ab_ota/launch_with_vendor_ramdisk.mk)
+# Enable watchdog timeout loop breaker.
+PRODUCT_PROPERTY_OVERRIDES += \
+ framework_watchdog.fatal_window.second=600 \
+ framework_watchdog.fatal_count=3
+
+# Set system properties identifying the chipset
+PRODUCT_VENDOR_PROPERTIES += ro.soc.manufacturer=Qualcomm
+PRODUCT_VENDOR_PROPERTIES += ro.soc.model=SM7250
+
+# Include the redbull product FCM
+# (TODO: b/169535506) This includes the FCM for system_ext and product partition.
+# Vendor Freeze system-only builds use a different FCM.
+ifneq ($(PRODUCT_VENDOR_FREEZE_SYSTEM_BUILD),true)
+PRODUCT_PACKAGES += redbull_product_compatibility_matrix.xml
+endif
#################################################################################
# This is the End of device-common.mk file.
@@ -992,6 +1008,9 @@
# Project
include hardware/google/pixel/common/pixel-common-device.mk
+# Citadel
+include hardware/google/pixel/citadel/citadel.mk
+
# Factory OTA
-include vendor/google/factoryota/client/factoryota.mk
@@ -1010,6 +1029,7 @@
# Pixel Logger
include hardware/google/pixel/PixelLogger/PixelLogger.mk
-# Citadel
-include hardware/google/pixel/citadel/citadel.mk
+ifneq ($(wildcard vendor/qcom/sm7250/proprietary/prebuilt_grease),)
+-include $(LOCAL_PATH)/redbull_allowlist.mk
+endif
#################################################################################
diff --git a/device_framework_matrix.xml b/device_framework_matrix_product.xml
similarity index 76%
rename from device_framework_matrix.xml
rename to device_framework_matrix_product.xml
index 45799ed..d9d91c0 100644
--- a/device_framework_matrix.xml
+++ b/device_framework_matrix_product.xml
@@ -1,5 +1,5 @@
-<compatibility-matrix version="1.0" type="framework">
- <hal format="hidl" optional="true">
+<compatibility-matrix version="1.0" type="framework" level="5">
+ <hal format="hidl" optional="false">
<name>com.qualcomm.qti.imscmservice</name>
<version>2.2</version>
<interface>
@@ -7,36 +7,33 @@
<instance>qti.ims.connectionmanagerservice</instance>
</interface>
</hal>
- <hal format="hidl" optional="true">
+ <hal format="hidl" optional="false">
<name>com.qualcomm.qti.uceservice</name>
- <version>2.2</version>
+ <version>2.3</version>
<interface>
<name>IUceService</name>
<instance>com.qualcomm.qti.uceservice</instance>
</interface>
</hal>
- <hal format="hidl">
+ <hal format="hidl" optional="false">
<name>vendor.qti.ims.factory</name>
- <transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IImsFactory</name>
<instance>default</instance>
</interface>
</hal>
- <hal format="hidl">
+ <hal format="hidl" optional="false">
<name>vendor.qti.data.factory</name>
- <transport>hwbinder</transport>
- <version>2.1</version>
+ <version>2.2</version>
<interface>
<name>IFactory</name>
<instance>default</instance>
</interface>
</hal>
<!-- iwlan -->
- <hal format="hidl">
+ <hal format="hidl" optional="false">
<name>vendor.qti.hardware.data.iwlan</name>
- <transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IIWlan</name>
@@ -44,7 +41,7 @@
<instance>slot2</instance>
</interface>
</hal>
- <hal format="hidl" optional="true">
+ <hal format="hidl" optional="false">
<name>android.hardware.media.c2</name>
<version>1.0</version>
<interface>
@@ -52,22 +49,16 @@
<instance>default</instance>
<instance>software</instance>
</interface>
- <interface>
- <name>IConfigurable</name>
- <instance>default</instance>
- <instance>software</instance>
- </interface>
</hal>
- <hal format="hidl" optional="true">
+ <hal format="hidl" optional="false">
<name>android.hardware.radio</name>
- <transport>hwbinder</transport>
<version>1.2</version>
<interface>
<name>ISap</name>
<instance>slot2</instance>
</interface>
</hal>
- <hal format="hidl" optional="true">
+ <hal format="hidl" optional="false">
<name>android.hardware.radio.config</name>
<version>1.1</version>
<interface>
@@ -75,7 +66,7 @@
<instance>default</instance>
</interface>
</hal>
- <hal format="hidl" optional="true">
+ <hal format="hidl" optional="false">
<name>vendor.display.color</name>
<version>1.0-5</version>
<interface>
@@ -83,7 +74,7 @@
<instance>default</instance>
</interface>
</hal>
- <hal format="hidl" optional="true">
+ <hal format="hidl" optional="false">
<name>vendor.display.config</name>
<version>2.0</version>
<interface>
@@ -91,7 +82,7 @@
<instance>default</instance>
</interface>
</hal>
- <hal format="hidl" optional="true">
+ <hal format="hidl" optional="false">
<name>vendor.display.postproc</name>
<version>1.0</version>
<interface>
@@ -99,7 +90,7 @@
<instance>default</instance>
</interface>
</hal>
- <hal format="hidl" optional="true">
+ <hal format="hidl" optional="false">
<name>vendor.google.google_battery</name>
<version>1.1</version>
<interface>
@@ -107,15 +98,15 @@
<instance>default</instance>
</interface>
</hal>
- <hal format="hidl" optional="true">
+ <hal format="hidl" optional="false">
<name>vendor.google.radioext</name>
- <version>1.2</version>
+ <version>1.2-3</version>
<interface>
<name>IRadioExt</name>
<instance>default</instance>
</interface>
</hal>
- <hal format="hidl" optional="true">
+ <hal format="hidl" optional="false">
<name>vendor.qti.hardware.radio.am</name>
<version>1.0</version>
<interface>
@@ -124,15 +115,7 @@
<instance>slot2</instance>
</interface>
</hal>
- <hal format="hidl" optional="true">
- <name>vendor.qti.hardware.radio.atcmdfwd</name>
- <version>1.0</version>
- <interface>
- <name>IAtCmdFwd</name>
- <instance>AtCmdFwdService</instance>
- </interface>
- </hal>
- <hal format="hidl" optional="true">
+ <hal format="hidl" optional="false">
<name>vendor.qti.hardware.radio.ims</name>
<version>1.6</version>
<interface>
@@ -141,7 +124,7 @@
<instance>imsradio1</instance>
</interface>
</hal>
- <hal format="hidl" optional="true">
+ <hal format="hidl" optional="false">
<name>vendor.qti.hardware.radio.lpa</name>
<version>1.0</version>
<interface>
@@ -150,7 +133,7 @@
<instance>UimLpa1</instance>
</interface>
</hal>
- <hal format="hidl" optional="true">
+ <hal format="hidl" optional="false">
<name>vendor.qti.hardware.radio.qcrilhook</name>
<version>1.0</version>
<interface>
@@ -159,7 +142,7 @@
<instance>oemhook1</instance>
</interface>
</hal>
- <hal format="hidl" optional="true">
+ <hal format="hidl" optional="false">
<name>vendor.qti.hardware.radio.uim</name>
<version>1.2</version>
<interface>
@@ -168,7 +151,7 @@
<instance>Uim1</instance>
</interface>
</hal>
- <hal format="hidl" optional="true">
+ <hal format="hidl" optional="false">
<name>vendor.qti.hardware.radio.uim_remote_client</name>
<version>1.0</version>
<interface>
@@ -177,7 +160,7 @@
<instance>uimRemoteClient1</instance>
</interface>
</hal>
- <hal format="hidl" optional="true">
+ <hal format="hidl" optional="false">
<name>vendor.qti.hardware.radio.uim_remote_server</name>
<version>1.0</version>
<interface>
@@ -186,7 +169,7 @@
<instance>uimRemoteServer1</instance>
</interface>
</hal>
- <hal format="hidl" optional="true">
+ <hal format="hidl" optional="false">
<name>vendor.qti.hardware.tui_comm</name>
<version>1.0</version>
<interface>
@@ -194,7 +177,7 @@
<instance>default</instance>
</interface>
</hal>
- <hal format="hidl" optional="true">
+ <hal format="hidl" optional="false">
<name>vendor.qti.hardware.display.allocator</name>
<version>1.0</version>
<version>3.0</version>
@@ -204,7 +187,7 @@
<instance>default</instance>
</interface>
</hal>
- <hal format="hidl" optional="true">
+ <hal format="hidl" optional="false">
<name>vendor.qti.hardware.display.mapper</name>
<version>2.0</version>
<version>3.0</version>
@@ -214,15 +197,7 @@
<instance>default</instance>
</interface>
</hal>
- <hal format="hidl" optional="true">
- <name>vendor.qti.hardware.display.mapperextensions</name>
- <version>1.0</version>
- <interface>
- <name>IQtiMapperExtensions</name>
- <instance>default</instance>
- </interface>
- </hal>
- <hal format="hidl" optional="true">
+ <hal format="hidl" optional="false">
<name>vendor.qti.hardware.display.composer</name>
<version>3.0</version>
<interface>
@@ -230,16 +205,15 @@
<instance>default</instance>
</interface>
</hal>
- <hal format="hidl">
+ <hal format="hidl" optional="false">
<name>vendor.qti.hardware.radio.internal.deviceinfo</name>
- <transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IDeviceInfo</name>
<instance>deviceinfo</instance>
</interface>
</hal>
- <hal format="hidl" optional="true">
+ <hal format="hidl" optional="false">
<name>vendor.qti.imsrtpservice</name>
<version>3.0</version>
<interface>
@@ -247,25 +221,24 @@
<instance>imsrtpservice</instance>
</interface>
</hal>
- <hal format="hidl" optional="true">
+ <hal format="hidl" optional="false">
<name>vendor.qti.ims.callinfo</name>
- <transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IService</name>
<instance>default</instance>
</interface>
</hal>
- <hal format="hidl" optional="true">
- <name>vendor.qti.hardware.bluetooth_sar</name>
- <version>1.1</version>
+ <hal format="hidl" optional="false">
+ <name>hardware.google.bluetooth.sar</name>
+ <version>1.0</version>
<interface>
<name>IBluetoothSar</name>
<instance>default</instance>
</interface>
</hal>
- <hal format="hidl" optional="true">
- <name>vendor.qti.hardware.bt_channel_avoidance</name>
+ <hal format="hidl" optional="false">
+ <name>hardware.google.bluetooth.bt_channel_avoidance</name>
<version>1.0</version>
<interface>
<name>IBTChannelAvoidance</name>
@@ -274,25 +247,22 @@
</hal>
<hal format="hidl" optional="true">
<name>vendor.google.wifi_ext</name>
- <transport>hwbinder</transport>
- <version>1.1</version>
+ <version>1.2</version>
<interface>
<name>IWifiExt</name>
<instance>default</instance>
</interface>
</hal>
- <hal format="hidl" optional="true">
+ <hal format="hidl" optional="false">
<name>vendor.qti.hardware.cacert</name>
- <transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IService</name>
<instance>default</instance>
</interface>
</hal>
- <hal format="hidl" optional="true">
+ <hal format="hidl" optional="false">
<name>vendor.qti.hardware.data.connection</name>
- <transport>hwbinder</transport>
<version>1.1</version>
<interface>
<name>IDataConnection</name>
@@ -300,9 +270,8 @@
<instance>slot2</instance>
</interface>
</hal>
- <hal format="hidl">
+ <hal format="hidl" optional="false">
<name>vendor.qti.hardware.radio.qtiradio</name>
- <transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IQtiRadio</name>
@@ -310,9 +279,8 @@
<instance>slot2</instance>
</interface>
</hal>
- <hal format="hidl">
+ <hal format="hidl" optional="false">
<name>vendor.qti.hardware.radio.qtiradio</name>
- <transport>hwbinder</transport>
<version>2.4</version>
<interface>
<name>IQtiRadio</name>
@@ -321,9 +289,8 @@
</interface>
</hal>
<!-- QSEECom HAL service -->
- <hal format="hidl">
+ <hal format="hidl" optional="false">
<name>vendor.qti.hardware.qseecom</name>
- <transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IQSEECom</name>
@@ -331,18 +298,16 @@
</interface>
</hal>
<!-- QSPM HAL service -->
- <hal format="hidl" optional="true">
+ <hal format="hidl" optional="false">
<name>vendor.qti.qspmhal</name>
- <transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IQspmhal</name>
<instance>default</instance>
</interface>
</hal>
- <hal format="hidl" optional="true">
+ <hal format="hidl" optional="false">
<name>vendor.qti.hardware.qteeconnector</name>
- <transport>hwbinder</transport>
<version>1.0</version>
<interface>
<name>IAppConnector</name>
@@ -360,4 +325,13 @@
<instance>default</instance>
</interface>
</hal>
+ <!-- DSP Service -->
+ <hal format="hidl" optional="false">
+ <name>vendor.qti.hardware.dsp</name>
+ <version>1.0</version>
+ <interface>
+ <name>IDspService</name>
+ <instance>dspservice</instance>
+ </interface>
+ </hal>
</compatibility-matrix>
diff --git a/fstab.hardware b/fstab.hardware
index 525b810..d27d483 100644
--- a/fstab.hardware
+++ b/fstab.hardware
@@ -6,8 +6,9 @@
system_ext /system_ext ext4 ro,barrier=1 wait,slotselect,avb=vbmeta_system,logical,first_stage_mount
vendor /vendor ext4 ro,barrier=1 wait,slotselect,avb=vbmeta,logical,first_stage_mount
product /product ext4 ro,barrier=1 wait,slotselect,avb,logical,first_stage_mount
-/dev/block/by-name/metadata /metadata ext4 noatime,nosuid,nodev,discard,sync wait,formattable,first_stage_mount,check,metadata_csum
+/dev/block/by-name/metadata /metadata ext4 noatime,nosuid,nodev,discard,data=journal,commit=1 wait,formattable,first_stage_mount,check,metadata_csum
+/dev/block/bootdevice/by-name/modem /vendor/firmware_mnt vfat ro,shortname=lower,uid=0,gid=1000,dmask=227,fmask=337,context=u:object_r:firmware_file:s0 wait,slotselect
/dev/block/bootdevice/by-name/misc /misc emmc defaults defaults
-/dev/block/bootdevice/by-name/userdata /data f2fs noatime,nosuid,nodev,discard,reserve_root=32768,resgid=1065,fsync_mode=nobarrier,inlinecrypt latemount,wait,check,quota,formattable,fileencryption=aes-256-xts:aes-256-cts:v2+inlinecrypt_optimized,reservedsize=128M,sysfs_path=/sys/devices/platform/soc/1d84000.ufshc,keydirectory=/metadata/vold/metadata_encryption,checkpoint=fs
+/dev/block/bootdevice/by-name/userdata /data f2fs noatime,nosuid,nodev,discard,reserve_root=32768,resgid=1065,fsync_mode=nobarrier,inlinecrypt latemount,wait,check,quota,formattable,fileencryption=aes-256-xts:aes-256-cts:v2+inlinecrypt_optimized,reservedsize=128M,sysfs_path=/dev/sys/block/bootdevice,keydirectory=/metadata/vold/metadata_encryption,checkpoint=fs
/devices/platform/soc/a600000.ssusb/a600000.dwc3* auto vfat defaults voldmanaged=usb:auto
/dev/block/zram0 none swap defaults zramsize=2147483648,max_comp_streams=8,zram_backingdev_size=512M
diff --git a/fstab.persist b/fstab.persist
new file mode 100644
index 0000000..f3840b1
--- /dev/null
+++ b/fstab.persist
@@ -0,0 +1,4 @@
+# Keep persist in an fstab file, since we need to run fsck on it after abnormal shutdown.
+
+#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
+/dev/block/platform/soc/1d84000.ufshc/by-name/persist /mnt/vendor/persist ext4 nosuid,nodev,noatime,barrier=1 wait
diff --git a/health/Health.cpp b/health/Health.cpp
index 12cf599..8397798 100644
--- a/health/Health.cpp
+++ b/health/Health.cpp
@@ -59,14 +59,16 @@
constexpr char kBatteryOCV[] {FG_DIR "/bms/voltage_ocv"};
constexpr char kVoltageAvg[] {FG_DIR "/battery/voltage_now"};
-static BatteryDefender battDefender;
+#define WLC_DIR "/sys/class/power_supply/wireless"
+
+static BatteryDefender battDefender(WLC_DIR "/present");
static BatteryThermalControl battThermalControl(
"sys/devices/virtual/thermal/tz-by-name/soc/mode");
static BatteryMetricsLogger battMetricsLogger(kBatteryResistance, kBatteryOCV);
static LowBatteryShutdownMetrics shutdownMetrics(kVoltageAvg);
static DeviceHealth deviceHealth;
-#define UFS_DIR "/sys/devices/platform/soc/1d84000.ufshc"
+#define UFS_DIR "/dev/sys/block/bootdevice"
constexpr char kUfsHealthEol[]{UFS_DIR "/health_descriptor/eol_info"};
constexpr char kUfsHealthLifetimeA[]{UFS_DIR "/health_descriptor/life_time_estimation_a"};
constexpr char kUfsHealthLifetimeB[]{UFS_DIR "/health_descriptor/life_time_estimation_b"};
@@ -76,7 +78,6 @@
constexpr char kTCPMPSYName[]{"tcpm-source-psy-usbpd0"};
-#define WLC_DIR "/sys/class/power_supply/wireless"
static bool needs_wlc_updates = false;
constexpr char kWlcCapacity[]{WLC_DIR "/capacity"};
@@ -118,6 +119,9 @@
void private_healthd_board_init(struct healthd_config *hc) {
hc->ignorePowerSupplyNames.push_back(android::String8(kTCPMPSYName));
needs_wlc_updates = FileExists(kWlcCapacity);
+ if (needs_wlc_updates == false) {
+ battDefender.setWirelessNotSupported();
+ }
}
int private_healthd_board_battery_update(struct android::BatteryProperties *props) {
diff --git a/init.hardware.diag.rc.userdebug b/init.hardware.diag.rc.userdebug
index 84640fc..16225b9 100644
--- a/init.hardware.diag.rc.userdebug
+++ b/init.hardware.diag.rc.userdebug
@@ -109,3 +109,9 @@
on property:persist.vendor.usb.usbradio.config=*
start usbd
+
+on property:power.battery_input.suspended=true
+ write /sys/kernel/debug/google_charger/input_suspend 1
+
+on property:power.battery_input.suspended=false
+ write /sys/kernel/debug/google_charger/input_suspend 0
diff --git a/init.hardware.rc b/init.hardware.rc
index c932a95..f7a463f 100644
--- a/init.hardware.rc
+++ b/init.hardware.rc
@@ -34,6 +34,7 @@
on early-init
mount debugfs debugfs /sys/kernel/debug
chmod 0755 /sys/kernel/debug
+ mount_all /vendor/etc/fstab.persist --early
# configure governor settings
write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor schedutil
@@ -81,26 +82,19 @@
write /sys/block/sda/queue/iostats 0
write /sys/block/sda/queue/scheduler cfq
write /sys/block/sda/queue/iosched/slice_idle 0
- write /sys/block/sda/queue/read_ahead_kb 2048
write /sys/block/sda/queue/nr_requests 256
- write /sys/block/dm-0/queue/read_ahead_kb 2048
- write /sys/block/dm-1/queue/read_ahead_kb 2048
- write /sys/block/dm-2/queue/read_ahead_kb 2048
- write /sys/block/dm-3/queue/read_ahead_kb 2048
- write /sys/block/dm-4/queue/read_ahead_kb 2048
- write /sys/block/dm-5/queue/read_ahead_kb 2048
- write /sys/block/dm-6/queue/read_ahead_kb 2048
- write /sys/block/dm-7/queue/read_ahead_kb 2048
- write /sys/block/dm-8/queue/read_ahead_kb 2048
-
- # Disable UFS powersaving
- write /sys/devices/platform/soc/${ro.boot.bootdevice}/clkgate_enable 0
# Disable powersaving
write /sys/module/lpm_levels/parameters/sleep_disabled 1
- wait /dev/block/platform/soc/${ro.boot.bootdevice}
- symlink /dev/block/platform/soc/${ro.boot.bootdevice} /dev/block/bootdevice
+ wait /dev/block/platform/${ro.boot.boot_devices}
+ symlink /dev/block/platform/${ro.boot.boot_devices} /dev/block/bootdevice
+
+ # to access UFS/eMMC sysfs directly
+ symlink /sys/devices/platform/${ro.boot.boot_devices} /dev/sys/block/bootdevice
+
+ # Disable UFS powersaving
+ write /dev/sys/block/bootdevice/clkgate_enable 0
# start qseecomd early as we mount system/ vendor/ early
# vold needs keymaster that needs qseecomd
@@ -130,13 +124,6 @@
# Some user code relies on ro.boot.hardware.revision
setprop ro.boot.hardware.revision ${ro.revision}
- mkdir /dev/cpuset/camera-daemon
- write /dev/cpuset/camera-daemon/cpus 0-7
- write /dev/cpuset/camera-daemon/mems 0
- chown system system /dev/cpuset/camera-daemon
- chown system system /dev/cpuset/camera-daemon/tasks
- chmod 0664 /dev/cpuset/camera-daemon/tasks
-
mkdir /dev/cpuset/camera-daemon-dedicated
write /dev/cpuset/camera-daemon-dedicated/cpus 0-7
write /dev/cpuset/camera-daemon-dedicated/mems 0
@@ -144,13 +131,9 @@
chown system system /dev/cpuset/camera-daemon-dedicated/tasks
chmod 0664 /dev/cpuset/camera-daemon-dedicated/tasks
- # create an stune group for camera-specific processes
- mkdir /dev/stune/camera-daemon
+ # set default schedTune value for camera-daemon
write /dev/stune/camera-daemon/schedtune.prefer_idle 1
write /dev/stune/camera-daemon/schedtune.boost 0
- chown system system /dev/stune/camera-daemon
- chown system system /dev/stune/camera-daemon/tasks
- chmod 0664 /dev/stune/camera-daemon/tasks
# Allow PAI targeting per hardware SKU
setprop ro.oem.key1 ${ro.boot.hardware.sku}
@@ -174,11 +157,15 @@
chown system system /sys/devices/platform/soc/soc:google,charger/bd_trigger_voltage
chown system system /sys/devices/platform/soc/soc:google,charger/bd_temp_enable
chown system system /sys/devices/platform/soc/soc:google,charger/bd_temp_dry_run
+ chown system system /sys/devices/platform/soc/soc:google,charger/bd_clear
chown system system /sys/devices/platform/soc/soc:google,battery/power_supply/battery/bd_trickle_enable
chown system system /sys/devices/platform/soc/soc:google,battery/power_supply/battery/bd_trickle_recharge_soc
chown system system /sys/devices/platform/soc/soc:google,battery/power_supply/battery/bd_trickle_cnt
chown system system /sys/devices/platform/soc/soc:google,battery/power_supply/battery/bd_trickle_dry_run
chown system system /sys/devices/platform/soc/soc:google,battery/power_supply/battery/bd_trickle_reset_sec
+ chown system system /sys/devices/platform/soc/soc:google,battery/power_supply/battery/bd_clear
+ chown system system /sys/devices/platform/soc/soc:google,battery/power_supply/battery/health_safety_margin
+ chown system system /sys/class/power_supply/wireless/device/mitigate_threshold
# report max frequency to unity tasks.
write /proc/sys/kernel/sched_lib_name "UnityMain,libunity.so"
@@ -272,8 +259,6 @@
# Mount RW partitions which need run fsck
mount_all /vendor/etc/fstab.${ro.boot.hardware.platform} --late
- # Boot time fs tune
- write /sys/block/dm-9/queue/read_ahead_kb 2048
# Required for time_daemon
mkdir /mnt/vendor/persist/time 0770 system system
@@ -465,13 +450,13 @@
# Permission for Pixelstats
chown system system /sys/class/misc/msm_cirrus_playback/resistance_left_right
- chown system system /sys/devices/platform/soc/${ro.boot.bootdevice}/slowio_read_cnt
- chown system system /sys/devices/platform/soc/${ro.boot.bootdevice}/slowio_write_cnt
- chown system system /sys/devices/platform/soc/${ro.boot.bootdevice}/slowio_unmap_cnt
- chown system system /sys/devices/platform/soc/${ro.boot.bootdevice}/slowio_sync_cnt
+ chown system system /dev/sys/block/bootdevice/slowio_read_cnt
+ chown system system /dev/sys/block/bootdevice/slowio_write_cnt
+ chown system system /dev/sys/block/bootdevice/slowio_unmap_cnt
+ chown system system /dev/sys/block/bootdevice/slowio_sync_cnt
# Permission for Health Storage HAL
- chown system system /sys/devices/platform/soc/${ro.boot.bootdevice}/manual_gc
+ chown system system /dev/sys/block/bootdevice/manual_gc
# Permissions for reading display native color gamut
chown system graphics /mnt/vendor/persist/display/native_gamut.csv
@@ -529,19 +514,8 @@
setprop vendor.setup.power 1
# Runtime fs tuning
- write /sys/block/sda/queue/read_ahead_kb 128
write /sys/block/sda/queue/nr_requests 128
write /sys/block/sda/queue/iostats 1
- write /sys/block/dm-0/queue/read_ahead_kb 128
- write /sys/block/dm-1/queue/read_ahead_kb 128
- write /sys/block/dm-2/queue/read_ahead_kb 128
- write /sys/block/dm-3/queue/read_ahead_kb 128
- write /sys/block/dm-4/queue/read_ahead_kb 128
- write /sys/block/dm-5/queue/read_ahead_kb 128
- write /sys/block/dm-6/queue/read_ahead_kb 128
- write /sys/block/dm-7/queue/read_ahead_kb 128
- write /sys/block/dm-8/queue/read_ahead_kb 128
- write /sys/block/dm-9/queue/read_ahead_kb 128
# Block layer tuning: discard chunk size up to 128MB
# Otherwise, contiguous discards can be merged
@@ -715,7 +689,7 @@
mkdir /data/vendor/wifidump 771 root system
mkdir /data/vendor/ramdump 771 root system
mkdir /data/vendor/ssrdump 771 root system
- mkdir /data/vendor/ssrlog 771 root system
+ mkdir /data/vendor/ssrlog 775 root system
start vendor.ss_ramdump
on property:persist.vendor.sys.ssr.enable_ramdumps=0
@@ -745,6 +719,29 @@
setprop persist.vendor.charge.stop.level 35
setprop persist.vendor.charge.start.level 30
+# Test Harness Mode default battery profile. Restricted but not too restricted.
+on property:persist.sys.test_harness=1 && property:persist.vendor.testing_battery_profile=0
+ setprop persist.vendor.charge.stop.level 70
+ setprop persist.vendor.charge.start.level 35
+ setprop vendor.battery.defender.disable 1
+
+# Extremely restricted battery profile.
+on property:persist.sys.test_harness=1 && property:persist.vendor.testing_battery_profile=1
+ setprop persist.vendor.charge.stop.level 50
+ setprop persist.vendor.charge.start.level 35
+ setprop vendor.battery.defender.disable 1
+
+# Normal behavior (as if the device was a regular device)
+on property:persist.sys.test_harness=1 && property:persist.vendor.testing_battery_profile=2
+ setprop persist.vendor.charge.stop.level 100
+ setprop persist.vendor.charge.start.level 0
+
+# Unrestricted, allows charging to 100%
+on property:persist.sys.test_harness=1 && property:persist.vendor.testing_battery_profile=3
+ setprop persist.vendor.charge.stop.level 100
+ setprop persist.vendor.charge.start.level 0
+ setprop vendor.battery.defender.disable 1
+
service insmod_sh /vendor/bin/init.insmod.sh /vendor/etc/init.insmod.${ro.hardware}.cfg
class main
user root
diff --git a/init.hardware.usb.rc b/init.hardware.usb.rc
index 12a48a7..999cc60 100644
--- a/init.hardware.usb.rc
+++ b/init.hardware.usb.rc
@@ -14,7 +14,7 @@
# limitations under the License.
#
-on early-boot
+on post-fs-data
mkdir /config/usb_gadget/g1 0770
mkdir /config/usb_gadget/g1/strings/0x409 0770
write /config/usb_gadget/g1/bcdUSB 0x0200
@@ -49,6 +49,7 @@
mount functionfs mtp /dev/usb-ffs/mtp rmode=0770,fmode=0660,uid=1024,gid=1024,no_disconnect=1
mount functionfs ptp /dev/usb-ffs/ptp rmode=0770,fmode=0660,uid=1024,gid=1024,no_disconnect=1
setprop sys.usb.mtp.device_type 3
+ setprop sys.usb.mtp.batchcancel true
setprop sys.usb.controller "a600000.dwc3"
symlink /config/usb_gadget/g1/configs/b.1 /config/usb_gadget/g1/os_desc/b.1
write /sys/module/libcomposite/parameters/disable_l1_for_hs "y"
diff --git a/init.insmod.sh b/init.insmod.sh
new file mode 100644
index 0000000..a222838
--- /dev/null
+++ b/init.insmod.sh
@@ -0,0 +1,53 @@
+#!/vendor/bin/sh
+
+#############################################################
+### init.insmod.cfg format: ###
+### ----------------------------------------------------- ###
+### [insmod|setprop|enable/moprobe|wait] [path|prop name] ###
+### ... ###
+#############################################################
+
+# imitates wait_for_file() in init
+wait_for_file()
+{
+ filename="${1}"
+ timeout="${2:-5}"
+
+ expiry=$(($(date "+%s")+timeout))
+ while [[ ! -e "${filename}" ]] && [[ "$(date "+%s")" -le "${expiry}" ]]
+ do
+ sleep 0.01
+ done
+}
+
+if [ $# -eq 1 ]; then
+ cfg_file=$1
+else
+ exit 1
+fi
+
+
+if [ -f $cfg_file ]; then
+ while IFS="|" read -r action arg
+ do
+ case $action in
+ "insmod") insmod $arg ;;
+ "setprop") setprop $arg 1 ;;
+ "enable") echo 1 > $arg ;;
+ "modprobe")
+ case ${arg} in
+ "-b *" | "-b")
+ arg="-b $(cat /vendor/lib/modules/modules.load)" ;;
+ "*" | "")
+ arg="$(cat /vendor/lib/modules/modules.load)" ;;
+ esac
+ modprobe -a -d /vendor/lib/modules $arg ;;
+ "wait") wait_for_file $arg ;;
+ esac
+ done < $cfg_file
+fi
+
+# set property even if there is no insmod config
+# as property value "1" is expected in early-boot trigger
+setprop vendor.all.modules.ready 1
+setprop vendor.all.devices.ready 1
diff --git a/init.power.rc b/init.power.rc
index 5ab12f5..4394752 100644
--- a/init.power.rc
+++ b/init.power.rc
@@ -132,7 +132,7 @@
write /sys/module/lpm_levels/parameters/sleep_disabled 0
# Enable UFS powersaving
- write /sys/devices/platform/soc/${ro.boot.bootdevice}/clkgate_enable 1
+ write /dev/sys/block/bootdevice/clkgate_enable 1
# Enable idle state listener
write /sys/class/drm/card0/device/idle_encoder_mask 1
diff --git a/manifest.xml b/manifest.xml
index 2de8ef4..2ef2d5d 100644
--- a/manifest.xml
+++ b/manifest.xml
@@ -30,7 +30,7 @@
<hal format="hidl">
<name>android.hardware.audio</name>
<transport>hwbinder</transport>
- <version>6.0</version>
+ <version>7.0</version>
<interface>
<name>IDevicesFactory</name>
<instance>default</instance>
@@ -39,7 +39,7 @@
<hal format="hidl">
<name>android.hardware.audio.effect</name>
<transport>hwbinder</transport>
- <version>6.0</version>
+ <version>7.0</version>
<interface>
<name>IEffectsFactory</name>
<instance>default</instance>
@@ -65,15 +65,6 @@
</interface>
</hal>
<hal format="hidl">
- <name>android.hardware.confirmationui</name>
- <transport>hwbinder</transport>
- <version>1.0</version>
- <interface>
- <name>IConfirmationUI</name>
- <instance>default</instance>
- </interface>
- </hal>
- <hal format="hidl">
<name>android.hardware.soundtrigger</name>
<transport>hwbinder</transport>
<version>2.3</version>
@@ -82,22 +73,6 @@
<instance>default</instance>
</interface>
</hal>
- <!-- video omx hal -->
- <hal format="hidl">
- <name>android.hardware.media.omx</name>
- <transport>hwbinder</transport>
- <impl level="generic"></impl>
- <version>1.0</version>
- <interface>
- <name>IOmx</name>
- <instance>default</instance>
- </interface>
- <interface>
- <name>IOmxStore</name>
- <instance>default</instance>
- </interface>
- </hal>
- <!-- /video omx hal -->
<!-- display -->
<hal format="hidl">
<name>android.hardware.renderscript</name>
@@ -120,7 +95,7 @@
<hal format="hidl">
<name>vendor.google.radioext</name>
<transport>hwbinder</transport>
- <version>1.2</version>
+ <version>1.3</version>
<interface>
<name>IRadioExt</name>
<instance>default</instance>
@@ -139,8 +114,8 @@
<hal format="hidl">
<name>android.hardware.secure_element</name>
<transport>hwbinder</transport>
- <fqname>@1.0::ISecureElement/SIM1</fqname>
- <fqname>@1.0::ISecureElement/SIM2</fqname>
+ <fqname>@1.2::ISecureElement/SIM1</fqname>
+ <fqname>@1.2::ISecureElement/SIM2</fqname>
<fqname>@1.2::ISecureElement/eSE1</fqname>
</hal>
<!-- gatekeeper -->
@@ -288,7 +263,7 @@
<hal format="hidl">
<name>com.qualcomm.qti.uceservice</name>
<transport>hwbinder</transport>
- <version>2.2</version>
+ <version>2.3</version>
<interface>
<name>IUceService</name>
<instance>com.qualcomm.qti.uceservice</instance>
@@ -335,7 +310,7 @@
<hal format="hidl">
<name>vendor.qti.data.factory</name>
<transport>hwbinder</transport>
- <version>2.1</version>
+ <version>2.2</version>
<interface>
<name>IFactory</name>
<instance>default</instance>
@@ -410,16 +385,16 @@
</interface>
</hal>
<hal format="hidl">
- <name>vendor.qti.hardware.bluetooth_sar</name>
+ <name>hardware.google.bluetooth.sar</name>
<transport>hwbinder</transport>
- <version>1.1</version>
+ <version>1.0</version>
<interface>
<name>IBluetoothSar</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl">
- <name>vendor.qti.hardware.bt_channel_avoidance</name>
+ <name>hardware.google.bluetooth.bt_channel_avoidance</name>
<transport>hwbinder</transport>
<version>1.0</version>
<interface>
@@ -526,4 +501,14 @@
<instance>default</instance>
</interface>
</hal>
+ <!-- DSP Service -->
+ <hal format="hidl">
+ <name>vendor.qti.hardware.dsp</name>
+ <transport>hwbinder</transport>
+ <version>1.0</version>
+ <interface>
+ <name>IDspService</name>
+ <instance>dspservice</instance>
+ </interface>
+ </hal>
</manifest>
diff --git a/framework_manifest.xml b/manifest_omx.xml
similarity index 77%
rename from framework_manifest.xml
rename to manifest_omx.xml
index b2276a5..c6cfe66 100644
--- a/framework_manifest.xml
+++ b/manifest_omx.xml
@@ -1,4 +1,4 @@
-<!-- Copyright (c) 2018, The Linux Foundation. All rights reserved.
+<!-- Copyright (c) 2017-2021, 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
@@ -25,15 +25,21 @@
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-->
-<manifest version="1.0" type="framework">
- <!-- atfwd -->
+<manifest version="1.0" type="device" target-level="5">
+ <!-- video omx hal -->
<hal format="hidl">
- <name>vendor.qti.hardware.radio.atcmdfwd</name>
+ <name>android.hardware.media.omx</name>
<transport>hwbinder</transport>
+ <impl level="generic"></impl>
<version>1.0</version>
<interface>
- <name>IAtCmdFwd</name>
- <instance>AtCmdFwdService</instance>
+ <name>IOmx</name>
+ <instance>default</instance>
+ </interface>
+ <interface>
+ <name>IOmxStore</name>
+ <instance>default</instance>
</interface>
</hal>
+ <!-- /video omx hal -->
</manifest>
diff --git a/media_codecs_c2.xml b/media_codecs_c2.xml
index 8b4a52e..6828a93 100644
--- a/media_codecs_c2.xml
+++ b/media_codecs_c2.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8" ?>
<!--
- Copyright (c) 2018-2019 Qualcomm Technologies, Inc.
+ Copyright (c) 2019-2020 Qualcomm Technologies, Inc.
All Rights Reserved.
Confidential and Proprietary - Qualcomm Technologies, Inc.
@@ -67,11 +67,11 @@
<!-- C2 decoders -->
<MediaCodec name="c2.qti.avc.decoder" type="video/avc">
<Alias name="OMX.qcom.video.decoder.avc" />
- <Limit name="size" min="96x96" max="4096x2160" />
+ <Limit name="size" min="128x128" max="4096x2176" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
- <Limit name="blocks-per-second" range="24-2073600" />
- <Limit name="bitrate" range="1-120000000" />
+ <Limit name="blocks-per-second" range="64-1958400" />
+ <Limit name="bitrate" range="1-100000000" />
<Limit name="frame-rate" range="1-480" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-4096x2160" value="24" />
@@ -81,10 +81,10 @@
<Feature name="adaptive-playback" />
</MediaCodec>
<MediaCodec name="c2.qti.avc.decoder.low_latency" type="video/avc">
- <Limit name="size" min="96x96" max="4096x2160" />
+ <Limit name="size" min="128x128" max="4096x2176" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
- <Limit name="blocks-per-second" range="24-2073600" />
+ <Limit name="blocks-per-second" range="64-1958400" />
<Limit name="bitrate" range="1-60000000" />
<Limit name="frame-rate" range="1-480" />
<Limit name="performance-point-4096x2160" value="24" />
@@ -97,7 +97,7 @@
</MediaCodec>
<MediaCodec name="c2.qti.avc.decoder.secure" type="video/avc" >
<Alias name="OMX.qcom.video.decoder.avc.secure" />
- <Limit name="size" min="96x96" max="4096x2160" />
+ <Limit name="size" min="128x128" max="4096x2176" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="1" max="1958400" />
@@ -112,11 +112,11 @@
</MediaCodec>
<MediaCodec name="c2.qti.hevc.decoder" type="video/hevc" >
<Alias name="OMX.qcom.video.decoder.hevc" />
- <Limit name="size" min="96x96" max="4096x2160" />
+ <Limit name="size" min="128x128" max="4096x2176" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
- <Limit name="blocks-per-second" min="24" max="2073600" />
- <Limit name="bitrate" range="1-120000000" />
+ <Limit name="blocks-per-second" min="64" max="1958400" />
+ <Limit name="bitrate" range="1-100000000" />
<Limit name="frame-rate" range="1-480" />
<Limit name="performance-point-4096x2160" value="24" />
<Limit name="performance-point-3840x2160" value="30" />
@@ -126,10 +126,10 @@
<Limit name="concurrent-instances" max="16" />
</MediaCodec>
<MediaCodec name="c2.qti.hevc.decoder.low_latency" type="video/hevc" >
- <Limit name="size" min="96x96" max="4096x2160" />
+ <Limit name="size" min="128x128" max="4096x2176" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
- <Limit name="blocks-per-second" min="24" max="2073600" />
+ <Limit name="blocks-per-second" min="64" max="1958400" />
<Limit name="bitrate" range="1-60000000" />
<Limit name="frame-rate" range="1-480" />
<Limit name="performance-point-4096x2160" value="24" />
@@ -142,7 +142,7 @@
</MediaCodec>
<MediaCodec name="c2.qti.hevc.decoder.secure" type="video/hevc" >
<Alias name="OMX.qcom.video.decoder.hevc.secure" />
- <Limit name="size" min="96x96" max="4096x2160" />
+ <Limit name="size" min="128x128" max="4096x2176" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="24" max="2073600" />
@@ -157,24 +157,26 @@
</MediaCodec>
<MediaCodec name="c2.qti.vp8.decoder" type="video/x-vnd.on2.vp8" >
<Alias name="OMX.qcom.video.decoder.vp8" />
- <Limit name="size" min="96x96" max="1920x1088" />
+ <Limit name="size" min="128x128" max="4096x2176" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
- <Limit name="blocks-per-second" min="24" max="1036800" />
- <Limit name="bitrate" range="1-120000000" />
+ <Limit name="blocks-per-second" min="64" max="1036800" />
+ <Limit name="bitrate" range="1-100000000" />
<Limit name="frame-rate" range="1-240" />
- <Limit name="performance-point-1920x1080" value="120" />
- <Limit name="performance-point-1280x720" value="240" />
+ <Limit name="performance-point-4096x2160" value="24" />
+ <Limit name="performance-point-3840x2160" value="30" />
+ <Limit name="performance-point-1920x1080" value="60" />
+ <Limit name="performance-point-1280x720" value="120" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="16" />
</MediaCodec>
<MediaCodec name="c2.qti.vp9.decoder" type="video/x-vnd.on2.vp9" >
<Alias name="OMX.qcom.video.decoder.vp9" />
- <Limit name="size" min="96x96" max="4096x2160" />
+ <Limit name="size" min="128x128" max="4096x2176" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
- <Limit name="blocks-per-second" min="24" max="2073600" />
- <Limit name="bitrate" range="1-120000000" />
+ <Limit name="blocks-per-second" min="64" max="1958400" />
+ <Limit name="bitrate" range="1-100000000" />
<Limit name="frame-rate" range="1-480" />
<Limit name="performance-point-4096x2304" value="24" />
<Limit name="performance-point-3840x2160" value="30" />
@@ -184,7 +186,7 @@
<Limit name="concurrent-instances" max="7" />
</MediaCodec>
<MediaCodec name="c2.qti.vp9.decoder.secure" type="video/x-vnd.on2.vp9" >
- <Limit name="size" min="96x96" max="4096x2160" />
+ <Limit name="size" min="128x128" max="4096x2176" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="24" max="2073600" />
@@ -203,11 +205,11 @@
<!-- C2 encoders -->
<MediaCodec name="c2.qti.avc.encoder" type="video/avc">
<Alias name="OMX.qcom.video.encoder.avc" />
- <Limit name="size" min="96x96" max="4096x2160" />
+ <Limit name="size" min="128x128" max="4096x2176" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
- <Limit name="blocks-per-second" min="24" max="2073600" />
- <Limit name="bitrate" range="1-120000000" />
+ <Limit name="blocks-per-second" min="64" max="1958400" />
+ <Limit name="bitrate" range="1-100000000" />
<Limit name="frame-rate" range="1-480" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-4096x2160" value="24" />
@@ -215,14 +217,23 @@
<Limit name="performance-point-1920x1080" value="120" />
<Limit name="performance-point-1280x720" value="240" />
<Feature name="bitrate-modes" value="VBR,CBR" />
+ <!-- Video Quality control -->
+ <!-- QP supported using vendor extensions -->
+ <Feature name="qp-bounds" />
+ <Mapping kind="vq" name="video-qp-b-max" value="vendor.qti-ext-enc-qp-range.qp-b-max" />
+ <Mapping kind="vq" name="video-qp-b-min" value="vendor.qti-ext-enc-qp-range.qp-b-min" />
+ <Mapping kind="vq" name="video-qp-i-max" value="vendor.qti-ext-enc-qp-range.qp-i-max" />
+ <Mapping kind="vq" name="video-qp-i-min" value="vendor.qti-ext-enc-qp-range.qp-i-min" />
+ <Mapping kind="vq" name="video-qp-p-max" value="vendor.qti-ext-enc-qp-range.qp-p-max" />
+ <Mapping kind="vq" name="video-qp-p-min" value="vendor.qti-ext-enc-qp-range.qp-p-min" />
</MediaCodec>
<MediaCodec name="c2.qti.hevc.encoder" type="video/hevc">
<Alias name="OMX.qcom.video.encoder.hevc" />
- <Limit name="size" min="96x96" max="4096x2160" />
+ <Limit name="size" min="128x128" max="4096x2176" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
- <Limit name="blocks-per-second" min="24" max="2073600" />
- <Limit name="bitrate" range="1-120000000" />
+ <Limit name="blocks-per-second" min="64" max="1958400" />
+ <Limit name="bitrate" range="1-100000000" />
<Limit name="frame-rate" range="1-480" />
<Limit name="concurrent-instances" max="16" />
<Limit name="quality" range="0-100" default="80" />
@@ -263,15 +274,17 @@
</MediaCodec>
<MediaCodec name="c2.qti.vp8.encoder" type="video/x-vnd.on2.vp8">
<Alias name="OMX.qcom.video.encoder.vp8" />
- <Limit name="size" min="96x96" max="1920x1088" />
+ <Limit name="size" min="128x128" max="4096x2176" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
- <Limit name="blocks-per-second" min="24" max="2073600" />
- <Limit name="bitrate" range="1-120000000" />
+ <Limit name="blocks-per-second" min="64" max="1958400" />
+ <Limit name="bitrate" range="1-100000000" />
<Limit name="frame-rate" range="1-480" />
<Limit name="concurrent-instances" max="16" />
- <Limit name="performance-point-1920x1080" value="120" />
- <Limit name="performance-point-1280x720" value="240" />
+ <Limit name="performance-point-4096x2160" value="24" />
+ <Limit name="performance-point-3840x2160" value="30" />
+ <Limit name="performance-point-1920x1080" value="60" />
+ <Limit name="performance-point-1280x720" value="120" />
<Feature name="bitrate-modes" value="VBR,CBR" />
</MediaCodec>
</Encoders>
diff --git a/media_codecs_performance_c2.xml b/media_codecs_performance_c2.xml
index 4ec8297..a8dde73 100644
--- a/media_codecs_performance_c2.xml
+++ b/media_codecs_performance_c2.xml
@@ -179,17 +179,17 @@
<Encoders>
<!-- C2 HW encoders -->
<MediaCodec name="c2.qti.avc.encoder" type="video/avc" update="true">
- <Limit name="measured-frame-rate-320x240" range="106-234" />
- <Limit name="measured-frame-rate-720x480" range="64-140" />
- <Limit name="measured-frame-rate-1280x720" range="26-56" />
- <Limit name="measured-frame-rate-1920x1080" range="20-44" />
+ <Limit name="measured-frame-rate-320x240" range="210-390" />
+ <Limit name="measured-frame-rate-720x480" range="180-280" />
+ <Limit name="measured-frame-rate-1280x720" range="85-151" />
+ <Limit name="measured-frame-rate-1920x1080" range="50-90" />
</MediaCodec>
<MediaCodec name="c2.qti.hevc.encoder" type="video/hevc" update="true">
- <Limit name="measured-frame-rate-320x240" range="309-310" /><!-- Manual N=20 -->
- <Limit name="measured-frame-rate-720x480" range="124-126" /><!-- Manual N=20 -->
- <Limit name="measured-frame-rate-1280x720" range="93-124" /><!-- Manual N=20 -->
- <Limit name="measured-frame-rate-1920x1080" range="82-87" /><!-- Manual N=20 -->
- <Limit name="measured-frame-rate-3840x2160" range="11-25" /><!-- Manual N=20 -->
+ <Limit name="measured-frame-rate-320x240" range="210-390" /><!-- Manual N=20 -->
+ <Limit name="measured-frame-rate-720x480" range="180-280" /><!-- Manual N=20 -->
+ <Limit name="measured-frame-rate-1280x720" range="85-151" /><!-- Manual N=20 -->
+ <Limit name="measured-frame-rate-1920x1080" range="50-90" /><!-- Manual N=20 -->
+ <Limit name="measured-frame-rate-3840x2160" range="18-30" /><!-- Manual N=20 -->
</MediaCodec>
<MediaCodec name="c2.qti.vp8.encoder" type="video/x-vnd.on2.vp8" update="true">
<Limit name="measured-frame-rate-320x180" range="429-461" /><!-- Manual N=20 -->
diff --git a/overlay/frameworks/base/core/res/res/values/config.xml b/overlay/frameworks/base/core/res/res/values/config.xml
index 951436a..ea46820 100755
--- a/overlay/frameworks/base/core/res/res/values/config.xml
+++ b/overlay/frameworks/base/core/res/res/values/config.xml
@@ -105,9 +105,6 @@
<!-- The restoring is handled by modem if it is true -->
<bool translatable="false" name="skip_restoring_network_selection">true</bool>
- <!-- If device has a sensor that can wake-up the lock screen -->
- <bool name="config_dozeWakeLockScreenSensorAvailable">true</bool>
-
<!-- If device supports pickup/lift gesture -->
<bool name="config_dozePulsePickup">true</bool>
@@ -210,13 +207,6 @@
<item>"9,1"</item>
</string-array>
- <!-- If the hardware supports specially marking packets that caused a wakeup of the
- main CPU, set this value to the mark used. -->
- <integer name="config_networkWakeupPacketMark">0x80000000</integer>
-
- <!-- Mask to use when checking skb mark defined in config_networkWakeupPacketMark above. -->
- <integer name="config_networkWakeupPacketMask">0x80000000</integer>
-
<!-- Specifies whether to decouple the auto-suspend state of the device from the display on/off state. -->
<bool name="config_powerDecoupleAutoSuspendModeFromDisplay">true</bool>
@@ -284,7 +274,7 @@
<item>"/apex/com.android.media/javalib/updatable-media.jar"</item>
<item>"/system/framework/framework.jar"</item>
<item>"/system/framework/services.jar"</item>
- <item>"/system/lib64/libsurfaceflinger.so"</item>
+ <item>"/system/bin/surfaceflinger"</item>
<item>"/system_ext/priv-app/SystemUIGoogle/SystemUIGoogle.apk"</item>
<item>"/vendor/lib64/lib_aion_buffer.so"</item>
<item>"/vendor/lib64/libcamxexternalformatutils.so"</item>
@@ -347,14 +337,12 @@
<item>10000</item>
</integer-array>
- <!-- What source to use to estimate link upstream and downstream bandwidth capacities.
- Default is carrier_config, but it should be set to modem if the modem is returning
- predictive (instead of instantaneous) bandwidth estimates.
- Values are carrier_config and modem. -->
- <string name="config_bandwidthEstimateSource">modem</string>
-
<!-- Delay that allows some content to arrive at the display before switching
from DOZE to ON, in millis. -->
<integer name="config_wakeUpDelayDoze">32</integer>
+ <!-- Whether the device enable the standalone (SA) mode of 5G NR.-->
+ <bool name="config_telephony5gStandalone">true</bool>
+ <!-- Whether the device enable the non-standalone (NSA) mode of 5G NR.-->
+ <bool name="config_telephony5gNonStandalone">true</bool>
</resources>
diff --git a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc004/ic_5g_plus_mobiledata.xml b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc004/ic_5g_plus_mobiledata.xml
similarity index 100%
rename from overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc004/ic_5g_plus_mobiledata.xml
rename to overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc004/ic_5g_plus_mobiledata.xml
diff --git a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc030/ic_5g_e_mobiledata.xml b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc030/ic_5g_e_mobiledata.xml
similarity index 100%
rename from overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc030/ic_5g_e_mobiledata.xml
rename to overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc030/ic_5g_e_mobiledata.xml
diff --git a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc030/ic_5g_mobiledata.xml b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc030/ic_5g_mobiledata.xml
similarity index 100%
rename from overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc030/ic_5g_mobiledata.xml
rename to overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc030/ic_5g_mobiledata.xml
diff --git a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc030/ic_5g_plus_mobiledata.xml b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc030/ic_5g_plus_mobiledata.xml
similarity index 100%
rename from overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc030/ic_5g_plus_mobiledata.xml
rename to overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc030/ic_5g_plus_mobiledata.xml
diff --git a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc150/ic_5g_e_mobiledata.xml b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc150/ic_5g_e_mobiledata.xml
similarity index 100%
rename from overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc150/ic_5g_e_mobiledata.xml
rename to overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc150/ic_5g_e_mobiledata.xml
diff --git a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc150/ic_5g_mobiledata.xml b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc150/ic_5g_mobiledata.xml
similarity index 100%
rename from overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc150/ic_5g_mobiledata.xml
rename to overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc150/ic_5g_mobiledata.xml
diff --git a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc150/ic_5g_plus_mobiledata.xml b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc150/ic_5g_plus_mobiledata.xml
similarity index 100%
rename from overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc150/ic_5g_plus_mobiledata.xml
rename to overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc150/ic_5g_plus_mobiledata.xml
diff --git a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc170/ic_5g_e_mobiledata.xml b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc170/ic_5g_e_mobiledata.xml
similarity index 100%
rename from overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc170/ic_5g_e_mobiledata.xml
rename to overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc170/ic_5g_e_mobiledata.xml
diff --git a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc170/ic_5g_mobiledata.xml b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc170/ic_5g_mobiledata.xml
similarity index 100%
rename from overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc170/ic_5g_mobiledata.xml
rename to overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc170/ic_5g_mobiledata.xml
diff --git a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc170/ic_5g_plus_mobiledata.xml b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc170/ic_5g_plus_mobiledata.xml
similarity index 100%
rename from overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc170/ic_5g_plus_mobiledata.xml
rename to overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc170/ic_5g_plus_mobiledata.xml
diff --git a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc280/ic_5g_e_mobiledata.xml b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc280/ic_5g_e_mobiledata.xml
similarity index 100%
rename from overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc280/ic_5g_e_mobiledata.xml
rename to overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc280/ic_5g_e_mobiledata.xml
diff --git a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc280/ic_5g_mobiledata.xml b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc280/ic_5g_mobiledata.xml
similarity index 100%
rename from overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc280/ic_5g_mobiledata.xml
rename to overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc280/ic_5g_mobiledata.xml
diff --git a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc280/ic_5g_plus_mobiledata.xml b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc280/ic_5g_plus_mobiledata.xml
similarity index 100%
rename from overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc280/ic_5g_plus_mobiledata.xml
rename to overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc280/ic_5g_plus_mobiledata.xml
diff --git a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc410/ic_5g_e_mobiledata.xml b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc410/ic_5g_e_mobiledata.xml
similarity index 100%
rename from overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc410/ic_5g_e_mobiledata.xml
rename to overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc410/ic_5g_e_mobiledata.xml
diff --git a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc410/ic_5g_mobiledata.xml b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc410/ic_5g_mobiledata.xml
similarity index 100%
rename from overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc410/ic_5g_mobiledata.xml
rename to overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc410/ic_5g_mobiledata.xml
diff --git a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc410/ic_5g_plus_mobiledata.xml b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc410/ic_5g_plus_mobiledata.xml
similarity index 100%
rename from overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc410/ic_5g_plus_mobiledata.xml
rename to overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc410/ic_5g_plus_mobiledata.xml
diff --git a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc560/ic_5g_e_mobiledata.xml b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc560/ic_5g_e_mobiledata.xml
similarity index 100%
rename from overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc560/ic_5g_e_mobiledata.xml
rename to overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc560/ic_5g_e_mobiledata.xml
diff --git a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc560/ic_5g_mobiledata.xml b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc560/ic_5g_mobiledata.xml
similarity index 100%
rename from overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc560/ic_5g_mobiledata.xml
rename to overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc560/ic_5g_mobiledata.xml
diff --git a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc560/ic_5g_plus_mobiledata.xml b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc560/ic_5g_plus_mobiledata.xml
similarity index 100%
rename from overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc560/ic_5g_plus_mobiledata.xml
rename to overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc560/ic_5g_plus_mobiledata.xml
diff --git a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc950/ic_5g_e_mobiledata.xml b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc950/ic_5g_e_mobiledata.xml
similarity index 100%
rename from overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc950/ic_5g_e_mobiledata.xml
rename to overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc950/ic_5g_e_mobiledata.xml
diff --git a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc950/ic_5g_mobiledata.xml b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc950/ic_5g_mobiledata.xml
similarity index 100%
rename from overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc950/ic_5g_mobiledata.xml
rename to overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc950/ic_5g_mobiledata.xml
diff --git a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc950/ic_5g_plus_mobiledata.xml b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc950/ic_5g_plus_mobiledata.xml
similarity index 100%
rename from overlay/frameworks/base/packages/SystemUI/res/drawable-mcc310-mnc950/ic_5g_plus_mobiledata.xml
rename to overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc310-mnc950/ic_5g_plus_mobiledata.xml
diff --git a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc311-mnc180/ic_5g_e_mobiledata.xml b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc311-mnc180/ic_5g_e_mobiledata.xml
similarity index 100%
rename from overlay/frameworks/base/packages/SystemUI/res/drawable-mcc311-mnc180/ic_5g_e_mobiledata.xml
rename to overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc311-mnc180/ic_5g_e_mobiledata.xml
diff --git a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc311-mnc180/ic_5g_mobiledata.xml b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc311-mnc180/ic_5g_mobiledata.xml
similarity index 100%
rename from overlay/frameworks/base/packages/SystemUI/res/drawable-mcc311-mnc180/ic_5g_mobiledata.xml
rename to overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc311-mnc180/ic_5g_mobiledata.xml
diff --git a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc311-mnc180/ic_5g_plus_mobiledata.xml b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc311-mnc180/ic_5g_plus_mobiledata.xml
similarity index 100%
rename from overlay/frameworks/base/packages/SystemUI/res/drawable-mcc311-mnc180/ic_5g_plus_mobiledata.xml
rename to overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc311-mnc180/ic_5g_plus_mobiledata.xml
diff --git a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc311-mnc480/ic_5g_plus_mobiledata.xml b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc311-mnc480/ic_5g_plus_mobiledata.xml
similarity index 100%
rename from overlay/frameworks/base/packages/SystemUI/res/drawable-mcc311-mnc480/ic_5g_plus_mobiledata.xml
rename to overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc311-mnc480/ic_5g_plus_mobiledata.xml
diff --git a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc312-mnc670/ic_5g_e_mobiledata.xml b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc312-mnc670/ic_5g_e_mobiledata.xml
similarity index 100%
rename from overlay/frameworks/base/packages/SystemUI/res/drawable-mcc312-mnc670/ic_5g_e_mobiledata.xml
rename to overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc312-mnc670/ic_5g_e_mobiledata.xml
diff --git a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc312-mnc670/ic_5g_mobiledata.xml b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc312-mnc670/ic_5g_mobiledata.xml
similarity index 100%
rename from overlay/frameworks/base/packages/SystemUI/res/drawable-mcc312-mnc670/ic_5g_mobiledata.xml
rename to overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc312-mnc670/ic_5g_mobiledata.xml
diff --git a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc312-mnc670/ic_5g_plus_mobiledata.xml b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc312-mnc670/ic_5g_plus_mobiledata.xml
similarity index 100%
rename from overlay/frameworks/base/packages/SystemUI/res/drawable-mcc312-mnc670/ic_5g_plus_mobiledata.xml
rename to overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc312-mnc670/ic_5g_plus_mobiledata.xml
diff --git a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc313-mnc100/ic_5g_e_mobiledata.xml b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc313-mnc100/ic_5g_e_mobiledata.xml
similarity index 100%
rename from overlay/frameworks/base/packages/SystemUI/res/drawable-mcc313-mnc100/ic_5g_e_mobiledata.xml
rename to overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc313-mnc100/ic_5g_e_mobiledata.xml
diff --git a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc313-mnc100/ic_5g_mobiledata.xml b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc313-mnc100/ic_5g_mobiledata.xml
similarity index 100%
rename from overlay/frameworks/base/packages/SystemUI/res/drawable-mcc313-mnc100/ic_5g_mobiledata.xml
rename to overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc313-mnc100/ic_5g_mobiledata.xml
diff --git a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc313-mnc100/ic_5g_plus_mobiledata.xml b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc313-mnc100/ic_5g_plus_mobiledata.xml
similarity index 100%
rename from overlay/frameworks/base/packages/SystemUI/res/drawable-mcc313-mnc100/ic_5g_plus_mobiledata.xml
rename to overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc313-mnc100/ic_5g_plus_mobiledata.xml
diff --git a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc313-mnc130/ic_5g_e_mobiledata.xml b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc313-mnc130/ic_5g_e_mobiledata.xml
similarity index 100%
rename from overlay/frameworks/base/packages/SystemUI/res/drawable-mcc313-mnc130/ic_5g_e_mobiledata.xml
rename to overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc313-mnc130/ic_5g_e_mobiledata.xml
diff --git a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc313-mnc130/ic_5g_mobiledata.xml b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc313-mnc130/ic_5g_mobiledata.xml
similarity index 100%
rename from overlay/frameworks/base/packages/SystemUI/res/drawable-mcc313-mnc130/ic_5g_mobiledata.xml
rename to overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc313-mnc130/ic_5g_mobiledata.xml
diff --git a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc313-mnc130/ic_5g_plus_mobiledata.xml b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc313-mnc130/ic_5g_plus_mobiledata.xml
similarity index 100%
rename from overlay/frameworks/base/packages/SystemUI/res/drawable-mcc313-mnc130/ic_5g_plus_mobiledata.xml
rename to overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc313-mnc130/ic_5g_plus_mobiledata.xml
diff --git a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc313-mnc140/ic_5g_e_mobiledata.xml b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc313-mnc140/ic_5g_e_mobiledata.xml
similarity index 100%
rename from overlay/frameworks/base/packages/SystemUI/res/drawable-mcc313-mnc140/ic_5g_e_mobiledata.xml
rename to overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc313-mnc140/ic_5g_e_mobiledata.xml
diff --git a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc313-mnc140/ic_5g_mobiledata.xml b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc313-mnc140/ic_5g_mobiledata.xml
similarity index 100%
rename from overlay/frameworks/base/packages/SystemUI/res/drawable-mcc313-mnc140/ic_5g_mobiledata.xml
rename to overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc313-mnc140/ic_5g_mobiledata.xml
diff --git a/overlay/frameworks/base/packages/SystemUI/res/drawable-mcc313-mnc140/ic_5g_plus_mobiledata.xml b/overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc313-mnc140/ic_5g_plus_mobiledata.xml
similarity index 100%
rename from overlay/frameworks/base/packages/SystemUI/res/drawable-mcc313-mnc140/ic_5g_plus_mobiledata.xml
rename to overlay/frameworks/base/packages/SettingsLib/res/drawable-mcc313-mnc140/ic_5g_plus_mobiledata.xml
diff --git a/overlay/frameworks/base/packages/SystemUI/res/values-mcc310-mnc004/strings.xml b/overlay/frameworks/base/packages/SettingsLib/res/values-mcc310-mnc004/strings.xml
similarity index 100%
rename from overlay/frameworks/base/packages/SystemUI/res/values-mcc310-mnc004/strings.xml
rename to overlay/frameworks/base/packages/SettingsLib/res/values-mcc310-mnc004/strings.xml
diff --git a/overlay/frameworks/base/packages/SystemUI/res/values-mcc311-mnc480/strings.xml b/overlay/frameworks/base/packages/SettingsLib/res/values-mcc311-mnc480/strings.xml
similarity index 100%
rename from overlay/frameworks/base/packages/SystemUI/res/values-mcc311-mnc480/strings.xml
rename to overlay/frameworks/base/packages/SettingsLib/res/values-mcc311-mnc480/strings.xml
diff --git a/overlay/frameworks/base/packages/SystemUI/res/values-mcc440-mnc20/config.xml b/overlay/frameworks/base/packages/SettingsLib/res/values-mcc440-mnc20/config.xml
similarity index 100%
rename from overlay/frameworks/base/packages/SystemUI/res/values-mcc440-mnc20/config.xml
rename to overlay/frameworks/base/packages/SettingsLib/res/values-mcc440-mnc20/config.xml
diff --git a/overlay/packages/services/Telephony/res/values/config.xml b/overlay/packages/services/Telephony/res/values/config.xml
index 85f7372..4137a37 100644
--- a/overlay/packages/services/Telephony/res/values/config.xml
+++ b/overlay/packages/services/Telephony/res/values/config.xml
@@ -40,4 +40,8 @@
<!-- This device can connect to 5G network in DSDS mode. -->
<bool name="config_5g_connection_in_dsds_mode">true</bool>
+
+ <!-- This device requires that emergency calls are placed over the default data SIM when
+ possible because GNSS SUPL can only be received from the network on data subscription. -->
+ <bool name="config_gnss_supl_requires_default_data_for_emergency">true</bool>
</resources>
diff --git a/pixelstats/Android.bp b/pixelstats/Android.bp
index e3a92a8..b0d0828 100644
--- a/pixelstats/Android.bp
+++ b/pixelstats/Android.bp
@@ -25,9 +25,6 @@
],
shared_libs: [
"libbase",
- "libbinder",
- "libcutils",
- "libhidlbase",
"liblog",
"libutils",
"libpixelstats",
diff --git a/pixelstats/pixelstats-vendor.redbull.rc b/pixelstats/pixelstats-vendor.redbull.rc
index 22254bb..fdf8f79 100644
--- a/pixelstats/pixelstats-vendor.redbull.rc
+++ b/pixelstats/pixelstats-vendor.redbull.rc
@@ -1,4 +1,4 @@
service vendor.pixelstats_vendor /vendor/bin/pixelstats-vendor
class hal
user system
- group system context_hub
+ group system context_hub readproc
diff --git a/pixelstats/service.cpp b/pixelstats/service.cpp
index d6c0e36..fb74ef8 100644
--- a/pixelstats/service.cpp
+++ b/pixelstats/service.cpp
@@ -28,7 +28,7 @@
using android::hardware::google::pixel::SysfsCollector;
using android::hardware::google::pixel::UeventListener;
-#define UFSHC_PATH(filename) "/sys/devices/platform/soc/1d84000.ufshc/" #filename
+#define UFSHC_PATH(filename) "/dev/sys/block/bootdevice/" #filename
const struct SysfsCollector::SysfsPaths sysfs_paths = {
.SlowioReadCntPath = UFSHC_PATH(slowio_read_cnt),
.SlowioWriteCntPath = UFSHC_PATH(slowio_write_cnt),
@@ -42,12 +42,13 @@
.UFSLifetimeA = UFSHC_PATH(health_descriptor/life_time_estimation_a),
.UFSLifetimeB = UFSHC_PATH(health_descriptor/life_time_estimation_b),
.UFSLifetimeC = UFSHC_PATH(health_descriptor/life_time_estimation_c),
+ .UFSHostResetPath = UFSHC_PATH(err_stats/err_host_reset),
.F2fsStatsPath = "/sys/fs/f2fs/",
.EEPROMPath = "/dev/battery_history"
};
-
-const char *const kAudioUevent = "/kernel/q6audio/q6voice_uevent";
-const char *const kSSOCDetailsPath = "/sys/class/power_supply/battery/ssoc_details";
+const struct UeventListener::UeventPaths ueventPaths = {
+ .AudioUevent = "/kernel/q6audio/q6voice_uevent",
+ .WirelessChargerPtmcUevent = "POWER_SUPPLY_PTMC_ID="};
int main() {
LOG(INFO) << "starting PixelStats";
@@ -59,7 +60,7 @@
return 1;
}
- UeventListener ueventListener(kAudioUevent, kSSOCDetailsPath);
+ UeventListener ueventListener(ueventPaths);
std::thread listenThread(&UeventListener::ListenForever, &ueventListener);
listenThread.detach();
diff --git a/power/hint-data.h b/power/hint-data.h
deleted file mode 100644
index 0cb54c2..0000000
--- a/power/hint-data.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Copyright (c) 2012, 2013, 2015, 2017, The Linux Foundation. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * 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
- * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/* Default use-case hint IDs */
-#define DEFAULT_VIDEO_ENCODE_HINT_ID (0x0A00)
-#define DEFAULT_VIDEO_DECODE_HINT_ID (0x0B00)
-#define DISPLAY_STATE_HINT_ID (0x0C00)
-#define DISPLAY_STATE_HINT_ID_2 (0x0D00)
-#define CAM_PREVIEW_HINT_ID (0x0E00)
-#define SUSTAINED_PERF_HINT_ID (0x0F00)
-#define VR_MODE_HINT_ID (0x1000)
-#define VR_MODE_SUSTAINED_PERF_HINT_ID (0x1001)
-
-#define AOSP_DELTA (0x1200)
-
-#define VSYNC_HINT AOSP_DELTA + POWER_HINT_VSYNC
-#define INTERACTION_HINT AOSP_DELTA + POWER_HINT_INTERACTION
-#define VIDEO_DECODE_HINT AOSP_DELTA + POWER_HINT_VIDEO_DECODE
-#define VIDEO_ENCODE_HINT AOSP_DELTA + POWER_HINT_VIDEO_ENCODE
-#define LOW_POWER_HINT AOSP_DELTA + POWER_HINT_LOW_POWER
-#define SUSTAINED_PERF_HINT AOSP_DELTA + POWER_HINT_SUSTAINED_PERFORMANCE
-#define VR_MODE_HINT AOSP_DELTA + POWER_HINT_VR_MODE
-#define LAUNCH_HINT AOSP_DELTA + POWER_HINT_LAUNCH
-#define DISABLE_TOUCH_HINT AOSP_DELTA + POWER_HINT_DISABLE_TOUCH
-
-#define VR_MODE_SUSTAINED_PERF_HINT (0x1301)
-
-
-struct hint_data {
- unsigned long hint_id; /* This is our key. */
- unsigned long perflock_handle;
-};
-
-int hint_compare(struct hint_data *first_hint,
- struct hint_data *other_hint);
-void hint_dump(struct hint_data *hint);
diff --git a/power/list.h b/power/list.h
deleted file mode 100644
index d68c3df..0000000
--- a/power/list.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2012, 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
- * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-struct list_node {
- struct list_node *next;
- void *data;
- int (*compare)(void *data1, void *data2);
- void (*dump)(void *data);
-};
-
-int init_list_head(struct list_node *head);
-struct list_node * add_list_node(struct list_node *head, void *data);
-int remove_list_node(struct list_node *head, struct list_node *del_node);
-void dump_list(struct list_node *head);
-struct list_node *find_node(struct list_node *head, void *comparison_data);
diff --git a/power/metadata-defs.h b/power/metadata-defs.h
deleted file mode 100644
index c464900..0000000
--- a/power/metadata-defs.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/* Copyright (c) 2012, 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
- * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-#define ATTRIBUTE_VALUE_DELIM ('=')
-#define ATTRIBUTE_STRING_DELIM (";")
-
-#define METADATA_PARSING_ERR (-1)
-#define METADATA_PARSING_CONTINUE (0)
-#define METADATA_PARSING_DONE (1)
-
-#define MIN(x,y) (((x)>(y))?(y):(x))
-
-struct video_encode_metadata_t {
- int hint_id;
- int state;
-};
-
-struct video_decode_metadata_t {
- int hint_id;
- int state;
-};
-
-int parse_metadata(char *metadata, char **metadata_saveptr,
- char *attribute, int attribute_size, char *value, int value_size);
-int parse_video_encode_metadata(char *metadata,
- struct video_encode_metadata_t *video_encode_metadata);
-int parse_video_decode_metadata(char *metadata,
- struct video_decode_metadata_t *video_decode_metadata);
diff --git a/power/performance.h b/power/performance.h
deleted file mode 100644
index b7bf34b..0000000
--- a/power/performance.h
+++ /dev/null
@@ -1,265 +0,0 @@
-/* Copyright (c) 2012, 2014, 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
- * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define FAILED -1
-#define SUCCESS 0
-#define INDEFINITE_DURATION 0
-
-/* Hints sent to perf HAL from power HAL
- * These have to be kept in sync with Perf HAL side definitions
- */
-#define VENDOR_HINT_DISPLAY_OFF 0x00001040
-#define VENDOR_HINT_DISPLAY_ON 0x00001041
-
-enum SCREEN_DISPLAY_TYPE {
- DISPLAY_OFF = 0x00FF,
-};
-
-enum PWR_CLSP_TYPE {
- ALL_CPUS_PWR_CLPS_DIS = 0x101,
-};
-
-/* For CPUx min freq, the leftmost byte
- * represents the CPU and the
- * rightmost byte represents the frequency
- * All intermediate frequencies on the
- * device are supported. The hex value
- * passed into PerfLock will be multiplied
- * by 10^5. This frequency or the next
- * highest frequency available will be set
- *
- * For example, if 1.4 Ghz is required on
- * CPU0, use 0x20E
- *
- * If the highest available frequency
- * on the device is required, use
- * CPUx_MIN_FREQ_TURBO_MAX
- * where x represents the CPU
- */
-enum CPU0_MIN_FREQ_LVL {
- CPU0_MIN_FREQ_NONTURBO_MAX = 0x20A,
- CPU0_MIN_FREQ_TURBO_MAX = 0x2FE,
-};
-
-enum CPU1_MIN_FREQ_LVL {
- CPU1_MIN_FREQ_NONTURBO_MAX = 0x30A,
- CPU1_MIN_FREQ_TURBO_MAX = 0x3FE,
-};
-
-enum CPU2_MIN_FREQ_LVL {
- CPU2_MIN_FREQ_NONTURBO_MAX = 0x40A,
- CPU2_MIN_FREQ_TURBO_MAX = 0x4FE,
-};
-
-enum CPU3_MIN_FREQ_LVL {
- CPU3_MIN_FREQ_NONTURBO_MAX = 0x50A,
- CPU3_MIN_FREQ_TURBO_MAX = 0x5FE,
-};
-
-enum CPU0_MAX_FREQ_LVL {
- CPU0_MAX_FREQ_NONTURBO_MAX = 0x150A,
-};
-
-enum CPU1_MAX_FREQ_LVL {
- CPU1_MAX_FREQ_NONTURBO_MAX = 0x160A,
-};
-
-enum CPU2_MAX_FREQ_LVL {
- CPU2_MAX_FREQ_NONTURBO_MAX = 0x170A,
-};
-
-enum CPU3_MAX_FREQ_LVL {
- CPU3_MAX_FREQ_NONTURBO_MAX = 0x180A,
-};
-
-enum MIN_CPUS_ONLINE_LVL {
- CPUS_ONLINE_MIN_2 = 0x702,
- CPUS_ONLINE_MIN_3 = 0x703,
- CPUS_ONLINE_MIN_4 = 0x704,
- CPUS_ONLINE_MPD_OVERRIDE = 0x777,
- CPUS_ONLINE_MAX = 0x7FF,
-};
-
-enum MAX_CPUS_ONLINE_LVL {
- CPUS_ONLINE_MAX_LIMIT_1 = 0x8FE,
- CPUS_ONLINE_MAX_LIMIT_2 = 0x8FD,
- CPUS_ONLINE_MAX_LIMIT_3 = 0x8FC,
- CPUS_ONLINE_MAX_LIMIT_4 = 0x8FB,
- CPUS_ONLINE_MAX_LIMIT_MAX = 0x8FB,
-};
-
-enum SAMPLING_RATE_LVL {
- MS_500 = 0xBCD,
- MS_50 = 0xBFA,
- MS_20 = 0xBFD,
-};
-
-enum ONDEMAND_IO_BUSY_LVL {
- IO_BUSY_OFF = 0xC00,
- IO_BUSY_ON = 0xC01,
-};
-
-enum ONDEMAND_SAMPLING_DOWN_FACTOR_LVL {
- SAMPLING_DOWN_FACTOR_1 = 0xD01,
- SAMPLING_DOWN_FACTOR_4 = 0xD04,
-};
-
-enum INTERACTIVE_TIMER_RATE_LVL {
- TR_MS_500 = 0xECD,
- TR_MS_100 = 0xEF5,
- TR_MS_50 = 0xEFA,
- TR_MS_30 = 0xEFC,
- TR_MS_20 = 0xEFD,
-};
-
-/* This timer rate applicable to cpu0
- across 8939 series chipset */
-enum INTERACTIVE_TIMER_RATE_LVL_CPU0_8939 {
- TR_MS_CPU0_500 = 0x30CD,
- TR_MS_CPU0_100 = 0x30F5,
- TR_MS_CPU0_50 = 0x30FA,
- TR_MS_CPU0_30 = 0x30FC,
- TR_MS_CPU0_20 = 0x30FD,
-};
-
-/* This timer rate applicable to cpu4
- across 8939 series chipset */
-enum INTERACTIVE_TIMER_RATE_LVL_CPU4_8939 {
- TR_MS_CPU4_500 = 0x3BCD,
- TR_MS_CPU4_100 = 0x3BF5,
- TR_MS_CPU4_50 = 0x3BFA,
- TR_MS_CPU4_30 = 0x3BFC,
- TR_MS_CPU4_20 = 0x3BFD,
-};
-
-/* This timer rate applicable to big.little arch */
-enum INTERACTIVE_TIMER_RATE_LVL_BIG_LITTLE {
- BIG_LITTLE_TR_MS_100 = 0x64,
- BIG_LITTLE_TR_MS_50 = 0x32,
- BIG_LITTLE_TR_MS_40 = 0x28,
- BIG_LITTLE_TR_MS_30 = 0x1E,
- BIG_LITTLE_TR_MS_20 = 0x14,
-};
-
-/* INTERACTIVE opcodes */
-enum INTERACTIVE_OPCODES {
- INT_OP_CLUSTER0_TIMER_RATE = 0x41424000,
- INT_OP_CLUSTER1_TIMER_RATE = 0x41424100,
- INT_OP_CLUSTER0_USE_SCHED_LOAD = 0x41430000,
- INT_OP_CLUSTER1_USE_SCHED_LOAD = 0x41430100,
- INT_OP_CLUSTER0_USE_MIGRATION_NOTIF = 0x41434000,
- INT_OP_CLUSTER1_USE_MIGRATION_NOTIF = 0x41434100,
- INT_OP_NOTIFY_ON_MIGRATE = 0x4241C000
-};
-
-enum INTERACTIVE_HISPEED_FREQ_LVL {
- HS_FREQ_1026 = 0xF0A,
-};
-
-enum INTERACTIVE_HISPEED_LOAD_LVL {
- HISPEED_LOAD_90 = 0x105A,
-};
-
-enum SYNC_FREQ_LVL {
- SYNC_FREQ_300 = 0x1103,
- SYNC_FREQ_600 = 0X1106,
- SYNC_FREQ_384 = 0x1103,
- SYNC_FREQ_NONTURBO_MAX = 0x110A,
- SYNC_FREQ_TURBO = 0x110F,
-};
-
-enum OPTIMAL_FREQ_LVL {
- OPTIMAL_FREQ_300 = 0x1203,
- OPTIMAL_FREQ_600 = 0x1206,
- OPTIMAL_FREQ_384 = 0x1203,
- OPTIMAL_FREQ_NONTURBO_MAX = 0x120A,
- OPTIMAL_FREQ_TURBO = 0x120F,
-};
-
-enum SCREEN_PWR_CLPS_LVL {
- PWR_CLPS_DIS = 0x1300,
- PWR_CLPS_ENA = 0x1301,
-};
-
-enum THREAD_MIGRATION_LVL {
- THREAD_MIGRATION_SYNC_OFF = 0x1400,
-};
-
-enum INTERACTIVE_IO_BUSY_LVL {
- INTERACTIVE_IO_BUSY_OFF = 0x1B00,
- INTERACTIVE_IO_BUSY_ON = 0x1B01,
-};
-
-enum SCHED_BOOST_LVL {
- SCHED_BOOST_ON = 0x1E01,
-};
-
-enum CPU4_MIN_FREQ_LVL {
- CPU4_MIN_FREQ_NONTURBO_MAX = 0x1F0A,
- CPU4_MIN_FREQ_TURBO_MAX = 0x1FFE,
-};
-
-enum CPU5_MIN_FREQ_LVL {
- CPU5_MIN_FREQ_NONTURBO_MAX = 0x200A,
- CPU5_MIN_FREQ_TURBO_MAX = 0x20FE,
-};
-
-enum CPU6_MIN_FREQ_LVL {
- CPU6_MIN_FREQ_NONTURBO_MAX = 0x210A,
- CPU6_MIN_FREQ_TURBO_MAX = 0x21FE,
-};
-
-enum CPU7_MIN_FREQ_LVL {
- CPU7_MIN_FREQ_NONTURBO_MAX = 0x220A,
- CPU7_MIN_FREQ_TURBO_MAX = 0x22FE,
-};
-
-enum CPU4_MAX_FREQ_LVL {
- CPU4_MAX_FREQ_NONTURBO_MAX = 0x230A,
-};
-
-enum CPU5_MAX_FREQ_LVL {
- CPU5_MAX_FREQ_NONTURBO_MAX = 0x240A,
-};
-
-enum CPU6_MAX_FREQ_LVL {
- CPU6_MAX_FREQ_NONTURBO_MAX = 0x250A,
-};
-
-enum CPU7_MAX_FREQ_LVL {
- CPU7_MAX_FREQ_NONTURBO_MAX = 0x260A,
-};
-
-#ifdef __cplusplus
-}
-#endif
diff --git a/power/power-common.h b/power/power-common.h
deleted file mode 100644
index 5ba5e81..0000000
--- a/power/power-common.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * 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
- * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-#define NODE_MAX (64)
-
-#define SCALING_GOVERNOR_PATH "/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor"
-#define DCVS_CPU0_SLACK_MAX_NODE "/sys/module/msm_dcvs/cores/cpu0/slack_time_max_us"
-#define DCVS_CPU0_SLACK_MIN_NODE "/sys/module/msm_dcvs/cores/cpu0/slack_time_min_us"
-#define MPDECISION_SLACK_MAX_NODE "/sys/module/msm_mpdecision/slack_time_max_us"
-#define MPDECISION_SLACK_MIN_NODE "/sys/module/msm_mpdecision/slack_time_min_us"
-#define SCALING_MIN_FREQ "/sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq"
-#define ONDEMAND_GOVERNOR "ondemand"
-#define INTERACTIVE_GOVERNOR "interactive"
-#define MSMDCVS_GOVERNOR "msm-dcvs"
-
-#define HINT_HANDLED (0)
-#define HINT_NONE (-1)
-
-enum CPU_GOV_CHECK {
- CPU0 = 0,
- CPU1 = 1,
- CPU2 = 2,
- CPU3 = 3
-};
diff --git a/power/powerhintparser.h b/power/powerhintparser.h
deleted file mode 100644
index 5f9cbe6..0000000
--- a/power/powerhintparser.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/* Copyright (c) 2016, 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
- * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-#ifndef __POWERHINTPARSER__
-#define __POWERHINTPARSER__
-
-#define POWERHINT_XML "/vendor/etc/powerhint.xml"
-#define MAX_HINT 6
-#define MAX_PARAM 30
-
-typedef struct perflock_param_t {
- int type;
- int numParams;
- int paramList[MAX_PARAM];//static limit on number of hints - 15
-}perflock_param_t;
-
-static perflock_param_t powerhint[MAX_HINT];
-
-int parsePowerhintXML();
-int *getPowerhint(int, int*);
-
-#endif /* __POWERHINTPARSER__ */
diff --git a/power/utils.h b/power/utils.h
deleted file mode 100644
index 4c3dc7f..0000000
--- a/power/utils.h
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Copyright (c) 2012-2013,2015-2017, The Linux Foundation. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * 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
- * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include <cutils/properties.h>
-
-int sysfs_read(char *path, char *s, int num_bytes);
-int sysfs_write(char *path, char *s);
-int get_scaling_governor(char governor[], int size);
-int get_scaling_governor_check_cores(char governor[], int size,int core_num);
-int is_interactive_governor(char*);
-
-void vote_ondemand_io_busy_off();
-void unvote_ondemand_io_busy_off();
-void vote_ondemand_sdf_low();
-void unvote_ondemand_sdf_low();
-void perform_hint_action(int hint_id, int resource_values[],
- int num_resources);
-void undo_hint_action(int hint_id);
-void release_request(int lock_handle);
-int interaction_with_handle(int lock_handle, int duration, int num_args, int opt_list[]);
-int perf_hint_enable(int hint_id, int duration);
diff --git a/powerhint.json b/powerhint.json
index a4495e4..a80eb79 100644
--- a/powerhint.json
+++ b/powerhint.json
@@ -434,7 +434,7 @@
},
{
"Name": "UfsClkGateEnable",
- "Path": "/sys/devices/platform/soc/1d84000.ufshc/clkgate_enable",
+ "Path": "/dev/sys/block/bootdevice/clkgate_enable",
"Values": [
"0",
"1"
@@ -442,6 +442,15 @@
"ResetOnInit": true
},
{
+ "Name": "F2fsRecessModeEnable",
+ "Path": "/dev/sys/fs/by-name/userdata/gc_urgent",
+ "Values": [
+ "2",
+ "0"
+ ],
+ "ResetOnInit": true
+ },
+ {
"Name": "PowerHALMainState",
"Path": "vendor.powerhal.state",
"Values": [
@@ -582,6 +591,12 @@
"Value": "0"
},
{
+ "PowerHint": "DEVICE_IDLE",
+ "Node": "F2fsRecessModeEnable",
+ "Duration": 0,
+ "Value": "2"
+ },
+ {
"PowerHint": "LAUNCH",
"Node": "TASchedtuneHighCap",
"Duration": 5000,
diff --git a/powerstats/RailDataProvider.cpp b/powerstats/RailDataProvider.cpp
index 9dfbbb8..d78bc71 100644
--- a/powerstats/RailDataProvider.cpp
+++ b/powerstats/RailDataProvider.cpp
@@ -210,7 +210,6 @@
std::lock_guard<std::mutex> _lock(mOdpm.mLock);
Status ret = parseIioEnergyNodes();
if (ret != Status::SUCCESS) {
- ALOGE("Failed to getEnergyData");
_hidl_cb(eVal, ret);
return Void();
}
diff --git a/powerstats/service.cpp b/powerstats/service.cpp
index e83c54c..2ac4da7 100644
--- a/powerstats/service.cpp
+++ b/powerstats/service.cpp
@@ -79,8 +79,7 @@
.lastEntryPrefix = "Sleep Last Entered At:",
.lastEntryTransform = rpmConvertToMs}};
- sp<GenericStateResidencyDataProvider> rpmSdp =
- new GenericStateResidencyDataProvider("/sys/power/rpmh_stats/master_stats");
+ auto rpmSdp = sp<GenericStateResidencyDataProvider>::make("/sys/power/rpmh_stats/master_stats");
uint32_t apssId = service->addPowerEntity("APSS", PowerEntityType::SUBSYSTEM);
rpmSdp->addEntity(apssId, PowerEntityConfig("APSS", rpmStateResidencyConfigs));
@@ -116,8 +115,7 @@
.totalTimePrefix = "actual last sleep(msec):",
.lastEntrySupported = false}};
- sp<GenericStateResidencyDataProvider> socSdp =
- new GenericStateResidencyDataProvider("/sys/power/system_sleep/stats");
+ auto socSdp = sp<GenericStateResidencyDataProvider>::make("/sys/power/system_sleep/stats");
uint32_t socId = service->addPowerEntity("SoC", PowerEntityType::POWER_DOMAIN);
socSdp->addEntity(socId, PowerEntityConfig(socStateResidencyConfigs));
@@ -127,19 +125,20 @@
if (isDebuggable) {
// Add WLAN power entity
uint32_t wlanId = service->addPowerEntity("WLAN", PowerEntityType::SUBSYSTEM);
- sp<WlanStateResidencyDataProvider> wlanSdp =
- new WlanStateResidencyDataProvider(wlanId, "/sys/kernel/wifi/power_stats");
+ auto wlanSdp = sp<WlanStateResidencyDataProvider>::make(wlanId,
+ "/sys/kernel/wifi/power_stats");
service->addStateResidencyDataProvider(wlanSdp);
}
uint32_t displayId = service->addPowerEntity("Display", PowerEntityType::SUBSYSTEM);
- sp<DisplayStateResidencyDataProvider> displaySdp =
- new DisplayStateResidencyDataProvider(displayId,
- "/sys/class/backlight/panel0-backlight/state", {"Off", "LP", "1080x2340@60", "1080x2340@90"});
+ auto displaySdp =
+ sp<DisplayStateResidencyDataProvider>::make(displayId,
+ "/sys/class/backlight/panel0-backlight/state",
+ std::vector<std::string>{"Off", "LP", "1080x2340@60", "1080x2340@90"});
service->addStateResidencyDataProvider(displaySdp);
// Add Power Entities that require the Aidl data provider
- sp<AidlStateResidencyDataProvider> aidlSdp = new AidlStateResidencyDataProvider();
+ auto aidlSdp = sp<AidlStateResidencyDataProvider>::make();
uint32_t citadelId = service->addPowerEntity("Citadel", PowerEntityType::SUBSYSTEM);
aidlSdp->addEntity(citadelId, "Citadel", {"Last-Reset", "Active", "Deep-Sleep"});
diff --git a/product.prop b/product.prop
index 81171da..2a014a4 100644
--- a/product.prop
+++ b/product.prop
@@ -90,7 +90,7 @@
# System props to enable Bluetooth Quality Report (BQR) feature
# BQR event mask configuration
-persist.bluetooth.bqr.event_mask=14
+persist.bluetooth.bqr.event_mask=30
# BQR minimum report interval configuration
persist.bluetooth.bqr.min_interval_ms=500
diff --git a/redbull_allowlist.mk b/redbull_allowlist.mk
new file mode 100644
index 0000000..3d9a79f
--- /dev/null
+++ b/redbull_allowlist.mk
@@ -0,0 +1,2 @@
+PRODUCT_ARTIFACT_PATH_REQUIREMENT_ALLOWED_LIST += \
+ system/lib64/android.hardware.thermal@2.0.so
diff --git a/rro_overlays/ConnectivityOverlay/Android.bp b/rro_overlays/ConnectivityOverlay/Android.bp
new file mode 100644
index 0000000..e76c15a
--- /dev/null
+++ b/rro_overlays/ConnectivityOverlay/Android.bp
@@ -0,0 +1,9 @@
+package {
+ default_applicable_licenses: ["Android-Apache-2.0"],
+}
+
+runtime_resource_overlay {
+ name: "ConnectivityOverlay",
+ sdk_version: "current",
+ product_specific: true
+}
diff --git a/rro_overlays/ConnectivityOverlay/AndroidManifest.xml b/rro_overlays/ConnectivityOverlay/AndroidManifest.xml
new file mode 100644
index 0000000..f349b7f
--- /dev/null
+++ b/rro_overlays/ConnectivityOverlay/AndroidManifest.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2021 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 connectivity overlays -->
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ package="com.android.connectivity.resources.overlay"
+ android:versionCode="1"
+ android:versionName="1.0">
+ <application android:hasCode="false" />
+ <overlay
+ android:targetPackage="com.android.connectivity.resources"
+ android:targetName="ServiceConnectivityResourcesConfig"
+ android:isStatic="true"
+ android:priority="0"/>
+</manifest>
diff --git a/rro_overlays/ConnectivityOverlay/res/values/config.xml b/rro_overlays/ConnectivityOverlay/res/values/config.xml
new file mode 100644
index 0000000..d9a29b0
--- /dev/null
+++ b/rro_overlays/ConnectivityOverlay/res/values/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+ * Copyright (C) 2021 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>
+ <!-- If the hardware supports specially marking packets that caused a wakeup of the
+ main CPU, set this value to the mark used. -->
+ <integer translatable="false" name="config_networkWakeupPacketMark">0x80000000</integer>
+
+ <!-- Mask to use when checking skb mark defined in config_networkWakeupPacketMark above. -->
+ <integer translatable="false" name="config_networkWakeupPacketMask">0x80000000</integer>
+</resources>
diff --git a/rro_overlays/WifiOverlay/OWNERS b/rro_overlays/WifiOverlay/OWNERS
index efe20f1..cd92d6f 100644
--- a/rro_overlays/WifiOverlay/OWNERS
+++ b/rro_overlays/WifiOverlay/OWNERS
@@ -1,5 +1,5 @@
# People who can approve changes for submission
etancohen@google.com
-kumaranand@google.com
+arabawy@google.com
kumachang@google.com
satk@google.com
diff --git a/rro_overlays/WifiOverlay/res/values/config.xml b/rro_overlays/WifiOverlay/res/values/config.xml
index 373f400..a29458e 100644
--- a/rro_overlays/WifiOverlay/res/values/config.xml
+++ b/rro_overlays/WifiOverlay/res/values/config.xml
@@ -109,4 +109,7 @@
b/160239223: Rx time is excluded in cca busy time and channel utilization is calculated
correctly during heavy DL traffic -->
<bool translatable="false" name="config_wifiChannelUtilizationOverrideEnabled">false</bool>
+
+ <!-- Whether to use the explicit vendor HAL API: IWifiStaIface.setRoamingState for disabling fw roaming. -->
+ <bool translatable="false" name="config_wifiUseHalApiToDisableFwRoaming">true</bool>
</resources>
diff --git a/ueventd.rc b/ueventd.rc
index 9bf8230..ee63dee 100644
--- a/ueventd.rc
+++ b/ueventd.rc
@@ -154,3 +154,12 @@
/dev/logbuffer_ttf 0640 system system
/dev/logbuffer_wireless 0640 system system
/dev/logbuffer_rtx 0640 system system
+
+# pixelstat
+/sys/devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-02/c440000.qcom,spmi:qcom,pm7250b@2:qcom,usb-pdphy@1700/usbpd0/typec/port0/port0-partner identity/id_header 0444 system system
+/sys/devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-02/c440000.qcom,spmi:qcom,pm7250b@2:qcom,usb-pdphy@1700/usbpd0/typec/port0/port0-partner identity/product 0444 system system
+
+# Input
+/sys/devices/platform/soc/a600000.ssusb/a600000.dwc3/xhci-hcd.2.auto/usb1/1-1/*/*/leds/* brightness 0660 system system
+/sys/devices/platform/soc/a600000.ssusb/a600000.dwc3/xhci-hcd.2.auto/usb1/1-1/*/*/leds/* multi_intensity 0660 system system
+