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

filegroup {
    name: "services.core-sources-am-wm",
    srcs: [
        "java/com/android/server/am/**/*.java",
        "java/com/android/server/wm/**/*.java",
    ],
    path: "java",
    visibility: ["//frameworks/base/services"],
}

filegroup {
    name: "services.core-sources",
    srcs: ["java/**/*.java"],
    exclude_srcs: [
        ":services.core-sources-am-wm",
    ],
    path: "java",
    visibility: [
        "//frameworks/base/services",
        "//frameworks/base/core/java/com/android/internal/protolog",
    ],
}

genrule {
    name: "services.core.protologsrc",
    srcs: [
        ":protolog-groups",
        ":services.core-sources-am-wm",
    ],
    tools: ["protologtool"],
    cmd: "$(location protologtool) transform-protolog-calls " +
        "--protolog-class com.android.internal.protolog.common.ProtoLog " +
        "--protolog-impl-class com.android.internal.protolog.ProtoLogImpl " +
        "--protolog-cache-class 'com.android.server.wm.ProtoLogCache' " +
        "--loggroups-class com.android.internal.protolog.ProtoLogGroup " +
        "--loggroups-jar $(location :protolog-groups) " +
        "--output-srcjar $(out) " +
        "$(locations :services.core-sources-am-wm)",
    out: ["services.core.protolog.srcjar"],
}

genrule {
    name: "generate-protolog.json",
    srcs: [
        ":protolog-groups",
        ":services.core-sources-am-wm",
    ],
    tools: ["protologtool"],
    cmd: "$(location protologtool) generate-viewer-config " +
        "--protolog-class com.android.internal.protolog.common.ProtoLog " +
        "--loggroups-class com.android.internal.protolog.ProtoLogGroup " +
        "--loggroups-jar $(location :protolog-groups) " +
        "--viewer-conf $(out) " +
        "$(locations :services.core-sources-am-wm)",
    out: ["services.core.protolog.json"],
}

genrule {
    name: "checked-protolog.json",
    srcs: [
        ":generate-protolog.json",
        ":services.core.protolog.json",
    ],
    cmd: "cp $(location :generate-protolog.json) $(out) && " +
        "{ ! (diff $(out) $(location :services.core.protolog.json) | grep -q '^<') || " +
        "{ echo -e '\\n\\n################################################################\\n#\\n" +
        "#  ERROR: ProtoLog viewer config is stale.  To update it, run:\\n#\\n" +
        "#  cp $(location :generate-protolog.json) " +
        "$(location :services.core.protolog.json)\\n#\\n" +
        "################################################################\\n\\n' >&2 && false; } }",
    out: ["services.core.protolog.json"],
}

genrule {
    name: "statslog-art-java-gen",
    tools: ["stats-log-api-gen"],
    cmd: "$(location stats-log-api-gen) --java $(out) --module art" +
        " --javaPackage com.android.internal.art --javaClass ArtStatsLog --worksource",
    out: ["com/android/internal/art/ArtStatsLog.java"],
}

