diff options
Diffstat (limited to 'res')
-rw-r--r-- | res/drawable-hdpi/ic_call_inout_holo_dark.png | bin | 0 -> 550 bytes | |||
-rw-r--r-- | res/drawable-mdpi/ic_call_inout_holo_dark.png | bin | 0 -> 385 bytes | |||
-rw-r--r-- | res/drawable-xhdpi/ic_call_inout_holo_dark.png | bin | 0 -> 751 bytes | |||
-rw-r--r-- | res/layout/call_stats_detail.xml | 225 | ||||
-rw-r--r-- | res/layout/call_stats_detail_info.xml | 215 | ||||
-rw-r--r-- | res/layout/call_stats_fragment.xml | 85 | ||||
-rw-r--r-- | res/layout/call_stats_list_item.xml | 115 | ||||
-rw-r--r-- | res/layout/call_stats_nav_item.xml | 39 | ||||
-rw-r--r-- | res/layout/double_date_picker_dialog.xml | 67 | ||||
-rw-r--r-- | res/menu/call_stats_details_options.xml | 27 | ||||
-rw-r--r-- | res/menu/call_stats_options.xml | 45 | ||||
-rw-r--r-- | res/values/attrs.xml | 17 | ||||
-rw-r--r-- | res/values/cm_arrays.xml | 42 | ||||
-rw-r--r-- | res/values/cm_plurals.xml | 35 | ||||
-rw-r--r-- | res/values/cm_strings.xml | 37 | ||||
-rw-r--r-- | res/values/colors.xml | 8 | ||||
-rw-r--r-- | res/values/dimens.xml | 5 |
17 files changed, 962 insertions, 0 deletions
diff --git a/res/drawable-hdpi/ic_call_inout_holo_dark.png b/res/drawable-hdpi/ic_call_inout_holo_dark.png Binary files differnew file mode 100644 index 000000000..1dbf4b485 --- /dev/null +++ b/res/drawable-hdpi/ic_call_inout_holo_dark.png diff --git a/res/drawable-mdpi/ic_call_inout_holo_dark.png b/res/drawable-mdpi/ic_call_inout_holo_dark.png Binary files differnew file mode 100644 index 000000000..88b92a195 --- /dev/null +++ b/res/drawable-mdpi/ic_call_inout_holo_dark.png diff --git a/res/drawable-xhdpi/ic_call_inout_holo_dark.png b/res/drawable-xhdpi/ic_call_inout_holo_dark.png Binary files differnew file mode 100644 index 000000000..f133f164c --- /dev/null +++ b/res/drawable-xhdpi/ic_call_inout_holo_dark.png diff --git a/res/layout/call_stats_detail.xml b/res/layout/call_stats_detail.xml new file mode 100644 index 000000000..656218ff2 --- /dev/null +++ b/res/layout/call_stats_detail.xml @@ -0,0 +1,225 @@ +<?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. +--> + +<com.android.dialer.widget.AnchoredScrollView + xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:ex="http://schemas.android.com/apk/res/com.android.dialer" + android:layout_width="match_parent" + android:layout_height="match_parent" + ex:anchorView="@+id/photo_text_bar_dummy" + ex:anchoredView="@+id/controls" > + + <RelativeLayout + android:id="@+id/call_stats_detail" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:visibility="gone" > + + <!-- This layout defines the position of the scroll anchor. + Sizes are supposed to match their counterpart in controls --> + <RelativeLayout + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:orientation="vertical" + android:layout_alignParentTop="true" > + + <!-- Contact photo placeholder --> + <com.android.contacts.common.widget.ProportionalLayout + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_alignParentStart="true" + android:id="@+id/photo_dummy" + ex:direction="widthToHeight" + ex:ratio="0.5" > + + <!-- Proportional layout requires a view in it. --> + <View + android:layout_width="wrap_content" + android:layout_height="wrap_content" /> + + </com.android.contacts.common.widget.ProportionalLayout> + + <!-- Contact name placeholder --> + <View + android:id="@+id/photo_text_bar_dummy" + android:layout_width="match_parent" + android:layout_height="42dip" + android:layout_alignBottom="@id/photo_dummy" + android:layout_alignParentStart="true" /> + + </RelativeLayout> + + <!-- The actual details --> + <LinearLayout + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_below="@id/controls" > + + <include layout="@layout/call_stats_detail_info" /> + </LinearLayout> + + <!-- The contents of the title block --> + + <RelativeLayout + android:id="@+id/controls" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_alignParentStart="true" + android:layout_alignParentTop="true" > + + <com.android.contacts.common.widget.ProportionalLayout + android:id="@+id/contact_background_sizer" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_alignParentStart="true" + ex:direction="widthToHeight" + ex:ratio="0.5" > + + <ImageView + android:id="@+id/contact_background" + android:layout_width="match_parent" + android:layout_height="0dip" + android:adjustViewBounds="true" + android:scaleType="centerCrop" /> + + </com.android.contacts.common.widget.ProportionalLayout> + + <LinearLayout + android:id="@+id/separator" + android:layout_width="match_parent" + android:layout_height="1dip" + android:layout_below="@+id/contact_background_sizer" + android:background="@color/background_dialer_light" /> + + <View + android:id="@+id/photo_text_bar" + android:layout_width="match_parent" + android:layout_height="42dip" + android:layout_alignBottom="@id/contact_background_sizer" + android:layout_alignParentStart="true" + android:background="#7F000000" /> + + <ImageView + android:id="@+id/main_action" + android:layout_width="wrap_content" + android:layout_height="0dip" + android:layout_alignBottom="@id/photo_text_bar" + android:layout_alignEnd="@id/photo_text_bar" + android:layout_alignTop="@id/photo_text_bar" + android:layout_marginEnd="@dimen/call_log_outer_margin" + android:scaleType="center" /> + + <TextView + android:id="@+id/header_text" + android:layout_width="wrap_content" + android:layout_height="0dip" + android:layout_alignBottom="@id/photo_text_bar" + android:layout_alignStart="@id/photo_text_bar" + android:layout_alignTop="@id/photo_text_bar" + android:layout_marginStart="@dimen/call_detail_contact_name_margin" + android:layout_marginEnd="@dimen/call_log_inner_margin" + android:layout_toStartOf="@id/main_action" + android:gravity="center_vertical" + android:singleLine="true" + android:textAppearance="?android:attr/textAppearanceMedium" + android:textColor="?attr/call_log_header_color" /> + + <ImageButton + android:id="@+id/main_action_push_layer" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:layout_alignBottom="@id/contact_background_sizer" + android:layout_alignStart="@id/contact_background_sizer" + android:layout_alignEnd="@id/contact_background_sizer" + android:layout_alignTop="@id/contact_background_sizer" + android:background="?android:attr/selectableItemBackground" /> + + <FrameLayout + android:id="@+id/call_and_sms" + android:layout_width="match_parent" + android:layout_height="@dimen/call_log_list_item_height" + android:layout_below="@id/main_action_push_layer" + android:layout_marginBottom="@dimen/call_detail_button_spacing" + android:layout_marginTop="@dimen/call_detail_button_spacing" + android:background="@color/background_dialer_list_items" + android:gravity="center_vertical" > + + <LinearLayout + android:id="@+id/call_and_sms_main_action" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:background="?android:attr/selectableItemBackground" + android:focusable="true" + android:orientation="horizontal" > + + <LinearLayout + android:layout_width="0dip" + android:layout_height="match_parent" + android:layout_weight="1" + android:gravity="center_vertical" + android:orientation="vertical" + android:paddingStart="@dimen/call_log_indent_margin" > + + <TextView + android:id="@+id/call_and_sms_text" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:ellipsize="end" + android:paddingEnd="@dimen/call_log_icon_margin" + android:singleLine="true" + android:textAppearance="?android:attr/textAppearanceMedium" + android:textColor="?attr/call_log_primary_text_color" /> + + <TextView + android:id="@+id/call_and_sms_label" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:ellipsize="end" + android:paddingEnd="@dimen/call_log_icon_margin" + android:singleLine="true" + android:textAllCaps="true" + android:textAppearance="?android:attr/textAppearanceSmall" + android:textColor="?attr/call_log_primary_text_color" /> + </LinearLayout> + + <View + android:id="@+id/call_and_sms_divider" + android:layout_width="1px" + android:layout_height="32dip" + android:layout_gravity="center_vertical" + android:background="@color/background_dialer_light" /> + + <ImageView + android:id="@+id/call_and_sms_icon" + android:layout_width="@color/call_log_voicemail_highlight_color" + android:layout_height="match_parent" + android:background="?android:attr/selectableItemBackground" + android:focusable="true" + android:gravity="center" + android:paddingStart="@dimen/call_log_inner_margin" + android:paddingEnd="@dimen/call_log_outer_margin" + android:scaleType="centerInside" /> + + </LinearLayout> + + </FrameLayout> + + </RelativeLayout> + + </RelativeLayout> + +</com.android.dialer.widget.AnchoredScrollView> diff --git a/res/layout/call_stats_detail_info.xml b/res/layout/call_stats_detail_info.xml new file mode 100644 index 000000000..70716700a --- /dev/null +++ b/res/layout/call_stats_detail_info.xml @@ -0,0 +1,215 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright (C) 2011 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" + xmlns:ex="http://schemas.android.com/apk/res/com.android.dialer" + android:id="@+id/call_stats_info" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginStart="@dimen/call_detail_contact_name_margin" + android:layout_marginTop="@dimen/call_log_outer_margin" > + + <TextView + android:id="@+id/date_filter" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:textAppearance="?android:attr/textAppearanceSmall" + android:layout_marginBottom="@dimen/call_log_icon_margin" + android:textColor="@color/secondary_text_color" /> + + <LinearLayout + android:id="@+id/total_container" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_marginBottom="@dimen/call_log_icon_margin" + android:layout_below="@id/date_filter" > + + <ImageView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="center_vertical" + android:src="@drawable/ic_call_inout_holo_dark" /> + + <TextView + android:id="@+id/total_summary" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_weight="1" + android:layout_below="@id/date_filter" + android:layout_marginStart="@dimen/call_log_icon_margin" + android:textAppearance="?android:attr/textAppearanceSmall" + android:textColor="@color/secondary_text_color" /> + + </LinearLayout> + + <TextView + android:id="@+id/total_duration" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_below="@id/total_container" + android:layout_marginBottom="@dimen/call_log_inner_margin" + android:textAppearance="?android:attr/textAppearanceSmall" + android:textColor="@color/secondary_text_color" /> + + <com.android.dialer.widget.PieChartView + android:id="@+id/pie_chart" + android:layout_width="@dimen/call_stats_details_chart_size" + android:layout_height="@dimen/call_stats_details_chart_size" + android:layout_alignParentEnd="true" + android:layout_centerVertical="true" + android:layout_below="@id/total_duration" + ex:outlineColor="@color/call_stats_bar_background" /> + + <LinearLayout + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_alignParentStart="true" + android:layout_toStartOf="@id/pie_chart" + android:layout_below="@id/total_duration" + android:divider="?android:attr/dividerHorizontal" + android:orientation="vertical" + android:showDividers="middle" > + + <LinearLayout + android:id="@+id/in_container" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_marginBottom="@dimen/call_log_icon_margin" + android:layout_marginTop="@dimen/call_log_icon_margin" + android:orientation="vertical" > + + <LinearLayout + android:layout_width="match_parent" + android:layout_height="wrap_content" > + + <ImageView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="center_vertical" + android:src="@drawable/ic_call_incoming_holo_dark" /> + + <TextView + android:id="@+id/in_summary" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_weight="1" + android:layout_marginStart="@dimen/call_log_icon_margin" + android:textAppearance="?android:attr/textAppearanceSmall" + android:textColor="@color/secondary_text_color" /> + + </LinearLayout> + + <TextView + android:id="@+id/in_count" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:textAppearance="?android:attr/textAppearanceSmall" + android:textColor="@color/secondary_text_color" /> + + <TextView + android:id="@+id/in_duration" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:textAppearance="?android:attr/textAppearanceSmall" + android:textColor="@color/secondary_text_color" /> + + </LinearLayout> + + <LinearLayout + android:id="@+id/out_container" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_marginBottom="@dimen/call_log_icon_margin" + android:layout_marginTop="@dimen/call_log_icon_margin" + android:orientation="vertical" > + + <LinearLayout + android:layout_width="match_parent" + android:layout_height="wrap_content" > + + <ImageView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="center_vertical" + android:src="@drawable/ic_call_outgoing_holo_dark" /> + + <TextView + android:id="@+id/out_summary" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_weight="1" + android:layout_marginStart="@dimen/call_log_icon_margin" + android:textAppearance="?android:attr/textAppearanceSmall" + android:textColor="@color/secondary_text_color" /> + + </LinearLayout> + + <TextView + android:id="@+id/out_count" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:textAppearance="?android:attr/textAppearanceSmall" + android:textColor="@color/secondary_text_color" /> + + <TextView + android:id="@+id/out_duration" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:textAppearance="?android:attr/textAppearanceSmall" + android:textColor="@color/secondary_text_color" /> + + </LinearLayout> + + <LinearLayout + android:id="@+id/missed_container" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_marginTop="@dimen/call_log_icon_margin" + android:orientation="vertical" > + + <LinearLayout + android:layout_width="match_parent" + android:layout_height="wrap_content" > + + <ImageView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="center_vertical" + android:src="@drawable/ic_call_missed_holo_dark" /> + + <TextView + android:id="@+id/missed_summary" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_marginStart="@dimen/call_log_icon_margin" + android:textAppearance="?android:attr/textAppearanceSmall" + android:textColor="@color/secondary_text_color" /> + + </LinearLayout> + + <TextView + android:id="@+id/missed_count" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:textAppearance="?android:attr/textAppearanceSmall" + android:textColor="@color/secondary_text_color" /> + + </LinearLayout> + + </LinearLayout> + +</RelativeLayout> diff --git a/res/layout/call_stats_fragment.xml b/res/layout/call_stats_fragment.xml new file mode 100644 index 000000000..df121335b --- /dev/null +++ b/res/layout/call_stats_fragment.xml @@ -0,0 +1,85 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright (C) 2011 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. +--> + +<!-- Layout parameters are set programmatically. --> +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:divider="?android:attr/dividerHorizontal" + android:orientation="vertical" + android:showDividers="end" > + + <LinearLayout + android:id="@+id/call_stats_header" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:orientation="vertical" + android:paddingTop="@dimen/call_log_inner_margin" + android:visibility="gone" > + + <TextView + android:id="@+id/date_filter" + style="@style/ContactListSeparatorTextViewStyle" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_marginStart="@dimen/call_log_outer_margin" + android:layout_marginEnd="@dimen/call_log_outer_margin" + android:background="@null" /> + + <TextView + android:id="@+id/sum_header" + style="@style/ContactListSeparatorTextViewStyle" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_marginStart="@dimen/call_log_outer_margin" + android:layout_marginEnd="@dimen/call_log_outer_margin" + android:paddingBottom="@dimen/call_log_inner_margin" /> + + <View + android:id="@+id/call_stats_divider" + android:layout_width="match_parent" + android:layout_height="1px" + android:layout_gravity="bottom" + android:layout_marginStart="@dimen/call_log_outer_margin" + android:layout_marginEnd="@dimen/call_log_outer_margin" + android:background="#55ffffff" /> + </LinearLayout> + + <FrameLayout + android:layout_width="match_parent" + android:layout_height="match_parent" > + + <ListView + android:id="@android:id/list" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:divider="@null" + android:fadingEdge="none" + android:scrollbarStyle="outsideOverlay" /> + + <TextView + android:id="@android:id/empty" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:layout_marginTop="@dimen/empty_message_top_margin" + android:gravity="center" + android:text="@string/recentCalls_empty" + android:textAppearance="?android:attr/textAppearanceLarge" + android:textColor="?android:attr/textColorSecondary" /> + </FrameLayout> + +</LinearLayout> diff --git a/res/layout/call_stats_list_item.xml b/res/layout/call_stats_list_item.xml new file mode 100644 index 000000000..29d584daf --- /dev/null +++ b/res/layout/call_stats_list_item.xml @@ -0,0 +1,115 @@ +<?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. +--> + +<view + xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:ex="http://schemas.android.com/apk/res/com.android.dialer" + class="com.android.dialer.calllog.CallLogListItemView" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:id="@+id/call_log_list_item" + android:orientation="vertical" +> + + <GridLayout + android:id="@+id/primary_action_view" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_centerVertical="true" + android:layout_marginStart="@dimen/call_log_outer_margin" + android:layout_marginEnd="@dimen/call_log_outer_margin" + android:background="?android:attr/selectableItemBackground" + android:columnCount="3" + android:focusable="true" + android:nextFocusLeft="@+id/quick_contact_photo" > + + <QuickContactBadge + android:id="@+id/quick_contact_photo" + android:layout_width="@dimen/call_log_list_contact_photo_size" + android:layout_height="@dimen/call_log_list_contact_photo_size" + android:layout_marginBottom="@dimen/call_log_icon_margin" + android:layout_marginTop="@dimen/call_log_icon_margin" + android:layout_rowSpan="3" + android:focusable="true" + android:nextFocusRight="@id/primary_action_view" /> + + <TextView + android:id="@+id/name" + android:layout_width="wrap_content" + android:layout_marginStart="@dimen/call_log_inner_margin" + android:layout_marginTop="@dimen/call_log_icon_margin" + android:ellipsize="marquee" + android:singleLine="true" + android:textColor="?attr/call_log_primary_text_color" + android:textSize="18sp" /> + + <TextView + android:id="@+id/percent" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="fill_horizontal|bottom" + android:gravity="end" + android:textColor="?attr/call_log_secondary_text_color" + android:textSize="14sp" /> + + <com.android.dialer.widget.LinearColorBar + android:id="@+id/percent_bar" + android:layout_height="10dp" + android:layout_columnSpan="2" + android:layout_gravity="fill_horizontal" + android:layout_marginBottom="@dimen/call_log_icon_margin" + android:layout_marginStart="@dimen/call_log_inner_margin" + android:layout_marginTop="@dimen/call_log_icon_margin" + android:orientation="horizontal" + android:paddingEnd="4dp" + android:paddingStart="4dp" + ex:backgroundColor="@color/call_stats_bar_background" + ex:blueColor="@color/call_stats_incoming" + ex:greenColor="@color/call_stats_outgoing" + ex:redColor="@color/call_stats_missed" /> + + <LinearLayout + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_columnSpan="2" + android:layout_marginStart="@dimen/call_log_inner_margin" + android:orientation="horizontal" > + + <TextView + android:id="@+id/number" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginEnd="@dimen/call_log_icon_margin" + android:ellipsize="marquee" + android:singleLine="true" + android:textColor="?attr/call_log_secondary_text_color" + android:textSize="14sp" /> + + <TextView + android:id="@+id/label" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginEnd="@dimen/call_log_icon_margin" + android:ellipsize="marquee" + android:singleLine="true" + android:textColor="?attr/call_log_secondary_text_color" + android:textSize="14sp" + android:textStyle="bold" /> + </LinearLayout> + </GridLayout> + +</view> diff --git a/res/layout/call_stats_nav_item.xml b/res/layout/call_stats_nav_item.xml new file mode 100644 index 000000000..c6852b888 --- /dev/null +++ b/res/layout/call_stats_nav_item.xml @@ -0,0 +1,39 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright (C) 2011 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. +--> +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:orientation="horizontal" > + + <ImageView + android:id="@+id/call_stats_nav_icon" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="center_vertical" + android:paddingStart="8dp" /> + + <TextView + android:id="@+id/call_stats_nav_text" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:gravity="center_vertical" + android:minHeight="40dp" + android:paddingEnd="?android:attr/listPreferredItemPaddingEnd" + android:paddingStart="?android:attr/listPreferredItemPaddingStart" + android:textAppearance="?android:attr/textAppearanceListItemSmall" /> + +</LinearLayout> diff --git a/res/layout/double_date_picker_dialog.xml b/res/layout/double_date_picker_dialog.xml new file mode 100644 index 000000000..ec4a1f25b --- /dev/null +++ b/res/layout/double_date_picker_dialog.xml @@ -0,0 +1,67 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- +** +** Copyright 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. +*/ +--> +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:gravity="center" + android:orientation="vertical" > + + <Spinner + android:id="@+id/date_quick_selection" + android:layout_marginTop="3dp" + android:layout_marginBottom="3dp" + android:layout_width="wrap_content" + android:layout_height="wrap_content" /> + + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginBottom="-12dp" + android:layout_marginRight="3dp" + android:layout_marginTop="3dp" + android:text="@string/call_stats_filter_from" + android:textAppearance="?android:attr/textAppearanceMedium" /> + + <DatePicker + android:id="@+id/date_picker_from" + android:datePickerMode="spinner" + android:layout_width="wrap_content" + android:layout_height="0dp" + android:layout_weight="1" + android:calendarViewShown="false" + android:spinnersShown="true" /> + + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginBottom="-12dp" + android:layout_marginRight="4dp" + android:text="@string/call_stats_filter_to" + android:textAppearance="?android:attr/textAppearanceMedium" /> + + <DatePicker + android:id="@+id/date_picker_to" + android:datePickerMode="spinner" + android:layout_width="wrap_content" + android:layout_height="0dp" + android:layout_weight="1" + android:calendarViewShown="false" + android:spinnersShown="true" /> + +</LinearLayout> diff --git a/res/menu/call_stats_details_options.xml b/res/menu/call_stats_details_options.xml new file mode 100644 index 000000000..c16db3315 --- /dev/null +++ b/res/menu/call_stats_details_options.xml @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2011 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. +--> +<menu xmlns:android="http://schemas.android.com/apk/res/android"> + <item + android:id="@+id/menu_edit_number_before_call" + android:title="@string/recentCalls_editNumberBeforeCall" + android:onClick="onMenuEditNumberBeforeCall" + /> + <item + android:id="@+id/menu_add_to_blacklist" + android:title="@string/menu_add_to_blacklist" + android:onClick="onMenuAddToBlacklist" + /> +</menu> diff --git a/res/menu/call_stats_options.xml b/res/menu/call_stats_options.xml new file mode 100644 index 000000000..6cc9ec0d0 --- /dev/null +++ b/res/menu/call_stats_options.xml @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright (C) 2011 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. +--> +<menu xmlns:android="http://schemas.android.com/apk/res/android" > + <item + android:id="@+id/filter" + android:showAsAction="always" + android:actionViewClass="android.widget.Spinner" /> + + <item + android:id="@+id/date_filter" + android:showAsAction="never" + android:title="@string/call_stats_date_filter"/> + + <item + android:id="@+id/reset_date_filter" + android:showAsAction="never" + android:visible="false" + android:title="@string/call_stats_reset_filter"/> + + <item + android:id="@+id/sort_by_duration" + android:showAsAction="never" + android:visible="false" + android:title="@string/call_stats_sort_by_duration"/> + + <item + android:id="@+id/sort_by_count" + android:showAsAction="never" + android:title="@string/call_stats_sort_by_count"/> + +</menu> diff --git a/res/values/attrs.xml b/res/values/attrs.xml index 23f639fd2..5ea16f98b 100644 --- a/res/values/attrs.xml +++ b/res/values/attrs.xml @@ -33,4 +33,21 @@ <declare-styleable name="SearchEditTextLayout" /> + <declare-styleable name="AnchoredScrollView"> + <attr name="anchorView" format="reference" /> + <attr name="anchorAtBottom" format="boolean" /> + <attr name="anchoredView" format="reference" /> + </declare-styleable> + + <declare-styleable name="LinearColorBar"> + <attr name="redColor" format="color" /> + <attr name="greenColor" format="color" /> + <attr name="blueColor" format="color" /> + <attr name="backgroundColor" format="color" /> + </declare-styleable> + + <declare-styleable name="PieChartView"> + <attr name="outlineColor" format="color" /> + </declare-styleable> + </resources> diff --git a/res/values/cm_arrays.xml b/res/values/cm_arrays.xml new file mode 100644 index 000000000..4a58561dd --- /dev/null +++ b/res/values/cm_arrays.xml @@ -0,0 +1,42 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright (C) 2013 The CyanogenMod 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. +--> +<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string-array name="call_stats_nav_items" translatable="false"> + <item>@string/call_stats_nav_all</item> + <item>@string/call_stats_nav_incoming</item> + <item>@string/call_stats_nav_outgoing</item> + <item>@string/call_stats_nav_missed</item> + </string-array> + + <!-- 0: sec + 1: min + 2: min sec + 3: hour + 4: hour sec + 5: hour min + 6: hour min sec --> + + <string-array name="call_stats_duration"> + <item><xliff:g id="seconds" example="2 secs">%3$s</xliff:g></item> + <item><xliff:g id="minutes" example="2 mins">%2$s</xliff:g></item> + <item><xliff:g id="minutes" example="2 mins">%2$s</xliff:g> <xliff:g id="seconds" example="2 secs">%3$s</xliff:g></item> + <item><xliff:g id="hours" example="2 hrs">%1$s</xliff:g></item> + <item><xliff:g id="hours" example="2 hrs">%1$s</xliff:g> <xliff:g id="seconds" example="2 secs">%3$s</xliff:g></item> + <item><xliff:g id="hours" example="2 hrs">%1$s</xliff:g> <xliff:g id="minutes" example="2 mins">%2$s</xliff:g></item> + <item><xliff:g id="hours" example="2 hrs">%1$s</xliff:g> <xliff:g id="minutes" example="2 mins">%2$s</xliff:g> <xliff:g id="seconds" example="2 secs">%3$s</xliff:g></item> + </string-array> +</resources> diff --git a/res/values/cm_plurals.xml b/res/values/cm_plurals.xml new file mode 100644 index 000000000..0c4b4d21a --- /dev/null +++ b/res/values/cm_plurals.xml @@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright (C) 2013 The CyanogenMod 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. +--> +<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <plurals name="hour"> + <item quantity="one">1 hr</item> + <item quantity="other">%d hrs</item> + </plurals> + <plurals name="minute"> + <item quantity="one">1 min</item> + <item quantity="other">%d mins</item> + </plurals> + <plurals name="second"> + <item quantity="one">1 sec</item> + <item quantity="other">%d secs</item> + </plurals> + + <plurals name="call"> + <item quantity="one">1 call</item> + <item quantity="other">%d calls</item> + </plurals> +</resources> diff --git a/res/values/cm_strings.xml b/res/values/cm_strings.xml index 6c0a5596a..ef1068ef6 100644 --- a/res/values/cm_strings.xml +++ b/res/values/cm_strings.xml @@ -18,4 +18,41 @@ <!-- Forward lookup --> <string name="nearby_places">Nearby places</string> <string name="people">People</string> + <string name="call_log_stats_title">Statistics</string> + <string name="callStatsDetailTitle">Call stat details</string> + + <string name="call_stats">Call statistics</string> + <string name="call_stats_refresh">Refresh</string> + <string name="activity_title_call_stats">Call statistics</string> + + <string name="call_stats_nav_all">All</string> + <string name="call_stats_nav_incoming">Incoming</string> + <string name="call_stats_nav_outgoing">Outgoing</string> + <string name="call_stats_nav_missed">Missed</string> + <string name="call_stats_incoming">Incoming: <xliff:g id="percent">%d</xliff:g>%%</string> + <string name="call_stats_outgoing">Outgoing: <xliff:g id="percent">%d</xliff:g>%%</string> + <string name="call_stats_missed">Missed</string> + <string name="call_stats_missed_percent">Missed: <xliff:g id="percent">%d</xliff:g>%%</string> + <string name="call_stats_header_total">Total: <xliff:g id="call_count">%s</xliff:g>, <xliff:g id="duration">%s</xliff:g></string> + <string name="call_stats_header_total_callsonly">Total: <xliff:g id="call_count">%s</xliff:g></string> + <string name="call_stats_filter_from">Start date</string> + <string name="call_stats_filter_to">End date</string> + <string name="call_stats_filter_picker_title">Filter range</string> + + <string name="date_quick_selection">Quick selection</string> + <string name="date_qs_currentmonth">Current month</string> + <string name="date_qs_currentquarter">Current quarter</string> + <string name="date_qs_currentyear">Current year</string> + <string name="date_qs_lastweek">Last week</string> + <string name="date_qs_lastmonth">Last month</string> + <string name="date_qs_lastquarter">Last quarter</string> + <string name="date_qs_lastyear">Last year</string> + + <string name="call_stats_date_filter">Adjust time range</string> + <string name="call_stats_reset_filter">Reset time range</string> + <string name="call_stats_sort_by_duration">Sort by call duration</string> + <string name="call_stats_sort_by_count">Sort by call count</string> + + <string name="menu_add_to_blacklist">Add to blacklist</string> + <string name="toast_added_to_blacklist">%s added to blacklist.</string> </resources> diff --git a/res/values/colors.xml b/res/values/colors.xml index 863bfe9d4..83b2b8f85 100644 --- a/res/values/colors.xml +++ b/res/values/colors.xml @@ -101,4 +101,12 @@ <color name="floating_action_button_touch_tint">#80ffffff</color> + <!-- Text color for no favorites message --> + <color name="nofavorite_text_color">#777777</color> + + <!-- Colors for incoming and outgoing calls in the call statistics --> + <color name="call_stats_incoming">#33b5e5</color> + <color name="call_stats_outgoing">#99cc00</color> + <color name="call_stats_missed">#eb1313</color> + <color name="call_stats_bar_background">#88888888</color> </resources> diff --git a/res/values/dimens.xml b/res/values/dimens.xml index 383a8faa6..3d50ed728 100644 --- a/res/values/dimens.xml +++ b/res/values/dimens.xml @@ -31,6 +31,8 @@ <dimen name="call_log_indent_margin">24dip</dimen> <dimen name="call_log_name_margin_bottom">2dp</dimen> <dimen name="call_log_list_item_height">56dip</dimen> + <dimen name="call_log_list_contact_photo_size">64dip</dimen> + <dimen name="call_detail_contact_name_margin">24dip</dimen> <!-- Size of contact photos in the call log and call details. --> <dimen name="contact_photo_size">40dp</dimen> @@ -141,4 +143,7 @@ <dimen name="preference_padding_bottom">16dp</dimen> <dimen name="preference_side_margin">16dp</dimen> <dimen name="preference_summary_line_spacing_extra">4dp</dimen> + + <!-- Size of the pie chart in the call stats detail activity --> + <dimen name="call_stats_details_chart_size">140dip</dimen> </resources> |