1package {
2    default_team: "trendy_team_android_settings_app",
3    default_applicable_licenses: ["packages_apps_Settings_license"],
4}
5
6// Added automatically by a large-scale-change
7// See: http://go/android-license-faq
8license {
9    name: "packages_apps_Settings_license",
10    visibility: [":__subpackages__"],
11    license_kinds: [
12        "SPDX-license-identifier-Apache-2.0",
13    ],
14    license_text: [
15        "NOTICE",
16    ],
17}
18
19java_library {
20    name: "settings-logtags",
21    srcs: ["src/**/*.logtags"],
22}
23
24genrule {
25    name: "statslog-settings-java-gen",
26    tools: ["stats-log-api-gen"],
27    cmd: "$(location stats-log-api-gen) --java $(out) --module settings" +
28        " --javaPackage com.android.settings.core.instrumentation --javaClass SettingsStatsLog",
29    out: ["com/android/settings/core/instrumentation/SettingsStatsLog.java"],
30}
31
32java_library {
33    name: "statslog-settings",
34    srcs: [
35        ":statslog-settings-java-gen",
36    ],
37}
38
39java_library {
40    name: "Settings-change-ids",
41    srcs: ["src/com/android/settings/ChangeIds.java"],
42    libs: [
43        "app-compat-annotations",
44    ],
45}
46
47android_library {
48    name: "Settings-core",
49    defaults: [
50        "SettingsLib-search-defaults",
51        "SettingsLintDefaults",
52        "SpaPrivilegedLib-defaults",
53    ],
54
55    srcs: [
56        "src/**/*.java",
57        "src/**/*.kt",
58    ],
59    exclude_srcs: [
60        "src/com/android/settings/biometrics/fingerprint2/lib/**/*.kt",
61    ],
62    use_resource_processor: true,
63    resource_dirs: [
64        "res",
65        "res-export", // for external usage
66        "res-product",
67    ],
68    static_libs: [
69        // External dependencies
70        "androidx.navigation_navigation-fragment-ktx",
71        "androidx.slice_slice-builders",
72        "androidx.slice_slice-core",
73        "androidx.slice_slice-view",
74        "androidx.window_window-java",
75        "gson",
76        "guava",
77
78        // Android internal dependencies
79        "BiometricsSharedLib",
80        "SystemUIUnfoldLib",
81        "WifiTrackerLib",
82        "android.hardware.biometrics.flags-aconfig-java",
83        "android.hardware.dumpstate-V1-java",
84        "android.hardware.dumpstate-V1.0-java",
85        "android.hardware.dumpstate-V1.1-java",
86        "com_android_server_accessibility_flags_lib",
87        "net-utils-framework-common",
88        "notification_flags_lib",
89        "securebox",
90        "//frameworks/libs/systemui:com_android_systemui_shared_flags_lib",
91        "WindowManager-Shell-shared-desktopMode",
92
93        // Settings dependencies
94        "FingerprintManagerInteractor",
95        "MediaDrmSettingsFlagsLib",
96        "Settings-change-ids",
97        "SettingsLib",
98        "SettingsLibActivityEmbedding",
99        "SettingsLibDataStore",
100        "SettingsLibMetadata",
101        "SettingsLibPreference",
102        "SettingsLibService",
103        "aconfig_settings_flags_lib",
104        "accessibility_settings_flags_lib",
105        "contextualcards",
106        "development_settings_flag_lib",
107        "factory_reset_flags_lib",
108        "settings-protos-lite",
109        "fuelgauge-protos-lite",
110        "settings-logtags",
111        "statslog-settings",
112        "setupdesign-lottie-loading-layout",
113        "device_policy_aconfig_flags_lib",
114        "keyboard_flags_lib",
115    ],
116
117    plugins: [
118        "SettingsLibMetadata-processor",
119        "androidx.room_room-compiler-plugin",
120    ],
121
122    errorprone: {
123        extra_check_modules: ["//external/nullaway:nullaway_plugin"],
124        javacflags: [
125            "-XepOpt:NullAway:AnnotatedPackages=com.android.settings",
126        ],
127    },
128
129    libs: [
130        "telephony-common",
131        "ims-common",
132    ],
133    flags_packages: [
134        "aconfig_settings_flags",
135        "aconfig_settingslib_flags",
136        "android.app.flags-aconfig",
137        "android.provider.flags-aconfig",
138        "android.security.flags-aconfig",
139        "keyboard_flags",
140    ],
141}
142
143platform_compat_config {
144    name: "settings-platform-compat-config",
145    src: ":Settings-change-ids",
146    system_ext_specific: true,
147}
148
149// Build the Settings APK
150android_app {
151    name: "Settings",
152    defaults: [
153        "platform_app_defaults",
154        "SpaPrivilegedLib-defaults",
155    ],
156    platform_apis: true,
157    certificate: "platform",
158    system_ext_specific: true,
159    privileged: true,
160    required: [
161        "privapp_whitelist_com.android.settings",
162        "settings-platform-compat-config",
163    ],
164    static_libs: ["Settings-core"],
165    uses_libs: ["org.apache.http.legacy"],
166    use_resource_processor: true,
167    resource_dirs: [],
168    optimize: {
169        proguard_flags_files: ["proguard.flags"],
170    },
171    flags_packages: [
172        "android.app.flags-aconfig",
173    ],
174}
175
176android_library_import {
177    name: "contextualcards",
178    aars: ["libs/contextualcards.aar"],
179}
180
181filegroup {
182    name: "Settings_proguard_flags",
183    srcs: ["proguard.flags"],
184}
185