Merge ab/6749736 in stage.

Bug: 167233921
Merged-In: Ia3291351c3a758ecc3a4afd4d37a39a9ba869f21
Change-Id: I6be00ccf08ba678f86ec62a6b8577781cef13809
diff --git a/bonito-sepolicy.mk b/bonito-sepolicy.mk
index 2c9da47..750a32e 100644
--- a/bonito-sepolicy.mk
+++ b/bonito-sepolicy.mk
@@ -10,3 +10,4 @@
 
 # Pixel-wide policy
 BOARD_VENDOR_SEPOLICY_DIRS += hardware/google/pixel-sepolicy/citadel
+BOARD_VENDOR_SEPOLICY_DIRS += hardware/google/pixel-sepolicy/powerstats
diff --git a/public/hwservice.te b/public/hwservice.te
index f0c1e33..1b2a2e5 100644
--- a/public/hwservice.te
+++ b/public/hwservice.te
@@ -1 +1 @@
-type hal_pixelstats_hwservice, hwservice_manager_type;
+type hal_pixelstats_hwservice, hwservice_manager_type, vendor_hwservice_type;
diff --git a/vendor/google/citadeld.te b/vendor/google/citadeld.te
index e216ba5..e042518 100644
--- a/vendor/google/citadeld.te
+++ b/vendor/google/citadeld.te
@@ -1,2 +1 @@
 allow citadeld debugfs_ipc:dir search;
-allow citadeld power_stats_service:service_manager find;
diff --git a/vendor/google/grilservice_app.te b/vendor/google/grilservice_app.te
index a1adeab..68667c4 100644
--- a/vendor/google/grilservice_app.te
+++ b/vendor/google/grilservice_app.te
@@ -4,7 +4,7 @@
 
 allow grilservice_app hal_radioext_hwservice:hwservice_manager find;
 allow grilservice_app hal_wifi_ext_hwservice:hwservice_manager find;
-allow grilservice_app activity_service:service_manager find;
+allow grilservice_app app_api_service:service_manager find;
 
 binder_call(grilservice_app, hal_radioext_default)
 binder_call(grilservice_app, hal_wifi_ext)
diff --git a/vendor/google/hwservice.te b/vendor/google/hwservice.te
index 57044a8..1b3f60c 100644
--- a/vendor/google/hwservice.te
+++ b/vendor/google/hwservice.te
@@ -1 +1 @@
-type hal_wifi_ext_hwservice, hwservice_manager_type;
+type hal_wifi_ext_hwservice, hwservice_manager_type, vendor_hwservice_type;
diff --git a/vendor/google/property.te b/vendor/google/property.te
index 497f454..46c5a80 100644
--- a/vendor/google/property.te
+++ b/vendor/google/property.te
@@ -1,12 +1,12 @@
-type vendor_ramoops_prop, property_type;
-type vendor_shutdown_prop, property_type;
-type vendor_vibrator_prop, property_type;
+vendor_internal_prop(vendor_ramoops_prop)
+vendor_internal_prop(vendor_shutdown_prop)
+vendor_internal_prop(vendor_vibrator_prop)
 
 # fingerprint
-type vendor_fingerprint_prop, property_type;
+vendor_internal_prop(vendor_fingerprint_prop)
 
-type vendor_build_type_prop, property_type;
-type vendor_modem_prop, property_type;
+vendor_internal_prop(vendor_build_type_prop)
+vendor_internal_prop(vendor_modem_prop)
 
 # hal_health
-type vendor_battery_defender_prop, property_type;
+vendor_internal_prop(vendor_battery_defender_prop)
diff --git a/vendor/qcom/common/con_monitor.te b/vendor/qcom/common/con_monitor.te
index c4930a5..e42862d 100644
--- a/vendor/qcom/common/con_monitor.te
+++ b/vendor/qcom/common/con_monitor.te
@@ -1,5 +1,5 @@
 # ConnectivityMonitor app
-type con_monitor_app, domain;
+type con_monitor_app, domain, coredomain;
 
 app_domain(con_monitor_app)
 
