1//
2// Copyright (C) 2018 The Android Open Source Project
3//
4// Licensed under the Apache License, Version 2.0 (the "License");
5// you may not use this file except in compliance with the License.
6// You may obtain a copy of the License at
7//
8//      http://www.apache.org/licenses/LICENSE-2.0
9//
10// Unless required by applicable law or agreed to in writing, software
11// distributed under the License is distributed on an "AS IS" BASIS,
12// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13// See the License for the specific language governing permissions and
14// limitations under the License.
15//
16
17java_library {
18    name: "SystemUI-proto",
19
20    srcs: ["src/**/*.proto"],
21
22    proto: {
23        type: "nano",
24    },
25}
26
27java_library {
28    name: "SystemUI-tags",
29    srcs: ["src/com/android/systemui/EventLogTags.logtags"],
30}
31
32android_library {
33    name: "SystemUI-core",
34    srcs: [
35        "src/**/*.kt",
36        "src/**/*.java",
37        "src/**/I*.aidl",
38    ],
39    resource_dirs: [
40        "res-keyguard",
41        "res",
42    ],
43    static_libs: [
44        "SystemUIPluginLib",
45        "SystemUISharedLib",
46        "SettingsLib",
47        "androidx.legacy_legacy-support-v4",
48        "androidx.recyclerview_recyclerview",
49        "androidx.preference_preference",
50        "androidx.appcompat_appcompat",
51        "androidx.mediarouter_mediarouter",
52        "androidx.palette_palette",
53        "androidx.legacy_legacy-preference-v14",
54        "androidx.leanback_leanback",
55        "androidx.slice_slice-core",
56        "androidx.slice_slice-view",
57        "androidx.slice_slice-builders",
58        "androidx.arch.core_core-runtime",
59        "androidx.lifecycle_lifecycle-extensions",
60        "androidx.dynamicanimation_dynamicanimation",
61        "androidx-constraintlayout_constraintlayout",
62        "iconloader_base",
63        "SystemUI-tags",
64        "SystemUI-proto",
65        "dagger2-2.19",
66        "jsr330"
67    ],
68    manifest: "AndroidManifest.xml",
69
70    libs: [
71        "telephony-common",
72    ],
73
74    aaptflags: [
75        "--extra-packages",
76        "com.android.keyguard",
77    ],
78
79    plugins: ["dagger2-compiler-2.19"],
80}
81
82android_library {
83    name: "SystemUI-tests",
84    manifest: "tests/AndroidManifest.xml",
85    resource_dirs: [
86        "tests/res",
87        "res-keyguard",
88        "res",
89    ],
90    srcs: [
91        "tests/src/**/*.kt",
92        "tests/src/**/*.java",
93        "src/**/*.kt",
94        "src/**/*.java",
95        "src/**/I*.aidl",
96    ],
97    static_libs: [
98        "SystemUIPluginLib",
99        "SystemUISharedLib",
100        "SettingsLib",
101        "androidx.legacy_legacy-support-v4",
102        "androidx.recyclerview_recyclerview",
103        "androidx.preference_preference",
104        "androidx.appcompat_appcompat",
105        "androidx.mediarouter_mediarouter",
106        "androidx.palette_palette",
107        "androidx.legacy_legacy-preference-v14",
108        "androidx.leanback_leanback",
109        "androidx.slice_slice-core",
110        "androidx.slice_slice-view",
111        "androidx.slice_slice-builders",
112        "androidx.arch.core_core-runtime",
113        "androidx.lifecycle_lifecycle-extensions",
114        "androidx.dynamicanimation_dynamicanimation",
115        "androidx-constraintlayout_constraintlayout",
116        "SystemUI-tags",
117        "SystemUI-proto",
118        "metrics-helper-lib",
119        "androidx.test.rules", "hamcrest-library",
120        "mockito-target-inline-minus-junit4",
121        "testables",
122        "truth-prebuilt",
123        "dagger2-2.19",
124        "jsr330"
125    ],
126    libs: [
127        "android.test.runner",
128        "telephony-common",
129        "android.test.base",
130    ],
131    aaptflags: [
132        "--extra-packages",
133        "com.android.keyguard:com.android.systemui",
134    ],
135    plugins: ["dagger2-compiler-2.19"],
136}
137
138android_app {
139    name: "SystemUI",
140    static_libs: [
141        "SystemUI-core",
142    ],
143    resource_dirs: [],
144
145    platform_apis: true,
146    product_specific: true,
147    certificate: "platform",
148    privileged: true,
149
150    optimize: {
151        proguard_flags_files: ["proguard.flags"],
152    },
153
154    libs: [
155        "telephony-common",
156    ],
157
158    dxflags: ["--multi-dex"],
159    aaptflags: [
160        "--extra-packages",
161        "com.android.keyguard",
162    ],
163    required: ["privapp_whitelist_com.android.systemui"],
164
165}
166
167// Only used for products that are shipping legacy Recents
168android_app {
169    name: "SystemUIWithLegacyRecents",
170    overrides: [
171        "SystemUI",
172    ],
173
174    platform_apis: true,
175    certificate: "platform",
176    privileged: true,
177
178    dxflags: ["--multi-dex"],
179    aaptflags: [
180        "--extra-packages",
181        "com.android.keyguard",
182    ],
183    optimize: {
184        proguard_flags_files: ["proguard.flags", "legacy/recents/proguard.flags"],
185    },
186
187    static_libs: [
188        "SystemUI-core",
189    ],
190    libs: [
191        "telephony-common",
192    ],
193
194    srcs: [
195        "legacy/recents/src/**/*.java",
196        "legacy/recents/src/**/I*.aidl",
197    ],
198    resource_dirs: [
199        "legacy/recents/res",
200    ],
201
202    manifest: "legacy/recents/AndroidManifest.xml",
203}
204