package {
    default_team: "trendy_team_android_settings_app",
    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",
        "SpaPrivilegedLib-defaults",
    ],

    srcs: [
        "src/**/*.java",
        "src/**/*.kt",
    ],
    resource_dirs: [
        "res",
        "res-export", // for external usage
        "res-product",
    ],
    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.compose.runtime_runtime-livedata",
        "androidx.activity_activity-ktx",
        "androidx.preference_preference",
        "androidx.recyclerview_recyclerview",
        "androidx.window_window",
        "com.google.android.material_material",
        "setupcompat",
        "setupdesign",
        "androidx.lifecycle_lifecycle-runtime",
        "androidx.lifecycle_lifecycle-viewmodel",
        "guava",
        "jsr305",
        "net-utils-framework-common",
        "app-usage-event-protos-lite",
        "battery-event-protos-lite",
        "battery-usage-slot-protos-lite",
        "power-anomaly-event-protos-lite",
        "settings-contextual-card-protos-lite",
        "settings-log-bridge-protos-lite",
        "settings-telephony-protos-lite",
        "fuelgauge-log-protos-lite",
        "fuelgauge-usage-state-protos-lite",
        "contextualcards",
        "securebox",
        "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",
        "androidx.room_room-runtime",
        "SystemUIUnfoldLib",
    ],

    plugins: ["androidx.room_room-compiler-plugin"],

    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",
        "SpaPrivilegedLib-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"],
}

// Deprecated. The sources for Settings need to be exposed to ArcSettings, so they can run the
// com.android.settingslib.search.IndexableProcessor over all the sources together.
// Use "-Acom.android.settingslib.search.processor.package=" instead to generate the search data
// separately for different modules.
filegroup {
    name: "Settings_srcs",
    srcs: [
        "src/**/*.java",
        "src/**/*.kt",
    ],
}

// Deprecated. Do not depend on this, only depend on Settings-core, and its manifest is also
// included.
filegroup {
    name: "Settings_manifest",
    srcs: ["AndroidManifest.xml"],
}
