Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • Dhina17/platform_frameworks_base
  • itisFarzin/platform_frameworks_base-old
2 results
Show changes
Commits on Source (28701)
Showing
with 925 additions and 177 deletions
drops {
android_build_drop {
build_id: "10093150"
build_id: "11947186"
target: "CtsShim"
source_file: "aosp_arm64/CtsShimPriv.apk"
}
......@@ -8,7 +8,7 @@ drops {
version: ""
version_group: ""
git_project: "platform/frameworks/base"
git_branch: "udc-dev"
git_branch: "main"
transform: TRANSFORM_NONE
transform_options {
}
......
drops {
android_build_drop {
build_id: "10093150"
build_id: "11947186"
target: "CtsShim"
source_file: "aosp_arm64/CtsShim.apk"
}
......@@ -8,7 +8,7 @@ drops {
version: ""
version_group: ""
git_project: "platform/frameworks/base"
git_branch: "udc-dev"
git_branch: "main"
transform: TRANSFORM_NONE
transform_options {
}
......
drops {
android_build_drop {
build_id: "10093150"
build_id: "11947186"
target: "CtsShim"
source_file: "aosp_x86_64/CtsShimPriv.apk"
}
......@@ -8,7 +8,7 @@ drops {
version: ""
version_group: ""
git_project: "platform/frameworks/base"
git_branch: "udc-dev"
git_branch: "main"
transform: TRANSFORM_NONE
transform_options {
}
......
drops {
android_build_drop {
build_id: "10093150"
build_id: "11947186"
target: "CtsShim"
source_file: "aosp_x86_64/CtsShim.apk"
}
......@@ -8,7 +8,7 @@ drops {
version: ""
version_group: ""
git_project: "platform/frameworks/base"
git_branch: "udc-dev"
git_branch: "main"
transform: TRANSFORM_NONE
transform_options {
}
......
This diff is collapsed.
......@@ -95,8 +95,10 @@ filegroup {
":platform-compat-native-aidl",
// AIDL sources from external directories
":android.frameworks.location.altitude-V2-java-source",
":android.hardware.biometrics.common-V4-java-source",
":android.hardware.biometrics.fingerprint-V3-java-source",
":android.hardware.biometrics.fingerprint-V5-java-source",
":android.hardware.biometrics.face-V4-java-source",
":android.hardware.gnss-V2-java-source",
":android.hardware.graphics.common-V3-java-source",
":android.hardware.keymaster-V4-java-source",
......@@ -113,7 +115,7 @@ filegroup {
":android.security.legacykeystore-java-source",
":android.security.maintenance-java-source",
":android.security.metrics-java-source",
":android.system.keystore2-V3-java-source",
":android.system.keystore2-V4-java-source",
":android.hardware.cas-V1-java-source",
":credstore_aidl",
":dumpstate_aidl",
......@@ -138,6 +140,8 @@ filegroup {
":vold_aidl",
":deviceproductinfoconstants_aidl",
":adbrootservice_aidl",
// For the generated R.java and Manifest.java
":framework-res{.aapt.srcjar}",
......@@ -174,9 +178,6 @@ java_library {
// and remove this line.
"//frameworks/base/tools/hoststubgen:__subpackages__",
],
lint: {
baseline_filename: "lint-baseline.xml",
},
}
// AIDL files under these paths are mixture of public and private ones.
......@@ -210,6 +211,9 @@ java_defaults {
// framework_srcs. These have no or very limited dependency to the framework.
java_library {
name: "framework-internal-utils",
defaults: [
"android.hardware.power-java_static",
],
static_libs: [
"apex_aidl_interface-java",
"packagemanager_aidl-java",
......@@ -265,9 +269,6 @@ java_library {
],
sdk_version: "core_platform",
installable: false,
lint: {
baseline_filename: "lint-baseline.xml",
},
}
// NOTE: This filegroup is exposed for vendor libraries to depend on and is referenced in
......@@ -355,8 +356,11 @@ java_defaults {
"packages/modules/Media/apex/aidl/stable",
"hardware/interfaces/biometrics/common/aidl",
"hardware/interfaces/biometrics/fingerprint/aidl",
"hardware/interfaces/common/aidl",
"hardware/interfaces/common/fmq/aidl",
"hardware/interfaces/graphics/common/aidl",
"hardware/interfaces/keymaster/aidl",
"hardware/interfaces/power/aidl",
"system/hardware/interfaces/media/aidl",
],
},
......@@ -386,7 +390,6 @@ java_defaults {
// TODO(b/120066492): remove gps_debug and protolog.conf.json when the build
// system propagates "required" properly.
"gps_debug.conf",
"protolog.conf.json.gz",
"framework-res",
// any install dependencies should go into framework-minus-apex-install-dependencies
// rather than here to avoid bloating incremental build time
......@@ -403,6 +406,7 @@ java_defaults {
"android.hardware.common.fmq-V1-java",
"bouncycastle-repackaged-unbundled",
"com.android.sysprop.foldlockbehavior",
"com.android.sysprop.view",
"framework-internal-utils",
// If MimeMap ever becomes its own APEX, then this dependency would need to be removed
// in favor of an API stubs dependency in java_library "framework" below.
......@@ -423,6 +427,8 @@ java_defaults {
"audiopolicy-aidl-java",
"sounddose-aidl-java",
"modules-utils-expresslog",
"perfetto_trace_javastream_protos_jarjar",
"libaconfig_java_proto_nano",
],
}
......@@ -435,9 +441,6 @@ java_library {
],
sdk_version: "core_platform",
installable: false,
lint: {
baseline_filename: "lint-baseline.xml",
},
}
// Separated so framework-minus-apex-defaults can be used without the libs dependency
......@@ -481,11 +484,6 @@ java_library {
],
compile_dex: false,
headers_only: true,
lint: {
baseline_filename: "lint-baseline.xml",
},
// For jarjar repackaging
jarjar_prefix: "com.android.internal.hidden_from_bootclasspath",
}
java_library {
......@@ -516,6 +514,7 @@ java_library {
lint: {
baseline_filename: "lint-baseline.xml",
},
jarjar_prefix: "com.android.internal.hidden_from_bootclasspath",
}
java_library {
......@@ -530,7 +529,7 @@ java_library {
},
lint: {
enabled: false,
baseline_filename: "lint-baseline.xml",
},
}
......@@ -555,9 +554,6 @@ java_library {
],
sdk_version: "core_platform",
apex_available: ["//apex_available:platform"],
lint: {
baseline_filename: "lint-baseline.xml",
},
}
java_library {
......@@ -573,9 +569,6 @@ java_library {
"calendar-provider-compat-config",
"contacts-provider-platform-compat-config",
],
lint: {
baseline_filename: "lint-baseline.xml",
},
}
platform_compat_config {
......@@ -630,9 +623,6 @@ java_library {
"rappor",
],
dxflags: ["--core-library"],
lint: {
baseline_filename: "lint-baseline.xml",
},
}
// utility classes statically linked into framework-wifi and dynamically linked
......@@ -678,6 +668,16 @@ filegroup {
visibility: ["//frameworks/base/api"],
}
java_library {
name: "perfetto_trace_javastream_protos_jarjar",
srcs: [
":perfetto_trace_javastream_protos",
],
jarjar_rules: ":framework-jarjar-rules",
sdk_version: "core_platform",
installable: false,
}
build = [
"AconfigFlags.bp",
"ProtoLibraries.bp",
......
#
# Copyright (C) 2008 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.
#
LOCAL_PATH := $(call my-dir)
$(eval $(call declare-1p-copy-files,frameworks/base,.ogg))
$(eval $(call declare-1p-copy-files,frameworks/base,.kl))
$(eval $(call declare-1p-copy-files,frameworks/base,.kcm))
$(eval $(call declare-1p-copy-files,frameworks/base,.idc))
$(eval $(call declare-1p-copy-files,frameworks/base,dirty-image-objects))
$(eval $(call declare-1p-copy-files,frameworks/base/config,))
$(eval $(call declare-1p-copy-files,frameworks/native/data,))
# Load framework-specific path mappings used later in the build.
include $(LOCAL_PATH)/pathmap.mk
# Build the master framework library.
# The framework contains too many method references (>64K) for poor old DEX.
# So we first build the framework as a monolithic static library then split it
# up into smaller pieces.
# ============================================================
# embedded builds use nothing in frameworks/base
ifneq ($(ANDROID_BUILD_EMBEDDED),true)
# Copy AIDL files to be preprocessed and included in the SDK,
# specified relative to the root of the build tree.
# ============================================================
include $(CLEAR_VARS)
# sdk.atree needs to copy the whole dir: $(OUT_DOCS)/offline-sdk to the final zip.
# So keep offline-sdk-timestamp target here, and unzip offline-sdk-docs.zip to
# $(OUT_DOCS)/offline-sdk.
$(OUT_DOCS)/offline-sdk-timestamp: $(OUT_DOCS)/offline-sdk-docs-docs.zip
$(hide) rm -rf $(OUT_DOCS)/offline-sdk
$(hide) mkdir -p $(OUT_DOCS)/offline-sdk
( unzip -qo $< -d $(OUT_DOCS)/offline-sdk && touch -f $@ ) || exit 1
.PHONY: docs offline-sdk-docs
docs offline-sdk-docs: $(OUT_DOCS)/offline-sdk-timestamp
SDK_METADATA_DIR :=$= $(call intermediates-dir-for,PACKAGING,framework-doc-stubs-metadata,,COMMON)
SDK_METADATA_FILES :=$= $(addprefix $(SDK_METADATA_DIR)/,\
activity_actions.txt \
broadcast_actions.txt \
categories.txt \
features.txt \
service_actions.txt \
widgets.txt)
SDK_METADATA :=$= $(firstword $(SDK_METADATA_FILES))
$(SDK_METADATA): .KATI_IMPLICIT_OUTPUTS := $(filter-out $(SDK_METADATA),$(SDK_METADATA_FILES))
$(SDK_METADATA): $(TARGET_OUT_COMMON_INTERMEDIATES)/PACKAGING/framework-doc-stubs-metadata.zip
rm -rf $(SDK_METADATA_DIR)
mkdir -p $(SDK_METADATA_DIR)
unzip -DDqo $< -d $(SDK_METADATA_DIR)
.PHONY: framework-doc-stubs
framework-doc-stubs: $(SDK_METADATA)
# Include subdirectory makefiles
# ============================================================
# If we're building with ONE_SHOT_MAKEFILE (mm, mmm), then what the framework
# team really wants is to build the stuff defined by this makefile.
ifeq (,$(ONE_SHOT_MAKEFILE))
include $(call first-makefiles-under,$(LOCAL_PATH))
endif
endif # ANDROID_BUILD_EMBEDDED
......@@ -262,6 +262,7 @@ $(call add-clean-step, rm -rf $(SOONG_OUT_DIR)/.intermediates/frameworks/base/li
$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/priv-app/InProcessTethering)
$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/app/OsuLogin)
$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system_other/system/app/OsuLogin)
$(call add-clean-step, rm -rf $(OUT_DIR)/host/linux-x86/testcases/ravenwood-runtime)
# ******************************************************************
# NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST ABOVE THIS BANNER
# ******************************************************************
......@@ -42,3 +42,5 @@ per-file *Ravenwood* = file:ravenwood/OWNERS
per-file PERFORMANCE_OWNERS = file:/PERFORMANCE_OWNERS
per-file PACKAGE_MANAGER_OWNERS = file:/PACKAGE_MANAGER_OWNERS
per-file WEAR_OWNERS = file:/WEAR_OWNERS
[Builtin Hooks]
clang_format = true
bpfmt = true
ktfmt = true
[Builtin Hooks Options]
# Only turn on clang-format check for the following subfolders.
......@@ -17,6 +18,7 @@ clang_format = --commit ${PREUPLOAD_COMMIT} --style file --extensions c,h,cc,cpp
tests/
tools/
bpfmt = -d
ktfmt = --kotlinlang-style --include-dirs=services/permission,packages/SystemUI
[Hook Scripts]
checkstyle_hook = ${REPO_ROOT}/prebuilts/checkstyle/checkstyle.py --sha ${PREUPLOAD_COMMIT}
......@@ -25,9 +27,10 @@ hidden_api_txt_checksorted_hook = ${REPO_ROOT}/tools/platform-compat/hiddenapi/c
hidden_api_txt_exclude_hook = ${REPO_ROOT}/frameworks/base/tools/hiddenapi/exclude.sh ${PREUPLOAD_COMMIT} ${REPO_ROOT}
ktfmt_hook = ${REPO_ROOT}/external/ktfmt/ktfmt.py --check -i ${REPO_ROOT}/frameworks/base/ktfmt_includes.txt ${PREUPLOAD_FILES}
ktlint_hook = ${REPO_ROOT}/prebuilts/ktlint/ktlint.py --no-verify-format -f ${PREUPLOAD_FILES}
# This flag check hook runs only for "packages/SystemUI" subdirectory. If you want to include this check for other subdirectories, please modify flag_check.py.
flag_hook = ${REPO_ROOT}/frameworks/base/packages/SystemUI/flag_check.py --msg=${PREUPLOAD_COMMIT_MESSAGE} --files=${PREUPLOAD_FILES} --project=${REPO_PATH}
flag_hook = ${REPO_ROOT}/frameworks/base/packages/SystemUI/flag_check.py --msg=${PREUPLOAD_COMMIT_MESSAGE} --files=${PREUPLOAD_FILES} --project=${REPO_PROJECT}
[Tool Paths]
ktfmt = ${REPO_ROOT}/external/ktfmt/ktfmt.sh
......@@ -31,6 +31,7 @@ gensrcs {
"&& $(location soong_zip) -jar -o $(out) -C $(genDir)/$(in) -D $(genDir)/$(in)",
srcs: [
":aconfigd_protos",
":ipconnectivity-proto-src",
":libstats_atom_enum_protos",
":libstats_atom_message_protos",
......
......@@ -30,9 +30,11 @@ java_genrule {
name: "framework-minus-apex.ravenwood-base",
tools: ["hoststubgen"],
cmd: "$(location hoststubgen) " +
"@$(location ravenwood/ravenwood-standard-options.txt) " +
"@$(location :ravenwood-standard-options) " +
"--debug-log $(location hoststubgen_framework-minus-apex.log) " +
"--stats-file $(location hoststubgen_framework-minus-apex_stats.csv) " +
"--supported-api-list-file $(location hoststubgen_framework-minus-apex_apis.csv) " +
"--out-impl-jar $(location ravenwood.jar) " +
......@@ -40,13 +42,13 @@ java_genrule {
"--gen-input-dump-file $(location hoststubgen_dump.txt) " +
"--in-jar $(location :framework-minus-apex-for-hoststubgen) " +
"--policy-override-file $(location ravenwood/framework-minus-apex-ravenwood-policies.txt) " +
"--annotation-allowed-classes-file $(location ravenwood/ravenwood-annotation-allowed-classes.txt) ",
"--policy-override-file $(location :ravenwood-framework-policies) " +
"--annotation-allowed-classes-file $(location :ravenwood-annotation-allowed-classes) ",
srcs: [
":framework-minus-apex-for-hoststubgen",
"ravenwood/framework-minus-apex-ravenwood-policies.txt",
"ravenwood/ravenwood-standard-options.txt",
"ravenwood/ravenwood-annotation-allowed-classes.txt",
":ravenwood-framework-policies",
":ravenwood-standard-options",
":ravenwood-annotation-allowed-classes",
],
out: [
"ravenwood.jar",
......@@ -56,6 +58,8 @@ java_genrule {
"hoststubgen_dump.txt",
"hoststubgen_framework-minus-apex.log",
"hoststubgen_framework-minus-apex_stats.csv",
"hoststubgen_framework-minus-apex_apis.csv",
],
visibility: ["//visibility:private"],
}
......@@ -65,7 +69,7 @@ java_genrule {
// depend on it.
java_genrule {
name: "framework-minus-apex.ravenwood",
defaults: ["hoststubgen-for-prototype-only-genrule"],
defaults: ["ravenwood-internal-only-visibility-genrule"],
cmd: "cp $(in) $(out)",
srcs: [
":framework-minus-apex.ravenwood-base{ravenwood.jar}",
......@@ -75,16 +79,235 @@ java_genrule {
],
}
// Extract the stats file.
genrule {
name: "framework-minus-apex.ravenwood.stats",
defaults: ["ravenwood-internal-only-visibility-genrule"],
cmd: "cp $(in) $(out)",
srcs: [
":framework-minus-apex.ravenwood-base{hoststubgen_framework-minus-apex_stats.csv}",
],
out: [
"hoststubgen_framework-minus-apex_stats.csv",
],
}
genrule {
name: "framework-minus-apex.ravenwood.apis",
defaults: ["ravenwood-internal-only-visibility-genrule"],
cmd: "cp $(in) $(out)",
srcs: [
":framework-minus-apex.ravenwood-base{hoststubgen_framework-minus-apex_apis.csv}",
],
out: [
"hoststubgen_framework-minus-apex_apis.csv",
],
}
genrule {
name: "framework-minus-apex.ravenwood.keep_all",
defaults: ["ravenwood-internal-only-visibility-genrule"],
cmd: "cp $(in) $(out)",
srcs: [
":framework-minus-apex.ravenwood-base{hoststubgen_keep_all.txt}",
],
out: [
"hoststubgen_framework-minus-apex_keep_all.txt",
],
}
java_library {
name: "services.core-for-hoststubgen",
installable: false, // host only jar.
static_libs: [
"services.core",
],
sdk_version: "core_platform",
visibility: ["//visibility:private"],
}
java_genrule {
name: "services.core.ravenwood-base",
tools: ["hoststubgen"],
cmd: "$(location hoststubgen) " +
"@$(location :ravenwood-standard-options) " +
"--debug-log $(location hoststubgen_services.core.log) " +
"--stats-file $(location hoststubgen_services.core_stats.csv) " +
"--supported-api-list-file $(location hoststubgen_services.core_apis.csv) " +
"--out-impl-jar $(location ravenwood.jar) " +
"--gen-keep-all-file $(location hoststubgen_keep_all.txt) " +
"--gen-input-dump-file $(location hoststubgen_dump.txt) " +
"--in-jar $(location :services.core-for-hoststubgen) " +
"--policy-override-file $(location :ravenwood-services-policies) " +
"--annotation-allowed-classes-file $(location :ravenwood-annotation-allowed-classes) ",
srcs: [
":services.core-for-hoststubgen",
":ravenwood-services-policies",
":ravenwood-standard-options",
":ravenwood-annotation-allowed-classes",
],
out: [
"ravenwood.jar",
// Following files are created just as FYI.
"hoststubgen_keep_all.txt",
"hoststubgen_dump.txt",
"hoststubgen_services.core.log",
"hoststubgen_services.core_stats.csv",
"hoststubgen_services.core_apis.csv",
],
visibility: ["//visibility:private"],
}
java_genrule {
name: "services.core.ravenwood",
defaults: ["ravenwood-internal-only-visibility-genrule"],
cmd: "cp $(in) $(out)",
srcs: [
":services.core.ravenwood-base{ravenwood.jar}",
],
out: [
"services.core.ravenwood.jar",
],
}
// Extract the stats file.
genrule {
name: "services.core.ravenwood.stats",
defaults: ["ravenwood-internal-only-visibility-genrule"],
cmd: "cp $(in) $(out)",
srcs: [
":services.core.ravenwood-base{hoststubgen_services.core_stats.csv}",
],
out: [
"hoststubgen_services.core_stats.csv",
],
}
genrule {
name: "services.core.ravenwood.apis",
defaults: ["ravenwood-internal-only-visibility-genrule"],
cmd: "cp $(in) $(out)",
srcs: [
":services.core.ravenwood-base{hoststubgen_services.core_apis.csv}",
],
out: [
"hoststubgen_services.core_apis.csv",
],
}
genrule {
name: "services.core.ravenwood.keep_all",
defaults: ["ravenwood-internal-only-visibility-genrule"],
cmd: "cp $(in) $(out)",
srcs: [
":services.core.ravenwood-base{hoststubgen_keep_all.txt}",
],
out: [
"hoststubgen_services.core_keep_all.txt",
],
}
java_library {
name: "services.core.ravenwood-jarjar",
installable: false,
static_libs: [
"services.core.ravenwood",
],
jarjar_rules: ":ravenwood-services-jarjar-rules",
visibility: ["//visibility:private"],
}
java_library {
name: "services.fakes.ravenwood-jarjar",
installable: false,
srcs: [":services.fakes-sources"],
libs: [
"ravenwood-framework",
"services.core.ravenwood",
],
jarjar_rules: ":ravenwood-services-jarjar-rules",
visibility: ["//visibility:private"],
}
java_library {
name: "mockito-ravenwood-prebuilt",
installable: false,
static_libs: [
"mockito-robolectric-prebuilt",
],
}
java_library {
name: "inline-mockito-ravenwood-prebuilt",
installable: false,
static_libs: [
"inline-mockito-robolectric-prebuilt",
],
}
// Jars in "ravenwood-runtime" are set to the classpath, sorted alphabetically.
// Rename some of the dependencies to make sure they're included in the intended order.
java_genrule {
name: "100-framework-minus-apex.ravenwood",
cmd: "cp $(in) $(out)",
srcs: [":framework-minus-apex.ravenwood"],
out: ["100-framework-minus-apex.ravenwood.jar"],
visibility: ["//visibility:private"],
}
java_genrule {
// Use 200 to make sure it comes before the mainline stub ("all-updatable...").
name: "200-kxml2-android",
cmd: "cp $(in) $(out)",
srcs: [":kxml2-android"],
out: ["200-kxml2-android.jar"],
visibility: ["//visibility:private"],
}
java_genrule {
name: "z00-all-updatable-modules-system-stubs",
cmd: "cp $(in) $(out)",
srcs: [":all-updatable-modules-system-stubs"],
out: ["z00-all-updatable-modules-system-stubs.jar"],
visibility: ["//visibility:private"],
}
android_ravenwood_libgroup {
name: "ravenwood-runtime",
libs: [
"framework-minus-apex.ravenwood",
"100-framework-minus-apex.ravenwood",
"200-kxml2-android",
"ravenwood-runtime-common-ravenwood",
"android.test.mock.ravenwood",
"ravenwood-helper-runtime",
"hoststubgen-helper-runtime.ravenwood",
"hoststubgen-helper-framework-runtime.ravenwood",
"services.core.ravenwood-jarjar",
"services.fakes.ravenwood-jarjar",
// Provide runtime versions of utils linked in below
"junit",
"truth",
"flag-junit",
"ravenwood-framework",
"ravenwood-junit-impl",
"android.test.mock.ravenwood",
"ravenwood-junit-impl-flag",
"mockito-ravenwood-prebuilt",
"inline-mockito-ravenwood-prebuilt",
// It's a stub, so it should be towards the end.
"z00-all-updatable-modules-system-stubs",
],
jni_libs: [
"libandroid_runtime",
"libravenwood_runtime",
],
}
......@@ -93,6 +316,10 @@ android_ravenwood_libgroup {
libs: [
"junit",
"truth",
"flag-junit",
"ravenwood-framework",
"ravenwood-junit",
"mockito-ravenwood-prebuilt",
"inline-mockito-ravenwood-prebuilt",
],
}
......@@ -138,15 +138,13 @@
}
],
"postsubmit-ravenwood": [
// TODO(ravenwood) promote it to presubmit
// TODO: Enable it once the infra knows how to run it.
// {
// "name": "CtsUtilTestCasesRavenwood",
// "file_patterns": [
// "*Ravenwood*",
// "*ravenwood*"
// ]
// }
{
"name": "CtsUtilTestCasesRavenwood",
"host": true,
"file_patterns": [
"[Rr]avenwood"
]
}
],
"postsubmit-managedprofile-stress": [
{
......@@ -234,30 +232,5 @@
}
]
}
],
"auto-features-postsubmit": [
// Test tag for automotive feature targets. These are only running in postsubmit.
// This tag is used in targeted test features testing to limit resource use.
// TODO(b/256932212): this tag to be removed once the above is no longer in use.
{
"name": "FrameworksMockingServicesTests",
"options": [
{
"include-filter": "com.android.server.pm.UserVisibilityMediatorSUSDTest"
},
{
"include-filter": "com.android.server.pm.UserVisibilityMediatorMUMDTest"
},
{
"include-filter": "com.android.server.pm.UserVisibilityMediatorMUPANDTest"
},
{
"exclude-annotation": "androidx.test.filters.FlakyTest"
},
{
"exclude-annotation": "org.junit.Ignore"
}
]
}
]
}
......@@ -10,3 +10,5 @@ sadrul@google.com
rwmyers@google.com
nalmalki@google.com
shijianli@google.com
latkin@google.com
djsollen@google.com
......@@ -8,4 +8,3 @@ philipcuadra@google.com
shayba@google.com
shombert@google.com
timmurray@google.com
wessam@google.com
......@@ -13,6 +13,7 @@
// limitations under the License.
package {
default_team: "trendy_team_input_framework",
// 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"
......
......@@ -13,6 +13,7 @@
// limitations under the License.
package {
default_team: "trendy_team_input_framework",
// 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"
......
......@@ -13,6 +13,7 @@
// limitations under the License.
package {
default_team: "trendy_team_input_framework",
// 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"
......
......@@ -248,6 +248,11 @@ public abstract class AbstractContentCapturePerfTestCase {
return mServiceWatcher.waitOnCreate();
}
/** Wait for session paused. */
public void waitForSessionPaused() throws InterruptedException {
mServiceWatcher.waitSessionPaused();
}
@NonNull
protected ActivityWatcher startWatcher() {
return mActivitiesWatcher.watch(CustomTestActivity.class);
......
......@@ -80,6 +80,34 @@ public class LoginTest extends AbstractContentCapturePerfTestCase {
testActivityLaunchTime(R.layout.test_container_activity, 500);
}
@Test
public void testSendEventsLatency() throws Throwable {
enableService();
testSendEventLatency(R.layout.test_container_activity, 0);
}
@Test
public void testSendEventsLatency_contains100Views() throws Throwable {
enableService();
testSendEventLatency(R.layout.test_container_activity, 100);
}
@Test
public void testSendEventsLatency_contains300Views() throws Throwable {
enableService();
testSendEventLatency(R.layout.test_container_activity, 300);
}
@Test
public void testSendEventsLatency_contains500Views() throws Throwable {
enableService();
testSendEventLatency(R.layout.test_container_activity, 500);
}
private void testActivityLaunchTime(int layoutId, int numViews) throws Throwable {
final Object drawNotifier = new Object();
final Intent intent = getLaunchIntent(layoutId, numViews);
......@@ -111,6 +139,38 @@ public class LoginTest extends AbstractContentCapturePerfTestCase {
}
}
private void testSendEventLatency(int layoutId, int numViews) throws Throwable {
final Object drawNotifier = new Object();
final Intent intent = getLaunchIntent(layoutId, numViews);
intent.putExtra(CustomTestActivity.INTENT_EXTRA_FINISH_ON_IDLE, true);
intent.putExtra(CustomTestActivity.INTENT_EXTRA_DRAW_CALLBACK,
new RemoteCallback(result -> {
synchronized (drawNotifier) {
drawNotifier.notifyAll();
}
}));
final ActivityWatcher watcher = startWatcher();
final BenchmarkState state = mPerfStatusReporter.getBenchmarkState();
while (state.keepRunning()) {
mEntryActivity.startActivity(intent);
synchronized (drawNotifier) {
try {
drawNotifier.wait(GENERIC_TIMEOUT_MS);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
}
waitForSessionPaused();
// Ignore the time to finish the activity
state.pauseTiming();
watcher.waitFor(DESTROYED);
sInstrumentation.waitForIdleSync();
state.resumeTiming();
}
}
@Test
public void testOnVisibilityAggregated_visibleChanged() throws Throwable {
enableService();
......