Xml文件  |  197行  |  8.1 KB

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