Commit 3926742c authored by Evan Stade's avatar Evan Stade Committed by Commit Bot

WebLayer: Restore casting functionality to WL shell.

CastOptionsProvider has to be part of the implementation library.
This was broken in 48d00622

Bug: 1057099
Change-Id: Idf2f0c56ff8fc65f83b22ddef77d3bca9361b148
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2534401Reviewed-by: default avatarClark DuVall <cduvall@chromium.org>
Reviewed-by: default avatarThomas Guilbert <tguilbert@chromium.org>
Reviewed-by: default avatarAndrew Grieve <agrieve@chromium.org>
Commit-Queue: Evan Stade <estade@chromium.org>
Cr-Commit-Position: refs/heads/master@{#826975}
parent 616cad75
...@@ -2120,7 +2120,6 @@ android_library("base_module_java") { ...@@ -2120,7 +2120,6 @@ android_library("base_module_java") {
"java/src/org/chromium/chrome/browser/incognito/IncognitoNotificationService.java", "java/src/org/chromium/chrome/browser/incognito/IncognitoNotificationService.java",
"java/src/org/chromium/chrome/browser/invalidation/ChromeBrowserSyncAdapterService.java", "java/src/org/chromium/chrome/browser/invalidation/ChromeBrowserSyncAdapterService.java",
"java/src/org/chromium/chrome/browser/media/MediaCaptureNotificationService.java", "java/src/org/chromium/chrome/browser/media/MediaCaptureNotificationService.java",
"java/src/org/chromium/chrome/browser/media/router/CastOptionsProvider.java",
"java/src/org/chromium/chrome/browser/media/ui/ChromeMediaNotificationControllerServices.java", "java/src/org/chromium/chrome/browser/media/ui/ChromeMediaNotificationControllerServices.java",
"java/src/org/chromium/chrome/browser/notifications/NotificationJobService.java", "java/src/org/chromium/chrome/browser/notifications/NotificationJobService.java",
"java/src/org/chromium/chrome/browser/notifications/NotificationService.java", "java/src/org/chromium/chrome/browser/notifications/NotificationService.java",
...@@ -2134,10 +2133,10 @@ android_library("base_module_java") { ...@@ -2134,10 +2133,10 @@ android_library("base_module_java") {
] ]
deps = [ deps = [
":chrome_base_module_resources", ":chrome_base_module_resources",
"$google_play_services_package:google_play_services_cast_java",
"$google_play_services_package:google_play_services_gcm_java", "$google_play_services_package:google_play_services_gcm_java",
"//base:base_java", "//base:base_java",
"//components/embedder_support/android:application_java", "//components/embedder_support/android:application_java",
"//components/media_router/browser/android:cast_options_provider_java",
"//components/minidump_uploader:minidump_uploader_java", "//components/minidump_uploader:minidump_uploader_java",
"//components/module_installer/android:module_installer_java", "//components/module_installer/android:module_installer_java",
"//third_party/android_deps:androidx_annotation_annotation_java", "//third_party/android_deps:androidx_annotation_annotation_java",
......
...@@ -830,7 +830,7 @@ ...@@ -830,7 +830,7 @@
<meta-data android:name="android.allow_multiple_resumed_activities" android:value="true"/> <meta-data android:name="android.allow_multiple_resumed_activities" android:value="true"/>
<meta-data android:name="android.content.APP_RESTRICTIONS" android:resource="@xml/app_restrictions"/> <meta-data android:name="android.content.APP_RESTRICTIONS" android:resource="@xml/app_restrictions"/>
<meta-data android:name="com.android.webview.WebViewLibrary" android:value="libmonochrome.so"/> <meta-data android:name="com.android.webview.WebViewLibrary" android:value="libmonochrome.so"/>
<meta-data android:name="com.google.android.gms.cast.framework.OPTIONS_PROVIDER_CLASS_NAME" android:value="org.chromium.chrome.browser.media.router.CastOptionsProvider"/> <meta-data android:name="com.google.android.gms.cast.framework.OPTIONS_PROVIDER_CLASS_NAME" android:value="org.chromium.components.media_router.caf.CastOptionsProvider"/>
<meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version"/> <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version"/>
<meta-data android:name="com.google.ar.core" android:value="optional"/> <meta-data android:name="com.google.ar.core" android:value="optional"/>
<meta-data android:name="com.google.ar.core.min_apk_version" android:value="200501000"/> <meta-data android:name="com.google.ar.core.min_apk_version" android:value="200501000"/>
......
...@@ -784,7 +784,7 @@ ...@@ -784,7 +784,7 @@
</activity-alias> # DIFF-ANCHOR: 7c349c4f </activity-alias> # DIFF-ANCHOR: 7c349c4f
<meta-data android:name="android.allow_multiple_resumed_activities" android:value="true"/> <meta-data android:name="android.allow_multiple_resumed_activities" android:value="true"/>
<meta-data android:name="android.content.APP_RESTRICTIONS" android:resource="@xml/app_restrictions"/> <meta-data android:name="android.content.APP_RESTRICTIONS" android:resource="@xml/app_restrictions"/>
<meta-data android:name="com.google.android.gms.cast.framework.OPTIONS_PROVIDER_CLASS_NAME" android:value="org.chromium.chrome.browser.media.router.CastOptionsProvider"/> <meta-data android:name="com.google.android.gms.cast.framework.OPTIONS_PROVIDER_CLASS_NAME" android:value="org.chromium.components.media_router.caf.CastOptionsProvider"/>
<meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version"/> <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version"/>
<meta-data android:name="com.google.ar.core" android:value="optional"/> <meta-data android:name="com.google.ar.core" android:value="optional"/>
<meta-data android:name="com.google.ar.core.min_apk_version" android:value="200501000"/> <meta-data android:name="com.google.ar.core.min_apk_version" android:value="200501000"/>
......
...@@ -1259,7 +1259,7 @@ by a child template that "extends" this file. ...@@ -1259,7 +1259,7 @@ by a child template that "extends" this file.
<meta-data <meta-data
android:name= android:name=
"com.google.android.gms.cast.framework.OPTIONS_PROVIDER_CLASS_NAME" "com.google.android.gms.cast.framework.OPTIONS_PROVIDER_CLASS_NAME"
android:value="org.chromium.chrome.browser.media.router.CastOptionsProvider"/> android:value="org.chromium.components.media_router.caf.CastOptionsProvider"/>
{% block base_application_definitions %} {% block base_application_definitions %}
{% endblock %} {% endblock %}
......
// Copyright 2020 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
package org.chromium.chrome.browser.media.router;
import android.content.Context;
import com.google.android.gms.cast.LaunchOptions;
import com.google.android.gms.cast.framework.CastOptions;
import com.google.android.gms.cast.framework.OptionsProvider;
import com.google.android.gms.cast.framework.SessionProvider;
import java.util.List;
/**
* {@link OptionsProvider} implementation for Chrome media router.
*
* This has to live in the base java module for it to be loaded under isolated splits.
*/
public class CastOptionsProvider implements OptionsProvider {
@Override
public CastOptions getCastOptions(Context context) {
return new CastOptions.Builder()
.setCastMediaOptions(null)
.setEnableReconnectionService(false)
.setLaunchOptions(new LaunchOptions.Builder().setRelaunchIfRunning(true).build())
.setResumeSavedSession(false)
.setStopReceiverApplicationWhenEndingSession(true)
.build();
}
@Override
public List<SessionProvider> getAdditionalSessionProviders(Context context) {
return null;
}
}
...@@ -72,6 +72,14 @@ android_library("java") { ...@@ -72,6 +72,14 @@ android_library("java") {
annotation_processor_deps = [ "//base/android/jni_generator:jni_processor" ] annotation_processor_deps = [ "//base/android/jni_generator:jni_processor" ]
} }
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") { generate_jni("jni_headers") {
sources = [ sources = [
"java/src/org/chromium/components/media_router/BrowserMediaRouter.java", "java/src/org/chromium/components/media_router/BrowserMediaRouter.java",
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
package org.chromium.weblayer.shell; package org.chromium.components.media_router.caf;
import android.content.Context; import android.content.Context;
...@@ -13,7 +13,7 @@ import com.google.android.gms.cast.framework.SessionProvider; ...@@ -13,7 +13,7 @@ import com.google.android.gms.cast.framework.SessionProvider;
import java.util.List; import java.util.List;
/** {@link OptionsProvider} implementation for WebLayer Shell casting. */ /** {@link OptionsProvider} implementation for Chrome MR. */
public class CastOptionsProvider implements OptionsProvider { public class CastOptionsProvider implements OptionsProvider {
@Override @Override
public CastOptions getCastOptions(Context context) { public CastOptions getCastOptions(Context context) {
......
...@@ -218,6 +218,7 @@ android_library("java") { ...@@ -218,6 +218,7 @@ android_library("java") {
"//components/infobars/core:infobar_enums_java", "//components/infobars/core:infobar_enums_java",
"//components/javascript_dialogs/android:java", "//components/javascript_dialogs/android:java",
"//components/location/android:settings_java", "//components/location/android:settings_java",
"//components/media_router/browser/android:cast_options_provider_java",
"//components/media_router/browser/android:java", "//components/media_router/browser/android:java",
"//components/metrics:metrics_java", "//components/metrics:metrics_java",
"//components/minidump_uploader:minidump_uploader_java", "//components/minidump_uploader:minidump_uploader_java",
......
...@@ -41,8 +41,6 @@ android_library("weblayer_shell_java") { ...@@ -41,8 +41,6 @@ android_library("weblayer_shell_java") {
deps = [ deps = [
":weblayer_shell_resources", ":weblayer_shell_resources",
"$google_play_services_package:google_play_services_base_java", "$google_play_services_package:google_play_services_base_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",
"//components/strictmode/android:java", "//components/strictmode/android:java",
"//third_party/android_deps:android_support_v4_java", "//third_party/android_deps:android_support_v4_java",
...@@ -51,7 +49,6 @@ android_library("weblayer_shell_java") { ...@@ -51,7 +49,6 @@ android_library("weblayer_shell_java") {
"//weblayer/public/java", "//weblayer/public/java",
] ]
sources = [ sources = [
"shell_apk/src/org/chromium/weblayer/shell/CastOptionsProvider.java",
"shell_apk/src/org/chromium/weblayer/shell/InstrumentationActivity.java", "shell_apk/src/org/chromium/weblayer/shell/InstrumentationActivity.java",
"shell_apk/src/org/chromium/weblayer/shell/TelemetryActivity.java", "shell_apk/src/org/chromium/weblayer/shell/TelemetryActivity.java",
"shell_apk/src/org/chromium/weblayer/shell/WebLayerShellActivity.java", "shell_apk/src/org/chromium/weblayer/shell/WebLayerShellActivity.java",
......
...@@ -59,7 +59,7 @@ ...@@ -59,7 +59,7 @@
<meta-data <meta-data
android:name= android:name=
"com.google.android.gms.cast.framework.OPTIONS_PROVIDER_CLASS_NAME" "com.google.android.gms.cast.framework.OPTIONS_PROVIDER_CLASS_NAME"
android:value="org.chromium.weblayer.shell.CastOptionsProvider"/> android:value="org.chromium.components.media_router.caf.CastOptionsProvider"/>
{% if weblayer_package is defined %} {% if weblayer_package is defined %}
<meta-data android:name="org.chromium.weblayer.WebLayerPackage" <meta-data android:name="org.chromium.weblayer.WebLayerPackage"
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment