From 61d27419aaddc7d09f00532a1a26b48aa1f5a3c2 Mon Sep 17 00:00:00 2001 From: Jordan Demeulenaere Date: Thu, 30 Jun 2022 13:02:31 +0200 Subject: [PATCH] Small improvements to dialogScreenshotTest {} This CL disables the enter/exit animations of the dialog about to be screenshot tested, and ensures that the dialog is dismissed at the end of the test. Test: atest SystemUIGoogleScreenshotTests Bug: 230832101 Change-Id: I30e26411042bc42181cab38ec706b8ed2a2808f7 --- .../testing/screenshot/ViewScreenshotTestRule.kt | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/packages/SystemUI/screenshot/src/com/android/systemui/testing/screenshot/ViewScreenshotTestRule.kt b/packages/SystemUI/screenshot/src/com/android/systemui/testing/screenshot/ViewScreenshotTestRule.kt index 35812e39677d2..6a80c486d5152 100644 --- a/packages/SystemUI/screenshot/src/com/android/systemui/testing/screenshot/ViewScreenshotTestRule.kt +++ b/packages/SystemUI/screenshot/src/com/android/systemui/testing/screenshot/ViewScreenshotTestRule.kt @@ -60,11 +60,17 @@ class ViewScreenshotTestRule(testSpec: ScreenshotTestSpec) : TestRule { ) { var dialog: Dialog? = null activityRule.scenario.onActivity { activity -> - // Make sure that the dialog draws full screen and fits the whole display instead of the - // system bars. dialog = dialogProvider(activity).apply { + // Make sure that the dialog draws full screen and fits the whole display + // instead of the system bars. window.setDecorFitsSystemWindows(false) + + // Disable enter/exit animations. + create() + window.setWindowAnimations(0) + + // Show the dialog. show() } } @@ -74,7 +80,11 @@ class ViewScreenshotTestRule(testSpec: ScreenshotTestSpec) : TestRule { activityRule.scenario.onActivity { // Check that the content is what we expected. val dialog = dialog ?: error("dialog is null") - screenshotRule.screenshotTest(goldenIdentifier, dialog.window.decorView) + try { + screenshotRule.screenshotTest(goldenIdentifier, dialog.window.decorView) + } finally { + dialog.dismiss() + } } } }