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 (27939)
Showing
with 880 additions and 71 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",
],
},
......@@ -402,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.
......@@ -422,6 +427,8 @@ java_defaults {
"audiopolicy-aidl-java",
"sounddose-aidl-java",
"modules-utils-expresslog",
"perfetto_trace_javastream_protos_jarjar",
"libaconfig_java_proto_nano",
],
}
......@@ -434,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
......@@ -480,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 {
......@@ -515,6 +514,7 @@ java_library {
lint: {
baseline_filename: "lint-baseline.xml",
},
jarjar_prefix: "com.android.internal.hidden_from_bootclasspath",
}
java_library {
......@@ -529,7 +529,7 @@ java_library {
},
lint: {
enabled: false,
baseline_filename: "lint-baseline.xml",
},
}
......@@ -554,9 +554,6 @@ java_library {
],
sdk_version: "core_platform",
apex_available: ["//apex_available:platform"],
lint: {
baseline_filename: "lint-baseline.xml",
},
}
java_library {
......@@ -572,9 +569,6 @@ java_library {
"calendar-provider-compat-config",
"contacts-provider-platform-compat-config",
],
lint: {
baseline_filename: "lint-baseline.xml",
},
}
platform_compat_config {
......@@ -629,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
......@@ -677,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",
......
......@@ -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": [
{
......
......@@ -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();
......
......@@ -114,6 +114,10 @@ public class MyContentCaptureService extends ContentCaptureService {
public void onContentCaptureEvent(ContentCaptureSessionId sessionId,
ContentCaptureEvent event) {
Log.i(TAG, "onContentCaptureEventsRequest(session=" + sessionId + "): " + event);
if (sServiceWatcher != null
&& event.getType() == ContentCaptureEvent.TYPE_SESSION_PAUSED) {
sServiceWatcher.mSessionPaused.countDown();
}
}
@Override
......@@ -126,6 +130,7 @@ public class MyContentCaptureService extends ContentCaptureService {
private static final long GENERIC_TIMEOUT_MS = 10_000;
private final CountDownLatch mCreated = new CountDownLatch(1);
private final CountDownLatch mDestroyed = new CountDownLatch(1);
private final CountDownLatch mSessionPaused = new CountDownLatch(1);
private boolean mReadyToClear = true;
private Pair<Set<String>, Set<ComponentName>> mAllowList;
......@@ -151,6 +156,11 @@ public class MyContentCaptureService extends ContentCaptureService {
await(mDestroyed, "not destroyed");
}
/** Wait for session paused. */
public void waitSessionPaused() throws InterruptedException {
await(mSessionPaused, "no Paused");
}
/**
* Allow just this package.
*/
......