Media: Add MediaRouterManager to control media route of other apps

This CL is a draft for supporting seamless transfer

MediaRouterManager is added to notify providers seamless transfer request.

It also adds MediaRouter.setControlCategories() to let application notify
their control categories and filter out irrelevant routes.

Test: atest mediaroutertest after installing mediarouteprovider.apk

Change-Id: I7446855271d27ffaad2e82dda133bed80b9f9630
diff --git a/Android.bp b/Android.bp
index 87388d4..5f0d723 100644
--- a/Android.bp
+++ b/Android.bp
@@ -474,7 +474,10 @@
         "media/java/android/media/IMediaHTTPConnection.aidl",
         "media/java/android/media/IMediaHTTPService.aidl",
         "media/java/android/media/IMediaResourceMonitor.aidl",
+        "media/java/android/media/IMediaRoute2Callback.aidl",
+        "media/java/android/media/IMediaRoute2Provider.aidl",
         "media/java/android/media/IMediaRouterClient.aidl",
+        "media/java/android/media/IMediaRouter2ManagerClient.aidl",
         "media/java/android/media/IMediaRouterService.aidl",
         "media/java/android/media/IMediaScannerListener.aidl",
         "media/java/android/media/IMediaScannerService.aidl",
@@ -1801,4 +1804,4 @@
     name: "framework-aidl-mappings",
     srcs: [":framework-defaults"],
     output: "framework-aidl-mappings.txt"
-}
\ No newline at end of file
+}