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"],
    default_team: "trendy_team_android_settings_app",
}

android_library {
    name: "SettingsLib",
    defaults: [
        "SettingsLibApexDefaults",
        "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",
        "SettingsLibCategory",
        "SettingsLibCollapsingToolbarBaseActivity",
        "SettingsLibDeviceStateRotationLock",
        "SettingsLibDisplayUtils",
        "SettingsLibEmergencyNumber",
        "SettingsLibEntityHeaderWidgets",
        "SettingsLibExpandablePreference",
        "SettingsLibFooterPreference",
        "SettingsLibHelpUtils",
        "SettingsLibIllustrationPreference",
        "SettingsLibIntroPreference",
        "SettingsLibLayoutPreference",
        "SettingsLibMainSwitchPreference",
        "SettingsLibMenuPreference",
        "SettingsLibMetadata",
        "SettingsLibPreference",
        "SettingsLibProfileSelector",
        "SettingsLibProgressBar",
        "SettingsLibRestrictedLockUtils",
        "SettingsLibSearchWidget",
        "SettingsLibSegmentedButtonPreference",
        "SettingsLibSelectorWithWidgetPreference",
        "SettingsLibSettingsSpinner",
        "SettingsLibSettingsTransition",
        "SettingsLibSliderPreference",
        "SettingsLibStatusBannerPreference",
        "SettingsLibTopIntroPreference",
        "SettingsLibTwoTargetPreference",
        "SettingsLibUsageProgressBarPreference",
        "SettingsLibUtils",
        "SettingsLibValuePreference",
        "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",
        "device_policy_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",
        ],
    },
}

// defaults for apex_available
java_defaults {
    name: "SettingsLibApexDefaults",
    apex_available: [
        "//apex_available:platform",
        "com.android.adservices",
        "com.android.cellbroadcast",
        "com.android.devicelock",
        "com.android.extservices",
        "com.android.healthfitness",
        "com.android.mediaprovider",
        "com.android.permission",
    ],
}

// 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",
}
