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

// Defaults for platform code that runs inside system_server
java_defaults {
    name: "platform_service_defaults",
    plugins: ["error_prone_android_framework"],
    errorprone: {
        javacflags: [
            "-Xep:AndroidFrameworkCompatChange:ERROR",
            // "-Xep:AndroidFrameworkUid:ERROR",
            "-Xep:SelfEquals:ERROR",
            "-Xep:NullTernary:ERROR",
            "-Xep:TryFailThrowable:ERROR",
            "-Xep:HashtableContains:ERROR",
            "-Xep:FormatString:ERROR",
            "-Xep:ArrayHashCode:ERROR",
            "-Xep:SelfAssignment:ERROR",
            "-Xep:ArrayEquals:ERROR",
            "-Xep:IdentityBinaryExpression:ERROR",
            // NOTE: only enable to generate local patchfiles
            // "-XepPatchChecks:refaster:frameworks/base/errorprone/refaster/EfficientXml.java.refaster",
            // "-XepPatchLocation:/tmp/refaster/",
        ],
    },
    lint: {
        extra_check_modules: ["AndroidFrameworkLintChecker"],
    },
}

// Config to control optimizing and shrinking the services target using R8.
// Set via `export SYSTEM_OPTIMIZE_JAVA=true|false`, or explicitly in Make via the
// `SOONG_CONFIG_ANDROID_SYSTEM_OPTIMIZE_JAVA` variable.
soong_config_module_type {
    name: "system_optimized_java_defaults",
    module_type: "java_defaults",
    config_namespace: "ANDROID",
    bool_variables: [
        "SYSTEM_OPTIMIZE_JAVA",
        "FULL_SYSTEM_OPTIMIZE_JAVA",
    ],
    properties: [
        "optimize",
        "dxflags",
    ],
}

system_optimized_java_defaults {
    name: "services_java_defaults",
    soong_config_variables: {
        SYSTEM_OPTIMIZE_JAVA: {
            optimize: {
                enabled: true,
                // TODO(b/210510433): Enable optimizations after improving
                // retracing infra.
                // See also FULL_SYSTEM_OPTIMIZE_JAVA.
                optimize: false,
                shrink: true,
                ignore_warnings: false,
                proguard_compatibility: false,
                proguard_flags_files: [
                    "proguard.flags",
                    // Ensure classes referenced in the framework-res manifest
                    // and implemented in system_server are kept.
                    ":framework-res{.aapt.proguardOptionsFile}",
                ],
            },
            conditions_default: {
                optimize: {
                    enabled: true,
                    optimize: false,
                    shrink: true,
                    ignore_warnings: false,
                    // Note that this proguard config is very conservative, only shrinking the
                    // permission subpackage to prune unused jarjar'ed Kotlin dependencies.
                    proguard_flags_files: ["proguard_permission.flags"],
                },
                // Explicitly configure R8 to preserve debug info, as this path should
                // really only allow stripping of permission-specific code and deps.
                dxflags: ["--debug"],
            },
        },
        // Allow form factors to opt-in full system java optimization
        FULL_SYSTEM_OPTIMIZE_JAVA: {
            optimize: {
                optimize: true,
            },
        },
    },
}

filegroup {
    name: "services-main-sources",
    srcs: [
        "java/**/*.java",
        "java/**/package.html",
    ],
    path: "java",
    visibility: ["//visibility:private"],
}

filegroup {
    name: "services-non-updatable-sources",
    srcs: [
        ":incremental_aidl",
        ":services.core-aidl-sources",
        ":services.core-sources",
        ":services.core-sources-am-wm",
        "core/java/com/android/server/am/package.html",
        ":services.accessibility-sources",
        ":services.appprediction-sources",
        ":services.appwidget-sources",
        ":services.autofill-sources",
        ":services.backup-sources",
        ":services.companion-sources",
        ":services.contentcapture-sources",
        ":services.contentsuggestions-sources",
        ":services.contextualsearch-sources",
        ":services.coverage-sources",
        ":services.credentials-sources",
        ":services.devicepolicy-sources",
        ":services.midi-sources",
        ":services.musicsearch-sources",
        ":services.net-sources",
        ":services.permission-sources",
        ":services.print-sources",
        ":services.profcollect-sources",
        ":services.restrictions-sources",
        ":services.searchui-sources",
        ":services.smartspace-sources",
        ":services.soundtrigger-sources",
        ":services.systemcaptions-sources",
        ":services.translation-sources",
        ":services.texttospeech-sources",
        ":services.usage-sources",
        ":services.usb-sources",
        ":services.voiceinteraction-sources",
        ":services.wallpapereffectsgeneration-sources",
        ":services.wifi-sources",
        ":framework-pm-common-shared-srcs",
    ],
    visibility: ["//visibility:private"],
}

java_library {
    name: "Slogf",
    srcs: ["core/java/com/android/server/utils/Slogf.java"],
}

soong_config_module_type {
    name: "art_profile_java_defaults",
    module_type: "java_defaults",
    config_namespace: "art_profile",
    variables: ["services_profile_path"],
    properties: ["dex_preopt"],
}

