<?xml version="1.0" encoding="utf-8"?>
<!--
 * Copyright (C) 2011 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.
 -->
<resources>

    <string name="app_name">UiAutomator Test App</string>
    <string name="test1_description">This helps verify entering text into a pre-populated field. The pop-up dialog will echo the text entered after clicking submit. The initial value in the field must first be deleted.</string>
    <string name="menu_settings">Settings</string>
    <string name="title_activity_item1_detail">Item1DetailActivity</string>
    <string name="buttonSubmit">Submit</string>
    <string name="item1_dialog_title">Text submitted</string>
    <string name="OK">OK</string>
    <string name="title_test_list">UiAutomator Tests</string>
    <string name="title_test_detail">Details</string>
    <string name="hello_world">Hello world!</string>
    <string name="title_activity_test2_detail">Test2DetailActivity</string>
    <string name="test2_description">This helps test selection of button using Instance, Text and Content Description. Once clicked, a dialog pops up to verify the properties of button clicked.</string>
    <string name="test2_description_2">This tests a Button text changing dynamically after a click. The test should attempt to find the button after it has changed using its new text.</string>
    <string name="test3_description">The tests should read the clock, then write the clock back into the EditText then press submit. A dialog will display the time it took from reading the clock until submit is press. This can be used to get an idea of performance differences.</string>
    <string name="button1">Button 1</string>
    <string name="button1long">Longclick Button 1</string>
    <string name="button2">Button 2</string>
    <string name="button2long">Longclick Button 2</string>
    <string name="button3">Button 3</string>
    <string name="button3long">Longclick Button 3</string>
    <string name="buttonBefore">Before</string>
    <string name="buttonAfter">After</string>
    <string name="dialog_title_result">Action results</string>
    <string name="now_displaying_results_for">Verifying scroll into view and list item selection. Now displaying results for:</string>
    <string name="title_activity_test3_detail">Performance test</string>
    <string name="test3ClockDescription">Performance clock</string>
    <string name="test3InitialClock">0000000000</string>
    <string name="test3_dialog_title">Time difference in ms</string>
    <string name="test5_CheckBox">CheckBox</string>
    <string name="test5_ToggleButton">ToggleButton</string>
    <string name="test5_Button">Button</string>
    <string name="test5_Button_Description">Description for Button</string>
    <string name="test5_Button_Disabled">Button D</string>
    <string name="title_section4">Section 4</string>
    <string name="title_section3">Section 3</string>
    <string name="title_section2">Section 2</string>
    <string name="title_section1">Section 1</string>
    <string name="title_activity_test4_detail">Test4DetailActivity</string>
    <string name="title_activity_test5_detail">Test5DetailActivity</string>
    <string name="title_activity_test6_detail">Test6DetailActivity</string>
    <string name="test_5_Widgets_collection">Widgets Collection</string>
    <string name="generic_item_touch_dialog_title">Multi-touch test dialog</string>
    <string name="drag_item_touch_dialog_title">Drag and drop test dialog</string>
    <string name="title_test_view_detail">Details View</string>
</resources>
