xref: /aosp_15_r20/frameworks/base/packages/SettingsLib/Android.bp (revision d57664e9bc4670b3ecf6748a746a57c557b6bc9e)
1package {
2    // See: http://go/android-license-faq
3    // A large-scale-change added 'default_applicable_licenses' to import
4    // all of the 'license_kinds' from "frameworks_base_license"
5    // to get the below license kinds:
6    //   SPDX-license-identifier-Apache-2.0
7    default_applicable_licenses: ["frameworks_base_license"],
8}
9
10android_library {
11    name: "SettingsLib",
12    defaults: [
13        "SettingsLintDefaults",
14        "SettingsLibAvatarPickerDefaults",
15    ],
16
17    static_libs: [
18        "androidx.localbroadcastmanager_localbroadcastmanager",
19        "androidx.room_room-runtime",
20        "androidx.sqlite_sqlite",
21        "zxing-core",
22        "guava",
23
24        "WifiTrackerLibRes",
25        "//frameworks/libs/systemui:iconloader",
26        "setupdesign",
27
28        "SettingsLibActionBarShadow",
29        "SettingsLibActionButtonsPreference",
30        "SettingsLibAdaptiveIcon",
31        "SettingsLibAppPreference",
32        "SettingsLibBannerMessagePreference",
33        "SettingsLibBarChartPreference",
34        "SettingsLibButtonPreference",
35        "SettingsLibBulletPreference",
36        "SettingsLibCardPreference",
37        "SettingsLibCollapsingToolbarBaseActivity",
38        "SettingsLibDeviceStateRotationLock",
39        "SettingsLibDisplayUtils",
40        "SettingsLibEmergencyNumber",
41        "SettingsLibEntityHeaderWidgets",
42        "SettingsLibExpandablePreference",
43        "SettingsLibFooterPreference",
44        "SettingsLibHelpUtils",
45        "SettingsLibIllustrationPreference",
46        "SettingsLibIntroPreference",
47        "SettingsLibLayoutPreference",
48        "SettingsLibMainSwitchPreference",
49        "SettingsLibProfileSelector",
50        "SettingsLibProgressBar",
51        "SettingsLibRestrictedLockUtils",
52        "SettingsLibSearchWidget",
53        "SettingsLibSelectorWithWidgetPreference",
54        "SettingsLibSettingsSpinner",
55        "SettingsLibSettingsTransition",
56        "SettingsLibSliderPreference",
57        "SettingsLibStatusBannerPreference",
58        "SettingsLibTopIntroPreference",
59        "SettingsLibTwoTargetPreference",
60        "SettingsLibUsageProgressBarPreference",
61        "SettingsLibUtils",
62        "SettingsLibZeroStatePreference",
63        "settingslib_media_flags_lib",
64    ],
65    libs:[
66        // This flag library has been added in frameworks jar
67        "aconfig_settingslib_flags_java_lib",
68    ],
69    plugins: ["androidx.room_room-compiler-plugin"],
70    use_resource_processor: true,
71    resource_dirs: ["res"],
72
73    srcs: [
74        "src/**/*.java",
75        "src/**/*.kt",
76        "src/**/I*.aidl",
77    ],
78}
79
80// defaults for lint option
81java_defaults {
82    name: "SettingsLintDefaults",
83    lint: {
84        extra_check_modules: [
85            "SettingsLibLintChecker",
86        ],
87    },
88}
89
90// NOTE: Keep this module in sync with ./common.mk
91java_defaults {
92    name: "SettingsLibDefaults",
93    static_libs: [
94        "SettingsLib",
95    ],
96}
97
98aconfig_declarations {
99    name: "settingslib_media_flags",
100    package: "com.android.settingslib.media.flags",
101    container: "system",
102    srcs: [
103        "aconfig/settingslib_media_flag_declarations.aconfig",
104    ],
105}
106
107java_aconfig_library {
108    name: "settingslib_media_flags_lib",
109    aconfig_declarations: "settingslib_media_flags",
110}
111
112soong_config_module_type {
113    name: "avatar_picker_java_defaults",
114    module_type: "java_defaults",
115    config_namespace: "SettingsLib",
116    bool_variables: [
117        "legacy_avatar_picker_app_enabled",
118    ],
119    properties: [
120        "static_libs",
121        "manifest",
122    ],
123}
124
125soong_config_bool_variable {
126    name: "legacy_avatar_picker_app_enabled",
127}
128
129avatar_picker_java_defaults {
130    name: "SettingsLibAvatarPickerDefaults",
131    soong_config_variables: {
132        // If flag is enabled, add the library
133        legacy_avatar_picker_app_enabled: {
134            static_libs: [
135                "SettingsLibAvatarPicker",
136            ],
137        },
138    },
139}
140