diff --git a/vendor/qcom/common/hal_dumpstate_impl.te b/vendor/qcom/common/hal_dumpstate_impl.te
index 18d9254..211961b 100644
--- a/vendor/qcom/common/hal_dumpstate_impl.te
+++ b/vendor/qcom/common/hal_dumpstate_impl.te
@@ -126,6 +126,9 @@
 userdebug_or_eng(`allow hal_dumpstate_impl debugfs_dma_bufinfo:file r_file_perms;')
 dontaudit hal_dumpstate_impl debugfs_dma_bufinfo:file r_file_perms;
 
+#Dumpstats fastrpc buffer
+allow hal_dumpstate_impl sysfs_fastrpc:file r_file_perms;
+
 # Query and dump power supply nodes
 allow hal_dumpstate_impl sysfs_batteryinfo:dir search;
 allow hal_dumpstate_impl sysfs_batteryinfo:file r_file_perms;
diff --git a/vendor/qcom/common/hal_power_stats_default.te b/vendor/qcom/common/hal_power_stats_default.te
index 09b7fc1..a119f2f 100644
--- a/vendor/qcom/common/hal_power_stats_default.te
+++ b/vendor/qcom/common/hal_power_stats_default.te
@@ -4,8 +4,4 @@
 r_dir_file(hal_power_stats, debugfs_wlan)
 get_prop(hal_power_stats_default, wifi_hal_prop) # Needed to detect wifi on/off
 
-# Allow power.stats hal to add the power_stats_service
-vndbinder_use(hal_power_stats)
-add_service(hal_power_stats_server, power_stats_service)
-
 binder_call(hal_power_stats, citadeld)
diff --git a/vendor/qcom/common/hwservice.te b/vendor/qcom/common/hwservice.te
index d67e9ee..b2aae30 100644
--- a/vendor/qcom/common/hwservice.te
+++ b/vendor/qcom/common/hwservice.te
@@ -1,14 +1,14 @@
-type vnd_ims_radio_hwservice, hwservice_manager_type;
-type vnd_qcrilhook_hwservice, hwservice_manager_type;
-type vnd_atcmdfwd_hwservice, hwservice_manager_type;
-type hal_imsrtp_hwservice, hwservice_manager_type;
-type hal_imscallinfo_hwservice, hwservice_manager_type;
-type hal_cne_hwservice, hwservice_manager_type;
-type hal_imsrcsd_hwservice, hwservice_manager_type;
-type hal_radioext_hwservice, hwservice_manager_type;
-type hal_display_config_hwservice, hwservice_manager_type;
-type nxpese_hwservice, hwservice_manager_type;
-type nxpnfc_hwservice, hwservice_manager_type;
-type hal_tui_comm_hwservice, hwservice_manager_type;
-type hal_paintbox_hwservice, hwservice_manager_type;
-type hal_wlc_hwservice, hwservice_manager_type;
+type vnd_ims_radio_hwservice, hwservice_manager_type, vendor_hwservice_type;
+type vnd_qcrilhook_hwservice, hwservice_manager_type, vendor_hwservice_type;
+type vnd_atcmdfwd_hwservice, hwservice_manager_type, vendor_hwservice_type;
+type hal_imsrtp_hwservice, hwservice_manager_type, vendor_hwservice_type;
+type hal_imscallinfo_hwservice, hwservice_manager_type, vendor_hwservice_type;
+type hal_cne_hwservice, hwservice_manager_type, vendor_hwservice_type;
+type hal_imsrcsd_hwservice, hwservice_manager_type, vendor_hwservice_type;
+type hal_radioext_hwservice, hwservice_manager_type, vendor_hwservice_type;
+type hal_display_config_hwservice, hwservice_manager_type, vendor_hwservice_type;
+type nxpese_hwservice, hwservice_manager_type, vendor_hwservice_type;
+type nxpnfc_hwservice, hwservice_manager_type, vendor_hwservice_type;
+type hal_tui_comm_hwservice, hwservice_manager_type, vendor_hwservice_type;
+type hal_paintbox_hwservice, hwservice_manager_type, vendor_hwservice_type;
+type hal_wlc_hwservice, hwservice_manager_type, vendor_hwservice_type;
diff --git a/vendor/qcom/common/property.te b/vendor/qcom/common/property.te
index 32868b3..aaf0064 100644
--- a/vendor/qcom/common/property.te
+++ b/vendor/qcom/common/property.te
@@ -1,36 +1,36 @@
-type vendor_camera_prop, property_type;
-type cnd_prop, property_type;
-type ims_prop, property_type;
-type vendor_ramdump_prop, property_type;
-type public_vendor_default_prop, property_type;
-type public_vendor_system_prop, property_type;
-type vendor_ssr_prop, property_type;
-type vendor_cnss_diag_prop, property_type;
-type vendor_tee_listener_prop, property_type;
-type vendor_modem_diag_prop, property_type;
-type vendor_usb_prop, property_type;
-type vendor_time_prop, property_type;
-type vendor_wifi_version, property_type;
-type per_mgr_state_prop, property_type;
-type vendor_bluetooth_prop, property_type;
-type vendor_net_radio_prop, property_type;
-type vendor_secure_element_prop, property_type;
-type vendor_device_prop, property_type;
-type vendor_radio_prop, property_type;
-type vendor_display_prop, property_type;
-type vendor_nfc_prop, property_type;
-type vendor_bluetooth_log_prop, property_type;
-type vendor_usb_config_prop, property_type;
-type vendor_radio_sku_prop, property_type;
-type vendor_tcpdump_log_prop, property_type;
-type ctl_vendor_rmt_storage_prop, property_type;
-type vendor_wifi_sniffer_prop, property_type;
+vendor_restricted_prop(vendor_camera_prop)
+vendor_restricted_prop(cnd_prop)
+vendor_restricted_prop(ims_prop)
+vendor_internal_prop(vendor_ramdump_prop)
+vendor_restricted_prop(public_vendor_default_prop)
+vendor_internal_prop(public_vendor_system_prop)
+vendor_restricted_prop(vendor_ssr_prop)
+vendor_internal_prop(vendor_cnss_diag_prop)
+vendor_restricted_prop(vendor_tee_listener_prop)
+vendor_internal_prop(vendor_modem_diag_prop)
+vendor_internal_prop(vendor_usb_prop)
+vendor_internal_prop(vendor_time_prop)
+vendor_internal_prop(vendor_wifi_version)
+vendor_internal_prop(per_mgr_state_prop)
+vendor_public_prop(vendor_bluetooth_prop)
+vendor_internal_prop(vendor_net_radio_prop)
+vendor_internal_prop(vendor_secure_element_prop)
+vendor_internal_prop(vendor_device_prop)
+vendor_restricted_prop(vendor_radio_prop)
+vendor_restricted_prop(vendor_display_prop)
+vendor_internal_prop(vendor_nfc_prop)
+vendor_internal_prop(vendor_bluetooth_log_prop)
+vendor_internal_prop(vendor_usb_config_prop)
+vendor_internal_prop(vendor_radio_sku_prop)
+vendor_internal_prop(vendor_tcpdump_log_prop)
+vendor_internal_prop(ctl_vendor_rmt_storage_prop)
+vendor_internal_prop(vendor_wifi_sniffer_prop)
 
 #imsrcsservice
-type ctl_vendor_imsrcsservice_prop, property_type;
+vendor_internal_prop(ctl_vendor_imsrcsservice_prop)
 
 #time service
-type vendor_time_service_prop, property_type;
+vendor_internal_prop(vendor_time_service_prop)
 
 # vendor verbose logging property
-type vendor_logging_prop, property_type;
+vendor_internal_prop(vendor_logging_prop)
diff --git a/vendor/qcom/common/vndservice.te b/vendor/qcom/common/vndservice.te
index d15f3bf..44c45ca 100644
--- a/vendor/qcom/common/vndservice.te
+++ b/vendor/qcom/common/vndservice.te
@@ -1,3 +1,2 @@
 type qdisplay_service,             vndservice_manager_type;
 type per_mgr_service,              vndservice_manager_type;
-type power_stats_service,          vndservice_manager_type;
diff --git a/vendor/qcom/common/vndservice_contexts b/vendor/qcom/common/vndservice_contexts
index 39e94cf..1db4aa0 100644
--- a/vendor/qcom/common/vndservice_contexts
+++ b/vendor/qcom/common/vndservice_contexts
@@ -1,3 +1,2 @@
 display.qservice                        u:object_r:qdisplay_service:s0
 vendor.qcom.PeripheralManager           u:object_r:per_mgr_service:s0
-power.stats-vendor                      u:object_r:power_stats_service:s0