<?xml version="1.0" encoding="utf-8"?>
<!--
 * Copyright 2018 Google Inc. All Rights Reserved.
 -->
<configuration description="Tests WM Flicker detection library {MODULE}">
    <option name="test-tag" value="FlickerLibTest"/>
    <!-- Needed for storing the perfetto trace files in the sdcard/test_results-->
    <option name="isolated-storage" value="false"/>

    <target_preparer class="com.android.tradefed.targetprep.RootTargetPreparer"/>
    <target_preparer class="com.android.tradefed.targetprep.DeviceSetup">
        <!-- disable DeprecatedTargetSdk warning -->
        <option name="run-command" value="setprop debug.wm.disable_deprecated_target_sdk_dialog 1"/>
        <!-- keeps the screen on during tests -->
        <option name="screen-always-on" value="on"/>
        <!-- prevents the phone from restarting -->
        <option name="force-skip-system-props" value="true"/>
        <!-- restart launcher to activate TAPL -->
        <option name="run-command"
                value="setprop ro.test_harness 1 ; am force-stop com.google.android.apps.nexuslauncher"/>
        <!-- cleanup flicker output dir -->
        <option name="run-command" value="rm -rf /sdcard/flicker"/>
    </target_preparer>
    <target_preparer class="com.android.tradefed.targetprep.suite.SuiteApkInstaller">
        <option name="cleanup-apks" value="true"/>
        <option name="test-file-name" value="{MODULE}.apk"/>
    </target_preparer>
    <target_preparer class="com.android.tradefed.targetprep.RunCommandTargetPreparer">
        <option name="test-user-token" value="%TEST_USER%"/>
    </target_preparer>
    <target_preparer class="com.android.tradefed.targetprep.PushFilePreparer">
        <option name="push-file"
                key="trace_config.textproto"
                value="/data/misc/perfetto-traces/trace_config.textproto"
        />
        <!--Install the content provider automatically when we push some file in sdcard folder.-->
        <!--Needed to avoid the installation during the test suite.-->
        <option name="push-file" key="trace_config.textproto" value="/sdcard/sample.textproto"/>
    </target_preparer>

    <test class="com.android.tradefed.testtype.AndroidJUnitTest">
        <option name="exclude-annotation" value="androidx.test.filters.FlakyTest"/>
        <option name="package" value="{PACKAGE}"/>
        <option name="shell-timeout" value="6600s"/>
        <option name="test-timeout" value="6600s"/>
        <option name="hidden-api-checks" value="false"/>
        <!-- PerfettoListener related arguments -->
        <option name="device-listeners" value="android.device.collectors.PerfettoListener"/>
        <option name="instrumentation-arg" key="perfetto_config_text_proto" value="true"/>
        <option name="instrumentation-arg"
                key="perfetto_config_file"
                value="trace_config.textproto"
        />
        <option name="instrumentation-arg" key="per_run" value="true"/>
        <option name="instrumentation-arg" key="perfetto_persist_pid_track" value="true"/>
    </test>

    <metrics_collector class="com.android.tradefed.device.metric.FilePullerLogCollector">
        <option name="pull-pattern-keys" value="perfetto_file_path"/>
        <option name="directory-keys" value="/data/user/0/android.tools/files"/>
        <option name="directory-keys" value="/data/user/0/android.tools.integration/files"/>
        <option name="collect-on-run-ended-only" value="true"/>
        <option name="clean-up" value="true"/>
    </metrics_collector>
</configuration>
