blob: e624441ca777171ecb0088c53b322c19d7ba042b [file] [log] [blame]
//
// Copyright (C) 2018 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 {
default_applicable_licenses: ["frameworks_base_packages_SystemUI_license"],
}
// Added automatically by a large-scale-change
// See: http://go/android-license-faq
license {
name: "frameworks_base_packages_SystemUI_license",
visibility: [":__subpackages__"],
license_kinds: [
"SPDX-license-identifier-Apache-2.0",
],
license_text: [
"NOTICE",
],
}
java_library {
name: "SystemUI-proto",
srcs: ["src/**/*.proto"],
proto: {
type: "nano",
},
libs: [
"WindowManager-Shell-proto",
],
}
java_library {
name: "SystemUI-tags",
srcs: ["src/com/android/systemui/EventLogTags.logtags"],
}
filegroup {
name: "ReleaseJavaFiles",
srcs: [
"src-release/**/*.kt",
"src-release/**/*.java",
],
}
filegroup {
name: "DebugJavaFiles",
srcs: [
"src-debug/**/*.kt",
"src-debug/**/*.java",
],
}
android_library {
name: "SystemUI-core",
srcs: [
"src/**/*.kt",
"src/**/*.java",
"src/**/I*.aidl",
":ReleaseJavaFiles",
],
product_variables: {
debuggable: {
srcs: [":DebugJavaFiles"],
exclude_srcs: [":ReleaseJavaFiles"],
},
},
resource_dirs: [
"res-product",
"res-keyguard",
"res",
],
static_libs: [
"WifiTrackerLib",
"WindowManager-Shell",
"SystemUIAnimationLib",
"SystemUIPluginLib",
"SystemUISharedLib",
"SystemUICustomizationLib",
"SystemUI-statsd",
"SettingsLib",
"androidx.core_core-ktx",
"androidx.viewpager2_viewpager2",
"androidx.legacy_legacy-support-v4",
"androidx.recyclerview_recyclerview",
"androidx.preference_preference",
"androidx.appcompat_appcompat",
"androidx.concurrent_concurrent-futures",
"androidx.mediarouter_mediarouter",
"androidx.palette_palette",
"androidx.legacy_legacy-preference-v14",
"androidx.leanback_leanback",
"androidx.slice_slice-core",
"androidx.slice_slice-view",
"androidx.slice_slice-builders",
"androidx.arch.core_core-runtime",
"androidx.lifecycle_lifecycle-common-java8",
"androidx.lifecycle_lifecycle-extensions",
"androidx.lifecycle_lifecycle-runtime-ktx",
"androidx.dynamicanimation_dynamicanimation",
"androidx-constraintlayout_constraintlayout",
"androidx.exifinterface_exifinterface",
"androidx.test.ext.junit",
"com.google.android.material_material",
"kotlinx_coroutines_android",
"kotlinx_coroutines",
"iconloader_base",
"SystemUI-tags",
"SystemUI-proto",
"monet",
"dagger2",
"jsr330",
"lottie",
"LowLightDreamLib",
"motion_tool_lib",
],
manifest: "AndroidManifest.xml",
kotlincflags: ["-Xjvm-default=enable"],
plugins: ["dagger2-compiler"],
lint: {
extra_check_modules: ["SystemUILintChecker"],
},
}
filegroup {
name: "AAA-src",
srcs: ["tests/src/com/android/AAAPlusPlusVerifySysuiRequiredTestPropertiesTest.java"],
path: "tests/src",
}
filegroup {
name: "SystemUI-tests-utils",
srcs: [
"tests/utils/src/**/*.java",
"tests/utils/src/**/*.kt",
],
path: "tests/utils/src",
}
java_library {
name: "SystemUI-tests-concurrency",
srcs: [
"src/com/android/systemui/util/concurrency/DelayableExecutor.java",
"src/com/android/systemui/util/time/SystemClock.java",
"tests/utils/src/com/android/systemui/util/concurrency/FakeExecutor.java",
"tests/utils/src/com/android/systemui/util/time/FakeSystemClock.java",
],
jarjar_rules: ":jarjar-rules-shared",
}
android_library {
name: "SystemUI-tests-base",
manifest: "tests/AndroidManifest-base.xml",
resource_dirs: [
"tests/res",
"res-product",
"res-keyguard",
"res",
],
static_libs: [
"WifiTrackerLib",
"SystemUIAnimationLib",
"SystemUIPluginLib",
"SystemUISharedLib",
"SystemUICustomizationLib",
"SystemUI-statsd",
"SettingsLib",
"androidx.viewpager2_viewpager2",
"androidx.legacy_legacy-support-v4",
"androidx.recyclerview_recyclerview",
"androidx.preference_preference",
"androidx.appcompat_appcompat",
"androidx.concurrent_concurrent-futures",
"androidx.mediarouter_mediarouter",
"androidx.palette_palette",
"androidx.legacy_legacy-preference-v14",
"androidx.leanback_leanback",
"androidx.slice_slice-core",
"androidx.slice_slice-view",
"androidx.slice_slice-builders",
"androidx.arch.core_core-runtime",
"androidx.lifecycle_lifecycle-common-java8",
"androidx.lifecycle_lifecycle-extensions",
"androidx.lifecycle_lifecycle-runtime-ktx",
"androidx.dynamicanimation_dynamicanimation",
"androidx-constraintlayout_constraintlayout",
"androidx.exifinterface_exifinterface",
"kotlinx-coroutines-android",
"kotlinx-coroutines-core",
"kotlinx_coroutines_test",
"kotlin-reflect",
"iconloader_base",
"SystemUI-tags",
"SystemUI-proto",
"metrics-helper-lib",
"hamcrest-library",
"androidx.test.rules",
"testables",
"truth-prebuilt",
"monet",
"dagger2",
"jsr330",
"WindowManager-Shell",
"LowLightDreamLib",
"motion_tool_lib",
],
}
android_library {
name: "SystemUI-tests",
manifest: "tests/AndroidManifest-base.xml",
additional_manifests: ["tests/AndroidManifest.xml"],
srcs: [
"tests/src/**/*.kt",
"tests/src/**/*.java",
"src/**/*.kt",
"src/**/*.java",
"src/**/I*.aidl",
":ReleaseJavaFiles",
":SystemUI-tests-utils",
],
static_libs: [
"SystemUI-tests-base",
"androidx.test.uiautomator",
"mockito-target-extended-minus-junit4",
"androidx.test.ext.junit",
],
libs: [
"android.test.runner",
"android.test.base",
"android.test.mock",
],
kotlincflags: ["-Xjvm-default=enable"],
aaptflags: [
"--extra-packages",
"com.android.systemui",
],
plugins: ["dagger2-compiler"],
}
android_app {
name: "SystemUIRobo-stub",
defaults: [
"platform_app_defaults",
"SystemUI_app_defaults",
],
manifest: "tests/AndroidManifest-base.xml",
static_libs: [
"SystemUI-tests-base",
],
aaptflags: [
"--extra-packages",
"com.android.systemui",
],
dont_merge_manifests: true,
platform_apis: true,
system_ext_specific: true,
certificate: "platform",
privileged: true,
resource_dirs: [],
}
android_robolectric_test {
name: "SystemUiRoboTests",
srcs: [
"tests/robolectric/src/**/*.kt",
"tests/robolectric/src/**/*.java",
],
libs: [
"android.test.runner",
"android.test.base",
"android.test.mock",
"truth-prebuilt",
],
kotlincflags: ["-Xjvm-default=enable"],
instrumentation_for: "SystemUIRobo-stub",
java_resource_dirs: ["tests/robolectric/config"],
}
// Opt-out config for optimizing the SystemUI target using R8.
// Disabled via `export SYSTEMUI_OPTIMIZE_JAVA=false`, or explicitly in Make via
// `SYSTEMUI_OPTIMIZE_JAVA := false`.
soong_config_module_type {
name: "systemui_optimized_java_defaults",
module_type: "java_defaults",
config_namespace: "ANDROID",
bool_variables: ["SYSTEMUI_OPTIMIZE_JAVA"],
properties: ["optimize"],
}
systemui_optimized_java_defaults {
name: "SystemUI_app_defaults",
soong_config_variables: {
SYSTEMUI_OPTIMIZE_JAVA: {
optimize: {
enabled: true,
optimize: true,
shrink: true,
proguard_flags_files: ["proguard.flags"],
},
conditions_default: {
optimize: {
proguard_flags_files: ["proguard.flags"],
},
},
},
},
}
android_app {
name: "SystemUI",
defaults: [
"platform_app_defaults",
"SystemUI_app_defaults",
],
static_libs: [
"SystemUI-core",
],
resource_dirs: [],
platform_apis: true,
system_ext_specific: true,
certificate: "platform",
privileged: true,
kotlincflags: ["-Xjvm-default=enable"],
dxflags: ["--multi-dex"],
required: [
"privapp_whitelist_com.android.systemui",
"wmshell.protolog.json.gz",
],
}