soong_config_string_variable {
    name: "services_profile_path",
    values: ["art_wear_profile"],
}

art_profile_java_defaults {
    name: "art_profile_java_defaults",
    soong_config_variables: {
        services_profile_path: {
            art_wear_profile: {
                dex_preopt: {
                    app_image: true,
                    profile: "art-wear-profile",
                },
            },
            conditions_default: {
                dex_preopt: {
                    app_image: true,
                    profile: "art-profile",
                },
            },
        },
    },
}

// merge all required services into one jar
// ============================================================
java_library {
    name: "services",
    defaults: [
        "services_java_defaults",
        "art_profile_java_defaults",
    ],
    installable: true,

    exclude_kotlinc_generated_files: true,

    srcs: [":services-main-sources"],

    // The convention is to name each service module 'services.$(module_name)'
    static_libs: [
        "services.core",
        "services.accessibility",
        "services.appprediction",
        "services.appwidget",
        "services.autofill",
        "services.backup",
        "services.companion",
        "services.contentcapture",
        "services.contentsuggestions",
        "services.contextualsearch",
        "services.coverage",
        "services.credentials",
        "services.devicepolicy",
        "services.flags",
        "services.midi",
        "services.musicsearch",
        "services.net",
        "services.people",
        "services.permission",
        "services.print",
        "services.profcollect",
        "services.restrictions",
        "services.searchui",
        "services.smartspace",
        "services.soundtrigger",
        "services.systemcaptions",
        "services.translation",
        "services.texttospeech",
        "services.usage",
        "services.usb",
        "services.voiceinteraction",
        "services.wallpapereffectsgeneration",
        "services.wifi",
        "service-blobstore",
        "service-jobscheduler",
        "android.hidl.base-V1.0-java",
    ],

    libs: [
        "android.hidl.manager-V1.0-java",
        "framework-tethering.stubs.module_lib",
        "keepanno-annotations",
        "service-art.stubs.system_server",
        "service-permission.stubs.system_server",
        "service-rkp.stubs.system_server",
        "service-sdksandbox.stubs.system_server",
    ],

    vintf_fragments: [
        "manifest_services.xml",
    ],

    required: [
        "libukey2_jni_shared",
        "protolog.conf.json.gz",
        "core.protolog.pb",
    ],
    lint: {
        baseline_filename: "lint-baseline.xml",
    },

    // Uncomment to enable output of certain warnings (deprecated, unchecked)
    //javacflags: ["-Xlint"],
}

// native library
// =============================================================

cc_library_shared {
    name: "libandroid_servers",
    defaults: ["libservices.core-libs"],
    whole_static_libs: ["libservices.core"],
}

platform_compat_config {
    name: "services-platform-compat-config",
    src: ":services",
}

filegroup {
    name: "art-profile",
    srcs: ["art-profile"],
}

// API stub
// =============================================================

soong_config_module_type_import {
    from: "frameworks/base/api/Android.bp",
    module_types: ["non_updatable_exportable_droidstubs"],
}

stubs_defaults {
    name: "services-stubs-default",
    installable: false,
    flags: [
        "--show-annotation android.annotation.SystemApi\\(client=android.annotation.SystemApi.Client.SYSTEM_SERVER\\)",
        "--hide-annotation android.annotation.Hide",
        "--hide InternalClasses", // com.android.* classes are okay in this interface
        // TODO: remove the --hide options below
        "--hide DeprecationMismatch",
        "--hide HiddenTypedefConstant",
    ],
    visibility: ["//frameworks/base:__subpackages__"],
    filter_packages: ["com.android."],
}

non_updatable_exportable_droidstubs {
    name: "services-non-updatable-stubs",
    srcs: [":services-non-updatable-sources"],
    defaults: [
        "services-stubs-default",
    ],
    check_api: {
        current: {
            api_file: "api/current.txt",
            removed_api_file: "api/removed.txt",
        },
        api_lint: {
            enabled: true,
            new_since: ":android-non-updatable.api.system-server.latest",
            baseline_file: "api/lint-baseline.txt",
        },
    },
    soong_config_variables: {
        release_hidden_api_exportable_stubs: {
            dists: [
                {
                    targets: ["sdk"],
                    dir: "apistubs/android/system-server/api",
                    dest: "android-non-updatable.txt",
                    tag: ".exportable.api.txt",
                },
                {
                    targets: ["sdk"],
                    dir: "apistubs/android/system-server/api",
                    dest: "android-non-updatable-removed.txt",
                    tag: ".exportable.removed-api.txt",
                },
            ],
            conditions_default: {
                dists: [
                    {
                        targets: ["sdk"],
                        dir: "apistubs/android/system-server/api",
                        dest: "android-non-updatable.txt",
                        tag: ".api.txt",
                    },
                    {
                        targets: ["sdk"],
                        dir: "apistubs/android/system-server/api",
                        dest: "android-non-updatable-removed.txt",
                        tag: ".removed-api.txt",
                    },
                ],
            },
        },
    },
    api_surface: "system-server",
    sdk_version: "module_current",
    libs: [
        "framework-annotations-lib",
    ],
}
