# Copyright 2024 The Chromium Authors # 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("//third_party/jni_zero/jni_zero.gni") } if (is_android) { android_library("internal_java") { srcjar_deps = [ ":internal_jni_headers" ] resources_package = "org.chromium.chrome.browser.collaboration" sources = [ "android/java/src/org/chromium/chrome/browser/collaboration/CollaborationControllerDelegateImpl.java" ] deps = [ ":factory_java", ":java_resources", "//base:base_java", "//chrome/browser/data_sharing:data_sharing_public_java", "//chrome/browser/data_sharing:versioning_java", "//chrome/browser/feature_engagement:java", "//chrome/browser/profiles/android:java", "//chrome/browser/settings:factory_java", "//chrome/browser/signin/services/android:java", "//chrome/browser/tab_group_sync:factory_java", "//chrome/browser/tab_ui/android:java", "//chrome/browser/tabmodel:java", "//chrome/browser/ui/android/signin:java", "//chrome/browser/ui/android/strings:ui_strings_grd", "//components/browser_ui/settings/android:java", "//components/browser_ui/widget/android:java", "//components/collaboration/public:java", "//components/data_sharing/public:public_java", "//components/data_sharing/public/protocol:proto_java", "//components/feature_engagement/public:public_java", "//components/saved_tab_groups/public:java", "//components/signin/public/android:java", "//components/strings:components_strings_grd", "//third_party/androidx:androidx_annotation_annotation_java", "//third_party/jni_zero:jni_zero_java", "//ui/android:ui_java", "//url:url_java", ] } android_resources("java_resources") { sources = [ "android/java/res/drawable-night/signin_logo.xml", "android/java/res/drawable/signin_logo.xml", ] deps = [ "//components/browser_ui/styles/android:java_resources" ] } android_library("utils_java") { resources_package = "org.chromium.chrome.browser.collaboration" sources = [ "android/java/src/org/chromium/chrome/browser/collaboration/CollaborationControllerDelegateFactory.java" ] deps = [ "//base:base_java", "//components/collaboration/public:java", "//components/data_sharing/public:public_java", "//third_party/androidx:androidx_annotation_annotation_java", ] } android_library("factory_java") { srcjar_deps = [ ":jni_headers" ] sources = [ "android/java/src/org/chromium/chrome/browser/collaboration/CollaborationServiceFactory.java" ] deps = [ "//base:base_java", "//build/android:build_java", "//chrome/browser/profiles/android:java", "//components/collaboration/public:java", "//third_party/androidx:androidx_annotation_annotation_java", "//third_party/jni_zero:jni_zero_java", ] } generate_jni("jni_headers") { sources = [ "android/java/src/org/chromium/chrome/browser/collaboration/CollaborationServiceFactory.java" ] } generate_jni("internal_jni_headers") { sources = [ "android/java/src/org/chromium/chrome/browser/collaboration/CollaborationControllerDelegateImpl.java" ] } generate_jni("comments_jni_headers") { sources = [ "android/java/src/org/chromium/chrome/browser/collaboration/comments/CommentsServiceFactory.java" ] } android_library("comments_factory_java") { srcjar_deps = [ ":comments_jni_headers" ] sources = [ "android/java/src/org/chromium/chrome/browser/collaboration/comments/CommentsServiceFactory.java" ] deps = [ "//base:base_java", "//build/android:build_java", "//chrome/browser/flags:java", "//chrome/browser/profiles/android:java", "//components/collaboration/public:java", "//third_party/androidx:androidx_annotation_annotation_java", "//third_party/jni_zero:jni_zero_java", ] } android_library("comments_test_support_java") { testonly = true sources = [ "android/java/src/org/chromium/chrome/browser/collaboration/comments/TestCommentsService.java" ] deps = [ "//base:base_java", "//components/collaboration/public:java", "//third_party/androidx:androidx_annotation_annotation_java", "//url:url_java", ] } android_library("comments_javatests") { testonly = true sources = [ "android/java/src/org/chromium/chrome/browser/collaboration/comments/CommentsServiceFactoryTest.java" ] deps = [ ":comments_factory_java", ":comments_test_support_java", "//base:base_java", "//base:base_java_test_support", "//chrome/browser/flags:java", "//chrome/browser/profiles/android:java", "//chrome/test/android:chrome_java_integration_test_support", "//chrome/test/android:chrome_java_transit", "//components/collaboration/public:java", "//third_party/androidx:androidx_test_runner_java", "//third_party/hamcrest:hamcrest_core_java", "//third_party/hamcrest:hamcrest_library_java", "//third_party/junit", ] } android_library("javatests") { testonly = true sources = [ "android/java/src/org/chromium/chrome/browser/collaboration/CollaborationServiceFactoryTest.java" ] deps = [ "//base:base_java", "//base:base_java_test_support", "//chrome/browser/collaboration:factory_java", "//chrome/browser/flags:java", "//chrome/browser/profiles/android:java", "//chrome/test/android:chrome_java_integration_test_support", "//chrome/test/android:chrome_java_transit", "//components/collaboration/public:java", "//components/data_sharing/public:public_java", "//components/saved_tab_groups/public:java", "//third_party/androidx:androidx_annotation_annotation_java", "//third_party/androidx:androidx_test_runner_java", "//third_party/hamcrest:hamcrest_core_java", "//third_party/hamcrest:hamcrest_library_java", "//third_party/junit", "//url:url_java", ] } generate_jni("messaging_jni_headers") { sources = [ "android/java/src/org/chromium/chrome/browser/collaboration/messaging/MessagingBackendServiceFactory.java" ] } android_library("messaging_factory_java") { srcjar_deps = [ ":messaging_jni_headers" ] sources = [ "android/java/src/org/chromium/chrome/browser/collaboration/messaging/MessagingBackendServiceFactory.java" ] deps = [ "//base:base_java", "//build/android:build_java", "//chrome/browser/flags:java", "//chrome/browser/profiles/android:java", "//components/collaboration/public:java", "//third_party/androidx:androidx_annotation_annotation_java", "//third_party/jni_zero:jni_zero_java", "//url:url_java", ] } android_library("messaging_test_support_java") { testonly = true deps = [ "//base:base_java", "//components/collaboration/public:java", "//components/saved_tab_groups/public:java", "//third_party/androidx:androidx_annotation_annotation_java", "//url:url_java", ] sources = [ "android/java/src/org/chromium/chrome/browser/collaboration/messaging/TestMessagingBackendService.java" ] } android_library("messaging_javatests") { testonly = true sources = [ "android/java/src/org/chromium/chrome/browser/collaboration/messaging/MessagingBackendServiceFactoryTest.java" ] deps = [ ":messaging_factory_java", ":messaging_test_support_java", "//base:base_java", "//base:base_java_test_support", "//chrome/browser/flags:java", "//chrome/browser/profiles/android:java", "//chrome/test/android:chrome_java_integration_test_support", "//chrome/test/android:chrome_java_transit", "//components/collaboration/public:java", "//third_party/androidx:androidx_test_runner_java", "//third_party/hamcrest:hamcrest_core_java", "//third_party/hamcrest:hamcrest_library_java", "//third_party/junit", ] } } source_set("collaboration") { sources = [ "collaboration_service_factory.h" ] public_deps = [ "//chrome/browser/profiles:profile" ] } source_set("impl") { sources = [ "collaboration_service_factory.cc" ] deps = [ ":collaboration", "//base", "//chrome/browser/data_sharing", "//chrome/browser/signin", "//chrome/browser/tab_group_sync:factories", "//components/collaboration/internal:core_internal", "//components/data_sharing/public:features", "//content/public/browser", ] if (is_android) { sources += [ "android/collaboration_controller_delegate_android.cc", "android/collaboration_controller_delegate_android.h", "android/collaboration_service_factory_android.cc", "android/comments/comments_service_factory_android.cc", "android/messaging/messaging_backend_service_factory_android.cc", ] deps += [ "//chrome/android:jni_headers", "//chrome/browser/collaboration/comments", "//chrome/browser/collaboration/messaging", "//components/collaboration/internal:comments_internal", "//components/collaboration/internal:messaging_internal", "//components/collaboration/public:conversion_utils", "//components/data_sharing/public:android_utils", "//components/saved_tab_groups/public:conversion_utils", ] } } source_set("unit_tests") { testonly = true sources = [ "collaboration_service_factory_unittest.cc" ] deps = [ ":collaboration", ":impl", "//base/test:test_support", "//chrome/browser/sync", "//chrome/browser/sync:factories", "//chrome/test:test_support", "//components/collaboration/internal:core_internal", "//components/data_sharing/public:features", "//components/sync:test_support", "//content/test:test_support", "//testing/gmock", "//testing/gtest", ] }