|  | # 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. | 
|  |  | 
|  | if (is_android) { | 
|  | import("//build/config/android/config.gni") | 
|  | import("//build/config/android/rules.gni") | 
|  | } | 
|  |  | 
|  | source_set("internal") { | 
|  | sources = [ | 
|  | "config.cc", | 
|  | "config.h", | 
|  | "proto_conversions.cc", | 
|  | "proto_conversions.h", | 
|  | "store.h", | 
|  | "tutorial_fetcher.cc", | 
|  | "tutorial_fetcher.h", | 
|  | "tutorial_group.cc", | 
|  | "tutorial_group.h", | 
|  | "tutorial_manager.h", | 
|  | "tutorial_manager_impl.cc", | 
|  | "tutorial_manager_impl.h", | 
|  | "tutorial_service_impl.cc", | 
|  | "tutorial_service_impl.h", | 
|  | "tutorial_store.cc", | 
|  | "tutorial_store.h", | 
|  | ] | 
|  |  | 
|  | public_deps = [ "//components/image_fetcher/core" ] | 
|  |  | 
|  | deps = [ | 
|  | "//base", | 
|  | "//chrome/browser/video_tutorials:public", | 
|  | "//chrome/browser/video_tutorials/proto", | 
|  | "//components/leveldb_proto", | 
|  | "//content/public/browser", | 
|  | ] | 
|  |  | 
|  | if (is_android) { | 
|  | sources += [ | 
|  | "android/tutorial_conversion_bridge.cc", | 
|  | "android/tutorial_conversion_bridge.h", | 
|  | "android/video_tutorial_service_bridge.cc", | 
|  | "android/video_tutorial_service_bridge.h", | 
|  | ] | 
|  |  | 
|  | deps += [ ":jni_headers" ] | 
|  | } | 
|  | } | 
|  |  | 
|  | if (is_android) { | 
|  | android_library("java") { | 
|  | visibility = [ | 
|  | ":*", | 
|  | "//chrome/android:chrome_all_java", | 
|  | ] | 
|  |  | 
|  | sources = [ | 
|  | "android/java/src/org/chromium/chrome/browser/video_tutorials/PlaybackStateObserver.java", | 
|  | "android/java/src/org/chromium/chrome/browser/video_tutorials/VideoTutorialServiceFactory.java", | 
|  | "android/java/src/org/chromium/chrome/browser/video_tutorials/VideoTutorialUtils.java", | 
|  | "android/java/src/org/chromium/chrome/browser/video_tutorials/bridges/TutorialConversionBridge.java", | 
|  | "android/java/src/org/chromium/chrome/browser/video_tutorials/bridges/VideoTutorialServiceBridge.java", | 
|  | "android/java/src/org/chromium/chrome/browser/video_tutorials/iph/TryNowTrackerImpl.java", | 
|  | "android/java/src/org/chromium/chrome/browser/video_tutorials/iph/VideoIPHCoordinatorImpl.java", | 
|  | "android/java/src/org/chromium/chrome/browser/video_tutorials/iph/VideoIPHProperties.java", | 
|  | "android/java/src/org/chromium/chrome/browser/video_tutorials/iph/VideoIPHView.java", | 
|  | "android/java/src/org/chromium/chrome/browser/video_tutorials/languages/LanguageItemProperties.java", | 
|  | "android/java/src/org/chromium/chrome/browser/video_tutorials/languages/LanguageItemViewHolder.java", | 
|  | "android/java/src/org/chromium/chrome/browser/video_tutorials/languages/LanguagePickerCoordinator.java", | 
|  | "android/java/src/org/chromium/chrome/browser/video_tutorials/languages/LanguagePickerMediator.java", | 
|  | "android/java/src/org/chromium/chrome/browser/video_tutorials/languages/LanguagePickerProperties.java", | 
|  | "android/java/src/org/chromium/chrome/browser/video_tutorials/languages/LanguagePickerView.java", | 
|  | "android/java/src/org/chromium/chrome/browser/video_tutorials/list/TutorialCardProperties.java", | 
|  | "android/java/src/org/chromium/chrome/browser/video_tutorials/list/TutorialCardViewBinder.java", | 
|  | "android/java/src/org/chromium/chrome/browser/video_tutorials/list/TutorialListCoordinatorImpl.java", | 
|  | "android/java/src/org/chromium/chrome/browser/video_tutorials/list/TutorialListMediator.java", | 
|  | "android/java/src/org/chromium/chrome/browser/video_tutorials/player/VideoPlayerCoordinatorImpl.java", | 
|  | "android/java/src/org/chromium/chrome/browser/video_tutorials/player/VideoPlayerMediator.java", | 
|  | "android/java/src/org/chromium/chrome/browser/video_tutorials/player/VideoPlayerProperties.java", | 
|  | "android/java/src/org/chromium/chrome/browser/video_tutorials/player/VideoPlayerURLBuilder.java", | 
|  | "android/java/src/org/chromium/chrome/browser/video_tutorials/player/VideoPlayerView.java", | 
|  | "android/java/src/org/chromium/chrome/browser/video_tutorials/player/VideoPlayerViewBinder.java", | 
|  | ] | 
|  |  | 
|  | deps = [ | 
|  | ":java_resources", | 
|  | "//base:base_java", | 
|  | "//chrome/browser/flags:java", | 
|  | "//chrome/browser/image_fetcher:java", | 
|  | "//chrome/browser/profiles/android:java", | 
|  | "//chrome/browser/video_tutorials:java", | 
|  | "//components/browser_ui/widget/android:java", | 
|  | "//components/embedder_support/android:content_view_java", | 
|  | "//components/embedder_support/android:web_contents_delegate_java", | 
|  | "//components/thin_webview:factory_java", | 
|  | "//components/thin_webview: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_annotation_annotation_java", | 
|  | "//third_party/androidx:androidx_core_core_java", | 
|  | "//third_party/androidx:androidx_recyclerview_recyclerview_java", | 
|  | "//third_party/gif_player:gif_player_java", | 
|  | "//ui/android:ui_java", | 
|  | ] | 
|  |  | 
|  | resources_package = "org.chromium.chrome.browser.video_tutorials" | 
|  | annotation_processor_deps = [ "//base/android/jni_generator:jni_processor" ] | 
|  | } | 
|  |  | 
|  | android_resources("java_resources") { | 
|  | sources = [ | 
|  | "android/java/res/drawable/circular_media_button_background.xml", | 
|  | "android/java/res/layout/language_card.xml", | 
|  | "android/java/res/layout/language_picker.xml", | 
|  | "android/java/res/layout/video_player_controls.xml", | 
|  | "android/java/res/layout/video_player_loading.xml", | 
|  | "android/java/res/layout/video_tutorial_large_card.xml", | 
|  | ] | 
|  |  | 
|  | deps = [ | 
|  | "//chrome/browser/ui/android/strings:ui_strings_grd", | 
|  | "//chrome/browser/video_tutorials:java_resources", | 
|  | "//components/browser_ui/widget/android:java_resources", | 
|  | "//ui/android:ui_java_resources", | 
|  | ] | 
|  | } | 
|  |  | 
|  | generate_jni("jni_headers") { | 
|  | visibility = [ | 
|  | ":*", | 
|  | "//chrome/browser", | 
|  | ] | 
|  |  | 
|  | sources = [ | 
|  | "android/java/src/org/chromium/chrome/browser/video_tutorials/VideoTutorialServiceFactory.java", | 
|  | "android/java/src/org/chromium/chrome/browser/video_tutorials/bridges/TutorialConversionBridge.java", | 
|  | "android/java/src/org/chromium/chrome/browser/video_tutorials/bridges/VideoTutorialServiceBridge.java", | 
|  | ] | 
|  | } | 
|  |  | 
|  | java_library("junit") { | 
|  | # Skip platform checks since Robolectric depends on requires_android targets. | 
|  | bypass_platform_checks = true | 
|  | testonly = true | 
|  | sources = [ | 
|  | "android/java/src/org/chromium/chrome/browser/video_tutorials/PlaybackStateObserverUnitTest.java", | 
|  | "android/java/src/org/chromium/chrome/browser/video_tutorials/languages/LanguagePickerMediatorUnitTest.java", | 
|  | "android/java/src/org/chromium/chrome/browser/video_tutorials/metrics/VideoTutorialMetricsUnitTest.java", | 
|  | "android/java/src/org/chromium/chrome/browser/video_tutorials/player/VideoPlayerMediatorUnitTest.java", | 
|  | ] | 
|  |  | 
|  | deps = [ | 
|  | ":java", | 
|  | "//base:base_java", | 
|  | "//base:base_junit_test_support", | 
|  | "//chrome/browser/video_tutorials:java", | 
|  | "//chrome/browser/video_tutorials:test_support_java", | 
|  | "//content/public/android:content_java", | 
|  | "//services/media_session/public/cpp/android:media_session_java", | 
|  | "//third_party/android_deps:robolectric_all_java", | 
|  | "//third_party/hamcrest:hamcrest_core_java", | 
|  | "//third_party/junit", | 
|  | "//third_party/mockito:mockito_java", | 
|  | "//ui/android:ui_java", | 
|  | ] | 
|  | } | 
|  |  | 
|  | android_library("javatests") { | 
|  | testonly = true | 
|  |  | 
|  | sources = [ | 
|  | "android/java/src/org/chromium/chrome/browser/video_tutorials/iph/VideoIPHTest.java", | 
|  | "android/java/src/org/chromium/chrome/browser/video_tutorials/languages/LanguagePickerTest.java", | 
|  | "android/java/src/org/chromium/chrome/browser/video_tutorials/list/TutorialListCoordinatorTest.java", | 
|  | "android/java/src/org/chromium/chrome/browser/video_tutorials/player/VideoPlayerViewBinderTest.java", | 
|  | ] | 
|  | deps = [ | 
|  | ":java", | 
|  | "//base:base_java", | 
|  | "//base:base_java_test_support", | 
|  | "//chrome/browser/flags:java", | 
|  | "//chrome/browser/video_tutorials:java", | 
|  | "//chrome/browser/video_tutorials:test_support_java", | 
|  | "//chrome/test/android:chrome_java_test_support", | 
|  | "//components/thin_webview:java", | 
|  | "//content/public/test/android:content_java_test_support", | 
|  | "//third_party/android_deps:espresso_java", | 
|  | "//third_party/android_support_test_runner:rules_java", | 
|  | "//third_party/android_support_test_runner:runner_java", | 
|  | "//third_party/androidx:androidx_annotation_annotation_java", | 
|  | "//third_party/androidx:androidx_recyclerview_recyclerview_java", | 
|  | "//third_party/androidx:androidx_test_runner_java", | 
|  | "//third_party/gif_player:gif_player_java", | 
|  | "//third_party/hamcrest:hamcrest_core_java", | 
|  | "//third_party/junit", | 
|  | "//third_party/mockito:mockito_java", | 
|  | "//ui/android:ui_java", | 
|  | "//ui/android:ui_java_test_support", | 
|  | ] | 
|  | } | 
|  | } | 
|  |  | 
|  | source_set("unit_tests") { | 
|  | testonly = true | 
|  |  | 
|  | sources = [ | 
|  | "config_unittest.cc", | 
|  | "proto_conversions_unittest.cc", | 
|  | "tutorial_fetcher_unittest.cc", | 
|  | "tutorial_group_unittest.cc", | 
|  | "tutorial_manager_impl_unittest.cc", | 
|  | "tutorial_store_unittest.cc", | 
|  | ] | 
|  |  | 
|  | deps = [ | 
|  | ":internal", | 
|  | "//base", | 
|  | "//base/test:test_support", | 
|  | "//chrome/browser/video_tutorials:public", | 
|  | "//chrome/browser/video_tutorials/proto", | 
|  | "//chrome/browser/video_tutorials/test:test_lib", | 
|  | "//components/leveldb_proto", | 
|  | "//components/leveldb_proto:test_support", | 
|  | "//components/prefs:test_support", | 
|  | "//services/network:test_support", | 
|  | "//testing/gmock", | 
|  | "//testing/gtest", | 
|  | ] | 
|  | } |