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: [
        ":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
// ============================================================
soong_config_module_type {
    name: "system_java_library",
    module_type: "java_library",
    config_namespace: "system_services",
    bool_variables: ["without_vibrator"],
    properties: ["vintf_fragments"],
}

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

    soong_config_variables: {
        without_vibrator: {
            vintf_fragments: [
                "manifest_services.xml",
            ],
            conditions_default: {
                vintf_fragments: [
                    "manifest_services.xml",
                    "manifest_services_android.frameworks.vibrator.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",
}
