<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2015 The Android Open Source Project

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at

          http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
-->
<configuration description="Config for CTS App test cases">
    <option name="test-suite-tag" value="cts" />
    <option name="config-descriptor:metadata" key="component" value="framework" />
    <option name="config-descriptor:metadata" key="parameter" value="instant_app" />
    <option name="config-descriptor:metadata" key="parameter" value="not_multi_abi" />
    <option name="config-descriptor:metadata" key="parameter" value="secondary_user" />
    <target_preparer class="com.android.compatibility.common.tradefed.targetprep.LocationCheck" />
    <target_preparer class="com.android.tradefed.targetprep.suite.SuiteApkInstaller">
        <option name="force-install-mode" value="FULL"/>
        <option name="cleanup-apks" value="true" />
        <option name="test-file-name" value="CtsSimpleApp.apk" />
        <option name="test-file-name" value="CtsAppTestStubs.apk" />
        <option name="test-file-name" value="CtsAppTestStubsApp1.apk" />
        <option name="test-file-name" value="CtsAppTestStubsApp3.apk" />
        <option name="test-file-name" value="CtsAppTestStubsApp2.apk" />
        <option name="test-file-name" value="CtsAppTestStubsApi30.apk" />
        <option name="test-file-name" value="CtsAppTestCases.apk" />
        <option name="test-file-name" value="CtsBadProviderStubs.apk" />
        <option name="test-file-name" value="CtsCantSaveState1.apk" />
        <option name="test-file-name" value="CtsCantSaveState2.apk" />
        <option name="test-file-name" value="NotificationDelegator.apk" />
        <option name="test-file-name" value="NotificationProvider.apk" />
        <option name="test-file-name" value="NotificationListener.apk" />
        <option name="test-file-name" value="StorageDelegator.apk" />
        <option name="test-file-name" value="CtsActivityManagerApi29.apk" />
        <option name="test-file-name" value="NotificationTrampoline.apk" />
        <option name="test-file-name" value="NotificationTrampolineApi30.apk" />
    </target_preparer>
    <target_preparer class="com.android.tradefed.targetprep.RunCommandTargetPreparer">
        <option name="run-command" value="input keyevent KEYCODE_WAKEUP" />
        <option name="run-command" value="wm dismiss-keyguard" />
    </target_preparer>
    <test class="com.android.tradefed.testtype.AndroidJUnitTest" >
        <option name="runner" value="androidx.test.runner.AndroidJUnitRunner" />
        <option name="package" value="android.app.cts" />
        <option name="runtime-hint" value="6m38s" />
        <option name="hidden-api-checks" value="false"/>
    </test>

</configuration>
