Create ArtifactSaverRule to be reused in different tests

Bug: 294055054
Test: atest FlickerLibTest WMShellFlickerServiceTests
Change-Id: If059065ebcd058b309c7f164f586afbfa6b979d5
diff --git a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/service/Utils.kt b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/service/Utils.kt
index 610cede..fa723e3 100644
--- a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/service/Utils.kt
+++ b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/service/Utils.kt
@@ -23,6 +23,7 @@
 import android.tools.common.NavBar
 import android.tools.common.Rotation
 import android.tools.device.apphelpers.MessagingAppHelper
+import android.tools.device.flicker.rules.ArtifactSaverRule
 import android.tools.device.flicker.rules.ChangeDisplayOrientationRule
 import android.tools.device.flicker.rules.LaunchAppRule
 import android.tools.device.flicker.rules.RemoveAllTasksButHomeRule
@@ -33,9 +34,10 @@
     private val instrumentation: Instrumentation = InstrumentationRegistry.getInstrumentation()
 
     fun testSetupRule(navigationMode: NavBar, rotation: Rotation): RuleChain {
-        return RuleChain.outerRule(UnlockScreenRule())
+        return RuleChain.outerRule(ArtifactSaverRule())
+            .around(UnlockScreenRule())
             .around(
-                NavigationModeRule(navigationMode.value, /* changeNavigationModeAfterTest */ false)
+                NavigationModeRule(navigationMode.value, false)
             )
             .around(
                 LaunchAppRule(MessagingAppHelper(instrumentation), clearCacheAfterParsing = false)