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

<!-- Top-level container for UI elements used during the OTASP call;
     see OtaUtils.java.

     This layout file contains the entire OTASP screen, including the
     status area at the top and touch controls at the bottom of the
     screen.  The regular CallCard and the InCallTouchUi widget are not
     used at all during an OTASP call.

     The OTASP screen contains (in order, from top to bottom):
     - Title and explanatory text
     - Progress status message
     - Progress bar
     - Success / failure message
     - DTMF dialpad
     [ Separator / placeholder view between the "upper widgets" above and the buttons below ]
     - Speaker button
     - Action buttons like "Activate"/"Skip", or "End", or "Next"
       (depending on whether we're in the listen/progress state
       of the final success/failure state.

     Only some of these elements are visible in any given state.
-->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/otaTopLevel"
    android:orientation="vertical"
    android:gravity="center_horizontal"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    >

    <LinearLayout android:id="@+id/otaUpperWidgets"
                  android:orientation="vertical"
                  android:layout_width="match_parent"
                  android:layout_height="wrap_content" >

        <!-- Title: "Activate your phone" -->
        <TextView android:id="@+id/otaTitle"
                  android:layout_width="match_parent"
                  android:layout_height="wrap_content"
                  android:textAppearance="@style/ccOtaWizardTitle"
                  android:text="@string/ota_title_activate"
        />

        <View
                  android:layout_width="wrap_content"
                  android:layout_height="1dip"
                  android:layout_gravity="center"
                  android:background="@drawable/green_divider"
                  android:layout_marginTop="10dip"
                  android:focusable="false"
                  android:clickable="false"
        />

        <!-- Explanatory text: "A special call needs to be made to activate
             your phone service"... -->
        <TextView android:id="@+id/otaActivate"
                  android:layout_marginTop="@dimen/otaactivate_layout_marginTop"
                  android:layout_width="match_parent"
                  android:layout_height="wrap_content"
                  android:textAppearance="@style/ccOtaTextPrimary"
                  android:visibility="gone"
                  android:text="@string/ota_touch_activate"
                  />

        <!-- Progress status message, e.g. "Please wait while your phone
             is being programmed" (in some states) -->
        <TextView android:id="@+id/otaListenProgress"
                  android:layout_width="match_parent"
                  android:layout_height="wrap_content"
                  android:layout_marginTop="@dimen/otalistenprogress_layout_marginTop"
                  android:textAppearance="@style/ccOtaTextPrimary"
                  android:visibility="gone"
                  />

        <!-- Progress bar -->
        <ProgressBar android:id="@+id/progress_large"
                     style="?android:attr/progressBarStyleHorizontal"
                     android:layout_marginTop="20dip"
                     android:layout_width="match_parent"
                     android:layout_height="wrap_content"
                     android:visibility="gone"/>

        <!-- Success or failure message (in some states) -->
        <TextView android:id="@+id/otaSuccessFailStatus"
                  android:gravity="start"
                  android:layout_marginTop="@dimen/otasuccessfail_layout_marginTop"
                  android:layout_marginStart="5dip"
                  android:layout_width="match_parent"
                  android:layout_height="wrap_content"
                  android:textAppearance="@style/ccOtaTextPrimary"
                  android:visibility="gone"
                  />

        <!-- DTMF dialpad -->
        <com.android.phone.DTMFTwelveKeyDialerView
                xmlns:android="http://schemas.android.com/apk/res/android"
                android:id="@+id/otaDtmfDialerView"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="vertical"
                android:layout_marginTop="1dip"
                android:visibility="gone" >

            <!-- Note there's no "dtmfDialerField" EditText here;
                 in the OTA UI there's no visible "digits" display
                 attached to the dialpad. -->

            <!-- Keypad section -->
            <include layout="@layout/dialpad" />

        </com.android.phone.DTMFTwelveKeyDialerView>

    </LinearLayout>

    <!-- Separator / placeholder view between the widgets at the upper
         part of the screen and the buttons at the bottom.  This view sets
         layout_weight="1" to ensure that the buttons will be positioned
         at the very bottom of the screen. -->
    <View android:id="@+id/otaSeparator"
        android:layout_width="match_parent"
        android:layout_height="0dip"
        android:layout_weight="1"
    />

    <!-- "Speaker" button -->
    <ToggleButton android:id="@+id/otaSpeakerButton"
              android:layout_gravity="center"
              android:textOn="@string/ota_speaker"
              android:textOff="@string/ota_speaker"
              style="@style/ccOtaButton" />

    <!-- (2) Activate/cancel buttons -->
    <RelativeLayout android:id="@+id/callCardOtaActivate"
                    android:visibility="gone"
                    style="@style/ccOtaButtonBar" >

        <!-- "Activate" button -->
        <Button android:id="@+id/otaActivateButton"
                android:text="@string/ota_activate"
                style="@style/ccOtaNextButton" />

        <!-- "Skip" button -->   <!--  TODO: borrowing another button's label for now because I missed the localization deadline for adding a @string/ota_skip -->
        <Button android:id="@+id/otaSkipButton"
                android:text="@string/ota_skip_activation_dialog_skip_label"
                style="@style/ccOtaSkipButton" />

    </RelativeLayout>

    <!-- (3) OTA listen/progress buttons -->
    <RelativeLayout android:id="@+id/callCardOtaListenProgress"
                    android:visibility="gone"
                    style="@style/ccOtaButtonBar" >

        <!-- "End" button -->
        <Button android:id="@+id/otaEndButton"
                android:text="@string/ota_call_end"
                android:drawableStart="@drawable/ic_btn_back"
                android:drawablePadding="3dip"
                style="@style/ccOtaSkipButton" />
    </RelativeLayout>

    <!-- (4) OTA Success/Failure button -->
    <RelativeLayout android:id="@+id/callCardOtaFailOrSuccessful"
                    android:visibility="gone"
                    style="@style/ccOtaButtonBar" >

        <!-- "Next" button -->
        <Button android:id="@+id/otaNextButton"
                android:text="@string/ota_next"
                android:drawableEnd="@drawable/ic_btn_next"
                android:drawablePadding="10dip"
                style="@style/ccOtaNextButton" />

        <!-- "Try Again" button -->
        <Button android:id="@+id/otaTryAgainButton"
                android:text="@string/ota_try_again"
                style="@style/ccOtaSkipButton" />
    </RelativeLayout>
</LinearLayout>