java_library_static {
    name: "services.core.unboosted",
    defaults: ["platform_service_defaults"],
    srcs: [
        ":statslog-art-java-gen",
        ":services.core-sources",
        ":services.core.protologsrc",
        ":dumpstate_aidl",
        ":framework_native_aidl",
        ":gsiservice_aidl",
        ":inputconstants_aidl",
        ":installd_aidl",
        ":storaged_aidl",
        ":vold_aidl",
        ":platform-compat-config",
        ":platform-compat-overrides",
        ":display-device-config",
        ":display-layout-config",
        ":device-state-config",
        "java/com/android/server/EventLogTags.logtags",
        "java/com/android/server/am/EventLogTags.logtags",
        "java/com/android/server/wm/EventLogTags.logtags",
        "java/com/android/server/policy/EventLogTags.logtags",
    ],

    libs: [
        "services.net",
        "android.hardware.light-V2.0-java",
        "android.hardware.gnss-V1-java",
        "android.hardware.power-V1-java",
        "android.hardware.power-V1.0-java",
        "android.hardware.vibrator-V2-java",
        "app-compat-annotations",
        "framework-tethering.stubs.module_lib",
        "service-permission.stubs.system_server",
    ],

    required: [
        "gps_debug.conf",
        "protolog.conf.json.gz",
    ],

    static_libs: [
        "time_zone_distro",
        "time_zone_distro_installer",
        "android.hardware.authsecret-V1.0-java",
        "android.hardware.boot-V1.0-java",
        "android.hardware.boot-V1.1-java",
        "android.hardware.boot-V1.2-java",
        "android.hardware.broadcastradio-V2.0-java",
        "android.hardware.health-V1.0-java",
        "android.hardware.health-V2.0-java",
        "android.hardware.health-V2.1-java",
        "android.hardware.light-V1-java",
        "android.hardware.tv.cec-V1.1-java",
        "android.hardware.weaver-V1.0-java",
        "android.hardware.biometrics.face-V1-java",
        "android.hardware.biometrics.face-V1.0-java",
        "android.hardware.biometrics.fingerprint-V2.3-java",
        "android.hardware.biometrics.fingerprint-V1-java",
        "android.hardware.oemlock-V1.0-java",
        "android.hardware.configstore-V1.0-java",
        "android.hardware.contexthub-V1.0-java",
        "android.hardware.rebootescrow-V1-java",
        "android.hardware.soundtrigger-V2.3-java",
        "android.hardware.power.stats-V1-java",
        "android.hidl.manager-V1.2-java",
        "capture_state_listener-aidl-java",
        "icu4j_calendar_astronomer",
        "netd-client",
        "overlayable_policy_aidl-java",
        "SurfaceFlingerProperties",
        "com.android.sysprop.watchdog",
    ],
    javac_shard_size: 50,
}

java_genrule {
    name: "services.core.priorityboosted",
    srcs: [":services.core.unboosted"],
    tools: ["lockedregioncodeinjection"],
    cmd: "$(location lockedregioncodeinjection) " +
        "  --targets \"Lcom/android/server/am/ActivityManagerService;,Lcom/android/server/am/ActivityManagerGlobalLock;,Lcom/android/server/wm/WindowManagerGlobalLock;\" " +
        "  --pre \"com/android/server/am/ActivityManagerService.boostPriorityForLockedSection,com/android/server/am/ActivityManagerService.boostPriorityForProcLockedSection,com/android/server/wm/WindowManagerService.boostPriorityForLockedSection\" " +
        "  --post \"com/android/server/am/ActivityManagerService.resetPriorityAfterLockedSection,com/android/server/am/ActivityManagerService.resetPriorityAfterProcLockedSection,com/android/server/wm/WindowManagerService.resetPriorityAfterLockedSection\" " +
        "  -o $(out) " +
        "  -i $(in)",
    out: ["services.core.priorityboosted.jar"],
}

java_library {
    name: "services.core",
    static_libs: ["services.core.priorityboosted"],
}

java_library_host {
    name: "core_cts_test_resources",
    srcs: ["java/com/android/server/notification/SmallHash.java"],
}

prebuilt_etc {
    name: "gps_debug.conf",
    src: "java/com/android/server/location/gnss/gps_debug.conf",
}

genrule {
    name: "services.core.json.gz",
    srcs: [":checked-protolog.json"],
    out: ["services.core.protolog.json.gz"],
    cmd: "$(location minigzip) -c < $(in) > $(out)",
    tools: ["minigzip"],
}

prebuilt_etc {
    name: "protolog.conf.json.gz",
    src: ":services.core.json.gz",
}

filegroup {
    name: "services.core-sources-deviceconfig-interface",
    srcs: [
        "java/com/android/server/utils/DeviceConfigInterface.java",
    ],
}
