From 835ff63525d7c2ac8085a1523481511ae7bc5eb9 Mon Sep 17 00:00:00 2001 From: Vadim Tryshev Date: Fri, 1 Sep 2023 14:43:28 -0700 Subject: [PATCH] Skiping view capture collection in Launcher3 tests to avoid hidden API check exception. Bug: 187761685 Test: presubmit Flag: N/A Change-Id: Ic739c045a80ded6a4407e3c151fe6abcf46de53c --- .../com/android/launcher3/util/rule/FailureWatcher.java | 3 ++- .../com/android/launcher3/util/rule/ViewCaptureRule.kt | 8 ++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/tests/src/com/android/launcher3/util/rule/FailureWatcher.java b/tests/src/com/android/launcher3/util/rule/FailureWatcher.java index f2ae9d3ef5..62d70ad1cd 100644 --- a/tests/src/com/android/launcher3/util/rule/FailureWatcher.java +++ b/tests/src/com/android/launcher3/util/rule/FailureWatcher.java @@ -103,7 +103,8 @@ public class FailureWatcher extends TestWatcher { if (viewCaptureDataSupplier != null) { out.putNextEntry(new ZipEntry("FS/data/misc/wmtrace/failed_test.vc")); - viewCaptureDataSupplier.get().writeTo(out); + final ExportedData exportedData = viewCaptureDataSupplier.get(); + if (exportedData != null) exportedData.writeTo(out); out.closeEntry(); } } catch (Exception ignored) { diff --git a/tests/src/com/android/launcher3/util/rule/ViewCaptureRule.kt b/tests/src/com/android/launcher3/util/rule/ViewCaptureRule.kt index 0f08eef5e1..ccbae4fb0c 100644 --- a/tests/src/com/android/launcher3/util/rule/ViewCaptureRule.kt +++ b/tests/src/com/android/launcher3/util/rule/ViewCaptureRule.kt @@ -20,6 +20,7 @@ import android.app.Application import android.media.permission.SafeCloseable import android.os.Bundle import androidx.test.core.app.ApplicationProvider +import androidx.test.platform.app.InstrumentationRegistry import com.android.app.viewcapture.SimpleViewCapture import com.android.app.viewcapture.ViewCapture.MAIN_EXECUTOR import com.android.app.viewcapture.data.ExportedData @@ -50,6 +51,13 @@ class ViewCaptureRule(var alreadyOpenActivitySupplier: Supplier) : Te private set override fun apply(base: Statement, description: Description): Statement { + // Skip view capture collection in Launcher3 tests to avoid hidden API check exception. + if ( + "com.android.launcher3.tests" == + InstrumentationRegistry.getInstrumentation().context.packageName + ) + return base + return object : Statement() { override fun evaluate() { viewCaptureData = null