1# Copyright 2020 The Chromium Authors. All rights reserved.
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
5import("//build/config/android/rules.gni")
6
7source_set("android") {
8  sources = [ "photo_picker_sandbox_bridge.cc" ]
9  deps = [
10    ":photo_picker_jni_headers",
11    "//base",
12    "//sandbox",
13    "//sandbox:sandbox_buildflags",
14  ]
15}
16
17android_library("java") {
18  sources = [
19    "java/src/org/chromium/components/browser_ui/photo_picker/BitmapScalerTask.java",
20    "java/src/org/chromium/components/browser_ui/photo_picker/BitmapUtils.java",
21    "java/src/org/chromium/components/browser_ui/photo_picker/DecodeVideoTask.java",
22    "java/src/org/chromium/components/browser_ui/photo_picker/DecoderServiceHost.java",
23    "java/src/org/chromium/components/browser_ui/photo_picker/FileEnumWorkerTask.java",
24    "java/src/org/chromium/components/browser_ui/photo_picker/ImageDecoder.java",
25    "java/src/org/chromium/components/browser_ui/photo_picker/PhotoPickerDialog.java",
26    "java/src/org/chromium/components/browser_ui/photo_picker/PhotoPickerToolbar.java",
27    "java/src/org/chromium/components/browser_ui/photo_picker/PickerAdapter.java",
28    "java/src/org/chromium/components/browser_ui/photo_picker/PickerBitmap.java",
29    "java/src/org/chromium/components/browser_ui/photo_picker/PickerBitmapView.java",
30    "java/src/org/chromium/components/browser_ui/photo_picker/PickerBitmapViewHolder.java",
31    "java/src/org/chromium/components/browser_ui/photo_picker/PickerCategoryView.java",
32    "java/src/org/chromium/components/browser_ui/photo_picker/PickerVideoPlayer.java",
33  ]
34  annotation_processor_deps = [ "//base/android/jni_generator:jni_processor" ]
35  resources_package = "org.chromium.components.browser_ui.photo_picker"
36  deps = [
37    ":java_resources",
38    "//base:base_java",
39    "//base:jni_java",
40    "//components/browser_ui/util/android:java",
41    "//components/browser_ui/widget/android:java",
42    "//content/public/android:content_java",
43    "//net/android:net_java",
44    "//third_party/android_deps:androidx_annotation_annotation_java",
45    "//third_party/android_deps:androidx_appcompat_appcompat_java",
46    "//third_party/android_deps:androidx_appcompat_appcompat_resources_java",
47    "//third_party/android_deps:androidx_core_core_java",
48    "//third_party/android_deps:androidx_recyclerview_recyclerview_java",
49    "//third_party/android_deps:androidx_vectordrawable_vectordrawable_java",
50    "//ui/android:ui_java",
51  ]
52  srcjar_deps = [ ":photo_picker_aidl" ]
53}
54
55generate_jni("photo_picker_jni_headers") {
56  sources = [ "java/src/org/chromium/components/browser_ui/photo_picker/ImageDecoder.java" ]
57}
58
59android_aidl("photo_picker_aidl") {
60  import_include =
61      [ "java/src/org/chromium/components/browser_ui/photo_picker" ]
62  sources = [
63    "java/src/org/chromium/components/browser_ui/photo_picker/IDecoderService.aidl",
64    "java/src/org/chromium/components/browser_ui/photo_picker/IDecoderServiceCallback.aidl",
65  ]
66}
67
68android_resources("java_resources") {
69  sources = [
70    "java/res/drawable/fast_forward_message_gradient.xml",
71    "java/res/drawable/file_picker_scrim.xml",
72    "java/res/drawable/ic_full_screen_exit_white_24dp.xml",
73    "java/res/drawable/ic_full_screen_white_24dp.xml",
74    "java/res/drawable/ic_pause_circle_outline_white_24dp.xml",
75    "java/res/drawable/ic_photo_camera_grey.xml",
76    "java/res/drawable/ic_play_circle_filled_white_24dp.xml",
77    "java/res/drawable/ic_volume_off_white_24dp.xml",
78    "java/res/drawable/ic_volume_on_white_24dp.xml",
79    "java/res/drawable/photo_picker_seekbar_thumb.xml",
80    "java/res/drawable/photo_picker_seekbar_track.xml",
81    "java/res/drawable/video_player_gradient.xml",
82    "java/res/drawable/zoom_in.xml",
83    "java/res/drawable/zoom_out.xml",
84    "java/res/layout/photo_picker_bitmap_view.xml",
85    "java/res/layout/photo_picker_dialog.xml",
86    "java/res/layout/photo_picker_toolbar.xml",
87    "java/res/layout/video_player.xml",
88    "java/res/values-night/colors.xml",
89    "java/res/values/colors.xml",
90    "java/res/values/dimens.xml",
91    "java/res/values/styles.xml",
92  ]
93  deps = [
94    "//components/browser_ui/strings/android:browser_ui_strings_grd",
95    "//components/browser_ui/styles/android:java_resources",
96    "//components/browser_ui/widget/android:java_resources",
97    "//ui/android:ui_java_resources",
98  ]
99}
100
101java_library("junit") {
102  # Skip platform checks since Robolectric depends on requires_android targets.
103  bypass_platform_checks = true
104  testonly = true
105  sources = [
106    "java/src/org/chromium/components/browser_ui/photo_picker/FileEnumWorkerTaskTest.java",
107    "java/src/org/chromium/components/browser_ui/photo_picker/PickerBitmapViewTest.java",
108  ]
109  deps = [
110    ":java",
111    "//base:base_java",
112    "//base:base_java_test_support",
113    "//base:base_junit_test_support",
114    "//base/test:test_support_java",
115    "//net/android:net_java",
116    "//third_party/android_deps:androidx_annotation_annotation_java",
117    "//third_party/android_deps:androidx_test_runner_java",
118    "//third_party/android_deps:robolectric_all_java",
119    "//third_party/junit",
120    "//third_party/mockito:mockito_java",
121    "//ui/android:ui_java",
122  ]
123}
124
125android_library("javatests") {
126  testonly = true
127
128  sources = [
129    "java/src/org/chromium/components/browser_ui/photo_picker/DecoderServiceHostTest.java",
130    "java/src/org/chromium/components/browser_ui/photo_picker/ImageDecoderTest.java",
131    "java/src/org/chromium/components/browser_ui/photo_picker/PhotoPickerDialogTest.java",
132    "java/src/org/chromium/components/browser_ui/photo_picker/TestImageDecoderService.java",
133  ]
134  deps = [
135    ":java",
136    ":java_resources",
137    "//base:base_java",
138    "//base:base_java_test_support",
139    "//chrome/test/android:chrome_java_test_support",
140    "//components/browser_ui/widget/android:java",
141    "//components/browser_ui/widget/android:test_support_java",
142    "//content/public/test/android:content_java_test_support",
143    "//third_party/android_deps:androidx_annotation_annotation_java",
144    "//third_party/android_deps:androidx_appcompat_appcompat_java",
145    "//third_party/android_deps:androidx_appcompat_appcompat_resources_java",
146    "//third_party/android_deps:androidx_core_core_java",
147    "//third_party/android_deps:androidx_recyclerview_recyclerview_java",
148    "//third_party/android_deps:androidx_test_runner_java",
149    "//third_party/android_support_test_runner:rules_java",
150    "//third_party/android_support_test_runner:runner_java",
151    "//third_party/hamcrest:hamcrest_java",
152    "//third_party/junit",
153    "//third_party/mockito:mockito_java",
154    "//ui/android:ui_java",
155    "//ui/android:ui_java_test_support",
156  ]
157  resources_package = "org.chromium.components.browser_ui.photo_picker.test"
158}
159