Merge "Include the Pixel common board configuration for coral"
diff --git a/BoardConfig-common.mk b/BoardConfig-common.mk
index 50784b5..3df28f9 100644
--- a/BoardConfig-common.mk
+++ b/BoardConfig-common.mk
@@ -221,6 +221,9 @@
 else ifeq (,$(filter-out flame_hwasan coral_hwasan, $(TARGET_PRODUCT)))
 BOARD_VENDOR_KERNEL_MODULES += \
     $(wildcard device/google/coral-kernel/khwasan/*.ko)
+else ifeq (,$(filter-out flame_boundsan coral_boundsan, $(TARGET_PRODUCT)))
+BOARD_VENDOR_KERNEL_MODULES += \
+    $(wildcard device/google/coral-kernel/boundsan/*.ko)
 else ifeq (,$(filter-out flame_kernel_debug_memory coral_kernel_debug_memory, $(TARGET_PRODUCT)))
 BOARD_VENDOR_KERNEL_MODULES += \
     $(wildcard device/google/coral-kernel/debug_memory/*.ko)
diff --git a/WCNSS_qcom_cfg.ini b/WCNSS_qcom_cfg.ini
index b5b65a1..6963d26 100644
--- a/WCNSS_qcom_cfg.ini
+++ b/WCNSS_qcom_cfg.ini
@@ -169,7 +169,7 @@
 #  1 - enable
 # TDLS off-channel operation will be invoked when there is only one
 # TDLS connection.
-gEnableTDLSOffChannel=1
+gEnableTDLSOffChannel=0
 
 # Tx/Rx Packet threshold for initiating TDLS.
 # This ini is used to configure the number of Tx/Rx packets during the period of
diff --git a/device.mk b/device.mk
index d8b0e1f..ea994ab 100644
--- a/device.mk
+++ b/device.mk
@@ -356,6 +356,7 @@
     persist.vendor.radio.custom_ecc=1 \
     persist.vendor.radio.data_ltd_sys_ind=1 \
     persist.vendor.radio.videopause.mode=1 \
+    persist.vendor.radio.mt_sms_ack=30 \
     persist.vendor.radio.multisim_switch_support=true \
     persist.vendor.radio.sib16_support=1 \
     persist.vendor.radio.data_con_rprt=true \
@@ -960,17 +961,11 @@
 
 # Increment the SVN for any official public releases
 PRODUCT_PROPERTY_OVERRIDES += \
-	ro.vendor.build.svn=29
+	ro.vendor.build.svn=30
 
 PRODUCT_COPY_FILES += \
     $(LOCAL_PATH)/powerhint.json:$(TARGET_COPY_OUT_VENDOR)/etc/powerhint.json
 
-# ZRAM writeback
-PRODUCT_PROPERTY_OVERRIDES += \
-    ro.zram.mark_idle_delay_mins=60 \
-    ro.zram.first_wb_delay_mins=180 \
-    ro.zram.periodic_wb_delay_hours=24
-
 # Disable SPU usage
 PRODUCT_PROPERTY_OVERRIDES += \
     vendor.gatekeeper.disable_spu = true
diff --git a/device_framework_matrix_product.xml b/device_framework_matrix_product.xml
index befbaac..86328fc 100644
--- a/device_framework_matrix_product.xml
+++ b/device_framework_matrix_product.xml
@@ -73,6 +73,14 @@
         </interface>
     </hal>
     <hal format="hidl" optional="true">
+        <name>vendor.google.google_battery</name>
+        <version>1.0</version>
+        <interface>
+            <name>IGoogleBattery</name>
+            <instance>default</instance>
+        </interface>
+    </hal>
+    <hal format="hidl" optional="true">
         <name>vendor.google.radioext</name>
         <version>1.2</version>
         <interface>
@@ -281,7 +289,7 @@
     </hal>
     <hal format="hidl">
         <name>vendor.qti.hardware.radio.qtiradio</name>
-        <version>2.3</version>
+        <version>2.4</version>
         <interface>
             <name>IQtiRadio</name>
             <instance>slot1</instance>
diff --git a/dumpstate/DumpstateDevice.cpp b/dumpstate/DumpstateDevice.cpp
index ab508f9..77c633f 100755
--- a/dumpstate/DumpstateDevice.cpp
+++ b/dumpstate/DumpstateDevice.cpp
@@ -528,6 +528,7 @@
     DumpFileToFd(fd, "TTF details", "/sys/class/power_supply/battery/ttf_details");
     DumpFileToFd(fd, "TTF stats", "/sys/class/power_supply/battery/ttf_stats");
     DumpFileToFd(fd, "batt_ce", "/d/logbuffer/batt_ce");
+    DumpFileToFd(fd, "maxfg", "/d/logbuffer/maxfg");
     DumpFileToFd(fd, "WLC logs", "/d/logbuffer/wireless");
     DumpFileToFd(fd, "ipc-local-ports", "/d/msm_ipc_router/dump_local_ports");
     RunCommandToFd(fd, "USB Device Descriptors", {"/vendor/bin/sh", "-c", "cd /sys/bus/usb/devices/1-1 && cat product && cat bcdDevice; cat descriptors | od -t x1 -w16 -N96"});
diff --git a/health/Health.cpp b/health/Health.cpp
index 2a028ea..b36c94a 100644
--- a/health/Health.cpp
+++ b/health/Health.cpp
@@ -84,10 +84,14 @@
 
 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" };
+
 std::ifstream assert_open(const std::string &path) {
   std::ifstream stream(path);
   if (!stream.is_open()) {
-    LOG(FATAL) << "Cannot read " << path;
+    LOG(WARNING) << "Cannot read " << path;
   }
   return stream;
 }
@@ -113,10 +117,19 @@
   attr->name = kUFSName;
 }
 
+static bool FileExists(const std::string& filename)
+{
+  struct stat buffer;
+
+  return stat(filename.c_str(), &buffer) == 0;
+}
+
 void private_healthd_board_init(struct healthd_config *hc) {
   hc->ignorePowerSupplyNames.push_back(android::String8(kTCPMPSYName));
   ccBackupRestore.Restore();
   battDefender.update();
+
+  needs_wlc_updates = FileExists(kWlcCapacity);
 }
 
 int private_healthd_board_battery_update(struct android::BatteryProperties *props) {
@@ -126,6 +139,12 @@
   shutdownMetrics.logShutdownVoltage(props);
   ccBackupRestore.Backup(props->batteryLevel);
   battDefender.update();
+
+  if (needs_wlc_updates &&
+      !android::base::WriteStringToFile(std::to_string(props->batteryLevel),
+                                        kWlcCapacity))
+      LOG(INFO) << "Unable to write battery level to wireless capacity";
+
   return 0;
 }
 
diff --git a/init.hardware.rc b/init.hardware.rc
index c1baf14..0a7813d 100644
--- a/init.hardware.rc
+++ b/init.hardware.rc
@@ -118,9 +118,6 @@
     write /sys/block/zram0/comp_algorithm lz4
     write /proc/sys/vm/page-cluster 0
 
-    # Freezer setup
-    write /dev/freezer/frozen/freezer.killable 1
-
     # Some user code relies on ro.boot.hardware.revision
     setprop ro.boot.hardware.revision ${ro.revision}
 
@@ -153,6 +150,7 @@
     chown system system /sys/devices/platform/soc/880000.i2c/i2c-1/1-0061/ccreset
     chown system system /sys/devices/platform/soc/880000.i2c/i2c-1/1-0061/status
     chown system system /sys/devices/platform/soc/880000.i2c/i2c-1/1-0061/version
+    chown system system /sys/class/power_supply/wireless/capacity
 
     # Allow PAI targeting per hardware SKU
     setprop ro.oem.key1 ${ro.boot.hardware.sku}
@@ -164,6 +162,9 @@
     chown system system /sys/devices/platform/soc/soc:google,charger/charge_stop_level
     chown system system /sys/devices/platform/soc/soc:google,charger/charge_start_level
 
+    # Charge stats (write 0)
+    chown system system /sys/class/power_supply/battery/charge_stats
+
 # b/134578585
 on charger
     trigger fs
diff --git a/manifest.xml b/manifest.xml
index 2696c2c..c813c40 100644
--- a/manifest.xml
+++ b/manifest.xml
@@ -166,6 +166,15 @@
         </interface>
     </hal>
     <hal format="hidl">
+      <name>vendor.google.google_battery</name>
+      <transport>hwbinder</transport>
+      <version>1.0</version>
+      <interface>
+        <name>IGoogleBattery</name>
+        <instance>default</instance>
+      </interface>
+    </hal>
+    <hal format="hidl">
         <name>vendor.google.radioext</name>
         <transport>hwbinder</transport>
         <version>1.2</version>
@@ -596,7 +605,7 @@
     <hal format="hidl">
         <name>vendor.qti.hardware.radio.qtiradio</name>
         <transport>hwbinder</transport>
-        <version>2.3</version>
+        <version>2.4</version>
         <interface>
             <name>IQtiRadio</name>
             <instance>slot1</instance>
diff --git a/overlay/packages/apps/Nfc/res/values/config.xml b/overlay/packages/apps/Nfc/res/values/config.xml
index 830bf6f..3e0ee6d 100644
--- a/overlay/packages/apps/Nfc/res/values/config.xml
+++ b/overlay/packages/apps/Nfc/res/values/config.xml
@@ -14,7 +14,7 @@
      limitations under the License.
 -->
 <resources>
-  <bool name="enable_antenna_blocked_alert">true</bool>
+  <bool name="enable_antenna_blocked_alert">false</bool>
   <integer name="max_antenna_blocked_failure_count">10</integer>
   <integer name="unknown_tag_polling_delay">2000</integer>
   <string name="antenna_blocked_alert_link" translatable="false">https://support.google.com/pixelphone?p=nfc_tag_notification</string>
diff --git a/rro_overlays/WifiOverlay/Android.bp b/rro_overlays/WifiOverlay/Android.bp
index 5407765..c2089a1 100644
--- a/rro_overlays/WifiOverlay/Android.bp
+++ b/rro_overlays/WifiOverlay/Android.bp
@@ -1,7 +1,6 @@
 runtime_resource_overlay {
     name: "WifiOverlay",
     theme: "WifiOverlay",
-    certificate: "platform",
     sdk_version: "current",
     product_specific: true
 }
diff --git a/rro_overlays/WifiOverlay/res/values/config.xml b/rro_overlays/WifiOverlay/res/values/config.xml
index f3da334..c42d563 100644
--- a/rro_overlays/WifiOverlay/res/values/config.xml
+++ b/rro_overlays/WifiOverlay/res/values/config.xml
@@ -101,4 +101,10 @@
 
     <!-- Integer delay in milliseconds before set wlan interface up during watchdog recovery -->
     <integer name="config_wifi_framework_recovery_timeout_delay">3000</integer>
+
+    <!-- Enable adding minimum confirmation duration when sending network score to connectivity service. -->
+    <bool translatable="false" name="config_wifiMinConfirmationDurationSendNetworkScoreEnabled">true</bool>
+
+    <!-- Disable WPA2 to WPA3 auto-upgrade -->
+    <bool translatable="false" name="config_wifiSaeUpgradeEnabled">false</bool>
 </resources>
diff --git a/self-extractors/extract-lists.txt b/self-extractors/extract-lists.txt
index 9ad0208..802ab9f 100644
--- a/self-extractors/extract-lists.txt
+++ b/self-extractors/extract-lists.txt
@@ -12,6 +12,7 @@
             system_ext/etc/permissions/qti_telephony_hidl_wrapper.xml \
             system_ext/etc/permissions/qti_telephony_utils.xml \
             system_ext/etc/permissions/com.qualcomm.qcrilmsgtunnel.xml \
+            system_ext/etc/permissions/org_codeaurora_ims.xml \
             system_ext/framework/com.qualcomm.qti.uceservice-V2.0-java.jar \
             system_ext/framework/qcrilhook.jar \
             system_ext/framework/qti-telephony-utils.jar \
diff --git a/self-extractors/qcom/staging/Android.mk b/self-extractors/qcom/staging/Android.mk
index a9aa69f..5c2b4af 100644
--- a/self-extractors/qcom/staging/Android.mk
+++ b/self-extractors/qcom/staging/Android.mk
@@ -7,6 +7,7 @@
 LOCAL_MODULE_TAGS := optional
 LOCAL_BUILT_MODULE_STEM := package.apk
 LOCAL_SYSTEM_EXT_MODULE := true
+LOCAL_PRIVILEGED_MODULE := true
 LOCAL_MODULE_OWNER := qcom
 LOCAL_MODULE_CLASS := APPS
 LOCAL_SRC_FILES := $(LOCAL_MODULE).apk
@@ -19,6 +20,7 @@
 LOCAL_MODULE_TAGS := optional
 LOCAL_BUILT_MODULE_STEM := package.apk
 LOCAL_SYSTEM_EXT_MODULE := true
+LOCAL_PRIVILEGED_MODULE := true
 LOCAL_MODULE_OWNER := qcom
 LOCAL_MODULE_CLASS := APPS
 LOCAL_SRC_FILES := $(LOCAL_MODULE).apk
diff --git a/self-extractors/qcom/staging/device-partial.mk b/self-extractors/qcom/staging/device-partial.mk
index 072a279..496f03d 100644
--- a/self-extractors/qcom/staging/device-partial.mk
+++ b/self-extractors/qcom/staging/device-partial.mk
@@ -40,6 +40,7 @@
     vendor/qcom/coral/proprietary/qti_telephony_hidl_wrapper.xml:system_ext/etc/permissions/qti_telephony_hidl_wrapper.xml \
     vendor/qcom/coral/proprietary/qti_telephony_utils.xml:system_ext/etc/permissions/qti_telephony_utils.xml \
     vendor/qcom/coral/proprietary/com.qualcomm.qcrilmsgtunnel.xml:system_ext/etc/permissions/com.qualcomm.qcrilmsgtunnel.xml \
+    vendor/qcom/coral/proprietary/org_codeaurora_ims.xml:system_ext/etc/permissions/org_codeaurora_ims.xml \
     vendor/qcom/coral/proprietary/vendor.qti.hardware.alarm-V1.0-java.jar:system_ext/framework/vendor.qti.hardware.alarm-V1.0-java.jar \
     vendor/qcom/coral/proprietary/vendor.qti.hardware.data.latency-V1.0-java.jar:system_ext/framework/vendor.qti.hardware.data.latency-V1.0-java.jar \
     vendor/qcom/coral/proprietary/vendor.qti.ims.callinfo-V1.0-java.jar:system_ext/framework/vendor.qti.ims.callinfo-V1.0-java.jar \
diff --git a/self-extractors_flame/extract-lists.txt b/self-extractors_flame/extract-lists.txt
index 9ad0208..802ab9f 100644
--- a/self-extractors_flame/extract-lists.txt
+++ b/self-extractors_flame/extract-lists.txt
@@ -12,6 +12,7 @@
             system_ext/etc/permissions/qti_telephony_hidl_wrapper.xml \
             system_ext/etc/permissions/qti_telephony_utils.xml \
             system_ext/etc/permissions/com.qualcomm.qcrilmsgtunnel.xml \
+            system_ext/etc/permissions/org_codeaurora_ims.xml \
             system_ext/framework/com.qualcomm.qti.uceservice-V2.0-java.jar \
             system_ext/framework/qcrilhook.jar \
             system_ext/framework/qti-telephony-utils.jar \
diff --git a/self-extractors_flame/qcom/staging/Android.mk b/self-extractors_flame/qcom/staging/Android.mk
index 69e1bc6..eef210e 100644
--- a/self-extractors_flame/qcom/staging/Android.mk
+++ b/self-extractors_flame/qcom/staging/Android.mk
@@ -7,6 +7,7 @@
 LOCAL_MODULE_TAGS := optional
 LOCAL_BUILT_MODULE_STEM := package.apk
 LOCAL_SYSTEM_EXT_MODULE := true
+LOCAL_PRIVILEGED_MODULE := true
 LOCAL_MODULE_OWNER := qcom
 LOCAL_MODULE_CLASS := APPS
 LOCAL_SRC_FILES := $(LOCAL_MODULE).apk
@@ -19,6 +20,7 @@
 LOCAL_MODULE_TAGS := optional
 LOCAL_BUILT_MODULE_STEM := package.apk
 LOCAL_SYSTEM_EXT_MODULE := true
+LOCAL_PRIVILEGED_MODULE := true
 LOCAL_MODULE_OWNER := qcom
 LOCAL_MODULE_CLASS := APPS
 LOCAL_SRC_FILES := $(LOCAL_MODULE).apk
diff --git a/self-extractors_flame/qcom/staging/device-partial.mk b/self-extractors_flame/qcom/staging/device-partial.mk
index ae92d7b..342af34 100644
--- a/self-extractors_flame/qcom/staging/device-partial.mk
+++ b/self-extractors_flame/qcom/staging/device-partial.mk
@@ -38,7 +38,8 @@
     vendor/qcom/flame/proprietary/qti-telephony-hidl-wrapper.jar:system_ext/framework/qti-telephony-hidl-wrapper.jar \
     vendor/qcom/flame/proprietary/qcrilhook.xml:system_ext/etc/permissions/qcrilhook.xml \
     vendor/qcom/flame/proprietary/qti_telephony_hidl_wrapper.xml:system_ext/etc/permissions/qti_telephony_hidl_wrapper.xml \
-    vendor/qcom/coral/proprietary/com.qualcomm.qcrilmsgtunnel.xml:system_ext/etc/permissions/com.qualcomm.qcrilmsgtunnel.xml \
+    vendor/qcom/flame/proprietary/com.qualcomm.qcrilmsgtunnel.xml:system_ext/etc/permissions/com.qualcomm.qcrilmsgtunnel.xml \
+    vendor/qcom/flame/proprietary/org_codeaurora_ims.xml:system_ext/etc/permissions/org_codeaurora_ims.xml \
     vendor/qcom/flame/proprietary/qti_telephony_utils.xml:system_ext/etc/permissions/qti_telephony_utils.xml \
     vendor/qcom/flame/proprietary/vendor.qti.hardware.alarm-V1.0-java.jar:system_ext/framework/vendor.qti.hardware.alarm-V1.0-java.jar \
     vendor/qcom/flame/proprietary/vendor.qti.hardware.data.latency-V1.0-java.jar:system_ext/framework/vendor.qti.hardware.data.latency-V1.0-java.jar \