package {
    default_applicable_licenses: ["packages_apps_Settings_license"],
}

// Added automatically by a large-scale-change
// See: http://go/android-license-faq
license {
    name: "packages_apps_Settings_license",
    visibility: [":__subpackages__"],
    license_kinds: [
        "SPDX-license-identifier-Apache-2.0",
    ],
    license_text: [
        "NOTICE",
    ],
}

java_library {
    name: "settings-logtags",
    srcs: ["src/**/*.logtags"],
}

genrule {
    name: "statslog-settings-java-gen",
    tools: ["stats-log-api-gen"],
    cmd: "$(location stats-log-api-gen) --java $(out) --module settings"
        + " --javaPackage com.android.settings.core.instrumentation --javaClass SettingsStatsLog",
    out: ["com/android/settings/core/instrumentation/SettingsStatsLog.java"],
}

java_library {
    name: "statslog-settings",
    srcs: [
        ":statslog-settings-java-gen",
    ],
}

java_library {
    name: "Settings-change-ids",
    srcs: ["src/com/android/settings/ChangeIds.java"],
    libs: [
        "app-compat-annotations",
    ],
}


// Build the Settings APK
android_library {
    name: "Settings-core",
    platform_apis: true,
    defaults: [
        "SettingsLibDefaults",
        "SettingsLib-search-defaults",
    ],

    srcs: ["src/**/*.java", "src/**/*.kt"],

    static_libs: [
        "androidx-constraintlayout_constraintlayout",
        "androidx.slice_slice-builders",
        "androidx.slice_slice-core",
        "androidx.slice_slice-view",
        "androidx.core_core",
        "androidx.appcompat_appcompat",
        "androidx.cardview_cardview",
        "androidx.preference_preference",
        "androidx.recyclerview_recyclerview",
        "androidx.window_window",
        "com.google.android.material_material",
        "setupcompat",
        "setupdesign",
        "androidx.lifecycle_lifecycle-runtime",
        "androidx.lifecycle_lifecycle-extensions",
        "guava",
        "jsr305",
        "net-utils-framework-common",
        "settings-contextual-card-protos-lite",
        "settings-log-bridge-protos-lite",
        "settings-telephony-protos-lite",
        "contextualcards",
        "settings-logtags",
        "statslog-settings",
        "zxing-core-1.7",
        "android.hardware.dumpstate-V1.0-java",
        "android.hardware.dumpstate-V1.1-java",
        "android.hardware.dumpstate-V1-java",
        "lottie",
        "WifiTrackerLib",
        "SettingsLibActivityEmbedding",
        "Settings-change-ids",
        "SystemUIUnfoldLib",
    ],

    libs: [
        "telephony-common",
        "ims-common",
    ],
}

platform_compat_config {
    name: "settings-platform-compat-config",
    src: ":Settings-change-ids",
    system_ext_specific: true,
}

android_app {
    name: "Settings",
    defaults: ["platform_app_defaults"],
    platform_apis: true,
    certificate: "platform",
    system_ext_specific: true,
    privileged: true,
    required: [
        "privapp_whitelist_com.android.settings",
        "settings-platform-compat-config",
    ],
    static_libs: ["Settings-core"],
    uses_libs: ["org.apache.http.legacy"],
    resource_dirs: [],
    optimize: {
        proguard_flags_files: ["proguard.flags"],
    },
}

android_library_import {
    name: "contextualcards",
    aars: ["libs/contextualcards.aar"],
}

filegroup {
    name: "Settings_proguard_flags",
    srcs: ["proguard.flags"],
}

// The sources for Settings need to be exposed to SettingsGoogle, etc.
// so they can run the com.android.settingslib.search.IndexableProcessor
// over all the sources together.
filegroup {
    name: "Settings_srcs",
    srcs: ["src/**/*.java", "src/**/*.kt"],
}

filegroup {
    name: "Settings_manifest",
    srcs: ["AndroidManifest.xml"],
}