slan | 074ec34 | 2016-01-29 23:52:26 | [diff] [blame] | 1 | # Copyright 2016 The Chromium Authors. All rights reserved. |
| 2 | # Use of this source code is governed by a BSD-style license that can be |
| 3 | # found in the LICENSE file. |
| 4 | |
slan | 074ec34 | 2016-01-29 23:52:26 | [diff] [blame] | 5 | import("//build/config/android/rules.gni") |
Jan Lamecki | 7df3c64a | 2018-11-30 12:01:42 | [diff] [blame] | 6 | import("//chromecast/chromecast.gni") |
Chris Kuiper | 3b76c8f52 | 2017-05-11 23:38:23 | [diff] [blame] | 7 | import("//media/media_options.gni") |
slan | 074ec34 | 2016-01-29 23:52:26 | [diff] [blame] | 8 | |
| 9 | assert(is_android) |
| 10 | |
agrieve | acd4e48e | 2016-10-13 00:17:14 | [diff] [blame] | 11 | cast_shell_android_manifest = |
| 12 | "$root_gen_dir/cast_shell_manifest/AndroidManifest.xml" |
| 13 | |
Akira Baruah | 7c8154e1 | 2018-10-19 22:41:34 | [diff] [blame] | 14 | manifest_variables = [ |
| 15 | "cast_build_enable_background_activities=$enable_background_activities", |
Brett Kilty | 64a73af | 2019-06-12 16:28:36 | [diff] [blame] | 16 | "is_android_things=$is_android_things", |
Akira Baruah | 7c8154e1 | 2018-10-19 22:41:34 | [diff] [blame] | 17 | "is_android_things_non_public=$is_android_things_non_public", |
| 18 | ] |
Aidan Wolter | 63fb79e | 2017-11-11 00:56:57 | [diff] [blame] | 19 | |
slan | 074ec34 | 2016-01-29 23:52:26 | [diff] [blame] | 20 | jinja_template("cast_shell_manifest") { |
| 21 | input = "apk/AndroidManifest.xml.jinja2" |
agrieve | acd4e48e | 2016-10-13 00:17:14 | [diff] [blame] | 22 | output = cast_shell_android_manifest |
Aidan Wolter | 63fb79e | 2017-11-11 00:56:57 | [diff] [blame] | 23 | |
| 24 | variables = manifest_variables |
slan | 074ec34 | 2016-01-29 23:52:26 | [diff] [blame] | 25 | } |
| 26 | |
thoren | 9540c6d | 2017-05-22 20:07:04 | [diff] [blame] | 27 | java_cpp_template("cast_shell_build_config_gen") { |
| 28 | sources = [ |
| 29 | "apk/templates/BuildConfig.template", |
| 30 | ] |
| 31 | package_path = "org/chromium/chromecast/shell" |
| 32 | |
| 33 | defines = [] |
| 34 | if (display_web_contents_in_service) { |
| 35 | defines += [ "_DISPLAY_WEB_CONTENTS_IN_SERVICE" ] |
| 36 | } |
Steve Fung | db75c69 | 2017-11-21 03:43:05 | [diff] [blame] | 37 | |
Zhiheng Vincent Li | 7b37d58 | 2018-01-24 03:44:54 | [diff] [blame] | 38 | if (enable_cast_fragment) { |
| 39 | defines += [ "_ENABLE_CAST_FRAGMENT" ] |
| 40 | } |
| 41 | |
Steve Fung | db75c69 | 2017-11-21 03:43:05 | [diff] [blame] | 42 | # Set the logcat extractor size in lines. |
| 43 | defines += [ "_LOGCAT_EXTRACTOR_SIZE=${logcat_extractor_size}" ] |
Sandeep Vijayasekar | 4ddbad7 | 2018-01-25 02:20:11 | [diff] [blame] | 44 | |
| 45 | if (use_remote_service_logcat) { |
| 46 | defines += [ "_USE_REMOTE_SERVICE_LOGCAT" ] |
| 47 | } |
| 48 | |
| 49 | # Component name which will provide the device logs |
| 50 | defines += |
| 51 | [ "_DEVICE_LOGS_PROVIDER_PACKAGE=\"${device_logs_provider_package}\"" ] |
| 52 | defines += [ "_DEVICE_LOGS_PROVIDER_CLASS=\"${device_logs_provider_class}\"" ] |
thoren | 9540c6d | 2017-05-22 20:07:04 | [diff] [blame] | 53 | } |
| 54 | |
slan | 074ec34 | 2016-01-29 23:52:26 | [diff] [blame] | 55 | android_resources("cast_shell_android_resources") { |
agrieve | acd4e48e | 2016-10-13 00:17:14 | [diff] [blame] | 56 | android_manifest = cast_shell_android_manifest |
agrieve | 24b56ca8 | 2016-06-30 14:46:33 | [diff] [blame] | 57 | android_manifest_dep = ":cast_shell_manifest" |
slan | 074ec34 | 2016-01-29 23:52:26 | [diff] [blame] | 58 | resource_dirs = [ "//chromecast/browser/android/apk/res" ] |
slan | 074ec34 | 2016-01-29 23:52:26 | [diff] [blame] | 59 | } |
| 60 | |
Simeon Anfinrud | e2258e4 | 2017-08-28 21:20:43 | [diff] [blame] | 61 | android_library("cast_audio_manager_java") { |
| 62 | java_src_dir = "//chromecast/browser/android/apk/src" |
shyam | ccd3df3 | 2018-08-10 21:43:43 | [diff] [blame] | 63 | java_files = [ |
| 64 | "$java_src_dir/org/chromium/chromecast/shell/CastAudioManager.java", |
| 65 | "$java_src_dir/org/chromium/chromecast/shell/CastAudioFocusRequest.java", |
| 66 | ] |
Simeon Anfinrud | 3542034 | 2018-02-27 22:22:48 | [diff] [blame] | 67 | deps = [ |
| 68 | "//base:base_java", |
| 69 | "//chromecast/base:base_java", |
| 70 | ] |
Simeon Anfinrud | e2258e4 | 2017-08-28 21:20:43 | [diff] [blame] | 71 | } |
| 72 | |
| 73 | android_library("cast_intents_java") { |
| 74 | java_src_dir = "//chromecast/browser/android/apk/src" |
| 75 | java_files = |
| 76 | [ "$java_src_dir/org/chromium/chromecast/shell/CastIntents.java" ] |
| 77 | } |
Sandeep Vijayasekar | 4ddbad7 | 2018-01-25 02:20:11 | [diff] [blame] | 78 | android_aidl("logs_provider_aidl") { |
| 79 | java_src_dir = "//chromecast/browser/android/apk/src" |
| 80 | interface_file = |
| 81 | "$java_src_dir/org/chromium/chromecast/shell/logs_provider_service.aidl" |
| 82 | |
| 83 | sources = [ |
| 84 | "$java_src_dir/org/chromium/chromecast/shell/IDeviceLogsProvider.aidl", |
| 85 | ] |
| 86 | } |
Simeon Anfinrud | e2258e4 | 2017-08-28 21:20:43 | [diff] [blame] | 87 | |
Simeon Anfinrud | bfac5d9 | 2018-02-21 21:16:58 | [diff] [blame] | 88 | android_library("reactive_android_java") { |
| 89 | java_src_dir = "//chromecast/browser/android/apk/src" |
Simeon Anfinrud | 9784c17 | 2018-03-29 05:17:40 | [diff] [blame] | 90 | java_files = [ |
| 91 | "$java_src_dir/org/chromium/chromecast/shell/AsyncTaskRunner.java", |
| 92 | "$java_src_dir/org/chromium/chromecast/shell/LocalBroadcastReceiverScope.java", |
| 93 | ] |
Simeon Anfinrud | bfac5d9 | 2018-02-21 21:16:58 | [diff] [blame] | 94 | deps = [ |
| 95 | "//base:base_java", |
Simeon Anfinrud | 950970e7 | 2018-03-26 16:16:06 | [diff] [blame] | 96 | "//chromecast/base:base_java", |
Peter Wen | 02ff538 | 2019-03-13 18:13:38 | [diff] [blame] | 97 | "//third_party/android_deps:com_android_support_support_core_utils_java", |
Simeon Anfinrud | bfac5d9 | 2018-02-21 21:16:58 | [diff] [blame] | 98 | ] |
| 99 | } |
| 100 | |
slan | 074ec34 | 2016-01-29 23:52:26 | [diff] [blame] | 101 | android_library("cast_shell_java") { |
| 102 | java_src_dir = "//chromecast/browser/android/apk/src" |
| 103 | java_files = [ |
Sandeep Vijayasekar | 4ddbad7 | 2018-01-25 02:20:11 | [diff] [blame] | 104 | "$java_src_dir/org/chromium/chromecast/shell/AndroidAppLogcatProvider.java", |
| 105 | "$java_src_dir/org/chromium/chromecast/shell/ExternalServiceDeviceLogcatProvider.java", |
slan | 074ec34 | 2016-01-29 23:52:26 | [diff] [blame] | 106 | "$java_src_dir/org/chromium/chromecast/shell/CastApplication.java", |
slan | 074ec34 | 2016-01-29 23:52:26 | [diff] [blame] | 107 | "$java_src_dir/org/chromium/chromecast/shell/CastBrowserHelper.java", |
derekjchow | 504caf2 | 2017-01-12 21:04:27 | [diff] [blame] | 108 | "$java_src_dir/org/chromium/chromecast/shell/CastContentWindowAndroid.java", |
Zhiheng Vincent Li | 3d99ccc | 2018-06-13 23:26:06 | [diff] [blame] | 109 | "$java_src_dir/org/chromium/chromecast/shell/CastCommandLineHelper.java", |
slan | 074ec34 | 2016-01-29 23:52:26 | [diff] [blame] | 110 | "$java_src_dir/org/chromium/chromecast/shell/CastCrashHandler.java", |
| 111 | "$java_src_dir/org/chromium/chromecast/shell/CastCrashUploader.java", |
Sandeep Vijayasekar | 8edffd7 | 2017-10-11 21:37:24 | [diff] [blame] | 112 | "$java_src_dir/org/chromium/chromecast/shell/CastCrashUploaderFactory.java", |
slan | 074ec34 | 2016-01-29 23:52:26 | [diff] [blame] | 113 | "$java_src_dir/org/chromium/chromecast/shell/CastMetricsHelper.java", |
Thoren Paulson | e8916d7f | 2018-09-26 18:22:08 | [diff] [blame] | 114 | "$java_src_dir/org/chromium/chromecast/shell/CastSerialGenerator.java", |
slan | 074ec34 | 2016-01-29 23:52:26 | [diff] [blame] | 115 | "$java_src_dir/org/chromium/chromecast/shell/CastSysInfoAndroid.java", |
derekjchow | 504caf2 | 2017-01-12 21:04:27 | [diff] [blame] | 116 | "$java_src_dir/org/chromium/chromecast/shell/CastWebContentsActivity.java", |
Zhiheng Vincent Li | 180905f5 | 2018-03-14 21:36:35 | [diff] [blame] | 117 | "$java_src_dir/org/chromium/chromecast/shell/CastWebContentsComponent.java", |
Zhiheng Vincent Li | 7b37d58 | 2018-01-24 03:44:54 | [diff] [blame] | 118 | "$java_src_dir/org/chromium/chromecast/shell/CastWebContentsFragment.java", |
Zhiheng Vincent Li | 180905f5 | 2018-03-14 21:36:35 | [diff] [blame] | 119 | "$java_src_dir/org/chromium/chromecast/shell/CastWebContentsIntentUtils.java", |
thoren | 9540c6d | 2017-05-22 20:07:04 | [diff] [blame] | 120 | "$java_src_dir/org/chromium/chromecast/shell/CastWebContentsService.java", |
Zhiheng Vincent Li | 7b37d58 | 2018-01-24 03:44:54 | [diff] [blame] | 121 | "$java_src_dir/org/chromium/chromecast/shell/CastWebContentsSurfaceHelper.java", |
Jan Lamecki | 7851214 | 2018-11-20 09:19:10 | [diff] [blame] | 122 | "$java_src_dir/org/chromium/chromecast/shell/CastWebContentsScopes.java", |
Jan Lamecki | 28d6168 | 2018-11-28 10:56:33 | [diff] [blame] | 123 | "$java_src_dir/org/chromium/chromecast/shell/CastWebContentsView.java", |
Simeon Anfinrud | 927ecc5 | 2017-12-08 19:55:25 | [diff] [blame] | 124 | "$java_src_dir/org/chromium/chromecast/shell/LogcatElision.java", |
Sandeep Vijayasekar | 4ddbad7 | 2018-01-25 02:20:11 | [diff] [blame] | 125 | "$java_src_dir/org/chromium/chromecast/shell/ElidedLogcatProvider.java", |
slan | 074ec34 | 2016-01-29 23:52:26 | [diff] [blame] | 126 | ] |
| 127 | |
Andrew Grieve | 27a1f509 | 2018-01-03 18:21:38 | [diff] [blame] | 128 | android_manifest_for_lint = cast_shell_android_manifest |
Tibor Goldschwendt | 95db95d | 2019-06-17 20:32:02 | [diff] [blame] | 129 | min_sdk_version = 21 |
agrieve | acd4e48e | 2016-10-13 00:17:14 | [diff] [blame] | 130 | |
Sandeep Vijayasekar | 4ddbad7 | 2018-01-25 02:20:11 | [diff] [blame] | 131 | srcjar_deps = [ |
| 132 | ":cast_shell_build_config_gen", |
| 133 | ":logs_provider_aidl", |
Jan Lamecki | 7df3c64a | 2018-11-30 12:01:42 | [diff] [blame] | 134 | "//chromecast/browser:java_enums", |
Sandeep Vijayasekar | 4ddbad7 | 2018-01-25 02:20:11 | [diff] [blame] | 135 | ] |
thoren | 9540c6d | 2017-05-22 20:07:04 | [diff] [blame] | 136 | |
slan | 074ec34 | 2016-01-29 23:52:26 | [diff] [blame] | 137 | deps = [ |
Simeon Anfinrud | e2258e4 | 2017-08-28 21:20:43 | [diff] [blame] | 138 | ":cast_audio_manager_java", |
| 139 | ":cast_intents_java", |
slan | 074ec34 | 2016-01-29 23:52:26 | [diff] [blame] | 140 | ":cast_shell_android_resources", |
agrieve | acd4e48e | 2016-10-13 00:17:14 | [diff] [blame] | 141 | ":cast_shell_manifest", |
Simeon Anfinrud | bfac5d9 | 2018-02-21 21:16:58 | [diff] [blame] | 142 | ":reactive_android_java", |
slan | 074ec34 | 2016-01-29 23:52:26 | [diff] [blame] | 143 | "//base:base_java", |
| 144 | "//chromecast/base:base_java", |
Simeon Anfinrud | 08677dd | 2019-06-30 23:30:47 | [diff] [blame^] | 145 | "//chromecast/media/cma/backend/android:audio_track_java", |
Bryan Henry | f9be8cc | 2017-06-09 01:36:24 | [diff] [blame] | 146 | "//components/crash/android:java", |
Jinsuk Kim | d86d7597 | 2018-07-05 06:32:05 | [diff] [blame] | 147 | "//components/embedder_support/android:content_view_java", |
Attila Uygun | 1a5f941 | 2018-06-05 09:58:01 | [diff] [blame] | 148 | "//components/embedder_support/android:view_java", |
Joshua Peraza | f890e4b | 2019-01-03 19:19:02 | [diff] [blame] | 149 | "//components/minidump_uploader:minidump_uploader_java", |
slan | 074ec34 | 2016-01-29 23:52:26 | [diff] [blame] | 150 | "//content/public/android:content_java", |
slan | 074ec34 | 2016-01-29 23:52:26 | [diff] [blame] | 151 | "//media/base/android:media_java", |
| 152 | "//net/android:net_java", |
Brandon Mousseau | 2022d45d | 2019-06-11 20:02:37 | [diff] [blame] | 153 | "//third_party/android_deps:com_android_support_support_compat_java", |
Peter Wen | 02ff538 | 2019-03-13 18:13:38 | [diff] [blame] | 154 | "//third_party/android_deps:com_android_support_support_core_utils_java", |
slan | 074ec34 | 2016-01-29 23:52:26 | [diff] [blame] | 155 | "//ui/android:ui_java", |
| 156 | ] |
Chris Kuiper | 3b76c8f52 | 2017-05-11 23:38:23 | [diff] [blame] | 157 | |
Elvin Lee | 0622dff | 2018-12-14 17:44:12 | [diff] [blame] | 158 | if (is_android_things_non_public) { |
Alex Leung | 61dea44 | 2018-12-11 18:53:38 | [diff] [blame] | 159 | deps += [ ":cast_shell_android_things_sys_info_java" ] |
Andrei Pascovici | 358545d | 2018-05-19 01:33:03 | [diff] [blame] | 160 | if (enable_assistant) { |
| 161 | deps += [ "//chromecast/internal/assistant/ui:boot_parameters_java" ] |
| 162 | } |
Aidan Wolter | d6c2415 | 2018-04-09 18:14:17 | [diff] [blame] | 163 | } |
slan | 074ec34 | 2016-01-29 23:52:26 | [diff] [blame] | 164 | } |
thoren | 9540c6d | 2017-05-22 20:07:04 | [diff] [blame] | 165 | |
Alex Leung | 61dea44 | 2018-12-11 18:53:38 | [diff] [blame] | 166 | if (is_android_things_non_public && !build_for_android_things_n) { |
| 167 | android_library("cast_shell_android_things_sys_info_java") { |
| 168 | java_files = [ "//chromecast/browser/android/apk/src/org/chromium/chromecast/shell/CastSysInfoAndroidThings.java" ] |
| 169 | deps = [ |
| 170 | "//base:base_java", |
| 171 | "//chromecast/internal/android/prebuilt/things:support_lib_java", |
| 172 | ] |
| 173 | } |
| 174 | |
| 175 | generate_jni("cast_shell_android_things_sys_info_jni_headers") { |
| 176 | sources = [ |
| 177 | "//chromecast/browser/android/apk/src/org/chromium/chromecast/shell/CastSysInfoAndroidThings.java", |
| 178 | ] |
| 179 | deps = [ |
| 180 | "//chromecast/internal/android/prebuilt/things:support_lib_java", |
| 181 | ] |
Alex Leung | 61dea44 | 2018-12-11 18:53:38 | [diff] [blame] | 182 | } |
| 183 | } |
| 184 | |
thoren | 9540c6d | 2017-05-22 20:07:04 | [diff] [blame] | 185 | junit_binary("cast_shell_junit_tests") { |
Sandeep Vijayasekar | e527bc4 | 2017-09-19 20:54:01 | [diff] [blame] | 186 | java_files = [ |
Simeon Anfinrud | 9784c17 | 2018-03-29 05:17:40 | [diff] [blame] | 187 | "junit/src/org/chromium/chromecast/shell/AsyncTaskRunnerTest.java", |
Simeon Anfinrud | 3542034 | 2018-02-27 22:22:48 | [diff] [blame] | 188 | "junit/src/org/chromium/chromecast/shell/CastAudioManagerTest.java", |
shyam | ccd3df3 | 2018-08-10 21:43:43 | [diff] [blame] | 189 | "junit/src/org/chromium/chromecast/shell/CastAudioFocusRequestTest.java", |
Zhiheng Vincent Li | 3d99ccc | 2018-06-13 23:26:06 | [diff] [blame] | 190 | "junit/src/org/chromium/chromecast/shell/CastCommandLineHelperTest.java", |
Simeon Anfinrud | fec4475 | 2018-03-07 16:03:03 | [diff] [blame] | 191 | "junit/src/org/chromium/chromecast/shell/CastWebContentsActivityTest.java", |
Sandeep Vijayasekar | e527bc4 | 2017-09-19 20:54:01 | [diff] [blame] | 192 | "junit/src/org/chromium/chromecast/shell/CastWebContentsComponentTest.java", |
Zhiheng Vincent Li | 180905f5 | 2018-03-14 21:36:35 | [diff] [blame] | 193 | "junit/src/org/chromium/chromecast/shell/CastWebContentsIntentUtilsTest.java", |
Simeon Anfinrud | acf4b98 | 2018-08-15 00:39:49 | [diff] [blame] | 194 | "junit/src/org/chromium/chromecast/shell/CastWebContentsServiceTest.java", |
Simeon Anfinrud | 3a2e44cc | 2018-04-17 20:29:43 | [diff] [blame] | 195 | "junit/src/org/chromium/chromecast/shell/CastWebContentsSurfaceHelperTest.java", |
Simeon Anfinrud | bfac5d9 | 2018-02-21 21:16:58 | [diff] [blame] | 196 | "junit/src/org/chromium/chromecast/shell/LocalBroadcastReceiverScopeTest.java", |
Simeon Anfinrud | 927ecc5 | 2017-12-08 19:55:25 | [diff] [blame] | 197 | "junit/src/org/chromium/chromecast/shell/LogcatElisionUnitTest.java", |
Sandeep Vijayasekar | 4ddbad7 | 2018-01-25 02:20:11 | [diff] [blame] | 198 | "junit/src/org/chromium/chromecast/shell/ElidedLogcatProviderUnitTest.java", |
Sandeep Vijayasekar | e527bc4 | 2017-09-19 20:54:01 | [diff] [blame] | 199 | ] |
thoren | 9540c6d | 2017-05-22 20:07:04 | [diff] [blame] | 200 | |
| 201 | srcjar_deps = [ ":cast_shell_build_config_gen" ] |
| 202 | |
| 203 | deps = [ |
Simeon Anfinrud | f2846549 | 2017-08-30 17:21:44 | [diff] [blame] | 204 | ":cast_intents_java", |
thoren | 9540c6d | 2017-05-22 20:07:04 | [diff] [blame] | 205 | ":cast_shell_java", |
Sandeep Vijayasekar | 27b285d | 2018-05-02 00:26:41 | [diff] [blame] | 206 | "//base:base_java_test_support", |
Simeon Anfinrud | bc3cd02b | 2018-04-18 02:12:33 | [diff] [blame] | 207 | "//base:base_junit_test_support", |
Simeon Anfinrud | acf4b98 | 2018-08-15 00:39:49 | [diff] [blame] | 208 | "//chromecast/base:cast_base_test_utils_java", |
thoren | 9540c6d | 2017-05-22 20:07:04 | [diff] [blame] | 209 | "//content/public/android:content_java", |
Peter Wen | 02ff538 | 2019-03-13 18:13:38 | [diff] [blame] | 210 | "//third_party/android_deps:com_android_support_support_core_utils_java", |
Simeon Anfinrud | 927ecc5 | 2017-12-08 19:55:25 | [diff] [blame] | 211 | "//third_party/hamcrest:hamcrest_java", |
thoren | 9540c6d | 2017-05-22 20:07:04 | [diff] [blame] | 212 | ] |
| 213 | } |