Merge 24Q3 to AOSP main

Bug: 357762254
Merged-In: I3f56acd12a4ab98bd5595c25098b544c14fbf25c
Change-Id: I6b0f21720bd011203fe2f908d924a91d873c9c04
diff --git a/vendor/file.te b/vendor/file.te
index 4fded5a..a6a73d5 100644
--- a/vendor/file.te
+++ b/vendor/file.te
@@ -1,2 +1 @@
-type sysfs_modem_state, sysfs_type, fs_type;
 type sysfs_gps, sysfs_type, fs_type;
diff --git a/vendor/file_contexts b/vendor/file_contexts
index 9a1f1b0..ab65b83 100644
--- a/vendor/file_contexts
+++ b/vendor/file_contexts
@@ -14,7 +14,6 @@
 /vendor/bin/hw/spad                 u:object_r:spad_exec:s0
 
 /vendor/bin/hw/android.hardware.gnss-service                   u:object_r:hal_gnss_default_exec:s0
-/vendor/bin/hw/android.hardware.gnss-service.pixel             u:object_r:hal_gnss_pixel_exec:s0
 
 # gnss/gps data/log files
 /data/vendor/gps(/.*)?              u:object_r:vendor_gps_file:s0
diff --git a/vendor/genfs_contexts b/vendor/genfs_contexts
index 2d86aa9..768e06d 100644
--- a/vendor/genfs_contexts
+++ b/vendor/genfs_contexts
@@ -54,7 +54,4 @@
 genfscon sysfs /devices/platform/gnssif/wakeup                                                                       u:object_r:sysfs_wakeup:s0
 
 # gps coredump node
-genfscon sysfs /devices/platform/gnssif/coredump                                                                     u:object_r:sysfs_gps:s0
-
-# modem state
-genfscon sysfs /devices/platform/cpif/modem_state       u:object_r:sysfs_modem_state:s0
+genfscon sysfs /devices/platform/gnssif/coredump                                                                     u:object_r:sysfs_gps:s0
\ No newline at end of file
diff --git a/vendor/gnssd.te b/vendor/gnssd.te
index 8450253..a293b95 100644
--- a/vendor/gnssd.te
+++ b/vendor/gnssd.te
@@ -25,3 +25,12 @@
 
 allow gnssd sysfs_soc:file r_file_perms;
 allow gnssd sysfs_gps:file rw_file_perms;
+
+# Allow gnssd to set GPS property
+set_prop(gnssd, vendor_gps_prop)
+
+# Read RIL property
+get_prop(gnssd, vendor_rild_prop)
+
+# Read modme state
+allow gnssd sysfs_modem_state:file r_file_perms;
diff --git a/vendor/hal_contexthub_default.te b/vendor/hal_contexthub_default.te
new file mode 100644
index 0000000..e749f01
--- /dev/null
+++ b/vendor/hal_contexthub_default.te
@@ -0,0 +1,6 @@
+#
+# Context hub multiclient HAL common selinux policies
+#
+# Allow binder call to PixelGnss PPS function.
+binder_call(hal_contexthub_default, hal_gnss_pixel)
+
diff --git a/vendor/hal_gnss_default.te b/vendor/hal_gnss_default.te
index b75c9d7..0abcf0c 100644
--- a/vendor/hal_gnss_default.te
+++ b/vendor/hal_gnss_default.te
@@ -7,3 +7,6 @@
 
 #Read GPS property
 get_prop(hal_gnss_default, vendor_gps_prop)
+
+# Binder call to pixel-gnss
+binder_call(hal_gnss_default, hal_gnss_pixel)
\ No newline at end of file
diff --git a/vendor/hal_gnss_pixel.te b/vendor/hal_gnss_pixel.te
deleted file mode 100644
index 6a27d82..0000000
--- a/vendor/hal_gnss_pixel.te
+++ /dev/null
@@ -1,13 +0,0 @@
-type hal_gnss_pixel, domain;
-hal_server_domain(hal_gnss_pixel, hal_gnss)
-
-type hal_gnss_pixel_exec, exec_type, vendor_file_type, file_type;
-init_daemon_domain(hal_gnss_pixel)
-
-#IPC between pixel and vendor HAL
-binder_call(hal_gnss_pixel, hal_gnss_default)
-binder_call(hal_gnss_default, hal_gnss_pixel)
-
-#Read modem state /sys/bus/platform/devices/cpif/modem_state
-allow hal_gnss_pixel sysfs_modem_state:file r_file_perms;
-allow hal_gnss_pixel sysfs_gps:file rw_file_perms;
\ No newline at end of file
diff --git a/vendor/service_contexts b/vendor/service_contexts
deleted file mode 100644
index ac23c90..0000000
--- a/vendor/service_contexts
+++ /dev/null
@@ -1 +0,0 @@
-android.hardware.gnss.IGnss/vendor                                 u:object_r:hal_gnss_service:s0