summaryrefslogtreecommitdiff
path: root/packages/SettingsLib/Android.bp
blob: e5b58370e6dd52c6372618e4ffe4871f7c22b75c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
package {
    // See: http://go/android-license-faq
    // A large-scale-change added 'default_applicable_licenses' to import
    // all of the 'license_kinds' from "frameworks_base_license"
    // to get the below license kinds:
    //   SPDX-license-identifier-Apache-2.0
    default_applicable_licenses: ["frameworks_base_license"],
}

android_library {
    name: "SettingsLib",
    defaults: [
        "SettingsLibAvatarPickerDefaults",
        "SettingsLintDefaults",
    ],

    static_libs: [
        "androidx.localbroadcastmanager_localbroadcastmanager",
        "androidx.room_room-runtime",
        "androidx.sqlite_sqlite",
        "guava",
        "zxing-core",

        "//frameworks/libs/systemui:iconloader",
        "WifiTrackerLibRes",
        "setupdesign",

        "SettingsLibActionBarShadow",
        "SettingsLibActionButtonsPreference",
        "SettingsLibAdaptiveIcon",
        "SettingsLibAppPreference",
        "SettingsLibBannerMessagePreference",
        "SettingsLibBarChartPreference",
        "SettingsLibBulletPreference",
        "SettingsLibButtonPreference",
        "SettingsLibCardPreference",
        "SettingsLibCollapsingToolbarBaseActivity",
        "SettingsLibDeviceStateRotationLock",
        "SettingsLibDisplayUtils",
        "SettingsLibEmergencyNumber",
        "SettingsLibEntityHeaderWidgets",
        "SettingsLibExpandablePreference",
        "SettingsLibFooterPreference",
        "SettingsLibHelpUtils",
        "SettingsLibIllustrationPreference",
        "SettingsLibIntroPreference",
        "SettingsLibLayoutPreference",
        "SettingsLibMainSwitchPreference",
        "SettingsLibMetadata",
        "SettingsLibPreference",
        "SettingsLibProfileSelector",
        "SettingsLibProgressBar",
        "SettingsLibRestrictedLockUtils",
        "SettingsLibSearchWidget",
        "SettingsLibSegmentedButtonPreference",
        "SettingsLibSelectorWithWidgetPreference",
        "SettingsLibSettingsSpinner",
        "SettingsLibSettingsTransition",
        "SettingsLibSliderPreference",
        "SettingsLibStatusBannerPreference",
        "SettingsLibTopIntroPreference",
        "SettingsLibTwoTargetPreference",
        "SettingsLibUsageProgressBarPreference",
        "SettingsLibUtils",
        "SettingsLibZeroStatePreference",
        "settingslib_media_flags_lib",
    ],
    libs: [
        // This flag library has been added in frameworks jar
        "aconfig_settingslib_flags_java_lib",
        "wifi_framework_aconfig_flags_lib",
    ],
    plugins: ["androidx.room_room-compiler-plugin"],
    use_resource_processor: true,
    resource_dirs: ["res"],

    srcs: [
        "src/**/*.java",
        "src/**/*.kt",
        "src/**/I*.aidl",
    ],
    kotlincflags: ["-Xjvm-default=all"],
}

// defaults for lint option
java_defaults {
    name: "SettingsLintDefaults",
    lint: {
        extra_check_modules: [
            "SettingsLibLintChecker",
        ],
    },
}

// NOTE: Keep this module in sync with ./common.mk
java_defaults {
    name: "SettingsLibDefaults",
    static_libs: [
        "SettingsLib",
    ],
}

aconfig_declarations {
    name: "settingslib_media_flags",
    package: "com.android.settingslib.media.flags",
    container: "system",
    srcs: [
        "aconfig/settingslib_media_flag_declarations.aconfig",
    ],
}

java_aconfig_library {
    name: "settingslib_media_flags_lib",
    aconfig_declarations: "settingslib_media_flags",
}

soong_config_module_type {
    name: "avatar_picker_java_defaults",
    module_type: "java_defaults",
    config_namespace: "SettingsLib",
    bool_variables: [
        "legacy_avatar_picker_app_enabled",
    ],
    properties: [
        "manifest",
        "static_libs",
    ],
}

soong_config_bool_variable {
    name: "legacy_avatar_picker_app_enabled",
}

avatar_picker_java_defaults {
    name: "SettingsLibAvatarPickerDefaults",
    soong_config_variables: {
        // If flag is enabled, add the library
        legacy_avatar_picker_app_enabled: {
            static_libs: [
                "SettingsLibAvatarPicker",
            ],
        },
    },
}