| # Copyright 2023 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("//third_party/jni_zero/jni_zero.gni") |
| |
| android_library("java") { |
| sources = [ |
| "java/src/org/chromium/chrome/browser/readaloud/BoyerMoore.java", |
| "java/src/org/chromium/chrome/browser/readaloud/ReadAloudController.java", |
| "java/src/org/chromium/chrome/browser/readaloud/ReadAloudControllerSupplier.java", |
| "java/src/org/chromium/chrome/browser/readaloud/ReadAloudIphController.java", |
| "java/src/org/chromium/chrome/browser/readaloud/ReadAloudMiniPlayerSceneLayer.java", |
| "java/src/org/chromium/chrome/browser/readaloud/ReadAloudPrefs.java", |
| "java/src/org/chromium/chrome/browser/readaloud/ReadAloudToolbarButtonController.java", |
| "java/src/org/chromium/chrome/browser/readaloud/TabModelTabObserver.java", |
| "java/src/org/chromium/chrome/browser/readaloud/TapToSeekHandler.java", |
| "java/src/org/chromium/chrome/browser/readaloud/TapToSeekSelectionManager.java", |
| ] |
| deps = [ |
| ":exceptions_java", |
| ":features_java", |
| ":hooks_java", |
| ":metrics_java", |
| "//base:base_java", |
| "//base:service_loader_java", |
| "//chrome/android:chrome_app_java_resources", |
| "//chrome/android/modules/readaloud/public:java", |
| "//chrome/browser/android/lifecycle:java", |
| "//chrome/browser/browser_controls/android:java", |
| "//chrome/browser/device:java", |
| "//chrome/browser/feature_engagement:java", |
| "//chrome/browser/fullscreen/android:java", |
| "//chrome/browser/language/android:base_module_java", |
| "//chrome/browser/language/android:java", |
| "//chrome/browser/profiles/android:java", |
| "//chrome/browser/tab:java", |
| "//chrome/browser/tabmodel:java", |
| "//chrome/browser/ui/android/appmenu:java", |
| "//chrome/browser/ui/android/layouts:java", |
| "//chrome/browser/ui/android/native_page:java", |
| "//chrome/browser/ui/android/strings:ui_strings_grd", |
| "//chrome/browser/ui/android/toolbar:java", |
| "//chrome/browser/user_education:java", |
| "//components/browser_ui/bottomsheet/android:java", |
| "//components/browser_ui/widget/android:java", |
| "//components/embedder_support/android:util_java", |
| "//components/feature_engagement/public:public_java", |
| "//components/prefs/android:java", |
| "//components/user_prefs/android:java", |
| "//content/public/android:content_java", |
| "//net/android:net_java", |
| "//third_party/android_deps:guava_android_java", |
| "//third_party/androidx:androidx_annotation_annotation_java", |
| "//third_party/jni_zero:jni_zero_java", |
| "//ui/android:ui_no_recycler_view_java", |
| "//url:gurl_java", |
| ] |
| srcjar_deps = [ ":jni_headers" ] |
| resources_package = "org.chromium.chrome.browser.readaloud" |
| } |
| |
| generate_jni("jni_headers") { |
| sources = [ |
| "java/src/org/chromium/chrome/browser/readaloud/ReadAloudMiniPlayerSceneLayer.java", |
| "java/src/org/chromium/chrome/browser/readaloud/ReadAloudPrefs.java", |
| ] |
| } |
| |
| android_library("exceptions_java") { |
| sources = [ |
| "java/src/org/chromium/chrome/browser/readaloud/exceptions/ReadAloudException.java", |
| "java/src/org/chromium/chrome/browser/readaloud/exceptions/ReadAloudNetworkException.java", |
| "java/src/org/chromium/chrome/browser/readaloud/exceptions/ReadAloudUnsupportedException.java", |
| ] |
| deps = [ |
| "//base:base_java", |
| "//third_party/androidx:androidx_annotation_annotation_java", |
| ] |
| } |
| |
| android_library("metrics_java") { |
| sources = |
| [ "java/src/org/chromium/chrome/browser/readaloud/ReadAloudMetrics.java" ] |
| |
| deps = [ |
| "//base:base_java", |
| "//third_party/androidx:androidx_annotation_annotation_java", |
| ] |
| } |
| |
| android_library("features_java") { |
| sources = [ |
| "java/src/org/chromium/chrome/browser/readaloud/ReadAloudFeatures.java", |
| ] |
| deps = [ |
| ":metrics_java", |
| "//base:base_java", |
| "//chrome/browser/flags:java", |
| "//chrome/browser/preferences:java", |
| "//chrome/browser/profiles/android:java", |
| "//chrome/browser/search_engines/android:java", |
| "//chrome/browser/signin/services/android:java", |
| "//components/prefs/android:java", |
| "//components/search_engines/android:java", |
| "//components/user_prefs/android:java", |
| "//content/public/android:content_java", |
| "//third_party/androidx:androidx_annotation_annotation_java", |
| "//third_party/jni_zero:jni_zero_java", |
| ] |
| srcjar_deps = [ ":features_jni_headers" ] |
| } |
| |
| generate_jni("features_jni_headers") { |
| sources = [ |
| "java/src/org/chromium/chrome/browser/readaloud/ReadAloudFeatures.java", |
| ] |
| } |
| |
| android_resources("java_resources") { |
| sources = [ |
| "java/res/color/mode_selector_color.xml", |
| "java/res/drawable/baseline_more_horiz_24.xml", |
| "java/res/drawable/error_24.xml", |
| "java/res/drawable/feedback_thumb_down_selector.xml", |
| "java/res/drawable/feedback_thumb_up_selector.xml", |
| "java/res/drawable/format_ink_highlighter_24.xml", |
| "java/res/drawable/forward_10_24.xml", |
| "java/res/drawable/forward_10_button.xml", |
| "java/res/drawable/mini_pause_button.xml", |
| "java/res/drawable/mini_play_button.xml", |
| "java/res/drawable/mode_selector.xml", |
| "java/res/drawable/mode_selector_stateful.xml", |
| "java/res/drawable/mode_selector_toggle_24.xml", |
| "java/res/drawable/pause_32.xml", |
| "java/res/drawable/pause_button.xml", |
| "java/res/drawable/play_arrow_32.xml", |
| "java/res/drawable/play_button.xml", |
| "java/res/drawable/primary_color_rounded.xml", |
| "java/res/drawable/primary_gray_rounded.xml", |
| "java/res/drawable/replay_10_24.xml", |
| "java/res/drawable/replay_10_button.xml", |
| "java/res/drawable/rounded_ripple.xml", |
| "java/res/drawable/scrubber_select_handle.xml", |
| "java/res/drawable/secondary_gray_rounded.xml", |
| "java/res/drawable/seekbar_progress.xml", |
| "java/res/drawable/seekbar_style.xml", |
| "java/res/drawable/thumb_down_24.xml", |
| "java/res/drawable/thumb_down_filled_24.xml", |
| "java/res/drawable/thumb_up_24.xml", |
| "java/res/drawable/thumb_up_filled_24.xml", |
| "java/res/drawable/translate_24.xml", |
| "java/res/drawable/voice_selection_24.xml", |
| "java/res/layout/readaloud_expanded_player_layout.xml", |
| "java/res/layout/readaloud_menu.xml", |
| "java/res/layout/readaloud_menu_item.xml", |
| "java/res/layout/readaloud_mini_player_layout.xml", |
| "java/res/layout/readaloud_radio_button.xml", |
| "java/res/layout/readaloud_toggle_switch.xml", |
| "java/res/values/attrs.xml", |
| "java/res/values/colors.xml", |
| "java/res/values/dimens.xml", |
| ] |
| deps = [ |
| "//chrome/browser/readaloud/android/resources:ui_strings_grd", |
| "//components/browser_ui/styles/android:java_resources", |
| "//components/browser_ui/widget/android:java_resources", |
| "//ui/android:ui_java_resources", |
| ] |
| } |
| |
| android_library("hooks_java") { |
| sources = [ |
| "java/src/org/chromium/chrome/browser/readaloud/ReadAloudReadabilityHooks.java", |
| "java/src/org/chromium/chrome/browser/readaloud/ReadAloudReadabilityHooksFactory.java", |
| "java/src/org/chromium/chrome/browser/readaloud/ReadAloudReadabilityHooksUpstreamImpl.java", |
| ] |
| deps = [ |
| "//base:base_java", |
| "//chrome/android/modules/readaloud/public:java", |
| "//chrome/browser/profiles/android:java", |
| "//chrome/browser/tab:java", |
| "//third_party/android_deps:guava_android_java", |
| "//third_party/androidx:androidx_annotation_annotation_java", |
| "//url:gurl_java", |
| ] |
| } |
| |
| android_library("test_support_java") { |
| testonly = true |
| sources = [ "java/src/org/chromium/chrome/browser/readaloud/testing/MockPrefServiceHelper.java" ] |
| deps = [ |
| "//chrome/browser/readaloud/android:java", |
| "//components/prefs/android:java", |
| "//third_party/mockito:mockito_java", |
| ] |
| } |
| |
| robolectric_library("junit") { |
| testonly = true |
| sources = [ |
| "java/src/org/chromium/chrome/browser/readaloud/ReadAloudControllerUnitTest.java", |
| "java/src/org/chromium/chrome/browser/readaloud/ReadAloudIphControllerUnitTest.java", |
| "java/src/org/chromium/chrome/browser/readaloud/ReadAloudMiniPlayerSceneLayerUnitTest.java", |
| "java/src/org/chromium/chrome/browser/readaloud/ReadAloudPrefsUnitTest.java", |
| "java/src/org/chromium/chrome/browser/readaloud/ReadAloudToolbarButtonControllerUnitTest.java", |
| "java/src/org/chromium/chrome/browser/readaloud/TabModelTabObserverUnitTest.java", |
| "java/src/org/chromium/chrome/browser/readaloud/TapToSeekHandlerUnitTest.java", |
| "java/src/org/chromium/chrome/browser/readaloud/TapToSeekSelectionManagerUnitTest.java", |
| ] |
| deps = [ |
| ":exceptions_java", |
| ":features_java", |
| ":hooks_java", |
| ":java", |
| ":java_resources", |
| ":metrics_java", |
| ":player_java", |
| ":player_junit_java", |
| ":test_support_java", |
| "//base:base_java", |
| "//base:base_java_test_support", |
| "//base:base_junit_test_support", |
| "//chrome/android:chrome_java", |
| "//chrome/android/modules/readaloud/public:java", |
| "//chrome/browser/android/lifecycle:java", |
| "//chrome/browser/browser_controls/android:java", |
| "//chrome/browser/commerce/price_tracking/android:java", |
| "//chrome/browser/device:java", |
| "//chrome/browser/device:junit_test_support", |
| "//chrome/browser/feature_engagement:java", |
| "//chrome/browser/flags:java", |
| "//chrome/browser/fullscreen/android:java", |
| "//chrome/browser/language/android:base_module_java", |
| "//chrome/browser/language/android:java", |
| "//chrome/browser/language/android:junit", |
| "//chrome/browser/preferences:java", |
| "//chrome/browser/profiles/android:java", |
| "//chrome/browser/search_engines/android:java", |
| "//chrome/browser/signin/services/android:java", |
| "//chrome/browser/tab:java", |
| "//chrome/browser/tabmodel:java", |
| "//chrome/browser/tabmodel:junit", |
| "//chrome/browser/ui/android/appmenu:java", |
| "//chrome/browser/ui/android/layouts:java", |
| "//chrome/browser/ui/android/native_page:java", |
| "//chrome/browser/ui/android/toolbar:java", |
| "//chrome/browser/user_education:java", |
| "//chrome/test/android:chrome_java_integration_test_support", |
| "//chrome/test/android:chrome_java_unit_test_support", |
| "//components/browser_ui/bottomsheet/android:java", |
| "//components/feature_engagement/public:public_java", |
| "//components/prefs/android:java", |
| "//components/search_engines/android:java", |
| "//components/user_prefs/android:java", |
| "//content/public/android:content_java", |
| "//net/android:net_java", |
| "//third_party/android_deps:espresso_java", |
| "//third_party/android_deps:guava_android_java", |
| "//third_party/androidx:androidx_annotation_annotation_java", |
| "//third_party/androidx:androidx_appcompat_appcompat_java", |
| "//third_party/androidx:androidx_test_core_java", |
| "//third_party/androidx:androidx_test_ext_junit_java", |
| "//third_party/androidx:androidx_test_runner_java", |
| "//third_party/hamcrest:hamcrest_java", |
| "//third_party/jni_zero:jni_zero_java", |
| "//third_party/junit", |
| "//third_party/mockito:mockito_java", |
| "//ui/android:ui_java", |
| "//ui/android:ui_java_test_support", |
| "//url:gurl_java", |
| "//url:gurl_junit_test_support", |
| ] |
| } |
| |
| android_library("player_java") { |
| sources = [ |
| "java/src/org/chromium/chrome/browser/readaloud/player/Colors.java", |
| "java/src/org/chromium/chrome/browser/readaloud/player/InteractionHandler.java", |
| "java/src/org/chromium/chrome/browser/readaloud/player/PlayerCoordinator.java", |
| "java/src/org/chromium/chrome/browser/readaloud/player/PlayerMediator.java", |
| "java/src/org/chromium/chrome/browser/readaloud/player/PlayerProperties.java", |
| "java/src/org/chromium/chrome/browser/readaloud/player/TouchDelegateUtil.java", |
| "java/src/org/chromium/chrome/browser/readaloud/player/VisibilityState.java", |
| "java/src/org/chromium/chrome/browser/readaloud/player/expanded/ExpandedPlayerCoordinator.java", |
| "java/src/org/chromium/chrome/browser/readaloud/player/expanded/ExpandedPlayerMediator.java", |
| "java/src/org/chromium/chrome/browser/readaloud/player/expanded/ExpandedPlayerSheetContent.java", |
| "java/src/org/chromium/chrome/browser/readaloud/player/expanded/ExpandedPlayerViewBinder.java", |
| "java/src/org/chromium/chrome/browser/readaloud/player/expanded/MaxHeightScrollView.java", |
| "java/src/org/chromium/chrome/browser/readaloud/player/expanded/Menu.java", |
| "java/src/org/chromium/chrome/browser/readaloud/player/expanded/MenuItem.java", |
| "java/src/org/chromium/chrome/browser/readaloud/player/expanded/MenuSheetContent.java", |
| "java/src/org/chromium/chrome/browser/readaloud/player/expanded/NegativeFeedbackMenuSheetContent.java", |
| "java/src/org/chromium/chrome/browser/readaloud/player/expanded/OptionsMenuSheetContent.java", |
| "java/src/org/chromium/chrome/browser/readaloud/player/expanded/PlaybackModeIphController.java", |
| "java/src/org/chromium/chrome/browser/readaloud/player/expanded/SingleMenuSheetContent.java", |
| "java/src/org/chromium/chrome/browser/readaloud/player/expanded/SpeedMenuSheetContent.java", |
| "java/src/org/chromium/chrome/browser/readaloud/player/expanded/VoiceMenu.java", |
| "java/src/org/chromium/chrome/browser/readaloud/player/mini/MiniPlayerCoordinator.java", |
| "java/src/org/chromium/chrome/browser/readaloud/player/mini/MiniPlayerLayout.java", |
| "java/src/org/chromium/chrome/browser/readaloud/player/mini/MiniPlayerMediator.java", |
| "java/src/org/chromium/chrome/browser/readaloud/player/mini/MiniPlayerViewBinder.java", |
| "java/src/org/chromium/chrome/browser/readaloud/player/mini/Properties.java", |
| ] |
| deps = [ |
| ":features_java", |
| ":java_resources", |
| "//base:base_java", |
| "//chrome/android:chrome_app_java_resources", |
| "//chrome/android/modules/readaloud/public:java", |
| "//chrome/browser/android/lifecycle:java", |
| "//chrome/browser/browser_controls/android:java", |
| "//chrome/browser/device:java", |
| "//chrome/browser/feature_engagement:java", |
| "//chrome/browser/profiles/android:java", |
| "//chrome/browser/readaloud/android:java", |
| "//chrome/browser/readaloud/android:java", |
| "//chrome/browser/readaloud/android:metrics_java", |
| "//chrome/browser/readaloud/android/resources:ui_strings_grd", |
| "//chrome/browser/ui/android/layouts:java", |
| "//chrome/browser/user_education:java", |
| "//components/browser_ui/bottomsheet/android:java", |
| "//components/browser_ui/styles/android:java", |
| "//components/feature_engagement/public:public_java", |
| "//components/prefs/android:java", |
| "//third_party/android_deps:material_design_java", |
| "//third_party/androidx:androidx_annotation_annotation_java", |
| "//third_party/androidx:androidx_appcompat_appcompat_java", |
| "//third_party/androidx:androidx_interpolator_interpolator_java", |
| "//ui/android:ui_java_resources", |
| "//ui/android:ui_no_recycler_view_java", |
| ] |
| resources_package = "org.chromium.chrome.browser.readaloud.player" |
| } |
| |
| robolectric_library("player_junit_java") { |
| testonly = true |
| sources = [ |
| "java/src/org/chromium/chrome/browser/readaloud/player/PlayerCoordinatorUnitTest.java", |
| "java/src/org/chromium/chrome/browser/readaloud/player/PlayerMediatorUnitTest.java", |
| "java/src/org/chromium/chrome/browser/readaloud/player/expanded/ExpandedPlayerCoordinatorUnitTest.java", |
| "java/src/org/chromium/chrome/browser/readaloud/player/expanded/ExpandedPlayerMediatorUnitTest.java", |
| "java/src/org/chromium/chrome/browser/readaloud/player/expanded/ExpandedPlayerSheetContentUnitTest.java", |
| "java/src/org/chromium/chrome/browser/readaloud/player/expanded/MenuSheetContentUnitTest.java", |
| "java/src/org/chromium/chrome/browser/readaloud/player/expanded/MenuUnitTest.java", |
| "java/src/org/chromium/chrome/browser/readaloud/player/expanded/OptionsMenuSheetContentUnitTest.java", |
| "java/src/org/chromium/chrome/browser/readaloud/player/expanded/SpeedMenuSheetContentUnitTest.java", |
| "java/src/org/chromium/chrome/browser/readaloud/player/expanded/VoiceMenuUnitTest.java", |
| "java/src/org/chromium/chrome/browser/readaloud/player/mini/MiniPlayerCoordinatorUnitTest.java", |
| "java/src/org/chromium/chrome/browser/readaloud/player/mini/MiniPlayerLayoutUnitTest.java", |
| "java/src/org/chromium/chrome/browser/readaloud/player/mini/MiniPlayerMediatorUnitTest.java", |
| ] |
| deps = [ |
| ":player_java", |
| ":test_support_java", |
| "//base:base_java", |
| "//base:base_java_test_support", |
| "//base:base_junit_test_support", |
| "//chrome/android/modules/readaloud/public:java", |
| "//chrome/browser/browser_controls/android:java", |
| "//chrome/browser/device:java", |
| "//chrome/browser/device:junit_test_support", |
| "//chrome/browser/flags:java", |
| "//chrome/browser/preferences:java", |
| "//chrome/browser/readaloud/android:java", |
| "//chrome/browser/readaloud/android:metrics_java", |
| "//chrome/browser/tab:java", |
| "//chrome/browser/ui/android/layouts:java", |
| "//chrome/browser/user_education:java", |
| "//components/browser_ui/bottomsheet/android:java", |
| "//components/browser_ui/styles/android:java", |
| "//components/prefs/android:java", |
| "//net/android:net_java", |
| "//third_party/androidx:androidx_annotation_annotation_java", |
| "//third_party/androidx:androidx_appcompat_appcompat_java", |
| "//third_party/androidx:androidx_interpolator_interpolator_java", |
| "//third_party/androidx:androidx_test_core_java", |
| "//third_party/androidx:androidx_test_espresso_espresso_core_java", |
| "//third_party/androidx:androidx_test_ext_junit_java", |
| "//third_party/hamcrest:hamcrest_core_java", |
| "//third_party/hamcrest:hamcrest_library_java", |
| "//third_party/jni_zero:jni_zero_java", |
| "//third_party/junit:junit", |
| "//third_party/mockito:mockito_java", |
| "//ui/android:ui_no_recycler_view_java", |
| ] |
| } |
| |
| static_library("native") { |
| sources = [ |
| "//chrome/browser/readaloud/android/prefs.cc", |
| "//chrome/browser/readaloud/android/prefs.h", |
| ] |
| |
| deps = [ |
| ":jni_headers", |
| "//base", |
| "//chrome/common:constants", |
| "//components/pref_registry", |
| "//components/prefs", |
| ] |
| |
| public_deps = [ ":features_jni_headers" ] |
| } |