| # 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") | 
 |   import("//chrome/android/features/android_library_factory_tmpl.gni") | 
 | } | 
 |  | 
 | group("video_tutorials") { | 
 |   public_deps = [ | 
 |     ":factory", | 
 |     ":public", | 
 |   ] | 
 |  | 
 |   deps = [ "internal" ] | 
 | } | 
 |  | 
 | source_set("public") { | 
 |   sources = [ | 
 |     "prefs.cc", | 
 |     "prefs.h", | 
 |     "switches.cc", | 
 |     "switches.h", | 
 |     "tutorial.cc", | 
 |     "tutorial.h", | 
 |     "video_tutorial_service.h", | 
 |     "video_tutorial_tab_helper.cc", | 
 |     "video_tutorial_tab_helper.h", | 
 |   ] | 
 |  | 
 |   deps = [ | 
 |     "//chrome/common", | 
 |     "//content/public/browser", | 
 |   ] | 
 |  | 
 |   public_deps = [ | 
 |     "//base", | 
 |     "//components/keyed_service/core", | 
 |     "//components/prefs", | 
 |     "//url:url", | 
 |   ] | 
 | } | 
 |  | 
 | source_set("factory") { | 
 |   sources = [ | 
 |     "tutorial_factory_helper.cc", | 
 |     "tutorial_factory_helper.h", | 
 |   ] | 
 |  | 
 |   deps = [ | 
 |     ":public", | 
 |     "internal:internal", | 
 |     "//chrome/browser/video_tutorials/proto", | 
 |     "//components/leveldb_proto", | 
 |   ] | 
 | } | 
 |  | 
 | if (is_android) { | 
 |   android_library("java") { | 
 |     sources = [ | 
 |       "android/java/src/org/chromium/chrome/browser/video_tutorials/Language.java", | 
 |       "android/java/src/org/chromium/chrome/browser/video_tutorials/LanguageInfoProvider.java", | 
 |       "android/java/src/org/chromium/chrome/browser/video_tutorials/Tutorial.java", | 
 |       "android/java/src/org/chromium/chrome/browser/video_tutorials/VideoTutorialService.java", | 
 |       "android/java/src/org/chromium/chrome/browser/video_tutorials/iph/VideoIPHCoordinator.java", | 
 |       "android/java/src/org/chromium/chrome/browser/video_tutorials/iph/VideoTutorialIPHUtils.java", | 
 |       "android/java/src/org/chromium/chrome/browser/video_tutorials/iph/VideoTutorialTryNowTracker.java", | 
 |       "android/java/src/org/chromium/chrome/browser/video_tutorials/list/TutorialListCoordinator.java", | 
 |       "android/java/src/org/chromium/chrome/browser/video_tutorials/metrics/VideoTutorialMetrics.java", | 
 |       "android/java/src/org/chromium/chrome/browser/video_tutorials/player/VideoPlayerCoordinator.java", | 
 |     ] | 
 |  | 
 |     deps = [ | 
 |       ":java_resources", | 
 |       "//base:base_java", | 
 |       "//chrome/browser/image_fetcher:java", | 
 |       "//components/browser_ui/widget/android:java", | 
 |       "//components/feature_engagement/public:public_java", | 
 |       "//content/public/android:content_java", | 
 |       "//third_party/androidx:androidx_annotation_annotation_java", | 
 |       "//ui/android:ui_java", | 
 |     ] | 
 |  | 
 |     resources_package = "org.chromium.chrome.browser.video_tutorials" | 
 |     srcjar_deps = [ ":jni_enums" ] | 
 |   } | 
 |  | 
 |   android_resources("java_resources") { | 
 |     sources = [ | 
 |       "android/java/res/drawable/corner_bottom_end.xml", | 
 |       "android/java/res/drawable/corner_bottom_start.xml", | 
 |       "android/java/res/drawable/corner_top_end.xml", | 
 |       "android/java/res/drawable/corner_top_start.xml", | 
 |       "android/java/res/layout/video_tutorial_iph_card.xml", | 
 |       "android/java/res/layout/video_tutorial_list.xml", | 
 |     ] | 
 |  | 
 |     deps = [ | 
 |       "//chrome/browser/ui/android/strings:ui_strings_grd", | 
 |       "//components/browser_ui/widget/android:java_resources", | 
 |       "//ui/android:ui_java_resources", | 
 |     ] | 
 |   } | 
 |  | 
 |   java_cpp_enum("jni_enums") { | 
 |     visibility = [ "*" ] | 
 |  | 
 |     sources = [ "tutorial.h" ] | 
 |   } | 
 |  | 
 |   android_library_factory("factory_java") { | 
 |     # These deps will be inherited by the resulting android_library target. | 
 |     deps = [ | 
 |       ":java", | 
 |       "//base:base_java", | 
 |       "//chrome/browser/image_fetcher:java", | 
 |       "//chrome/browser/profiles/android:java", | 
 |       "//components/embedder_support/android:content_view_java", | 
 |       "//content/public/android:content_java", | 
 |       "//third_party/androidx:androidx_recyclerview_recyclerview_java", | 
 |     ] | 
 |  | 
 |     # This internal file will be replaced by a generated file so the resulting | 
 |     # android_library target does not actually depend on this internal file. | 
 |     sources = [ "internal/android/java/src/org/chromium/chrome/browser/video_tutorials/VideoTutorialServiceFactory.java" ] | 
 |   } | 
 |  | 
 |   android_library("test_support_java") { | 
 |     sources = [ | 
 |       "android/java/src/org/chromium/chrome/browser/video_tutorials/test/TestImageFetcher.java", | 
 |       "android/java/src/org/chromium/chrome/browser/video_tutorials/test/TestVideoTutorialService.java", | 
 |     ] | 
 |  | 
 |     deps = [ | 
 |       ":java", | 
 |       "//base:base_java", | 
 |       "//chrome/browser/image_fetcher:java", | 
 |       "//third_party/androidx:androidx_annotation_annotation_java", | 
 |       "//third_party/gif_player:gif_player_java", | 
 |     ] | 
 |   } | 
 | } | 
 |  | 
 | group("unit_tests") { | 
 |   testonly = true | 
 |  | 
 |   deps = [ | 
 |     ":video_tutorials_unit_tests", | 
 |     "internal:unit_tests", | 
 |   ] | 
 | } | 
 |  | 
 | source_set("video_tutorials_unit_tests") { | 
 |   testonly = true | 
 |   sources = [ "tutorial_unittest.cc" ] | 
 |   deps = [ | 
 |     ":public", | 
 |     "//base/test:test_support", | 
 |     "//testing/gtest", | 
 |   ] | 
 | } |