Merge Android 13 QPR1

Bug: 261731544
Merged-In: I43b224f5c592200c1eb24c93d14a0e8f7e3f5497
Change-Id: I6fedfddae05c8d4404c92b87a2b8cd33d72a34ac
diff --git a/astd/astd.te b/astd/astd.te
index 9f29caa..815e832 100644
--- a/astd/astd.te
+++ b/astd/astd.te
@@ -1,15 +1,8 @@
 # astd service
 type astd, domain;
+type astd_exec, exec_type, file_type, system_file_type;
 
-# /vendor/bin/astc        u:object_r:vendor_shell_exec:s0
-# system/sepolicy/public/vendor_shell.te
-# type vendor_shell_exec, exec_type, vendor_file_type, file_type;
-
-# /vendor/bin/astd        u:object_r:vendor_toolbox_exec:s0
-# system/sepolicy/public/vendor_toolbox.te
-# type vendor_toolbox_exec, exec_type, vendor_file_type, file_type;
-
-type astd_exec, exec_type, vendor_file_type, file_type;
+typeattribute astd coredomain;
 
 userdebug_or_eng(`
   init_daemon_domain(astd)
diff --git a/astd/file_contexts b/astd/file_contexts
index 0df5774..17ac54c 100644
--- a/astd/file_contexts
+++ b/astd/file_contexts
@@ -1,3 +1,3 @@
-/vendor/bin/astc        u:object_r:astd_exec:s0
-/vendor/bin/astd        u:object_r:astd_exec:s0
+/system_ext/bin/astc        u:object_r:astd_exec:s0
+/system_ext/bin/astd        u:object_r:astd_exec:s0
 
diff --git a/googlebattery/dumpstate.te b/googlebattery/dumpstate.te
new file mode 100644
index 0000000..5de6a2e
--- /dev/null
+++ b/googlebattery/dumpstate.te
@@ -0,0 +1,3 @@
+# To find and bind Google Battery HAL
+allow dumpstate hal_googlebattery_service:service_manager find;
+binder_call(dumpstate, hal_googlebattery)
diff --git a/googlebattery/file_contexts b/googlebattery/file_contexts
index 9e247bb..efd6cc5 100644
--- a/googlebattery/file_contexts
+++ b/googlebattery/file_contexts
@@ -1 +1 @@
-/vendor/bin/hw/vendor\.google\.google_battery@1\.2-service-vendor                     u:object_r:hal_googlebattery_exec:s0
+/vendor/bin/hw/vendor\.google\.google_battery-service                     u:object_r:hal_googlebattery_exec:s0
diff --git a/googlebattery/hal_googlebattery.te b/googlebattery/hal_googlebattery.te
index cd1253b..005e47c 100644
--- a/googlebattery/hal_googlebattery.te
+++ b/googlebattery/hal_googlebattery.te
@@ -13,6 +13,8 @@
 
 set_prop(hal_googlebattery, vendor_battery_defender_prop)
 
-hwbinder_use(hal_googlebattery)
-add_hwservice(hal_googlebattery, hal_googlebattery_hwservice)
-get_prop(hal_googlebattery, hwservicemanager_prop)
+binder_call(hal_googlebattery, servicemanager)
+add_service(hal_googlebattery, hal_googlebattery_service)
+
+allow hal_googlebattery dumpstate:fd use;
+allow hal_googlebattery dumpstate:fifo_file write;
diff --git a/googlebattery/hwservice.te b/googlebattery/hwservice.te
deleted file mode 100644
index 40323ef..0000000
--- a/googlebattery/hwservice.te
+++ /dev/null
@@ -1 +0,0 @@
-type hal_googlebattery_hwservice, hwservice_manager_type;
diff --git a/googlebattery/hwservice_contexts b/googlebattery/hwservice_contexts
deleted file mode 100644
index 40f1526..0000000
--- a/googlebattery/hwservice_contexts
+++ /dev/null
@@ -1 +0,0 @@
-vendor.google.google_battery::IGoogleBattery                    u:object_r:hal_googlebattery_hwservice:s0
diff --git a/googlebattery/platform_app.te b/googlebattery/platform_app.te
index 0ee586f..39d4e5e 100644
--- a/googlebattery/platform_app.te
+++ b/googlebattery/platform_app.te
@@ -1,3 +1,3 @@
 # allow SystemUI to find and bind Google Battery HAL
-allow platform_app hal_googlebattery_hwservice:hwservice_manager find;
+allow platform_app hal_googlebattery_service:service_manager find;
 binder_call(platform_app, hal_googlebattery)
diff --git a/googlebattery/service.te b/googlebattery/service.te
new file mode 100644
index 0000000..e68baa9
--- /dev/null
+++ b/googlebattery/service.te
@@ -0,0 +1 @@
+type hal_googlebattery_service, hal_service_type, service_manager_type;
diff --git a/googlebattery/service_contexts b/googlebattery/service_contexts
new file mode 100644
index 0000000..93954c7
--- /dev/null
+++ b/googlebattery/service_contexts
@@ -0,0 +1 @@
+vendor.google.google_battery.IGoogleBattery/default                      u:object_r:hal_googlebattery_service:s0
diff --git a/googlebattery/system_app.te b/googlebattery/system_app.te
index 05723bf..7854a1d 100644
--- a/googlebattery/system_app.te
+++ b/googlebattery/system_app.te
@@ -1,3 +1,3 @@
 # To allow Settings to find and bind Google Battery HAL
-allow system_app hal_googlebattery_hwservice:hwservice_manager find;
+allow system_app hal_googlebattery_service:service_manager find;
 binder_call(system_app, hal_googlebattery)
diff --git a/googlebattery/turbo_adapter.te b/googlebattery/turbo_adapter.te
index 33f99cd..2794fd1 100644
--- a/googlebattery/turbo_adapter.te
+++ b/googlebattery/turbo_adapter.te
@@ -1,3 +1,3 @@
 # To find and bind Google Battery HAL
-allow turbo_adapter hal_googlebattery_hwservice:hwservice_manager find;
+allow turbo_adapter hal_googlebattery_service:service_manager find;
 binder_call(turbo_adapter, hal_googlebattery)
diff --git a/input/genfs_contexts b/input/genfs_contexts
new file mode 100644
index 0000000..19f57be
--- /dev/null
+++ b/input/genfs_contexts
@@ -0,0 +1,2 @@
+# Touch
+genfscon sysfs /devices/virtual/goog_touch_interface        u:object_r:sysfs_touch:s0
diff --git a/pixelstats/pixelstats_vendor.te b/pixelstats/pixelstats_vendor.te
index 7f34d10..75fd6fe 100644
--- a/pixelstats/pixelstats_vendor.te
+++ b/pixelstats/pixelstats_vendor.te
@@ -13,6 +13,7 @@
 allow pixelstats_vendor sysfs_fs_f2fs:dir search;
 allow pixelstats_vendor sysfs_fs_f2fs:file rw_file_perms;
 get_prop(pixelstats_vendor, boottime_public_prop)
+get_prop(pixelstats_vendor, smart_idle_maint_enabled_prop)
 
 allow pixelstats_vendor fwk_stats_service:service_manager find;
 binder_call(pixelstats_vendor, stats_service_server)
diff --git a/wifi_sniffer/property_contexts b/wifi_sniffer/property_contexts
index 19f7e76..cb55d65 100644
--- a/wifi_sniffer/property_contexts
+++ b/wifi_sniffer/property_contexts
@@ -1,3 +1,2 @@
-persist.vendor.wifi.sniffer.freq                u:object_r:vendor_wifi_sniffer_prop:s0
-persist.vendor.wifi.sniffer.bandwidth           u:object_r:vendor_wifi_sniffer_prop:s0
+persist.vendor.wifi.sniffer.                    u:object_r:vendor_wifi_sniffer_prop:s0
 vendor.wifi.sniffer.start                       u:object_r:vendor_wifi_sniffer_prop:s0
diff --git a/wifi_sniffer/wifi_sniffer.te b/wifi_sniffer/wifi_sniffer.te
index 3c9ad62..977d6da 100644
--- a/wifi_sniffer/wifi_sniffer.te
+++ b/wifi_sniffer/wifi_sniffer.te
@@ -12,7 +12,19 @@
 
 # interface up
   allowxperm wifi_sniffer self:udp_socket ioctl SIOCSIFFLAGS;
-  allow wifi_sniffer self:netlink_generic_socket create_socket_perms_no_ioctl;
+  allow wifi_sniffer self:netlink_generic_socket create_socket_perms;
+  allowxperm wifi_sniffer self:netlink_generic_socket ioctl { 0x8910 0x8946 };
+
+# tcpdump
+  allow wifi_sniffer self:packet_socket create_socket_perms;
+  allowxperm wifi_sniffer self:packet_socket ioctl { 0x8933 0x8927 };
+  allow wifi_sniffer self:unix_dgram_socket ioctl;
+  allowxperm wifi_sniffer self:unix_dgram_socket ioctl 0x8946;
+  allow wifi_sniffer sysfs_net:dir search;
+  allow wifi_sniffer sysfs_net:file r_file_perms;
+  allow wifi_sniffer tcpdump_exec:file rx_file_perms;
+  allow wifi_sniffer wifi_logging_data_file:file create_file_perms;
+  allow wifi_sniffer wifi_logging_data_file:dir create_dir_perms;
 
   get_prop(wifi_sniffer, vendor_wifi_sniffer_prop)
 ')