<?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"
                android:theme="@style/Dialpad_Light">

            <!-- 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>
