Allow communication between mediaserver & statsd

Bug: 265488359
Test: atest cts/tests/media/misc/src/android/media/misc/cts/ResourceManagerTest.java
Change-Id: I34bcdc3c403093af90a0e09b18842d7b872c0392
diff --git a/private/mediaserver.te b/private/mediaserver.te
index 6fe460c..aaf49f6 100644
--- a/private/mediaserver.te
+++ b/private/mediaserver.te
@@ -18,3 +18,8 @@
 
 # Allow mediaserver to start media.transcoding service via ctl.start.
 set_prop(mediaserver, ctl_mediatranscoding_prop);
+
+# Needed for stats callback registration to statsd.
+allow mediaserver stats_service:service_manager find;
+allow mediaserver statsmanager_service:service_manager find;
+binder_call(mediaserver, statsd)
diff --git a/private/stats.te b/private/stats.te
index c784145..89b9488 100644
--- a/private/stats.te
+++ b/private/stats.te
@@ -45,6 +45,7 @@
   -incidentd
   -keystore
   -mediametrics
+  -mediaserver
   -platform_app
   -priv_app
   -rkpdapp
diff --git a/public/mediaserver.te b/public/mediaserver.te
index 65cd4a1..367012c 100644
--- a/public/mediaserver.te
+++ b/public/mediaserver.te
@@ -66,6 +66,9 @@
 # but seems appropriate for all devices.
 unix_socket_connect(mediaserver, bluetooth, bluetooth)
 
+# Needed for mediaserver to send information to statsd socket.
+unix_socket_send(mediaserver, statsdw, statsd)
+
 add_service(mediaserver, mediaserver_service)
 allow mediaserver activity_service:service_manager find;
 allow mediaserver appops_service:service_manager find;
diff --git a/public/statsd.te b/public/statsd.te
index 1a09586..31d033f 100644
--- a/public/statsd.te
+++ b/public/statsd.te
@@ -40,6 +40,10 @@
 allow statsd mediametrics_service:service_manager find;
 binder_call(statsd, mediametrics)
 
+# Allow statsd to interact with mediametrics
+allow statsd mediaserver_service:service_manager find;
+binder_call(statsd, mediaserver)
+
 # Allow logd access.
 read_logd(statsd)
 control_logd(statsd)