- Also split impl and controller for ShellInit/ShellCommandHandler (as with ag/13502602) - Example implementation of exposing a subset of the Pip interface to Launcher directly. This has the benefit of reducing unnecessary code in SysUI just to pipe calls to the Shell. The controller implements the binder interface which is collected and exposed to Launcher when it binds to the overview service and Launcher can call through the binders directly. Note: this requires the shared lib to also build with the Shell interfaces so changes to the Shell aidls will still require updating the shared lib (until the shared lib prebuilt can removed). Bug: 180074017 Test: atest WMShellUnitTests Test: Verify Pip calls from Launcher work Change-Id: Id74114da6a6a73d32c957f84fce5bbe23e87ba01
135 lines
3.7 KiB
Plaintext
135 lines
3.7 KiB
Plaintext
// Copyright (C) 2019 The Android Open Source Project
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
|
|
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"],
|
|
}
|
|
|
|
// Begin ProtoLog
|
|
java_library {
|
|
name: "wm_shell_protolog-groups",
|
|
srcs: [
|
|
"src/com/android/wm/shell/protolog/ShellProtoLogGroup.java",
|
|
":protolog-common-src",
|
|
],
|
|
}
|
|
|
|
filegroup {
|
|
name: "wm_shell-sources",
|
|
srcs: [
|
|
"src/**/*.java",
|
|
],
|
|
path: "src",
|
|
}
|
|
|
|
filegroup {
|
|
name: "wm_shell-aidls",
|
|
srcs: [
|
|
"src/**/*.aidl",
|
|
],
|
|
path: "src",
|
|
}
|
|
|
|
// TODO(b/168581922) protologtool do not support kotlin(*.kt)
|
|
filegroup {
|
|
name: "wm_shell-sources-kt",
|
|
srcs: [
|
|
"src/**/*.kt",
|
|
],
|
|
path: "src",
|
|
}
|
|
|
|
genrule {
|
|
name: "wm_shell_protolog_src",
|
|
srcs: [
|
|
":wm_shell_protolog-groups",
|
|
":wm_shell-sources",
|
|
],
|
|
tools: ["protologtool"],
|
|
cmd: "$(location protologtool) transform-protolog-calls " +
|
|
"--protolog-class com.android.internal.protolog.common.ProtoLog " +
|
|
"--protolog-impl-class com.android.wm.shell.protolog.ShellProtoLogImpl " +
|
|
"--protolog-cache-class com.android.wm.shell.protolog.ShellProtoLogCache " +
|
|
"--loggroups-class com.android.wm.shell.protolog.ShellProtoLogGroup " +
|
|
"--loggroups-jar $(location :wm_shell_protolog-groups) " +
|
|
"--output-srcjar $(out) " +
|
|
"$(locations :wm_shell-sources)",
|
|
out: ["wm_shell_protolog.srcjar"],
|
|
}
|
|
|
|
genrule {
|
|
name: "generate-wm_shell_protolog.json",
|
|
srcs: [
|
|
":wm_shell_protolog-groups",
|
|
":wm_shell-sources",
|
|
],
|
|
tools: ["protologtool"],
|
|
cmd: "$(location protologtool) generate-viewer-config " +
|
|
"--protolog-class com.android.internal.protolog.common.ProtoLog " +
|
|
"--loggroups-class com.android.wm.shell.protolog.ShellProtoLogGroup " +
|
|
"--loggroups-jar $(location :wm_shell_protolog-groups) " +
|
|
"--viewer-conf $(out) " +
|
|
"$(locations :wm_shell-sources)",
|
|
out: ["wm_shell_protolog.json"],
|
|
}
|
|
// End ProtoLog
|
|
|
|
java_library {
|
|
name: "WindowManager-Shell-proto",
|
|
|
|
srcs: ["proto/*.proto"],
|
|
|
|
proto: {
|
|
type: "nano",
|
|
},
|
|
}
|
|
|
|
android_library {
|
|
name: "WindowManager-Shell",
|
|
srcs: [
|
|
":wm_shell_protolog_src",
|
|
// TODO(b/168581922) protologtool do not support kotlin(*.kt)
|
|
":wm_shell-sources-kt",
|
|
":wm_shell-aidls",
|
|
],
|
|
resource_dirs: [
|
|
"res",
|
|
],
|
|
java_resources: [
|
|
":generate-wm_shell_protolog.json"
|
|
],
|
|
static_libs: [
|
|
"androidx.appcompat_appcompat",
|
|
"androidx.arch.core_core-runtime",
|
|
"androidx.dynamicanimation_dynamicanimation",
|
|
"kotlinx-coroutines-android",
|
|
"kotlinx-coroutines-core",
|
|
"iconloader_base",
|
|
"jsr330",
|
|
"protolog-lib",
|
|
"SettingsLib",
|
|
"WindowManager-Shell-proto",
|
|
"jsr330"
|
|
],
|
|
kotlincflags: ["-Xjvm-default=enable"],
|
|
manifest: "AndroidManifest.xml",
|
|
|
|
min_sdk_version: "26",
|
|
}
|