1# Copyright 2015 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")
6import("//remoting/remoting_options.gni")
7
8template("remoting_android_client_java_tmpl") {
9  android_library(target_name) {
10    _sources_prefix = "//remoting/android/java/src/org/chromium/chromoting"
11    _sources = [
12      "ActivityLifecycleListener.java",
13      "AnimationJob.java",
14      "Capabilities.java",
15      "CapabilityManager.java",
16      "Chromoting.java",
17      "ChromotingDownloadManager.java",
18      "ChromotingUtil.java",
19      "ClientExtension.java",
20      "Desktop.java",
21      "DesktopCanvas.java",
22      "DesktopView.java",
23      "DummyActivityLifecycleListener.java",
24      "DummyClientExtension.java",
25      "Event.java",
26      "FlingAnimationJob.java",
27      "HostInfo.java",
28      "HostListAdapter.java",
29      "InputEventSender.java",
30      "InputFeedbackRadiusMapper.java",
31      "InputModeChangedEventParameter.java",
32      "InputMonitor.java",
33      "InputState.java",
34      "InputStrategyInterface.java",
35      "InputStub.java",
36      "NavigationMenuAdapter.java",
37      "OAuthTokenConsumer.java",
38      "Preconditions.java",
39      "PrivacyPolicyActivity.java",
40      "RenderData.java",
41      "RenderStub.java",
42      "ScaleEventParameter.java",
43      "SessionAuthenticator.java",
44      "SessionConnector.java",
45      "SimulatedTouchInputStrategy.java",
46      "SizeChangedEventParameter.java",
47      "SwipePinchDetector.java",
48      "SystemUiVisibilityChangedEventParameter.java",
49      "TapEventParameter.java",
50      "TapGestureDetector.java",
51      "TermsOfServiceActivity.java",
52      "ThirdPartyTokenFetcher.java",
53      "TouchEventParameter.java",
54      "TouchInputHandler.java",
55      "TouchInputStrategy.java",
56      "TrackpadInputStrategy.java",
57      "TwoPointsEventParameter.java",
58      "WebViewActivity.java",
59      "accountswitcher/AccountManagerCompat.java",
60      "accountswitcher/AccountSwitcher.java",
61      "accountswitcher/AccountSwitcherBase.java",
62      "accountswitcher/AccountSwitcherBasic.java",
63      "accountswitcher/AccountSwitcherFactory.java",
64      "base/OAuthTokenFetcher.java",
65      "help/CreditsActivity.java",
66      "help/FeedbackSender.java",
67      "help/HelpActivity.java",
68      "help/HelpAndFeedback.java",
69      "help/HelpAndFeedbackBasic.java",
70      "help/HelpContext.java",
71      "help/HelpSingleton.java",
72      "jni/Client.java",
73      "jni/ConnectionListener.java",
74      "jni/DirectoryService.java",
75      "jni/GlDisplay.java",
76      "jni/JniInterface.java",
77      "jni/JniOAuthTokenGetter.java",
78      "jni/NotificationPresenter.java",
79      "jni/TouchEventData.java",
80    ]
81
82    sources = rebase_path(_sources, ".", _sources_prefix)
83
84    deps = [
85      "//base:base_java",
86      "//base:jni_java",
87      "//remoting/android:remoting_android_client_java_resources",
88      "//remoting/android:remoting_apk_manifest",
89      "//remoting/proto/remoting/v1:directory_proto_java",
90      "//third_party/android_deps:android_support_v7_appcompat_java",
91      "//third_party/android_deps:androidx_annotation_annotation_java",
92      "//third_party/android_deps:androidx_drawerlayout_drawerlayout_java",
93      "//third_party/android_deps:androidx_lifecycle_lifecycle_common_java",
94      "//third_party/android_deps:androidx_mediarouter_mediarouter_java",
95      "//third_party/android_deps:protobuf_lite_runtime_java",
96      "//ui/android:ui_utils_java",
97    ]
98
99    resources_package = "org.chromium.chromoting"
100
101    annotation_processor_deps = [ "//base/android/jni_generator:jni_processor" ]
102
103    srcjar_deps = [ "//remoting/client/jni:jni_enums" ]
104
105    if (defined(invoker.play_services_package)) {
106      deps += [
107        "${invoker.play_services_package}:google_play_services_auth_base_java",
108        "${invoker.play_services_package}:google_play_services_base_java",
109        "${invoker.play_services_package}:google_play_services_basement_java",
110      ]
111    }
112
113    # TODO(agrieve): Convert downstream to use play_services_package.
114    if (defined(invoker.remoting_google_play_services_library)) {
115      deps += [ invoker.remoting_google_play_services_library ]
116    }
117  }
118}
119