summaryrefslogtreecommitdiff
path: root/res/layout/primary_call_info.xml
diff options
context:
space:
mode:
Diffstat (limited to 'res/layout/primary_call_info.xml')
-rw-r--r--res/layout/primary_call_info.xml212
1 files changed, 212 insertions, 0 deletions
diff --git a/res/layout/primary_call_info.xml b/res/layout/primary_call_info.xml
new file mode 100644
index 00000000..aeeeec5f
--- /dev/null
+++ b/res/layout/primary_call_info.xml
@@ -0,0 +1,212 @@
+<?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.
+-->
+
+<!-- XML resource file for primary call info, which will be used by CallCard.
+ See also call_card.xml. -->
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="0dp"
+ android:layout_weight="1">
+
+ <!-- Contact photo for primary call info -->
+ <ImageView android:id="@+id/photo"
+ android:layout_alignParentStart="true"
+ android:layout_alignParentTop="true"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:gravity="top|center_horizontal"
+ android:scaleType="centerCrop"
+ android:contentDescription="@string/contactPhoto" />
+
+ <!-- Used when the phone call is on hold, dimming the primary photo
+
+ Note: Theoretically it is possible to achieve this effect using
+ Drawable#setColorFilter().
+
+ But watch out: we also use cross fade between primary and
+ secondary photo, which may interfere with the dim effect with
+ setColorFilter(). To try it out, use GSM phones and do multiple
+ calls.
+
+ Detail: during the cross-fade effect we are currently using
+ TransitionDrawable. TransitionDrawable#setColorFilter() will call
+ the equivalent method for *both* drawables which are shared by
+ the two ImageViews. If we set setColorFilter() for "on hold" effect
+ during the cross-fade, *both* primary and secondary photos become
+ dim.
+
+ Theoretically it can be avoided (by copying drawable, or carefully
+ calling setColorFilter() conditionally. But it doesn't bang for the
+ buck for now.
+
+ TODO: try that. It may be smoother with slower devices.
+ -->
+ <View android:id="@+id/dim_effect_for_primary_photo"
+ android:layout_alignParentStart="true"
+ android:layout_alignParentTop="true"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:background="@color/on_hold_dim_effect"
+ android:visibility="gone" />
+
+ <!-- "Call Banner" for primary call, the foregound or ringing call.
+ The "call banner" is a block of info about a single call,
+ including the contact name, phone number, call time counter,
+ and other status info. This info is shown as a "banner"
+ overlaid across the top of contact photo. -->
+ <RelativeLayout android:id="@+id/primary_call_banner"
+ style="@style/PrimaryCallInfoPrimaryCallBanner"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:minHeight="@dimen/call_banner_height"
+ android:paddingStart="@dimen/call_banner_side_padding"
+ android:paddingEnd="@dimen/call_banner_side_padding"
+ android:paddingTop="@dimen/call_banner_top_bottom_padding"
+ android:paddingBottom="@dimen/call_banner_top_bottom_padding"
+ android:background="@color/incall_call_banner_background">
+
+ <!-- Name (or the phone number, if we don't have a name to display). -->
+ <TextView android:id="@+id/name"
+ android:layout_alignParentTop="true"
+ android:layout_alignParentStart="true"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:paddingEnd="@dimen/call_banner_name_number_right_padding"
+ android:textAppearance="?android:attr/textAppearanceMedium"
+ android:textColor="@color/incall_call_banner_text_color"
+ android:singleLine="true"
+ android:textAlignment="viewStart"/>
+
+ <!-- Label (like "Mobile" or "Work", if present) and phone number, side by side -->
+ <LinearLayout android:id="@+id/labelAndNumber"
+ android:layout_below="@id/name"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:paddingEnd="@dimen/call_banner_name_number_right_padding"
+ android:orientation="horizontal">
+ <TextView android:id="@+id/phoneNumber"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textAppearance="?android:attr/textAppearanceSmall"
+ android:textColor="@color/incall_call_banner_text_color"
+ android:singleLine="true"
+ android:textDirection="ltr" />
+ <TextView android:id="@+id/label"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textAppearance="?android:attr/textAppearanceSmall"
+ android:textColor="@color/incall_call_banner_text_color"
+ android:textAllCaps="true"
+ android:singleLine="true"
+ android:layout_marginStart="6dp" />
+ </LinearLayout>
+
+ <!-- Elapsed time indication for a call in progress. -->
+ <TextView android:id="@+id/elapsedTime"
+ android:layout_alignParentEnd="true"
+ android:layout_centerVertical="true"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textAppearance="?android:attr/textAppearanceMedium"
+ android:textColor="@color/incall_call_banner_text_color"
+ android:singleLine="true"
+ android:visibility="invisible" />
+
+ <!-- Call type indication: a special label and/or branding
+ for certain kinds of calls (like "Internet call" for a SIP call.) -->
+ <TextView android:id="@+id/callTypeLabel"
+ android:layout_below="@id/labelAndNumber"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textAppearance="?android:attr/textAppearanceSmall"
+ android:textColor="@color/incall_call_banner_text_color"
+ android:maxLines="1"
+ android:ellipsize="end" />
+
+ </RelativeLayout> <!-- End of call_banner -->
+
+ <LinearLayout android:id="@+id/secondary_info_container"
+ style="@style/PrimaryCallInfoSecondaryInfoContainer"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_vertical|right"
+ android:orientation="vertical"
+ android:background="@color/incall_secondary_info_background"
+ android:animateLayoutChanges="true">
+
+ <!-- Shown when a gateway provider is used during any outgoing call. -->
+ <LinearLayout android:id="@+id/providerInfo"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:paddingTop="@dimen/provider_info_top_bottom_padding"
+ android:paddingBottom="@dimen/provider_info_top_bottom_padding"
+ android:paddingStart="@dimen/call_banner_side_padding"
+ android:paddingEnd="@dimen/call_banner_side_padding"
+ android:gravity="end"
+ android:orientation="horizontal"
+ android:background="@android:color/transparent">
+ <TextView android:id="@+id/providerLabel"
+ android:layout_width="0px"
+ android:layout_height="wrap_content"
+ android:layout_weight="6"
+ android:textAppearance="?android:attr/textAppearanceSmall"
+ android:textAllCaps="true"
+ android:textColor="@color/incall_call_banner_text_color"
+ android:singleLine="true"
+ android:ellipsize="marquee" />
+ <TextView android:id="@+id/providerAddress"
+ android:layout_width="0px"
+ android:layout_height="wrap_content"
+ android:layout_weight="4"
+ android:gravity="end"
+ android:paddingStart="8dp"
+ android:textAppearance="?android:attr/textAppearanceSmall"
+ android:textAllCaps="true"
+ android:textColor="@color/incall_call_banner_text_color"
+ android:singleLine="true"
+ android:ellipsize="middle" />
+ </LinearLayout>
+
+ <!-- The "call state label": In some states, this shows a special
+ indication like "Dialing" or "Incoming call" or "Call ended".
+ It's unused for the normal case of an active ongoing call. -->
+ <TextView android:id="@+id/callStateLabel"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:paddingTop="@dimen/provider_info_top_bottom_padding"
+ android:paddingBottom="@dimen/provider_info_top_bottom_padding"
+ android:paddingStart="@dimen/call_banner_side_padding"
+ android:paddingEnd="@dimen/call_banner_side_padding"
+ android:gravity="end"
+ android:textAppearance="?android:attr/textAppearanceSmall"
+ android:textColor="@color/incall_call_banner_text_color"
+ android:textAllCaps="true"
+ android:background="@android:color/transparent"
+ android:singleLine="true"
+ android:ellipsize="end" />
+ </LinearLayout>
+
+ <!-- Social status (currently unused) -->
+ <!-- <TextView android:id="@+id/socialStatus"
+ android:layout_below="@id/callTypeLabel"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textAppearance="?android:attr/textAppearanceSmall"
+ android:textColor="@color/incall_call_banner_text_color"
+ android:maxLines="2"
+ android:ellipsize="end"
+ /> -->
+</RelativeLayout>