Merge "Prevent apps from publishing system routes" into main
diff --git a/services/core/java/com/android/server/media/MediaRoute2ProviderServiceProxy.java b/services/core/java/com/android/server/media/MediaRoute2ProviderServiceProxy.java
index 3cf0786..330818e 100644
--- a/services/core/java/com/android/server/media/MediaRoute2ProviderServiceProxy.java
+++ b/services/core/java/com/android/server/media/MediaRoute2ProviderServiceProxy.java
@@ -27,6 +27,7 @@
import android.content.ServiceConnection;
import android.media.IMediaRoute2ProviderService;
import android.media.IMediaRoute2ProviderServiceCallback;
+import android.media.MediaRoute2Info;
import android.media.MediaRoute2ProviderInfo;
import android.media.MediaRoute2ProviderService;
import android.media.RouteDiscoveryPreference;
@@ -641,6 +642,15 @@
@Override
public void notifyProviderUpdated(MediaRoute2ProviderInfo providerInfo) {
+ for (MediaRoute2Info route : providerInfo.getRoutes()) {
+ if (route.isSystemRoute()) {
+ throw new SecurityException(
+ "Only the system is allowed to publish system routes. "
+ + "Disallowed route: "
+ + route);
+ }
+ }
+
Connection connection = mConnectionRef.get();
if (connection != null) {
connection.postProviderUpdated(providerInfo);