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 | |
thoren | 9540c6d | 2017-05-22 20:07:04 | [diff] [blame] | 5 | import("//chromecast/chromecast.gni") |
slan | 074ec34 | 2016-01-29 23:52:26 | [diff] [blame] | 6 | import("//build/config/android/rules.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 | |
Simeon Anfinrud | 927ecc5 | 2017-12-08 19:55:25 | [diff] [blame] | 14 | manifest_variables = |
| 15 | [ "cast_build_enable_background_activities=$enable_background_activities" ] |
Aidan Wolter | 63fb79e | 2017-11-11 00:56:57 | [diff] [blame] | 16 | |
slan | 074ec34 | 2016-01-29 23:52:26 | [diff] [blame] | 17 | jinja_template("cast_shell_manifest") { |
| 18 | input = "apk/AndroidManifest.xml.jinja2" |
agrieve | acd4e48e | 2016-10-13 00:17:14 | [diff] [blame] | 19 | output = cast_shell_android_manifest |
Aidan Wolter | 63fb79e | 2017-11-11 00:56:57 | [diff] [blame] | 20 | |
| 21 | variables = manifest_variables |
slan | 074ec34 | 2016-01-29 23:52:26 | [diff] [blame] | 22 | } |
| 23 | |
thoren | 9540c6d | 2017-05-22 20:07:04 | [diff] [blame] | 24 | java_cpp_template("cast_shell_build_config_gen") { |
| 25 | sources = [ |
| 26 | "apk/templates/BuildConfig.template", |
| 27 | ] |
| 28 | package_path = "org/chromium/chromecast/shell" |
| 29 | |
| 30 | defines = [] |
| 31 | if (display_web_contents_in_service) { |
| 32 | defines += [ "_DISPLAY_WEB_CONTENTS_IN_SERVICE" ] |
| 33 | } |
Steve Fung | db75c69 | 2017-11-21 03:43:05 | [diff] [blame] | 34 | |
Zhiheng Vincent Li | 7b37d58 | 2018-01-24 03:44:54 | [diff] [blame] | 35 | if (enable_cast_fragment) { |
| 36 | defines += [ "_ENABLE_CAST_FRAGMENT" ] |
| 37 | } |
| 38 | |
Steve Fung | db75c69 | 2017-11-21 03:43:05 | [diff] [blame] | 39 | # Set the logcat extractor size in lines. |
| 40 | defines += [ "_LOGCAT_EXTRACTOR_SIZE=${logcat_extractor_size}" ] |
thoren | 9540c6d | 2017-05-22 20:07:04 | [diff] [blame] | 41 | } |
| 42 | |
slan | 074ec34 | 2016-01-29 23:52:26 | [diff] [blame] | 43 | android_resources("cast_shell_android_resources") { |
agrieve | acd4e48e | 2016-10-13 00:17:14 | [diff] [blame] | 44 | android_manifest = cast_shell_android_manifest |
agrieve | 24b56ca8 | 2016-06-30 14:46:33 | [diff] [blame] | 45 | android_manifest_dep = ":cast_shell_manifest" |
slan | 074ec34 | 2016-01-29 23:52:26 | [diff] [blame] | 46 | resource_dirs = [ "//chromecast/browser/android/apk/res" ] |
slan | 074ec34 | 2016-01-29 23:52:26 | [diff] [blame] | 47 | } |
| 48 | |
Simeon Anfinrud | e2258e4 | 2017-08-28 21:20:43 | [diff] [blame] | 49 | android_library("cast_audio_manager_java") { |
| 50 | java_src_dir = "//chromecast/browser/android/apk/src" |
| 51 | java_files = |
| 52 | [ "$java_src_dir/org/chromium/chromecast/shell/CastAudioManager.java" ] |
| 53 | } |
| 54 | |
| 55 | android_library("cast_intents_java") { |
| 56 | java_src_dir = "//chromecast/browser/android/apk/src" |
| 57 | java_files = |
| 58 | [ "$java_src_dir/org/chromium/chromecast/shell/CastIntents.java" ] |
| 59 | } |
| 60 | |
slan | 074ec34 | 2016-01-29 23:52:26 | [diff] [blame] | 61 | android_library("cast_shell_java") { |
| 62 | java_src_dir = "//chromecast/browser/android/apk/src" |
| 63 | java_files = [ |
| 64 | "$java_src_dir/org/chromium/chromecast/shell/CastApplication.java", |
slan | 074ec34 | 2016-01-29 23:52:26 | [diff] [blame] | 65 | "$java_src_dir/org/chromium/chromecast/shell/CastBrowserHelper.java", |
derekjchow | 504caf2 | 2017-01-12 21:04:27 | [diff] [blame] | 66 | "$java_src_dir/org/chromium/chromecast/shell/CastContentWindowAndroid.java", |
slan | 074ec34 | 2016-01-29 23:52:26 | [diff] [blame] | 67 | "$java_src_dir/org/chromium/chromecast/shell/CastCrashHandler.java", |
| 68 | "$java_src_dir/org/chromium/chromecast/shell/CastCrashUploader.java", |
Sandeep Vijayasekar | 8edffd7 | 2017-10-11 21:37:24 | [diff] [blame] | 69 | "$java_src_dir/org/chromium/chromecast/shell/CastCrashUploaderFactory.java", |
slan | 074ec34 | 2016-01-29 23:52:26 | [diff] [blame] | 70 | "$java_src_dir/org/chromium/chromecast/shell/CastMetricsHelper.java", |
slan | 074ec34 | 2016-01-29 23:52:26 | [diff] [blame] | 71 | "$java_src_dir/org/chromium/chromecast/shell/CastSysInfoAndroid.java", |
derekjchow | 504caf2 | 2017-01-12 21:04:27 | [diff] [blame] | 72 | "$java_src_dir/org/chromium/chromecast/shell/CastWebContentsActivity.java", |
Zhiheng Vincent Li | 7b37d58 | 2018-01-24 03:44:54 | [diff] [blame] | 73 | "$java_src_dir/org/chromium/chromecast/shell/CastWebContentsFragment.java", |
thoren | 9540c6d | 2017-05-22 20:07:04 | [diff] [blame] | 74 | "$java_src_dir/org/chromium/chromecast/shell/CastWebContentsService.java", |
Zhiheng Vincent Li | 7b37d58 | 2018-01-24 03:44:54 | [diff] [blame] | 75 | "$java_src_dir/org/chromium/chromecast/shell/CastWebContentsSurfaceHelper.java", |
thoren | 9540c6d | 2017-05-22 20:07:04 | [diff] [blame] | 76 | "$java_src_dir/org/chromium/chromecast/shell/CastWebContentsComponent.java", |
Simeon Anfinrud | 927ecc5 | 2017-12-08 19:55:25 | [diff] [blame] | 77 | "$java_src_dir/org/chromium/chromecast/shell/LogcatElision.java", |
sandv | 7ff8b21 | 2017-05-03 01:51:03 | [diff] [blame] | 78 | "$java_src_dir/org/chromium/chromecast/shell/LogcatExtractor.java", |
slan | 074ec34 | 2016-01-29 23:52:26 | [diff] [blame] | 79 | ] |
| 80 | |
Andrew Grieve | 27a1f509 | 2018-01-03 18:21:38 | [diff] [blame] | 81 | android_manifest_for_lint = cast_shell_android_manifest |
agrieve | acd4e48e | 2016-10-13 00:17:14 | [diff] [blame] | 82 | |
thoren | 9540c6d | 2017-05-22 20:07:04 | [diff] [blame] | 83 | srcjar_deps = [ ":cast_shell_build_config_gen" ] |
| 84 | |
slan | 074ec34 | 2016-01-29 23:52:26 | [diff] [blame] | 85 | deps = [ |
Simeon Anfinrud | e2258e4 | 2017-08-28 21:20:43 | [diff] [blame] | 86 | ":cast_audio_manager_java", |
| 87 | ":cast_intents_java", |
slan | 074ec34 | 2016-01-29 23:52:26 | [diff] [blame] | 88 | ":cast_shell_android_resources", |
agrieve | acd4e48e | 2016-10-13 00:17:14 | [diff] [blame] | 89 | ":cast_shell_manifest", |
slan | 074ec34 | 2016-01-29 23:52:26 | [diff] [blame] | 90 | "//base:base_java", |
| 91 | "//chromecast/base:base_java", |
Bryan Henry | f9be8cc | 2017-06-09 01:36:24 | [diff] [blame] | 92 | "//components/crash/android:java", |
slan | 074ec34 | 2016-01-29 23:52:26 | [diff] [blame] | 93 | "//content/public/android:content_java", |
yucliu | 5c1cc48 | 2016-12-01 20:35:10 | [diff] [blame] | 94 | "//device/geolocation:geolocation_java", |
slan | 074ec34 | 2016-01-29 23:52:26 | [diff] [blame] | 95 | "//media/base/android:media_java", |
| 96 | "//net/android:net_java", |
| 97 | |
| 98 | # TODO(slan): We may need to pass this in as a parameter. |
ianwen | 7a88406 | 2016-12-06 19:00:13 | [diff] [blame] | 99 | "//third_party/android_tools:android_support_core_utils_java", |
slan | 074ec34 | 2016-01-29 23:52:26 | [diff] [blame] | 100 | "//ui/android:ui_java", |
| 101 | ] |
Chris Kuiper | 3b76c8f52 | 2017-05-11 23:38:23 | [diff] [blame] | 102 | |
| 103 | if (is_cast_using_cma_backend) { |
| 104 | deps += [ "//chromecast/media/cma/backend/android:audio_track_java" ] |
| 105 | } |
slan | 074ec34 | 2016-01-29 23:52:26 | [diff] [blame] | 106 | } |
thoren | 9540c6d | 2017-05-22 20:07:04 | [diff] [blame] | 107 | |
| 108 | junit_binary("cast_shell_junit_tests") { |
Sandeep Vijayasekar | e527bc4 | 2017-09-19 20:54:01 | [diff] [blame] | 109 | java_files = [ |
| 110 | "junit/src/org/chromium/chromecast/shell/CastWebContentsComponentTest.java", |
Simeon Anfinrud | 927ecc5 | 2017-12-08 19:55:25 | [diff] [blame] | 111 | "junit/src/org/chromium/chromecast/shell/LogcatElisionUnitTest.java", |
Sandeep Vijayasekar | e527bc4 | 2017-09-19 20:54:01 | [diff] [blame] | 112 | "junit/src/org/chromium/chromecast/shell/LogcatExtractorUnitTest.java", |
| 113 | ] |
thoren | 9540c6d | 2017-05-22 20:07:04 | [diff] [blame] | 114 | |
| 115 | srcjar_deps = [ ":cast_shell_build_config_gen" ] |
| 116 | |
| 117 | deps = [ |
Simeon Anfinrud | f2846549 | 2017-08-30 17:21:44 | [diff] [blame] | 118 | ":cast_intents_java", |
thoren | 9540c6d | 2017-05-22 20:07:04 | [diff] [blame] | 119 | ":cast_shell_java", |
| 120 | "//base:base_java_test_support", |
| 121 | "//content/public/android:content_java", |
| 122 | "//third_party/android_tools:android_support_core_utils_java", |
Simeon Anfinrud | 927ecc5 | 2017-12-08 19:55:25 | [diff] [blame] | 123 | "//third_party/hamcrest:hamcrest_java", |
thoren | 9540c6d | 2017-05-22 20:07:04 | [diff] [blame] | 124 | ] |
| 125 | } |