<?xml version="1.0" encoding="utf-8"?>

<!-- Copyright (C) 2012 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.
-->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:gravity="bottom"
    android:orientation="vertical" >

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:gravity="bottom"
        android:orientation="horizontal" >

        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="fill_parent"
            android:layout_weight="2"
            android:gravity="bottom"
            android:orientation="vertical" >

            <TextView
                android:id="@+id/camera_text"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/ci_camera_label" />

            <TextView
                android:id="@+id/intents_text"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/ci_intents_label" />

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:gravity="bottom"
                android:orientation="vertical" >

                <TextView
                    android:id="@+id/instruction_header"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="@string/ci_instruction_heading_label" />

                <TextView
                    android:id="@+id/instruction_text"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="@string/ci_instruction_text_photo_label" />

                <TextView
                    android:id="@+id/instruction_extra_text"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content" />

                <Button
                    android:id="@+id/start_test_button"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:enabled="false"
                    android:text="@string/ci_start_test_button_caption" />

            </LinearLayout>

        </LinearLayout>

    </LinearLayout>

    <include layout="@layout/pass_fail_buttons" />

</LinearLayout>
