Snap for 8626064 from d36ebe991325f3ac11e2b031ef141a57d317dc62 to mainline-go-wifi-release

Change-Id: I3502691847009c761e09a0982a3aadf1d76d4584
diff --git a/BoardConfig-common.mk b/BoardConfig-common.mk
index 533b5ce..9e6516f 100644
--- a/BoardConfig-common.mk
+++ b/BoardConfig-common.mk
@@ -52,6 +52,8 @@
 BOARD_KERNEL_CMDLINE += st21nfc.async_probe=1
 BOARD_KERNEL_CMDLINE += spmi_pmic_arb.async_probe=1
 BOARD_KERNEL_CMDLINE += ufs_qcom.async_probe=1
+BOARD_KERNEL_CMDLINE += spi-geni-qcom.async_probe=1
+BOARD_KERNEL_CMDLINE += cnss_utils.async_probe=1
 
 BOARD_KERNEL_BASE        := 0x00000000
 BOARD_KERNEL_PAGESIZE    := 4096
diff --git a/default-permissions.xml b/default-permissions.xml
index 0ec4a0a..3b74b7a 100644
--- a/default-permissions.xml
+++ b/default-permissions.xml
@@ -60,7 +60,9 @@
         <permission name="android.permission.READ_CALL_LOG" fixed="false"/>
         <permission name="android.permission.WRITE_CALL_LOG" fixed="false"/>
         <!-- Used to set up a Wi-Fi P2P network -->
+        <!-- TODO(b/231966826): Remove the location permission after Restore targets to T. -->
         <permission name="android.permission.ACCESS_FINE_LOCATION" fixed="false"/>
+        <permission name="android.permission.NEARBY_WIFI_DEVICES" fixed="false"/>
         <!-- Notifications -->
         <permission name="android.permission.POST_NOTIFICATIONS" fixed="false"/>
     </exception>
@@ -98,6 +100,8 @@
     <exception package="com.google.android.apps.scone">
         <!-- Used to call ActivityTransition API for Smart OOS & Smart PNO -->
         <permission name="android.permission.ACTIVITY_RECOGNITION" fixed="false"/>
+        <!-- Notifications -->
+        <permission name="android.permission.POST_NOTIFICATIONS" fixed="false"/>
     </exception>
 
     <exception package="com.google.android.wfcactivation">
@@ -125,4 +129,24 @@
         <!-- Notifications -->
         <permission name="android.permission.POST_NOTIFICATIONS" fixed="false"/>
     </exception>
+    <exception
+        package="com.google.android.adservices">
+        <!-- Notifications -->
+        <permission name="android.permission.POST_NOTIFICATIONS" fixed="false"/>
+    </exception>
+    <exception
+        package="com.google.android.apps.mediashell">
+        <!-- Notifications -->
+        <permission name="android.permission.POST_NOTIFICATIONS" fixed="false"/>
+    </exception>
+    <exception
+        package="com.google.android.apps.pixelmigrate">
+        <!-- Notifications -->
+        <permission name="android.permission.POST_NOTIFICATIONS" fixed="false"/>
+    </exception>
+    <exception
+        package="com.google.android.apps.work.oobconfig">
+        <!-- Notifications -->
+        <permission name="android.permission.POST_NOTIFICATIONS" fixed="true"/>
+    </exception>
 </exceptions>
diff --git a/device-common.mk b/device-common.mk
index 860321d..731f32c 100644
--- a/device-common.mk
+++ b/device-common.mk
@@ -765,9 +765,13 @@
         persist.vendor.tcpdump.log.br_num=5
 endif
 
-# Preopt SystemUI
-PRODUCT_DEXPREOPT_SPEED_APPS += \
-    SystemUIGoogle
+# Preopt SystemUI.
+PRODUCT_DEXPREOPT_SPEED_APPS += SystemUIGoogle  # For internal
+PRODUCT_DEXPREOPT_SPEED_APPS += SystemUI  # For AOSP
+
+# Compile SystemUI on device with `speed`.
+PRODUCT_PROPERTY_OVERRIDES += \
+    dalvik.vm.systemuicompilerfilter=speed
 
 # Enable stats logging in LMKD
 TARGET_LMKD_STATS_LOG := true
@@ -841,7 +845,7 @@
 # Increment the SVN for any official public releases
 ifeq ($(PRODUCT_DEVICE_SVN_OVERRIDE),)
 PRODUCT_PROPERTY_OVERRIDES += \
-	ro.vendor.build.svn=47
+	ro.vendor.build.svn=49
 endif
 
 # Enable iwlan service logging for debug
diff --git a/media_codecs_performance_c2.xml b/media_codecs_performance_c2.xml
index a8dde73..d143855 100644
--- a/media_codecs_performance_c2.xml
+++ b/media_codecs_performance_c2.xml
@@ -173,6 +173,8 @@
         <MediaCodec name="c2.android.mpeg4.decoder" type="video/mp4v-es" update="true">
             <!-- measured 90%:1298-1653 med:1316 SLOW N=12 -->
             <Limit name="measured-frame-rate-176x144" range="1315-1465" /> <!-- v90%=1.1 -->
