blob: c8fa11ea7f89dac6644b4d805e840363e1aa8432 [file] [log] [blame]
Tommy Nyquist46725ca2024-01-10 23:38:021# Copyright 2024 The Chromium Authors
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
5if (is_android) {
6 import("//build/config/android/config.gni")
7 import("//build/config/android/rules.gni")
8 import("//third_party/jni_zero/jni_zero.gni")
9}
10
11if (is_android) {
12 android_library("factory_java") {
13 srcjar_deps = [ ":jni_headers" ]
14 sources = [ "android/java/src/org/chromium/chrome/browser/data_sharing/DataSharingServiceFactory.java" ]
15
16 deps = [
Hailey Wangfdb703b32024-04-18 21:55:2817 ":ui_delegate_java",
Tommy Nyquist46725ca2024-01-10 23:38:0218 "//base:base_java",
19 "//build/android:build_java",
20 "//chrome/browser/profiles/android:java",
21 "//components/data_sharing/public:public_java",
22 "//third_party/androidx:androidx_annotation_annotation_java",
23 "//third_party/jni_zero:jni_zero_java",
24 ]
25 }
26
Hailey Wang7a5701c2024-02-22 23:06:2027 android_resources("java_resources") {
28 sources = [
Hailey Wang13d252b42024-02-28 23:38:3629 "android/java/res/drawable/round_image_filled.xml",
Hailey Wangd9889552024-04-11 22:17:0630 "android/java/res/layout/data_sharing_invitation_dialog_footer.xml",
Hailey Wang7a5701c2024-02-22 23:06:2031 "android/java/res/layout/shared_image_tiles.xml",
Hailey Wang13d252b42024-02-28 23:38:3632 "android/java/res/layout/shared_image_tiles_count.xml",
Hailey Wang7a5701c2024-02-22 23:06:2033 "android/java/res/layout/shared_image_tiles_icon.xml",
34 "android/java/res/values/dimens.xml",
35 ]
36 }
37
38 android_library("java") {
39 resources_package = "org.chromium.chrome.browser.data_sharing"
40 sources = [
Hailey Wangfdb703b32024-04-18 21:55:2841 "android/java/src/org/chromium/chrome/browser/data_sharing/DataSharingInvitationDialogCoordinator.java",
42 "android/java/src/org/chromium/chrome/browser/data_sharing/DataSharingInvitationDialogMediator.java",
43 "android/java/src/org/chromium/chrome/browser/data_sharing/DataSharingNotificationManager.java",
Hailey Wangfdb703b32024-04-18 21:55:2844 "android/java/src/org/chromium/chrome/browser/data_sharing/SharedImageTilesCoordinator.java",
45 "android/java/src/org/chromium/chrome/browser/data_sharing/SharedImageTilesMediator.java",
46 "android/java/src/org/chromium/chrome/browser/data_sharing/SharedImageTilesProperties.java",
47 "android/java/src/org/chromium/chrome/browser/data_sharing/SharedImageTilesViewBinder.java",
Hailey Wang7a5701c2024-02-22 23:06:2048 ]
49
50 deps = [
51 ":java_resources",
Hailey Wang477d71582024-04-04 20:16:3852 "//base:base_java",
Hailey Wangfdb703b32024-04-18 21:55:2853 "//base:base_java",
Hailey Wang477d71582024-04-04 20:16:3854 "//chrome/browser/android/intents:java",
Hailey Wangfe729972024-04-01 23:58:0955 "//chrome/browser/notifications:java",
Hailey Wangfdb703b32024-04-18 21:55:2856 "//chrome/browser/profiles/android:java",
57 "//chrome/browser/tab:java",
Hailey Wang13d252b42024-02-28 23:38:3658 "//chrome/browser/ui/android/strings:ui_strings_grd",
Hailey Wangfe729972024-04-01 23:58:0959 "//components/browser_ui/notifications/android:java",
60 "//components/browser_ui/styles/android:java_resources",
Hailey Wang7a5701c2024-02-22 23:06:2061 "//third_party/android_sdk:android_window_extensions_java",
Hailey Wangfdb703b32024-04-18 21:55:2862 "//third_party/androidx:androidx_annotation_annotation_java",
Hailey Wang7a5701c2024-02-22 23:06:2063 "//ui/android:ui_no_recycler_view_java",
64 ]
Hailey Wangfdb703b32024-04-18 21:55:2865
66 public_deps = [ ":ui_delegate_java" ]
67 }
68
69 android_library("ui_delegate_java") {
70 sources = [
71 "android/java/src/org/chromium/chrome/browser/data_sharing/DataSharingUIDelegate.java",
72 "android/java/src/org/chromium/chrome/browser/data_sharing/DataSharingUIDelegateImpl.java",
73 "android/java/src/org/chromium/chrome/browser/data_sharing/configs/AvatarConfig.java",
74 "android/java/src/org/chromium/chrome/browser/data_sharing/configs/GroupMemberConfig.java",
75 "android/java/src/org/chromium/chrome/browser/data_sharing/configs/MemberPickerConfig.java",
76 ]
77
78 deps = [
79 "//base:base_java",
80 "//chrome/browser/profiles/android:java",
81 "//chrome/browser/tab:java",
82 "//third_party/androidx:androidx_annotation_annotation_java",
83 ]
Ritika Gupta23d5e012024-04-26 00:43:3284 if (defined(enable_data_sharing_internal) && enable_data_sharing_internal) {
85 jar_excluded_patterns = [ "*/DataSharingUIDelegateImpl.class" ]
86 }
Hailey Wang7a5701c2024-02-22 23:06:2087 }
88
Hailey Wangfe729972024-04-01 23:58:0989 robolectric_library("junit") {
Hailey Wangfdb703b32024-04-18 21:55:2890 sources = [ "android/java/src/org/chromium/chrome/browser/data_sharing/DataSharingNotificationManagerUnitTest.java" ]
Hailey Wangfe729972024-04-01 23:58:0991 deps = [
92 ":java",
93 "//base:base_java",
94 "//base:base_junit_test_support",
95 "//chrome/browser/notifications:java",
96 "//components/browser_ui/notifications/android:java",
97 "//third_party/android_deps:robolectric_all_java",
98 "//third_party/junit:junit",
99 "//third_party/mockito:mockito_java",
100 ]
101 }
102
Tommy Nyquist46725ca2024-01-10 23:38:02103 android_library("javatests") {
104 testonly = true
105
Hailey Wangd9889552024-04-11 22:17:06106 sources = [
Hailey Wangfdb703b32024-04-18 21:55:28107 "android/java/src/org/chromium/chrome/browser/data_sharing/DataSharingInvitationDialogTest.java",
Hailey Wangd9889552024-04-11 22:17:06108 "android/java/src/org/chromium/chrome/browser/data_sharing/DataSharingServiceFactoryTest.java",
109 ]
Tommy Nyquist46725ca2024-01-10 23:38:02110 deps = [
111 "//base:base_java",
112 "//base:base_java_test_support",
113 "//chrome/browser/data_sharing:factory_java",
114 "//chrome/browser/flags:java",
115 "//chrome/browser/profiles/android:java",
116 "//chrome/test/android:chrome_java_integration_test_support",
117 "//components/data_sharing/public:public_java",
Hailey Wangd9889552024-04-11 22:17:06118 "//content/public/test/android:content_java_test_support",
Tommy Nyquist46725ca2024-01-10 23:38:02119 "//third_party/androidx:androidx_test_runner_java",
120 "//third_party/hamcrest:hamcrest_core_java",
121 "//third_party/hamcrest:hamcrest_library_java",
122 "//third_party/junit:junit",
Hailey Wangd9889552024-04-11 22:17:06123 "//third_party/mockito:mockito_java",
124 "//ui/android:ui_java",
125 "//ui/android:ui_java_test_support",
Tommy Nyquist46725ca2024-01-10 23:38:02126 ]
127 }
128
129 generate_jni("jni_headers") {
130 sources = [ "android/java/src/org/chromium/chrome/browser/data_sharing/DataSharingServiceFactory.java" ]
131 }
132}