<?xml version="1.0" encoding="utf-8"?>
<!--
  Copyright (C) 2017 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 InputMethod test cases">
    <option name="test-suite-tag" value="cts" />
    <option name="config-descriptor:metadata" key="component" value="inputmethod" />
    <option name="config-descriptor:metadata" key="parameter" value="instant_app" />
    <option name="config-descriptor:metadata" key="parameter" value="not_multi_abi" />
    <!--
        TODO(yukawa): come up with a proper way to take care of devices that do not support
        installable IMEs.  Ideally target_preparer should have an option to annotate required
        features, e.g. android.software.input_methods so that we can conditionally install APKs
        based on the feature supported in the target device.
    -->
    <target_preparer class="com.android.tradefed.targetprep.suite.SuiteApkInstaller">
        <option name="cleanup-apks" value="true" />
        <!--
            MockIME always needs to be instaleld as a full package, even when CTS is running
            for instant apps.
        -->
        <option name="force-install-mode" value="FULL"/>
        <option name="test-file-name" value="CtsMockInputMethod.apk" />
    </target_preparer>
    <!--
        TODO(yukawa): come up with a proper way to take care of devices that do not support
        installable IMEs.  Ideally target_preparer should have an option to annotate required
        features, e.g. android.software.input_methods so that we can conditionally install APKs
        based on the feature supported in the target device.
    -->
    <target_preparer class="com.android.tradefed.targetprep.suite.SuiteApkInstaller">
        <option name="cleanup-apks" value="true" />
        <option name="test-file-name" value="CtsInputMethodTestCases.apk" />
    </target_preparer>
    <test class="com.android.tradefed.testtype.AndroidJUnitTest" >
        <option name="package" value="android.view.inputmethod.cts" />
        <option name="runtime-hint" value="1m0s" />
    </test>
</configuration>
