| # Copyright 2020 The Chromium Authors |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| import("//build/config/android/config.gni") |
| import("//build/config/android/rules.gni") |
| import("//build/config/locales.gni") |
| import("//third_party/jni_zero/jni_zero.gni") |
| import("//tools/grit/grit_rule.gni") |
| |
| android_library("java") { |
| resources_package = "org.chromium.components.media_router" |
| deps = [ |
| ":java_resources", |
| "$google_play_services_package:google_play_services_base_java", |
| "$google_play_services_package:google_play_services_basement_java", |
| "$google_play_services_package:google_play_services_cast_framework_java", |
| "$google_play_services_package:google_play_services_cast_java", |
| "//base:base_java", |
| "//build/android:build_java", |
| "//components/browser_ui/media/android:java", |
| "//content/public/android:content_java", |
| "//services/media_session/public/cpp/android:media_session_java", |
| "//third_party/android_media:android_media_java", |
| "//third_party/androidx:androidx_annotation_annotation_java", |
| "//third_party/androidx:androidx_collection_collection_java", |
| "//third_party/androidx:androidx_fragment_fragment_java", |
| "//third_party/androidx:androidx_media_media_java", |
| "//third_party/androidx:androidx_mediarouter_mediarouter_java", |
| "//third_party/jni_zero:jni_zero_java", |
| ] |
| srcjar_deps = [ ":jni_headers" ] |
| sources = [ |
| "java/src/org/chromium/components/media_router/BaseMediaRouteDialogManager.java", |
| "java/src/org/chromium/components/media_router/BrowserMediaRouter.java", |
| "java/src/org/chromium/components/media_router/BrowserMediaRouterDialogController.java", |
| "java/src/org/chromium/components/media_router/CastRequestIdGenerator.java", |
| "java/src/org/chromium/components/media_router/CastSessionUtil.java", |
| "java/src/org/chromium/components/media_router/ClientRecord.java", |
| "java/src/org/chromium/components/media_router/DiscoveryCallback.java", |
| "java/src/org/chromium/components/media_router/DiscoveryDelegate.java", |
| "java/src/org/chromium/components/media_router/FlingingController.java", |
| "java/src/org/chromium/components/media_router/FlingingControllerBridge.java", |
| "java/src/org/chromium/components/media_router/MediaController.java", |
| "java/src/org/chromium/components/media_router/MediaRoute.java", |
| "java/src/org/chromium/components/media_router/MediaRouteChooserDialogManager.java", |
| "java/src/org/chromium/components/media_router/MediaRouteControllerDialogManager.java", |
| "java/src/org/chromium/components/media_router/MediaRouteDialogDelegate.java", |
| "java/src/org/chromium/components/media_router/MediaRouteManager.java", |
| "java/src/org/chromium/components/media_router/MediaRouteProvider.java", |
| "java/src/org/chromium/components/media_router/MediaRouteUmaRecorder.java", |
| "java/src/org/chromium/components/media_router/MediaRouterClient.java", |
| "java/src/org/chromium/components/media_router/MediaSink.java", |
| "java/src/org/chromium/components/media_router/MediaSource.java", |
| "java/src/org/chromium/components/media_router/MediaStatusBridge.java", |
| "java/src/org/chromium/components/media_router/MediaStatusObserver.java", |
| "java/src/org/chromium/components/media_router/caf/BaseNotificationController.java", |
| "java/src/org/chromium/components/media_router/caf/BaseSessionController.java", |
| "java/src/org/chromium/components/media_router/caf/CafBaseMediaRouteProvider.java", |
| "java/src/org/chromium/components/media_router/caf/CafMediaRouteProvider.java", |
| "java/src/org/chromium/components/media_router/caf/CafMessageHandler.java", |
| "java/src/org/chromium/components/media_router/caf/CafNotificationController.java", |
| "java/src/org/chromium/components/media_router/caf/CastMediaSource.java", |
| "java/src/org/chromium/components/media_router/caf/CastSessionController.java", |
| "java/src/org/chromium/components/media_router/caf/CastUtils.java", |
| "java/src/org/chromium/components/media_router/caf/CreateRouteRequestInfo.java", |
| "java/src/org/chromium/components/media_router/caf/remoting/CafExpandedControllerActivity.java", |
| "java/src/org/chromium/components/media_router/caf/remoting/CafRemotingMediaRouteProvider.java", |
| "java/src/org/chromium/components/media_router/caf/remoting/FlingingControllerAdapter.java", |
| "java/src/org/chromium/components/media_router/caf/remoting/RemotingMediaSource.java", |
| "java/src/org/chromium/components/media_router/caf/remoting/RemotingNotificationController.java", |
| "java/src/org/chromium/components/media_router/caf/remoting/RemotingSessionController.java", |
| "java/src/org/chromium/components/media_router/caf/remoting/StreamPositionExtrapolator.java", |
| ] |
| } |
| |
| android_library("cast_options_provider_java") { |
| sources = [ "java/src/org/chromium/components/media_router/caf/CastOptionsProvider.java" ] |
| deps = [ |
| "$google_play_services_package:google_play_services_cast_framework_java", |
| "$google_play_services_package:google_play_services_cast_java", |
| ] |
| } |
| |
| generate_jni("jni_headers") { |
| sources = [ |
| "java/src/org/chromium/components/media_router/BrowserMediaRouter.java", |
| "java/src/org/chromium/components/media_router/BrowserMediaRouterDialogController.java", |
| "java/src/org/chromium/components/media_router/FlingingControllerBridge.java", |
| "java/src/org/chromium/components/media_router/MediaStatusBridge.java", |
| ] |
| } |
| |
| android_library("test_support_java") { |
| resources_package = "org.chromium.components.media_router" |
| testonly = true |
| sources = [ |
| "java/src/org/chromium/components/media_router/TestMediaRouterClient.java", |
| "javatests/src/org/chromium/components/media_router/MockMediaRouteProvider.java", |
| "javatests/src/org/chromium/components/media_router/RouterTestUtils.java", |
| ] |
| |
| deps = [ |
| ":java", |
| ":java_resources", |
| ":test_jni_headers", |
| "$google_play_services_package:google_play_services_cast_java", |
| "//base:base_java", |
| "//base:base_java_test_support", |
| "//components/browser_ui/media/android:java", |
| "//content/public/android:content_java", |
| "//content/public/test/android:content_java_test_support", |
| "//third_party/androidx:androidx_annotation_annotation_java", |
| "//third_party/androidx:androidx_fragment_fragment_java", |
| "//third_party/hamcrest:hamcrest_java", |
| "//third_party/jni_zero:jni_zero_java", |
| ] |
| } |
| |
| generate_jni("test_jni_headers") { |
| sources = [ |
| "java/src/org/chromium/components/media_router/TestMediaRouterClient.java", |
| ] |
| } |
| |
| robolectric_library("junit") { |
| sources = [ |
| "junit/src/org/chromium/components/media_router/BrowserMediaRouterRouteTest.java", |
| "junit/src/org/chromium/components/media_router/BrowserMediaRouterSinkObservationTest.java", |
| "junit/src/org/chromium/components/media_router/BrowserMediaRouterTestBase.java", |
| "junit/src/org/chromium/components/media_router/DiscoveryCallbackTest.java", |
| "junit/src/org/chromium/components/media_router/JSONTestUtils.java", |
| "junit/src/org/chromium/components/media_router/TestUtils.java", |
| "junit/src/org/chromium/components/media_router/caf/BaseNotificationControllerTest.java", |
| "junit/src/org/chromium/components/media_router/caf/BaseSessionControllerTest.java", |
| "junit/src/org/chromium/components/media_router/caf/CafBaseMediaRouteProviderTest.java", |
| "junit/src/org/chromium/components/media_router/caf/CafMediaRouteProviderTest.java", |
| "junit/src/org/chromium/components/media_router/caf/CafMessageHandlerTest.java", |
| "junit/src/org/chromium/components/media_router/caf/CastSessionControllerTest.java", |
| "junit/src/org/chromium/components/media_router/caf/MediaRouterTestHelper.java", |
| "junit/src/org/chromium/components/media_router/caf/ShadowCastContext.java", |
| "junit/src/org/chromium/components/media_router/caf/ShadowCastMediaSource.java", |
| "junit/src/org/chromium/components/media_router/caf/ShadowMediaRouter.java", |
| "junit/src/org/chromium/components/media_router/caf/remoting/CafRemotingMediaRouteProviderTest.java", |
| "junit/src/org/chromium/components/media_router/caf/remoting/RemotingMediaSourceTest.java", |
| "junit/src/org/chromium/components/media_router/caf/remoting/RemotingSessionControllerTest.java", |
| ] |
| |
| deps = [ |
| ":java", |
| ":test_support_java", |
| "$google_play_services_package:google_play_services_base_java", |
| "$google_play_services_package:google_play_services_basement_java", |
| "$google_play_services_package:google_play_services_cast_framework_java", |
| "$google_play_services_package:google_play_services_cast_java", |
| "//base:base_java", |
| "//base:base_java_test_support", |
| "//base:base_junit_test_support", |
| "//components/browser_ui/media/android:java", |
| "//content/public/android:content_java", |
| "//services/media_session/public/cpp/android:media_session_java", |
| "//third_party/androidx:androidx_annotation_annotation_java", |
| "//third_party/androidx:androidx_mediarouter_mediarouter_java", |
| "//third_party/junit", |
| "//third_party/mockito:mockito_java", |
| ] |
| } |
| |
| android_resources("java_resources") { |
| sources = [ |
| "java/res/drawable-hdpi/cast_playing_square.png", |
| "java/res/drawable-hdpi/ic_cast_dark_off.png", |
| "java/res/drawable-hdpi/ic_cast_dark_on.png", |
| "java/res/drawable-hdpi/ic_notification_media_route.png", |
| "java/res/drawable-mdpi/cast_playing_square.png", |
| "java/res/drawable-mdpi/ic_cast_dark_off.png", |
| "java/res/drawable-mdpi/ic_cast_dark_on.png", |
| "java/res/drawable-mdpi/ic_notification_media_route.png", |
| "java/res/drawable-xhdpi/cast_playing_square.png", |
| "java/res/drawable-xhdpi/ic_cast_dark_off.png", |
| "java/res/drawable-xhdpi/ic_cast_dark_on.png", |
| "java/res/drawable-xhdpi/ic_notification_media_route.png", |
| "java/res/drawable-xxhdpi/cast_playing_square.png", |
| "java/res/drawable-xxhdpi/ic_cast_dark_off.png", |
| "java/res/drawable-xxhdpi/ic_cast_dark_on.png", |
| "java/res/drawable-xxhdpi/ic_notification_media_route.png", |
| "java/res/drawable-xxxhdpi/cast_playing_square.png", |
| "java/res/drawable-xxxhdpi/ic_notification_media_route.png", |
| "java/res/drawable/ic_cast_dark_chrome.xml", |
| "java/res/layout/caf_controller_media_route_button.xml", |
| "java/res/layout/expanded_cast_controller.xml", |
| "java/res/values/styles.xml", |
| ] |
| deps = [ |
| ":java_strings_grd", |
| "//third_party/android_media:android_media_resources", |
| ] |
| } |
| |
| java_strings_grd("java_strings_grd") { |
| grd_file = "java/strings/android_chrome_media_router_strings.grd" |
| outputs = [ "values/android_chrome_media_router_strings.xml" ] + process_file_template( |
| android_bundle_locales_as_resources, |
| [ "values-{{source_name_part}}/android_chrome_media_router_strings.xml" ]) |
| } |