blob: 3aa7fac52d7143bb11b829e4ec283812585a4ec7 [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" ]
Hailey Wangd7e40e72024-05-14 01:34:0514 sources = [
15 "android/java/src/org/chromium/chrome/browser/data_sharing/DataSharingServiceFactory.java",
Ritika Gupta7dafbc12024-06-07 20:47:1916 "android/java/src/org/chromium/chrome/browser/data_sharing/DataSharingServiceFactoryBridge.java",
Hailey Wangd7e40e72024-05-14 01:34:0517 "android/java/src/org/chromium/chrome/browser/data_sharing/DataSharingUIDelegateAndroid.java",
18 ]
Tommy Nyquist46725ca2024-01-10 23:38:0219
20 deps = [
Ritika Gupta7dafbc12024-06-07 20:47:1921 ":delegate_java",
Hailey Wangd75fde392024-05-15 14:39:0022 ":java",
Tommy Nyquist46725ca2024-01-10 23:38:0223 "//base:base_java",
24 "//build/android:build_java",
25 "//chrome/browser/profiles/android:java",
26 "//components/data_sharing/public:public_java",
27 "//third_party/androidx:androidx_annotation_annotation_java",
28 "//third_party/jni_zero:jni_zero_java",
Hailey Wangd7e40e72024-05-14 01:34:0529 "//url:url_java",
Tommy Nyquist46725ca2024-01-10 23:38:0230 ]
31 }
32
Hailey Wang7a5701c2024-02-22 23:06:2033 android_resources("java_resources") {
34 sources = [
Hailey Wang13d252b42024-02-28 23:38:3635 "android/java/res/drawable/round_image_filled.xml",
ssidd2e137a2024-08-14 23:16:4736 "android/java/res/layout/data_sharing_bottom_sheet.xml",
Hailey Wangd9889552024-04-11 22:17:0637 "android/java/res/layout/data_sharing_invitation_dialog_footer.xml",
Hailey Wang7a5701c2024-02-22 23:06:2038 "android/java/res/layout/shared_image_tiles.xml",
Hailey Wang13d252b42024-02-28 23:38:3639 "android/java/res/layout/shared_image_tiles_count.xml",
Hailey Wang7a5701c2024-02-22 23:06:2040 "android/java/res/layout/shared_image_tiles_icon.xml",
41 "android/java/res/values/dimens.xml",
42 ]
43 }
44
ssidd2e137a2024-08-14 23:16:4745 android_library("tab_group_ui_java") {
46 resources_package = "org.chromium.chrome.browser.data_sharing"
47 sources = [
48 "android/java/src/org/chromium/chrome/browser/data_sharing/DataSharingTabManager.java",
49 "android/java/src/org/chromium/chrome/browser/data_sharing/DataSharingTabObserver.java",
50 "android/java/src/org/chromium/chrome/browser/data_sharing/DataSharingTabSwitcherDelegate.java",
51 "android/java/src/org/chromium/chrome/browser/data_sharing/TabGridDialogShareBottomSheetContent.java",
52 ]
53
54 deps = [
55 ":factory_java",
56 ":java_resources",
57 "//base:base_java",
58 "//chrome/browser/android/intents:java",
59 "//chrome/browser/notifications:java",
60 "//chrome/browser/profiles/android:java",
61 "//chrome/browser/share:java",
62 "//chrome/browser/tab:java",
63 "//chrome/browser/tab_group_sync:factory_java",
64 "//chrome/browser/ui/android/strings:ui_strings_grd",
65 "//components/browser_ui/bottomsheet/android:java",
66 "//components/browser_ui/notifications/android:java",
67 "//components/browser_ui/share/android:java",
68 "//components/browser_ui/styles/android:java_resources",
69 "//components/data_sharing/public:public_java",
70 "//components/saved_tab_groups:java",
71 "//third_party/android_sdk:android_window_extensions_java",
72 "//ui/android:ui_java",
73 "//url:url_java",
74 ]
75 }
76
Hailey Wang7a5701c2024-02-22 23:06:2077 android_library("java") {
78 resources_package = "org.chromium.chrome.browser.data_sharing"
Salvador Guerreroc0fd6b12024-07-18 19:00:1979 sources = [ "android/java/src/org/chromium/chrome/browser/data_sharing/DataSharingNotificationManager.java" ]
Hailey Wang7a5701c2024-02-22 23:06:2080
81 deps = [
Hailey Wangfdb703b32024-04-18 21:55:2882 "//base:base_java",
Hailey Wang477d71582024-04-04 20:16:3883 "//chrome/browser/android/intents:java",
Hailey Wangfe729972024-04-01 23:58:0984 "//chrome/browser/notifications:java",
Hailey Wangfdb703b32024-04-18 21:55:2885 "//chrome/browser/profiles/android:java",
86 "//chrome/browser/tab:java",
Hailey Wang13d252b42024-02-28 23:38:3687 "//chrome/browser/ui/android/strings:ui_strings_grd",
Hailey Wangfe729972024-04-01 23:58:0988 "//components/browser_ui/notifications/android:java",
89 "//components/browser_ui/styles/android:java_resources",
Hailey Wang7a5701c2024-02-22 23:06:2090 "//third_party/android_sdk:android_window_extensions_java",
Hailey Wangd75fde392024-05-15 14:39:0091 "//url:url_java",
Hailey Wang7a5701c2024-02-22 23:06:2092 ]
Hailey Wangfdb703b32024-04-18 21:55:2893
Ritika Gupta7dafbc12024-06-07 20:47:1994 public_deps = [ ":delegate_java" ]
Hailey Wangfdb703b32024-04-18 21:55:2895 }
96
Salvador Guerreroc0fd6b12024-07-18 19:00:1997 android_library("shared_image_tiles_java") {
98 resources_package =
99 "org.chromium.chrome.browser.data_sharing.ui.shared_image_tiles"
100 sources = [
101 "android/java/src/org/chromium/chrome/browser/data_sharing/ui/shared_image_tiles/SharedImageTilesCoordinator.java",
102 "android/java/src/org/chromium/chrome/browser/data_sharing/ui/shared_image_tiles/SharedImageTilesMediator.java",
103 "android/java/src/org/chromium/chrome/browser/data_sharing/ui/shared_image_tiles/SharedImageTilesProperties.java",
104 "android/java/src/org/chromium/chrome/browser/data_sharing/ui/shared_image_tiles/SharedImageTilesViewBinder.java",
105 ]
106
107 deps = [
108 ":java_resources",
109 "//chrome/browser/ui/android/strings:ui_strings_grd",
110 "//third_party/androidx:androidx_annotation_annotation_java",
111 "//ui/android:ui_no_recycler_view_java",
112 ]
113 }
114
115 android_library("invitation_dialog_java") {
116 resources_package =
117 "org.chromium.chrome.browser.data_sharing.ui.invitation_dialog"
118 sources = [
119 "android/java/src/org/chromium/chrome/browser/data_sharing/ui/invitation_dialog/DataSharingInvitationDialogCoordinator.java",
120 "android/java/src/org/chromium/chrome/browser/data_sharing/ui/invitation_dialog/DataSharingInvitationDialogMediator.java",
121 ]
122
123 deps = [
124 ":java_resources",
125 "//chrome/browser/ui/android/strings:ui_strings_grd",
126 "//third_party/androidx:androidx_annotation_annotation_java",
127 "//ui/android:ui_no_recycler_view_java",
128 ]
129 }
130
Ritika Gupta7dafbc12024-06-07 20:47:19131 android_library("delegate_java") {
Hailey Wangfdb703b32024-04-18 21:55:28132 sources = [
Ritika Gupta7dafbc12024-06-07 20:47:19133 "android/java/src/org/chromium/chrome/browser/data_sharing/DataSharingSDKDelegateImpl.java",
Hailey Wangfdb703b32024-04-18 21:55:28134 "android/java/src/org/chromium/chrome/browser/data_sharing/DataSharingUIDelegateImpl.java",
Ritika Gupta061326b2024-04-29 21:36:43135 "android/java/src/org/chromium/chrome/browser/data_sharing/MemberPickerListenerImpl.java",
Hailey Wangfdb703b32024-04-18 21:55:28136 ]
137
138 deps = [
139 "//base:base_java",
Ritika Guptaa58e7f342024-05-01 22:22:29140 "//build/android:build_java",
Hailey Wangfdb703b32024-04-18 21:55:28141 "//chrome/browser/profiles/android:java",
142 "//chrome/browser/tab:java",
ssid29634f02024-05-08 16:36:59143 "//components/data_sharing/public:public_java",
Ritika Gupta7dafbc12024-06-07 20:47:19144 "//components/data_sharing/public/protocol:proto_java",
145 "//third_party/android_deps:protobuf_lite_runtime_java",
Hailey Wangfdb703b32024-04-18 21:55:28146 "//third_party/androidx:androidx_annotation_annotation_java",
Hailey Wangd7e40e72024-05-14 01:34:05147 "//third_party/jni_zero:jni_zero_java",
148 "//url:url_java",
Hailey Wangfdb703b32024-04-18 21:55:28149 ]
Ritika Gupta23d5e012024-04-26 00:43:32150 if (defined(enable_data_sharing_internal) && enable_data_sharing_internal) {
Siddhartha S3604cf6a2024-07-12 07:50:40151 jar_excluded_patterns = [
152 "*/DataSharingSDKDelegateImpl.class",
153 "*/DataSharingUIDelegateImpl.class",
154 ]
Ritika Gupta23d5e012024-04-26 00:43:32155 }
Hailey Wang7a5701c2024-02-22 23:06:20156 }
157
ssid0eb171c2024-08-15 19:00:18158 android_library("delegate_public_impl_java") {
159 sources = [
160 "android/java/src/org/chromium/chrome/browser/data_sharing/DataSharingSDKDelegateImpl.java",
161 "android/java/src/org/chromium/chrome/browser/data_sharing/DataSharingUIDelegateImpl.java",
162 ]
163 deps = [
164 ":delegate_java",
165 "//base:base_java",
166 "//build/android:build_java",
167 "//chrome/browser/profiles/android:java",
168 "//chrome/browser/tab:java",
169 "//components/data_sharing/public:public_java",
170 "//components/data_sharing/public/protocol:proto_java",
171 "//third_party/android_deps:protobuf_lite_runtime_java",
172 "//third_party/androidx:androidx_annotation_annotation_java",
173 "//third_party/jni_zero:jni_zero_java",
174 "//url:url_java",
175 ]
176 }
177
Hailey Wangfe729972024-04-01 23:58:09178 robolectric_library("junit") {
Hailey Wangfdb703b32024-04-18 21:55:28179 sources = [ "android/java/src/org/chromium/chrome/browser/data_sharing/DataSharingNotificationManagerUnitTest.java" ]
Hailey Wangfe729972024-04-01 23:58:09180 deps = [
181 ":java",
182 "//base:base_java",
183 "//base:base_junit_test_support",
184 "//chrome/browser/notifications:java",
185 "//components/browser_ui/notifications/android:java",
186 "//third_party/android_deps:robolectric_all_java",
187 "//third_party/junit:junit",
188 "//third_party/mockito:mockito_java",
189 ]
190 }
191
Tommy Nyquist46725ca2024-01-10 23:38:02192 android_library("javatests") {
193 testonly = true
194
Hailey Wangd9889552024-04-11 22:17:06195 sources = [
Hailey Wangd9889552024-04-11 22:17:06196 "android/java/src/org/chromium/chrome/browser/data_sharing/DataSharingServiceFactoryTest.java",
Salvador Guerreroc0fd6b12024-07-18 19:00:19197 "android/java/src/org/chromium/chrome/browser/data_sharing/ui/invitation_dialog/DataSharingInvitationDialogTest.java",
Hailey Wangd9889552024-04-11 22:17:06198 ]
Tommy Nyquist46725ca2024-01-10 23:38:02199 deps = [
200 "//base:base_java",
201 "//base:base_java_test_support",
202 "//chrome/browser/data_sharing:factory_java",
203 "//chrome/browser/flags:java",
204 "//chrome/browser/profiles/android:java",
205 "//chrome/test/android:chrome_java_integration_test_support",
ssid40f455c2024-05-20 18:31:59206 "//components/data_sharing:test_support_java",
Tommy Nyquist46725ca2024-01-10 23:38:02207 "//components/data_sharing/public:public_java",
Hailey Wangd9889552024-04-11 22:17:06208 "//content/public/test/android:content_java_test_support",
Tommy Nyquist46725ca2024-01-10 23:38:02209 "//third_party/androidx:androidx_test_runner_java",
210 "//third_party/hamcrest:hamcrest_core_java",
211 "//third_party/hamcrest:hamcrest_library_java",
212 "//third_party/junit:junit",
Hailey Wangd9889552024-04-11 22:17:06213 "//third_party/mockito:mockito_java",
214 "//ui/android:ui_java",
215 "//ui/android:ui_java_test_support",
Tommy Nyquist46725ca2024-01-10 23:38:02216 ]
217 }
218
219 generate_jni("jni_headers") {
Hailey Wangd7e40e72024-05-14 01:34:05220 sources = [
221 "android/java/src/org/chromium/chrome/browser/data_sharing/DataSharingServiceFactory.java",
Ritika Gupta7dafbc12024-06-07 20:47:19222 "android/java/src/org/chromium/chrome/browser/data_sharing/DataSharingServiceFactoryBridge.java",
Hailey Wangd7e40e72024-05-14 01:34:05223 "android/java/src/org/chromium/chrome/browser/data_sharing/DataSharingUIDelegateAndroid.java",
224 ]
Tommy Nyquist46725ca2024-01-10 23:38:02225 }
226}