Visual update of the call log.
- Remove child and group item layouts, since they are no longer needed.
- Add icon for voicemail playback to the layout (still unused).
- Update dimensions, colors, and fonts in various places to match mocks.
Change-Id: I00e5eef2d2ba84a884efedffb3533e61fbae7176
diff --git a/res/drawable-hdpi/ic_divider_dashed_holo_dark.png b/res/drawable-hdpi/ic_divider_dashed_holo_dark.png
new file mode 100644
index 0000000..663a2f8
--- /dev/null
+++ b/res/drawable-hdpi/ic_divider_dashed_holo_dark.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_divider_dashed_holo_dark.png b/res/drawable-mdpi/ic_divider_dashed_holo_dark.png
new file mode 100644
index 0000000..6652541
--- /dev/null
+++ b/res/drawable-mdpi/ic_divider_dashed_holo_dark.png
Binary files differ
diff --git a/res/drawable-xhdpi/ic_divider_dashed_holo_dark.png b/res/drawable-xhdpi/ic_divider_dashed_holo_dark.png
new file mode 100644
index 0000000..34e8fd2
--- /dev/null
+++ b/res/drawable-xhdpi/ic_divider_dashed_holo_dark.png
Binary files differ
diff --git a/res/layout/call_log_action_call.xml b/res/layout/call_log_action_call.xml
index 747daa7..0f15a23 100644
--- a/res/layout/call_log_action_call.xml
+++ b/res/layout/call_log_action_call.xml
@@ -16,25 +16,39 @@
<merge xmlns:android="http://schemas.android.com/apk/res/android">
- <ImageView
- android:id="@+id/call_icon"
+ <LinearLayout
+ android:id="@+id/divider"
android:layout_width="wrap_content"
- android:layout_height="match_parent"
- android:paddingLeft="14dip"
- android:paddingRight="14dip"
+ android:layout_height="?attr/call_log_list_contact_photo_size"
android:layout_alignParentRight="true"
- android:gravity="center_vertical"
- android:src="@android:drawable/sym_action_call"
- />
-
- <View android:id="@+id/divider"
- android:layout_width="1px"
- android:layout_height="match_parent"
- android:layout_marginTop="5dip"
- android:layout_marginBottom="5dip"
- android:layout_toLeftOf="@id/call_icon"
- android:layout_marginLeft="11dip"
- android:background="@drawable/divider_vertical_dark"
- />
+ android:orientation="horizontal"
+ >
+ <ImageView
+ android:id="@+id/play_icon"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginLeft="?attr/call_log_inner_margin"
+ android:layout_gravity="center_vertical"
+ android:scaleType="center"
+ android:src="@drawable/ic_unheard_voicemail_holo_dark"
+ android:visibility="gone"
+ />
+ <View
+ android:layout_width="1px"
+ android:layout_height="?attr/call_log_list_call_action_size"
+ android:layout_gravity="center_vertical"
+ android:layout_marginLeft="?attr/call_log_inner_margin"
+ android:background="@drawable/ic_divider_dashed_holo_dark"
+ />
+ <ImageView
+ android:id="@+id/call_icon"
+ android:layout_width="?attr/call_log_list_call_action_size"
+ android:layout_height="?attr/call_log_list_call_action_size"
+ android:layout_marginLeft="?attr/call_log_inner_margin"
+ android:layout_gravity="center_vertical"
+ android:scaleType="center"
+ android:src="@drawable/ic_dial_action_call"
+ />
+ </LinearLayout>
</merge>
diff --git a/res/layout/call_log_contact_photo.xml b/res/layout/call_log_contact_photo.xml
index 552e9ca..a9add82 100644
--- a/res/layout/call_log_contact_photo.xml
+++ b/res/layout/call_log_contact_photo.xml
@@ -4,7 +4,6 @@
android:id="@+id/contact_photo"
android:layout_width="?attr/call_log_list_contact_photo_size"
android:layout_height="?attr/call_log_list_contact_photo_size"
- android:layout_margin="?attr/call_log_list_contact_photo_margin"
android:layout_alignParentLeft="true"
android:layout_gravity="center_vertical"
/>
diff --git a/res/layout/call_log_list_child_item.xml b/res/layout/call_log_list_child_item.xml
deleted file mode 100644
index ba7e4ec..0000000
--- a/res/layout/call_log_list_child_item.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2007 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.
--->
-
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="match_parent"
- android:layout_height="?attr/call_log_list_item_height"
->
-
- <include layout="@layout/call_log_action_call"/>
- <include layout="@layout/call_log_list_item_layout"/>
-
-</RelativeLayout>
diff --git a/res/layout/call_log_list_group_item.xml b/res/layout/call_log_list_group_item.xml
deleted file mode 100644
index 0eaeaa6..0000000
--- a/res/layout/call_log_list_group_item.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2007 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.
--->
-
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="match_parent"
- android:layout_height="?attr/call_log_list_item_height"
->
- <include layout="@layout/call_log_contact_photo"/>
- <include layout="@layout/call_log_action_call"/>
- <include layout="@layout/call_log_list_item_layout" />
-</RelativeLayout>
diff --git a/res/layout/call_log_list_item.xml b/res/layout/call_log_list_item.xml
index 61b7340..890026e 100644
--- a/res/layout/call_log_list_item.xml
+++ b/res/layout/call_log_list_item.xml
@@ -14,43 +14,60 @@
limitations under the License.
-->
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
>
<!--
- This layout may represent either a call log item (but not a group thereof) or one of the
- headers in the call log.
+ We have a nested FrameLayout because the margin attributes out the outer
+ layout are not used when this layout is inflated within a list.
- The former will make the @id/call_log_item visible and the @id/call_log_header gone.
-
- The latter will make the @id/call_log_header visible and the @id/call_log_item gone
- -->
-
- <RelativeLayout
- android:id="@+id/call_log_item"
- android:layout_width="fill_parent"
- android:layout_height="?attr/call_log_list_item_height"
- >
- <include layout="@layout/call_log_contact_photo"/>
- <include layout="@layout/call_log_action_call"/>
- <include layout="@layout/call_log_list_item_layout"/>
- </RelativeLayout>
-
- <LinearLayout
- android:id="@+id/call_log_header"
+ TODO: Can we find a way to avoid the extra layer?
+ -->
+ <FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:background="?attr/call_log_list_header_background"
- android:layout_marginLeft="5dip"
- android:layout_marginRight="20dip"
+ android:layout_marginLeft="?attr/call_log_outer_margin"
+ android:layout_marginRight="?attr/call_log_outer_margin"
+ android:layout_marginTop="?attr/call_log_inner_margin"
+ android:layout_marginBottom="?attr/call_log_inner_margin"
>
- <TextView
- android:id="@+id/call_log_header_text"
+ <!--
+ This layout may represent either a call log item or one of the
+ headers in the call log.
+
+ The former will make the @id/call_log_item visible and the
+ @id/call_log_header gone.
+
+ The latter will make the @id/call_log_header visible and the
+ @id/call_log_item gone
+ -->
+
+ <RelativeLayout
+ android:id="@+id/call_log_item"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:textColor="?attr/call_log_list_header_text_color"
- android:textAppearance="?android:attr/textAppearanceLarge"
- />
- </LinearLayout>
-</RelativeLayout>
+ android:gravity="center_vertical"
+ >
+ <include layout="@layout/call_log_contact_photo"/>
+ <include layout="@layout/call_log_action_call"/>
+ <include layout="@layout/call_log_list_item_layout"/>
+ </RelativeLayout>
+
+ <LinearLayout
+ android:id="@+id/call_log_header"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ >
+ <TextView
+ android:id="@+id/call_log_header_text"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginLeft="?attr/call_log_inner_margin"
+ android:textSize="14sp"
+ android:textStyle="bold"
+ android:textColor="?attr/call_log_header_color"
+ />
+ </LinearLayout>
+ </FrameLayout>
+</LinearLayout>
diff --git a/res/layout/call_log_list_item_layout.xml b/res/layout/call_log_list_item_layout.xml
index e418882..344413c 100644
--- a/res/layout/call_log_list_item_layout.xml
+++ b/res/layout/call_log_list_item_layout.xml
@@ -17,10 +17,10 @@
<merge xmlns:android="http://schemas.android.com/apk/res/android">
<RelativeLayout
android:layout_width="wrap_content"
- android:layout_height="wrap_content"
+ android:layout_height="?attr/call_log_list_contact_photo_size"
android:layout_toRightOf="@id/contact_photo"
android:layout_toLeftOf="@id/divider"
- android:layout_alignParentTop="true"
+ android:layout_marginLeft="?attr/call_log_inner_margin"
>
<include layout="@layout/call_log_phone_call_details"/>
</RelativeLayout>
diff --git a/res/layout/call_log_phone_call_details.xml b/res/layout/call_log_phone_call_details.xml
index 1948620..cf26fb6 100644
--- a/res/layout/call_log_phone_call_details.xml
+++ b/res/layout/call_log_phone_call_details.xml
@@ -27,24 +27,24 @@
android:id="@+id/call_type_icons"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_marginRight="?attr/call_log_date_margin"
+ android:layout_marginRight="?attr/call_log_inner_margin"
/>
<TextView
android:id="@+id/call_type_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:textAppearance="?android:attr/textAppearanceSmall"
- android:textColor="?attr/call_log_primary_text_color"
- android:layout_marginRight="?attr/call_log_date_margin"
+ android:textColor="?attr/call_log_secondary_text_color"
+ android:textSize="14sp"
+ android:layout_marginRight="?attr/call_log_inner_margin"
android:singleLine="true"
/>
<TextView
android:id="@+id/call_type_separator"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_marginRight="?attr/call_log_date_margin"
- android:textAppearance="?android:attr/textAppearanceSmall"
- android:textColor="?attr/call_log_primary_text_color"
+ android:layout_marginRight="?attr/call_log_inner_margin"
+ android:textColor="?attr/call_log_secondary_text_color"
+ android:textSize="14sp"
android:text="@string/call_log_type_date_separator"
android:singleLine="true"
/>
@@ -52,8 +52,8 @@
android:id="@+id/date"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:textAppearance="?android:attr/textAppearanceSmall"
- android:textColor="?attr/call_log_primary_text_color"
+ android:textColor="?attr/call_log_secondary_text_color"
+ android:textSize="14sp"
android:layout_toRightOf="@id/call_type"
android:layout_alignParentBottom="true"
android:singleLine="true"
@@ -63,8 +63,8 @@
android:id="@+id/number"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:textAppearance="?android:attr/textAppearanceSmall"
- android:textColor="?attr/call_log_primary_text_color"
+ android:textColor="?attr/call_log_secondary_text_color"
+ android:textSize="14sp"
android:layout_alignParentLeft="true"
android:layout_above="@id/call_type"
android:singleLine="true"
@@ -73,8 +73,8 @@
android:id="@+id/name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="?attr/call_log_primary_text_color"
+ android:textSize="18sp"
android:layout_alignParentLeft="true"
android:layout_above="@id/number"
android:paddingBottom="2dp"
diff --git a/res/values/colors.xml b/res/values/colors.xml
index 35727e0..ecbd3b1 100644
--- a/res/values/colors.xml
+++ b/res/values/colors.xml
@@ -60,7 +60,7 @@
<color name="call_log_missed_call_highlight_color">#FF0000</color>
<!-- Color of the text describing an unconsumed voicemail. -->
- <color name="call_log_voicemail_highlight_color">#0000FF</color>
+ <color name="call_log_voicemail_highlight_color">#33b5e5</color>
<!-- Palette section:
If you need a new color then add a new one and delete the ones that are no longer used. -->
diff --git a/res/values/styles.xml b/res/values/styles.xml
index 43ea301..3fa411c 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -38,17 +38,16 @@
<item name="list_item_header_text_size">14sp</item>
<item name="contact_filter_popup_width">320dip</item>
<!-- CallLogList -->
- <item name="call_log_list_contact_photo_size">60dip</item>
- <item name="call_log_list_contact_photo_margin">5dip</item>
- <item name="call_log_list_item_height">70dip</item>
- <item name="call_log_list_header_text_color">#AAAAFF</item>
- <item name="call_log_list_header_background">@drawable/call_log_action_bar_bg</item>
+ <item name="call_log_list_contact_photo_size">64dip</item>
+ <item name="call_log_list_call_action_size">32dip</item>
<!-- CallLog -->
- <item name="call_log_date_margin">5dip</item>
+ <item name="call_log_inner_margin">8dip</item>
+ <item name="call_log_outer_margin">16dip</item>
<item name="call_log_primary_text_color">#FFFFFF</item>
<item name="call_log_primary_background_color">#000000</item>
- <item name="call_log_secondary_text_color">#FFFFFF</item>
+ <item name="call_log_secondary_text_color">#888888</item>
<item name="call_log_secondary_background_color">#333333</item>
+ <item name="call_log_header_color">#33b5e5</item>
<!-- VoicemailStatus -->
<item name="call_log_voicemail_status_height">40dip</item>
<item name="call_log_voicemail_status_background_color">#FFFFE0</item>
@@ -65,11 +64,13 @@
<item name="call_detail_action_icon_size">60dip</item>
<item name="call_detail_contact_background_overlay_alpha">0.25</item>
<!-- CallLog -->
- <item name="call_log_date_margin">5dip</item>
+ <item name="call_log_inner_margin">8dip</item>
+ <item name="call_log_outer_margin">16dip</item>
<item name="call_log_primary_text_color">#FFFFFF</item>
<item name="call_log_primary_background_color">#000000</item>
<item name="call_log_secondary_text_color">#FFFFFF</item>
<item name="call_log_secondary_background_color">#333333</item>
+ <item name="call_log_header_color">#33b5e5</item>
</style>
<style name="ContactDetailActivityTheme" parent="android:Theme.Holo.Light">
@@ -150,19 +151,18 @@
</declare-styleable>
<declare-styleable name="CallLog">
+ <attr name="call_log_inner_margin" format="dimension" />
+ <attr name="call_log_outer_margin" format="dimension" />
<attr name="call_log_primary_text_color" format="color" />
<attr name="call_log_primary_background_color" format="color" />
<attr name="call_log_secondary_text_color" format="color" />
<attr name="call_log_secondary_background_color" format="color" />
- <attr name="call_log_date_margin" format="dimension" />
+ <attr name="call_log_header_color" format="color" />
</declare-styleable>
<declare-styleable name="CallLogList">
<attr name="call_log_list_contact_photo_size" format="dimension" />
- <attr name="call_log_list_contact_photo_margin" format="dimension" />
- <attr name="call_log_list_item_height" format="dimension" />
- <attr name="call_log_list_header_text_color" format="color" />
- <attr name="call_log_list_header_background" format="reference" />
+ <attr name="call_log_list_call_action_size" format="dimension" />
</declare-styleable>
<declare-styleable name="VoicemailStatus">