1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261
|
# Copyright 2016 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/rules.gni")
import("//chromecast/chromecast.gni")
import("//media/media_options.gni")
import("//third_party/jni_zero/jni_zero.gni")
assert(is_android)
cast_shell_android_manifest =
"$root_gen_dir/cast_shell_manifest/AndroidManifest.xml"
jinja_template("cast_shell_manifest") {
input = "apk/AndroidManifest.xml.jinja2"
output = cast_shell_android_manifest
}
foreach(device_type, android_device_types) {
jinja_template("cast_browser_${device_type}_manifest") {
input = "apk/CastBrowserAndroidManifest.xml.jinja2"
output =
"$root_gen_dir/cast_browser_${device_type}_manifest.AndroidManifest.xml"
variables = [
"cast_build_incremental=$cast_build_incremental",
"cast_device_type=${device_type}",
"target_cpu=${target_cpu}",
"browser_packaging=BROWSER_PACKAGING_BUNDLE",
]
}
}
java_group("cast_shell_android_resources") {
deps = [
":cast_browser_android_resources",
":cast_shell_android_stub_resources",
]
}
android_resources("cast_browser_android_resources") {
sources = [
"apk/res/drawable-anydpi-v26/ic_settings_cast.xml",
"apk/res/drawable-hdpi/ic_notification_cast.png",
"apk/res/drawable-hdpi/ic_settings_cast.png",
"apk/res/drawable-mdpi/ic_notification_cast.png",
"apk/res/drawable-mdpi/ic_settings_cast.png",
"apk/res/drawable-nodpi/ic_cast_vector.xml",
"apk/res/drawable-xhdpi/ic_notification_cast.png",
"apk/res/drawable-xhdpi/ic_settings_cast.png",
"apk/res/drawable-xxhdpi/ic_notification_cast.png",
"apk/res/drawable-xxhdpi/ic_settings_cast.png",
"apk/res/drawable-xxxhdpi/ic_notification_cast.png",
"apk/res/drawable-xxxhdpi/ic_settings_cast.png",
"apk/res/layout/cast_web_contents_activity.xml",
]
}
android_resources("cast_shell_android_stub_resources") {
sources = [
"apk/res-values/values-v17/styles.xml",
"apk/res-values/values/colors.xml",
"apk/res-values/values/strings.xml",
]
}
android_library("cast_command_line_helper_java") {
java_src_dir = "//chromecast/browser/android/apk/src"
sources = [
"$java_src_dir/org/chromium/chromecast/shell/CastCommandLineHelper.java",
]
deps = [ "//base:base_java" ]
}
android_library("cast_intents_java") {
java_src_dir = "//chromecast/browser/android/apk/src"
sources = [ "$java_src_dir/org/chromium/chromecast/shell/CastIntents.java" ]
}
android_aidl("logs_provider_aidl") {
java_src_dir = "//chromecast/browser/android/apk/src"
interface_file =
"$java_src_dir/org/chromium/chromecast/shell/logs_provider_service.aidl"
sources =
[ "$java_src_dir/org/chromium/chromecast/shell/IDeviceLogsProvider.aidl" ]
}
android_library("reactive_android_java") {
java_src_dir = "//chromecast/browser/android/apk/src"
sources = [
"$java_src_dir/org/chromium/chromecast/shell/AsyncTaskRunner.java",
"$java_src_dir/org/chromium/chromecast/shell/BroadcastReceiverScope.java",
"$java_src_dir/org/chromium/chromecast/shell/HandlerScheduler.java",
"$java_src_dir/org/chromium/chromecast/shell/LocalBroadcastReceiverScope.java",
]
deps = [
"//base:base_java",
"//build/android:build_java",
"//chromecast/base:base_java",
"//third_party/androidx:androidx_localbroadcastmanager_localbroadcastmanager_java",
"//third_party/jni_zero:jni_zero_java",
]
}
android_library("crash_handler_java") {
java_src_dir = "//chromecast/browser/android/apk/src"
sources = [
"$java_src_dir/org/chromium/chromecast/shell/AndroidAppLogcatProvider.java",
"$java_src_dir/org/chromium/chromecast/shell/CastCrashHandler.java",
"$java_src_dir/org/chromium/chromecast/shell/CastCrashUploader.java",
"$java_src_dir/org/chromium/chromecast/shell/CastCrashUploaderFactory.java",
"$java_src_dir/org/chromium/chromecast/shell/ElidedLogcatProvider.java",
"$java_src_dir/org/chromium/chromecast/shell/LogcatElision.java",
]
srcjar_deps = [ ":logs_provider_aidl" ]
deps = [
":reactive_android_java",
"//base:base_java",
"//chromecast/base:base_java",
"//components/minidump_uploader:minidump_uploader_java",
"//third_party/androidx:androidx_annotation_annotation_java",
"//third_party/jni_zero:jni_zero_java",
]
annotation_processor_deps =
[ "//components/module_installer/android:module_interface_processor" ]
}
generate_jni("crash_handler_jni_headers") {
sources = [ "apk/src/org/chromium/chromecast/shell/CastCrashHandler.java" ]
}
common_android_library_deps = [
":cast_command_line_helper_java",
":cast_intents_java",
":crash_handler_java",
":reactive_android_java",
"//base:base_java",
"//build/android:build_java",
"//chromecast/base:base_java",
"//chromecast/media/cma/backend/android:audio_track_java",
"//components/crash/android:java",
"//components/embedder_support/android:content_view_java",
"//components/embedder_support/android:view_java",
"//components/module_installer/android:module_installer_java",
"//components/module_installer/android:module_interface_java",
"//content/public/android:content_java",
"//media/base/android:media_java",
"//net/android:net_java",
"//third_party/androidx:androidx_annotation_annotation_java",
"//third_party/androidx:androidx_core_core_java",
"//third_party/jni_zero:jni_zero_java",
# TODO(slan): We may need to pass this in as a parameter.
"//third_party/androidx:androidx_localbroadcastmanager_localbroadcastmanager_java",
"//ui/android:ui_java",
]
common_java_src_dir = "//chromecast/browser/android/apk/src"
common_java_sources = [
"$common_java_src_dir/org/chromium/chromecast/shell/CastBrowser.java",
"$common_java_src_dir/org/chromium/chromecast/shell/CastBrowserApplication.java",
"$common_java_src_dir/org/chromium/chromecast/shell/CastBrowserHelper.java",
"$common_java_src_dir/org/chromium/chromecast/shell/CastBrowserImpl.java",
"$common_java_src_dir/org/chromium/chromecast/shell/CastBrowserService.java",
"$common_java_src_dir/org/chromium/chromecast/shell/CastContentWindowAndroid.java",
"$common_java_src_dir/org/chromium/chromecast/shell/CastMetricsHelper.java",
"$common_java_src_dir/org/chromium/chromecast/shell/CastWebContentsActivity.java",
"$common_java_src_dir/org/chromium/chromecast/shell/CastWebContentsComponent.java",
"$common_java_src_dir/org/chromium/chromecast/shell/CastWebContentsIntentUtils.java",
"$common_java_src_dir/org/chromium/chromecast/shell/CastWebContentsScopes.java",
"$common_java_src_dir/org/chromium/chromecast/shell/CastWebContentsSurfaceHelper.java",
"$common_java_src_dir/org/chromium/chromecast/shell/TaskRemovedMonitorService.java",
"$common_java_src_dir/org/chromium/chromecast/shell/WebContentsRegistry.java",
]
generate_product_config_srcjar("product_config_for_browser") {
java_package = "org.chromium.chromecast.shell"
}
generate_jni("jni_headers") {
sources = [
"apk/src/org/chromium/chromecast/shell/CastContentWindowAndroid.java",
"apk/src/org/chromium/chromecast/shell/CastMetricsHelper.java",
]
deps = [ "//components/android_autofill/browser:jni_headers_features" ]
}
android_library("cast_shell_java") {
sources = common_java_sources
resources_package = "org.chromium.chromecast.shell"
srcjar_deps = [
":jni_headers",
":product_config_for_browser",
"//chromecast/browser:java_enums",
]
jar_excluded_patterns = [ "*/ProductConfig.class" ]
mergeable_android_manifests = [ cast_shell_android_manifest ]
deps = common_android_library_deps + [
":cast_shell_android_resources",
":cast_shell_manifest",
]
annotation_processor_deps =
[ "//components/module_installer/android:module_interface_processor" ]
}
android_library("cast_browser_java") {
sources = common_java_sources
resources_package = "org.chromium.chromecast.shell"
srcjar_deps = [
":jni_headers",
"//chromecast/browser:java_enums",
]
jar_excluded_patterns = [ "*/ProductConfig.class" ]
deps = common_android_library_deps + [ ":cast_browser_android_resources" ]
annotation_processor_deps =
[ "//components/module_installer/android:module_interface_processor" ]
}
robolectric_binary("cast_shell_junit_tests") {
sources = [
"junit/src/org/chromium/chromecast/shell/AsyncTaskRunnerTest.java",
"junit/src/org/chromium/chromecast/shell/BroadcastReceiverScopeTest.java",
"junit/src/org/chromium/chromecast/shell/CastWebContentsActivityTest.java",
"junit/src/org/chromium/chromecast/shell/CastWebContentsComponentTest.java",
"junit/src/org/chromium/chromecast/shell/CastWebContentsIntentUtilsTest.java",
"junit/src/org/chromium/chromecast/shell/CastWebContentsSurfaceHelperTest.java",
"junit/src/org/chromium/chromecast/shell/ElidedLogcatProviderUnitTest.java",
"junit/src/org/chromium/chromecast/shell/HandlerSchedulerTest.java",
"junit/src/org/chromium/chromecast/shell/LocalBroadcastReceiverScopeTest.java",
"junit/src/org/chromium/chromecast/shell/LogcatElisionUnitTest.java",
"junit/src/org/chromium/chromecast/shell/TaskRemovedMonitorServiceTest.java",
]
deps = [
":cast_intents_java",
":cast_shell_java",
":crash_handler_java",
":reactive_android_java",
"//base:base_java",
"//base:base_java_test_support",
"//base:base_junit_test_support",
"//build/android:build_java",
"//chromecast/base:base_java",
"//chromecast/base:cast_base_test_utils_java",
"//content/public/android:content_java",
"//testing/android/junit:junit_test_support",
"//third_party/androidx:androidx_localbroadcastmanager_localbroadcastmanager_java",
"//third_party/androidx:androidx_test_core_java",
"//third_party/hamcrest:hamcrest_java",
"//third_party/jni_zero:jni_zero_java",
]
}
|