+            <Limit name="measured-frame-rate-480x360" range="501-752" />
+            <Limit name="measured-frame-rate-1280x720" range="189-284" />
         </MediaCodec>
     </Decoders>
 
@@ -243,8 +245,7 @@
             <Limit name="measured-frame-rate-1920x1080" range="24-31" /> <!-- Manual N=20 -->
         </MediaCodec>
         <MediaCodec name="c2.android.vp9.encoder" type="video/x-vnd.on2.vp9" update="true">
-            <!-- measured 93%:99-156 med:109/109 N=24 -->
-            <Limit name="measured-frame-rate-320x180" range="109-109" /> <!-- v93%=1.3 -->
+            <Limit name="measured-frame-rate-320x180" range="248-373" />
             <!-- measured 95%:54-67 med:61/61 N=36 -->
             <Limit name="measured-frame-rate-640x360" range="61-61" /> <!-- v95%=1.1 -->
             <!-- measured 95%:16-26 med:20/20 N=32 -->
diff --git a/overlay/frameworks/base/core/res/res/values/config.xml b/overlay/frameworks/base/core/res/res/values/config.xml
index 88b5afa..75badc8 100755
--- a/overlay/frameworks/base/core/res/res/values/config.xml
+++ b/overlay/frameworks/base/core/res/res/values/config.xml
@@ -342,18 +342,4 @@
     <bool name="config_telephony5gStandalone">true</bool>
     <!-- Whether the device enable the non-standalone (NSA) mode of 5G NR.-->
     <bool name="config_telephony5gNonStandalone">true</bool>
-    <!-- Configure tcp buffer sizes in the form:
-         rmem_min,rmem_def,rmem_max,wmem_min,wmem_def,wmem_max
-         If this is configured as an empty string, the system default will be applied.
-
-         For now this config is used by mobile data only. In the future it should be
-         used by Wi-Fi as well.
-
-         Note that starting from Android 13, the TCP buffer size is fixed after boot up, and should
-         never be changed based on carriers or the network types. The value should be configured
-         appropriately based on the device's memory and performance. It is recommended to use lower
-         values if the device has low memory or doesn't support high-speed network such like LTE,
-         NR, or Wifi.
-    -->
-    <string name="config_tcp_buffers" translatable="false">2097152,6291456,16777216,512000,2097152,8388608</string>
 </resources>
diff --git a/product.prop b/product.prop
index a7c295d..add581e 100644
--- a/product.prop
+++ b/product.prop
@@ -97,25 +97,28 @@
 # System props to enable aac vbr feature
 persist.bluetooth.a2dp_aac.vbr_supported=true
 
+# Set the Bluetooth Class of Device
+# Service Field: 0x5A -> 90
+#    Bit 17: Networking
+#    Bit 19: Capturing
+#    Bit 20: Object Transfer
+#    Bit 22: Telephony
+# MAJOR_CLASS: 0x02 -> 2 (Phone)
+# MINOR_CLASS: 0x0C -> 12 (Smart Phone)
+bluetooth.device.class_of_device=90,2,12
+
 # Set supported Bluetooth profiles to enabled
-bluetooth.profile.asha.central.enabled=true
-bluetooth.profile.a2dp.source.enabled=true
-bluetooth.profile.avrcp.target.enabled=true
-bluetooth.profile.bap.broadcast.assist.enabled=true
-bluetooth.profile.bap.unicast.client.enabled=true
-bluetooth.profile.bas.client.enabled=true
-bluetooth.profile.csip.set_coordinator.enabled=true
-bluetooth.profile.gatt.enabled=true
-bluetooth.profile.hap.client.enabled=true
-bluetooth.profile.hfp.ag.enabled=true
-bluetooth.profile.hid.device.enabled=true
-bluetooth.profile.hid.host.enabled=true
-bluetooth.profile.map.server.enabled=true
-bluetooth.profile.mcp.server.enabled=true
-bluetooth.profile.opp.enabled=true
-bluetooth.profile.pan.nap.enabled=true
-bluetooth.profile.pan.panu.enabled=true
-bluetooth.profile.pbap.server.enabled=true
-bluetooth.profile.sap.server.enabled=true
-bluetooth.profile.ccp.server.enabled=true
-bluetooth.profile.vcp.controller.enabled=true
+bluetooth.profile.asha.central.enabled?=true
+bluetooth.profile.a2dp.source.enabled?=true
+bluetooth.profile.avrcp.target.enabled?=true
+bluetooth.profile.bas.client.enabled?=true
+bluetooth.profile.gatt.enabled?=true
+bluetooth.profile.hfp.ag.enabled?=true
+bluetooth.profile.hid.device.enabled?=true
+bluetooth.profile.hid.host.enabled?=true
+bluetooth.profile.map.server.enabled?=true
+bluetooth.profile.opp.enabled?=true
+bluetooth.profile.pan.nap.enabled?=true
+bluetooth.profile.pan.panu.enabled?=true
+bluetooth.profile.pbap.server.enabled?=true
+bluetooth.profile.sap.server.enabled?=true