summaryrefslogtreecommitdiffstats
path: root/res/layout
diff options
context:
space:
mode:
authorMike Dodd <mdodd@google.com>2015-08-11 11:16:59 -0700
committerMike Dodd <mdodd@google.com>2015-08-12 08:58:28 -0700
commit461a34b466cb4b13dbbc2ec6330b31e217b2ac4e (patch)
treebc4b489af52d0e2521e21167d2ad76a47256f348 /res/layout
parent8b3e2b9c1b0a09423a7ba5d1091b9192106502f8 (diff)
downloadpackages_apps_Messaging-461a34b466cb4b13dbbc2ec6330b31e217b2ac4e.tar.gz
packages_apps_Messaging-461a34b466cb4b13dbbc2ec6330b31e217b2ac4e.tar.bz2
packages_apps_Messaging-461a34b466cb4b13dbbc2ec6330b31e217b2ac4e.zip
Initial checkin of AOSP Messaging app.
b/23110861 Change-Id: I9aa980d7569247d6b2ca78f5dcb4502e1eaadb8a
Diffstat (limited to 'res/layout')
-rw-r--r--res/layout/action_bar_conversation_name.xml31
-rw-r--r--res/layout/add_contacts_confirmation_dialog_body.xml45
-rw-r--r--res/layout/all_contacts_list_view.xml38
-rw-r--r--res/layout/apn_preference_layout.xml69
-rw-r--r--res/layout/attachment_chooser_activity.xml22
-rw-r--r--res/layout/attachment_chooser_audio.xml32
-rw-r--r--res/layout/attachment_chooser_fragment.xml29
-rw-r--r--res/layout/attachment_chooser_image.xml26
-rw-r--r--res/layout/attachment_chooser_vcard.xml28
-rw-r--r--res/layout/attachment_chooser_video.xml24
-rw-r--r--res/layout/attachment_grid_item_view.xml43
-rw-r--r--res/layout/attachment_more_text_view.xml22
-rw-r--r--res/layout/attachment_multiple_audio.xml32
-rw-r--r--res/layout/attachment_multiple_image.xml29
-rw-r--r--res/layout/attachment_multiple_vcard.xml28
-rw-r--r--res/layout/attachment_multiple_video.xml25
-rw-r--r--res/layout/attachment_pending_item.xml44
-rw-r--r--res/layout/attachment_preview.xml44
-rw-r--r--res/layout/attachment_single_audio.xml29
-rw-r--r--res/layout/attachment_single_image.xml46
-rw-r--r--res/layout/attachment_single_vcard.xml30
-rw-r--r--res/layout/attachment_single_video.xml28
-rw-r--r--res/layout/audio_attachment_view.xml62
-rw-r--r--res/layout/blocked_participant_list_item_view.xml51
-rw-r--r--res/layout/blocked_participants_activity.xml23
-rw-r--r--res/layout/blocked_participants_fragment.xml23
-rw-r--r--res/layout/chips_alternates_dropdown_item.xml71
-rw-r--r--res/layout/compose_message_view.xml187
-rw-r--r--res/layout/contact_list_item_view.xml97
-rw-r--r--res/layout/contact_picker_fragment.xml79
-rw-r--r--res/layout/conversation_activity.xml33
-rw-r--r--res/layout/conversation_fragment.xml68
-rw-r--r--res/layout/conversation_list_activity.xml23
-rw-r--r--res/layout/conversation_list_fragment.xml53
-rw-r--r--res/layout/conversation_list_item_view.xml190
-rw-r--r--res/layout/conversation_message_view.xml171
-rw-r--r--res/layout/copy_contact_dialog_view.xml24
-rw-r--r--res/layout/custom_header_view_pager.xml45
-rw-r--r--res/layout/debug_mmsconfig_activity.xml22
-rw-r--r--res/layout/debug_mmsconfig_fragment.xml23
-rw-r--r--res/layout/debug_mmsconfig_item_view.xml46
-rw-r--r--res/layout/debug_sms_mms_from_dump_file_dialog.xml32
-rw-r--r--res/layout/enter_phone_number_view.xml29
-rw-r--r--res/layout/fastscroll_preview.xml25
-rw-r--r--res/layout/fastscroll_thumb.xml19
-rw-r--r--res/layout/fastscroll_track.xml20
-rw-r--r--res/layout/frequent_contacts_list_view.xml38
-rw-r--r--res/layout/gallery_grid_item_view.xml46
-rw-r--r--res/layout/group_mms_setting_dialog.xml37
-rw-r--r--res/layout/license_activity.xml22
-rw-r--r--res/layout/list_empty_view.xml42
-rw-r--r--res/layout/mediapicker_audio_chooser.xml96
-rw-r--r--res/layout/mediapicker_camera_chooser.xml150
-rw-r--r--res/layout/mediapicker_fragment.xml34
-rw-r--r--res/layout/mediapicker_image_chooser.xml44
-rw-r--r--res/layout/mediapicker_location_chooser.xml22
-rw-r--r--res/layout/mediapicker_location_container.xml31
-rw-r--r--res/layout/mediapicker_tab_button.xml24
-rw-r--r--res/layout/message_audio_attachment.xml22
-rw-r--r--res/layout/message_vcard_attachment.xml23
-rw-r--r--res/layout/message_video_attachment.xml25
-rw-r--r--res/layout/mms_config_debug_fragment.xml53
-rw-r--r--res/layout/open_source_licenses.xml22
-rw-r--r--res/layout/people_and_options_activity.xml23
-rw-r--r--res/layout/people_and_options_fragment.xml23
-rw-r--r--res/layout/people_and_options_section_header.xml38
-rw-r--r--res/layout/people_list_item_view.xml26
-rw-r--r--res/layout/people_options_item_view.xml64
-rw-r--r--res/layout/permission_check_activity.xml80
-rw-r--r--res/layout/person_item_view.xml60
-rw-r--r--res/layout/place_card.xml54
-rw-r--r--res/layout/settings_fragment.xml21
-rw-r--r--res/layout/settings_item_view.xml44
-rw-r--r--res/layout/share_intent_activity.xml21
-rw-r--r--res/layout/share_intent_conversation_list_view.xml44
-rw-r--r--res/layout/sim_selector_item_view.xml65
-rw-r--r--res/layout/sim_selector_view.xml32
-rw-r--r--res/layout/sms_free_storage_action_item_view.xml23
-rw-r--r--res/layout/sms_mms_dump_file_list_item.xml30
-rw-r--r--res/layout/sms_storage_low_warning_dialog.xml32
-rw-r--r--res/layout/snack_bar.xml64
-rw-r--r--res/layout/test_activity.xml28
-rw-r--r--res/layout/vcard_detail_activity.xml23
-rw-r--r--res/layout/vcard_detail_fragment.xml28
-rw-r--r--res/layout/video_thumbnail_view.xml38
-rw-r--r--res/layout/viewgroup_vertical_explode_animation_popup.xml30
-rw-r--r--res/layout/widget_conversation.xml110
-rw-r--r--res/layout/widget_conversation_list.xml65
-rw-r--r--res/layout/widget_conversation_list_item.xml144
-rw-r--r--res/layout/widget_loading.xml31
-rw-r--r--res/layout/widget_message_item_incoming.xml119
-rw-r--r--res/layout/widget_message_item_outgoing.xml120
-rw-r--r--res/layout/widget_missing_permission.xml26
93 files changed, 4397 insertions, 0 deletions
diff --git a/res/layout/action_bar_conversation_name.xml b/res/layout/action_bar_conversation_name.xml
new file mode 100644
index 0000000..586cf83
--- /dev/null
+++ b/res/layout/action_bar_conversation_name.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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:app="http://schemas.android.com/apk/res-auto"
+ android:id="@+id/conversation_title_container"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_gravity="fill_horizontal" >
+
+ <TextView
+ android:id="@+id/conversation_title"
+ style="@style/ConversationActionBarTitleTextStyle"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_centerVertical="true" />
+</RelativeLayout> \ No newline at end of file
diff --git a/res/layout/add_contacts_confirmation_dialog_body.xml b/res/layout/add_contacts_confirmation_dialog_body.xml
new file mode 100644
index 0000000..07f3d0f
--- /dev/null
+++ b/res/layout/add_contacts_confirmation_dialog_body.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ android:orientation="horizontal"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:layout_gravity="center_vertical"
+ android:padding="20dp" >
+
+ <com.android.messaging.ui.ContactIconView
+ android:id="@+id/contact_icon"
+ android:layout_width="@dimen/conversation_list_contact_icon_size"
+ android:layout_height="@dimen/conversation_list_contact_icon_size"
+ android:importantForAccessibility="no"
+ app:iconSize="large"
+ android:layout_gravity="center_vertical"
+ android:clickable="true" />
+
+ <TextView
+ android:id="@+id/participant_name"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:singleLine="true"
+ android:maxLines="1"
+ android:ellipsize="end"
+ style="@style/AddContactConfirmationTextStyle"
+ android:layout_gravity="center_vertical" />
+
+</LinearLayout>
diff --git a/res/layout/all_contacts_list_view.xml b/res/layout/all_contacts_list_view.xml
new file mode 100644
index 0000000..fe05c4d
--- /dev/null
+++ b/res/layout/all_contacts_list_view.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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.
+-->
+<FrameLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent">
+
+ <ListView
+ android:id="@+id/all_contacts_list"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:paddingTop="8dp"
+ android:paddingBottom="8dp"
+ android:clipToPadding="false"
+ android:divider="@null"
+ android:dividerHeight="0px"
+ android:fastScrollEnabled="true" />
+
+ <include
+ layout="@layout/list_empty_view"
+ android:id="@+id/empty_view"
+ android:visibility="gone" />
+
+</FrameLayout>
diff --git a/res/layout/apn_preference_layout.xml b/res/layout/apn_preference_layout.xml
new file mode 100644
index 0000000..25a0323
--- /dev/null
+++ b/res/layout/apn_preference_layout.xml
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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.
+-->
+
+<!--
+ This is the layout file for an ApnPreference in the ApnSettingsActivity. The preference
+ is a list item.
+-->
+
+<LinearLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:minHeight="?android:attr/listPreferredItemHeight"
+ android:gravity="center_vertical"
+ style="@style/ApnPreferenceLayoutStyle">
+
+ <RelativeLayout
+ android:id="@+id/text_layout"
+ android:layout_width="0dip"
+ android:layout_height="match_parent"
+ android:gravity="center_vertical"
+ android:layout_weight="1"
+ android:focusable="true"
+ android:background="?android:attr/selectableItemBackground">
+
+ <TextView
+ android:id="@+android:id/title"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:focusable="true"
+ android:singleLine="true"
+ android:textAppearance="?android:attr/textAppearanceListItem" />
+
+ <TextView
+ android:id="@+android:id/summary"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_below="@android:id/title"
+ android:layout_alignStart="@android:id/title"
+ android:textAppearance="?android:attr/textAppearanceListItemSecondary"
+ android:textColor="?android:attr/textColorSecondary"
+ android:maxLines="2" />
+
+ </RelativeLayout>
+
+ <RadioButton
+ android:id="@+id/apn_radiobutton"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginStart="8dip"
+ android:layout_marginEnd="8dip"
+ android:layout_gravity="center_vertical"
+ android:clickable="true" />
+
+</LinearLayout>
diff --git a/res/layout/attachment_chooser_activity.xml b/res/layout/attachment_chooser_activity.xml
new file mode 100644
index 0000000..850716e
--- /dev/null
+++ b/res/layout/attachment_chooser_activity.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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.
+-->
+<fragment
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ class="com.android.messaging.ui.attachmentchooser.AttachmentChooserFragment"
+ android:id="@+id/attachment_chooser_fragment"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent" /> \ No newline at end of file
diff --git a/res/layout/attachment_chooser_audio.xml b/res/layout/attachment_chooser_audio.xml
new file mode 100644
index 0000000..ea2f431
--- /dev/null
+++ b/res/layout/attachment_chooser_audio.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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.
+-->
+<FrameLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ android:id="@+id/audio_attachment_background"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:background="@color/attachment_chooser_audio_background">
+
+ <com.android.messaging.ui.AudioAttachmentView
+ android:id="@+id/audio_attachment_view"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:gravity="center"
+ app:layoutMode="compact" />
+
+</FrameLayout>
diff --git a/res/layout/attachment_chooser_fragment.xml b/res/layout/attachment_chooser_fragment.xml
new file mode 100644
index 0000000..15e249a
--- /dev/null
+++ b/res/layout/attachment_chooser_fragment.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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.messaging.ui.attachmentchooser.AttachmentGridView
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/grid"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:padding="6dp"
+ android:columnWidth="@dimen/attachment_grid_image_cell_size"
+ android:numColumns="auto_fit"
+ android:verticalSpacing="6dp"
+ android:horizontalSpacing="6dp"
+ android:stretchMode="columnWidth"
+ android:gravity="center"
+ android:clipToPadding="false" />
diff --git a/res/layout/attachment_chooser_image.xml b/res/layout/attachment_chooser_image.xml
new file mode 100644
index 0000000..b635161
--- /dev/null
+++ b/res/layout/attachment_chooser_image.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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.messaging.ui.AsyncImageView
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ android:id="@+id/attachment_image_view"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:minWidth="@dimen/single_attachment_min_dimen"
+ android:minHeight="@dimen/single_attachment_min_dimen"
+ android:scaleType="centerCrop"
+ android:adjustViewBounds="true" />
diff --git a/res/layout/attachment_chooser_vcard.xml b/res/layout/attachment_chooser_vcard.xml
new file mode 100644
index 0000000..fb20f84
--- /dev/null
+++ b/res/layout/attachment_chooser_vcard.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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.
+-->
+<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:background="@color/attachment_chooser_vcard_background">
+
+ <com.android.messaging.ui.PersonItemView
+ android:id="@+id/vcard_attachment_view"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center" />
+
+</FrameLayout>
diff --git a/res/layout/attachment_chooser_video.xml b/res/layout/attachment_chooser_video.xml
new file mode 100644
index 0000000..4ae4b0a
--- /dev/null
+++ b/res/layout/attachment_chooser_video.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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.messaging.ui.VideoThumbnailView
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ android:id="@+id/attachment_video_thumbnail"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ app:mode="imageThumbnail"
+ app:allowCrop="true" />
diff --git a/res/layout/attachment_grid_item_view.xml b/res/layout/attachment_grid_item_view.xml
new file mode 100644
index 0000000..639ea64
--- /dev/null
+++ b/res/layout/attachment_grid_item_view.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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.messaging.ui.attachmentchooser.AttachmentGridItemView
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="@dimen/attachment_grid_image_cell_size"
+ android:clickable="true">
+
+ <FrameLayout
+ android:id="@+id/attachment_container"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent" />
+
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:background="?android:attr/selectableItemBackground" />
+
+ <CheckBox
+ android:id="@+id/checkbox"
+ style="@style/AttachmentGridItemViewCheckBoxStyle"
+ android:button="@drawable/gallery_checkbox_selector"
+ android:background="@null"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="top|end"
+ android:paddingTop="4dp"
+ android:contentDescription="@string/gallery_checkbox_content_description" />
+</com.android.messaging.ui.attachmentchooser.AttachmentGridItemView>
diff --git a/res/layout/attachment_more_text_view.xml b/res/layout/attachment_more_text_view.xml
new file mode 100644
index 0000000..1a99a63
--- /dev/null
+++ b/res/layout/attachment_more_text_view.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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.
+-->
+<TextView xmlns:android="http://schemas.android.com/apk/res/android"
+ style="@style/AttachmentPreviewMoreItemsText"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:gravity="center"
+ android:background="@drawable/attachment_more_items_background" /> \ No newline at end of file
diff --git a/res/layout/attachment_multiple_audio.xml b/res/layout/attachment_multiple_audio.xml
new file mode 100644
index 0000000..48440f0
--- /dev/null
+++ b/res/layout/attachment_multiple_audio.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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.
+-->
+<FrameLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ android:id="@+id/audio_attachment_background"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:background="@drawable/attachment_audio_preview_background">
+
+ <com.android.messaging.ui.AudioAttachmentView
+ android:id="@+id/audio_attachment_view"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:gravity="center"
+ app:layoutMode="compact" />
+
+</FrameLayout>
diff --git a/res/layout/attachment_multiple_image.xml b/res/layout/attachment_multiple_image.xml
new file mode 100644
index 0000000..7d911ac
--- /dev/null
+++ b/res/layout/attachment_multiple_image.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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.messaging.ui.AsyncImageView xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ android:id="@+id/attachment_image_view"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:maxWidth="@dimen/multiple_attachment_preview_width"
+ android:maxHeight="@dimen/multiple_attachment_preview_height"
+ android:scaleType="centerCrop"
+ android:adjustViewBounds="true"
+ app:fadeIn="false"
+ app:cornerRadius="@dimen/attachment_rounded_corner_radius"
+ app:placeholderDrawable="@drawable/attachment_image_placeholder_background" />
diff --git a/res/layout/attachment_multiple_vcard.xml b/res/layout/attachment_multiple_vcard.xml
new file mode 100644
index 0000000..e03d47b
--- /dev/null
+++ b/res/layout/attachment_multiple_vcard.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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.
+-->
+<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:background="@drawable/attachment_vcard_preview_background">
+
+ <com.android.messaging.ui.PersonItemView
+ android:id="@+id/vcard_attachment_view"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center" />
+
+</FrameLayout>
diff --git a/res/layout/attachment_multiple_video.xml b/res/layout/attachment_multiple_video.xml
new file mode 100644
index 0000000..fdbc423
--- /dev/null
+++ b/res/layout/attachment_multiple_video.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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.messaging.ui.VideoThumbnailView
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ android:id="@+id/attachment_video_thumbnail"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ app:mode="imageThumbnail"
+ app:allowCrop="true" />
diff --git a/res/layout/attachment_pending_item.xml b/res/layout/attachment_pending_item.xml
new file mode 100644
index 0000000..3e9bec7
--- /dev/null
+++ b/res/layout/attachment_pending_item.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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:orientation="vertical">
+
+ <ImageView
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/pending_item_view"
+ android:layout_width="@dimen/pending_attachment_size"
+ android:layout_height="@dimen/pending_attachment_size"
+ android:scaleType="center"
+ android:background="@android:color/white"
+ android:src="@drawable/ic_attachment_dark"
+ android:importantForAccessibility="no"
+ android:contentDescription="@null"/>
+
+ <TextView
+ android:id="@+id/caption"
+ android:layout_width="wrap_content"
+ android:layout_height="match_parent"
+ android:maxLines="3"
+ android:ellipsize="end"
+ android:padding="8dp"
+ android:background="@color/message_bubble_color_outgoing"
+ style="@style/ConversationMessage" />
+
+</LinearLayout>
diff --git a/res/layout/attachment_preview.xml b/res/layout/attachment_preview.xml
new file mode 100644
index 0000000..36ea038
--- /dev/null
+++ b/res/layout/attachment_preview.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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.messaging.ui.AttachmentPreview
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="wrap_content"
+ android:layout_height="match_parent"
+ android:scrollbars="none">
+
+ <FrameLayout
+ android:id="@+id/attachment_content"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="right">
+ <FrameLayout
+ android:id="@+id/attachment_view"
+ style="@style/AttachmentPreviewAttachmentStyle"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="10dp" />
+
+ <ImageButton
+ android:id="@+id/close_button"
+ style="@style/AttachmentPreviewCloseButtonStyle"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:background="@null"
+ android:src="@drawable/ic_remove_light"
+ android:contentDescription="@null" />
+ </FrameLayout>
+</com.android.messaging.ui.AttachmentPreview> \ No newline at end of file
diff --git a/res/layout/attachment_single_audio.xml b/res/layout/attachment_single_audio.xml
new file mode 100644
index 0000000..3ad02a8
--- /dev/null
+++ b/res/layout/attachment_single_audio.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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.
+-->
+<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/audio_attachment_background"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:background="@drawable/attachment_audio_preview_background"
+ style="@style/AudioAttachmentViewStyle">
+
+ <com.android.messaging.ui.AudioAttachmentView
+ android:id="@+id/audio_attachment_view"
+ android:layout_width="match_parent"
+ android:layout_height="70dp" />
+
+</FrameLayout>
diff --git a/res/layout/attachment_single_image.xml b/res/layout/attachment_single_image.xml
new file mode 100644
index 0000000..7338368
--- /dev/null
+++ b/res/layout/attachment_single_image.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:orientation="vertical">
+
+ <com.android.messaging.ui.AsyncImageView
+ android:id="@+id/attachment_image_view"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:minWidth="@dimen/single_attachment_min_dimen"
+ android:minHeight="@dimen/single_attachment_min_dimen"
+ android:maxHeight="@dimen/single_attachment_max_height"
+ android:scaleType="fitCenter"
+ android:adjustViewBounds="true"
+ app:fadeIn="false"
+ app:cornerRadius="@dimen/attachment_rounded_corner_radius" />
+
+ <TextView
+ android:id="@+id/caption"
+ android:layout_width="wrap_content"
+ android:layout_height="match_parent"
+ android:maxLines="3"
+ android:ellipsize="end"
+ android:padding="8dp"
+ android:background="@color/message_bubble_color_outgoing"
+ style="@style/ConversationMessage" />
+
+</LinearLayout>
diff --git a/res/layout/attachment_single_vcard.xml b/res/layout/attachment_single_vcard.xml
new file mode 100644
index 0000000..6016593
--- /dev/null
+++ b/res/layout/attachment_single_vcard.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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.
+-->
+<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:background="@drawable/attachment_vcard_preview_background">
+
+ <com.android.messaging.ui.PersonItemView
+ android:id="@+id/vcard_attachment_view"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:paddingTop="@dimen/message_text_top_padding"
+ android:paddingBottom="@dimen/message_text_bottom_padding"
+ style="@style/VcardAttachmentSingleStyle" />
+
+</FrameLayout>
diff --git a/res/layout/attachment_single_video.xml b/res/layout/attachment_single_video.xml
new file mode 100644
index 0000000..fba594f
--- /dev/null
+++ b/res/layout/attachment_single_video.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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.messaging.ui.VideoThumbnailView
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ android:id="@+id/attachment_video_thumbnail"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:minWidth="120dp"
+ android:minHeight="120dp"
+ android:maxHeight="@dimen/single_attachment_max_height"
+ app:allowCrop="true"
+ app:mode="imageThumbnail" />
diff --git a/res/layout/audio_attachment_view.xml b/res/layout/audio_attachment_view.xml
new file mode 100644
index 0000000..6fcf89c
--- /dev/null
+++ b/res/layout/audio_attachment_view.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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.
+-->
+<!-- A reusable view that hosts an inline audio player. The view is used by both the media picker
+ and the conversation to show an audio attachment -->
+<merge
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:orientation="horizontal">
+
+ <com.android.messaging.ui.AudioAttachmentPlayPauseButton
+ android:id="@+id/play_pause_button"
+ style="@style/AudioAttachmentViewPlayPauseButtonStyle"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center">
+ <ImageView
+ android:id="@+id/play_button"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:src="@drawable/ic_audio_play"
+ android:contentDescription="@string/audio_play_content_description"/>
+
+ <ImageView
+ android:id="@+id/pause_button"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:src="@drawable/ic_audio_pause"
+ android:contentDescription="@string/audio_pause_content_description"/>
+ </com.android.messaging.ui.AudioAttachmentPlayPauseButton>
+
+ <com.android.messaging.ui.mediapicker.PausableChronometer
+ android:id="@+id/timer"
+ style="@style/AudioAttachmentTimerText"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center" />
+
+ <com.android.messaging.ui.AudioPlaybackProgressBar
+ android:id="@+id/progress"
+ style="@android:style/Widget.ProgressBar.Horizontal"
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="@dimen/audio_progress_bar_height"
+ android:layout_gravity="center" />
+
+</merge>
diff --git a/res/layout/blocked_participant_list_item_view.xml b/res/layout/blocked_participant_list_item_view.xml
new file mode 100644
index 0000000..7ac0ec9
--- /dev/null
+++ b/res/layout/blocked_participant_list_item_view.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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.messaging.ui.BlockedParticipantListItemView
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal"
+ android:padding="@dimen/blocked_participant_list_item_view_padding">
+ <com.android.messaging.ui.ContactIconView
+ android:id="@+id/contact_icon"
+ android:layout_width="@dimen/contact_list_icon_size"
+ android:layout_height="@dimen/contact_list_icon_size"
+ android:importantForAccessibility="no"
+ app:iconSize="normal"
+ android:layout_gravity="center_vertical"/>
+ <TextView
+ android:id="@+id/name"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:singleLine="true"
+ android:maxLines="1"
+ android:ellipsize="end"
+ style="@style/ParticipantListItem"
+ android:layout_gravity="center_vertical"
+ android:padding="@dimen/blocked_participant_list_item_view_padding"/>
+ <TextView
+ android:id="@+id/tap_to_unblock"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:singleLine="true"
+ android:textColor="@color/unblock_item_text_color"
+ android:text="@string/tap_to_unblock_message"
+ android:layout_gravity="center_vertical"
+ android:gravity="right"
+ android:padding="@dimen/blocked_participant_list_item_view_padding"/>
+</com.android.messaging.ui.BlockedParticipantListItemView>
diff --git a/res/layout/blocked_participants_activity.xml b/res/layout/blocked_participants_activity.xml
new file mode 100644
index 0000000..e00f20f
--- /dev/null
+++ b/res/layout/blocked_participants_activity.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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.
+-->
+<fragment
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ class="com.android.messaging.ui.BlockedParticipantsFragment"
+ android:id="@+id/blocked_participants_fragment"
+ android:theme="@style/Theme.AppCompat.Light.DarkActionBar"
+ android:layout_width="fill_parent"
+ android:layout_height="match_parent" /> \ No newline at end of file
diff --git a/res/layout/blocked_participants_fragment.xml b/res/layout/blocked_participants_fragment.xml
new file mode 100644
index 0000000..7bb3c6a
--- /dev/null
+++ b/res/layout/blocked_participants_fragment.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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.
+-->
+<ListView
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@android:id/list"
+ android:layout_width="fill_parent"
+ android:layout_height="match_parent"
+ android:divider="@null"
+ android:dividerHeight="0px" /> \ No newline at end of file
diff --git a/res/layout/chips_alternates_dropdown_item.xml b/res/layout/chips_alternates_dropdown_item.xml
new file mode 100644
index 0000000..dad052c
--- /dev/null
+++ b/res/layout/chips_alternates_dropdown_item.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ android:layout_width="match_parent"
+ android:layout_height="72dp"
+ android:background="@drawable/chips_dropdown_background"
+ android:padding="12dp">
+
+ <com.android.messaging.ui.ContactIconView
+ android:id="@android:id/icon"
+ style="@style/ChipIconStyle"
+ android:layout_width="40dp"
+ android:layout_height="40dp"
+ android:layout_gravity="center_vertical"
+ android:importantForAccessibility="no" />
+
+ <LinearLayout
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:layout_gravity="center_vertical"
+ android:orientation="vertical">
+
+ <TextView
+ android:id="@android:id/title"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:ellipsize="middle"
+ android:singleLine="true"
+ android:textAlignment="viewStart"
+ android:textColor="@drawable/chips_dropdown_text_color"
+ android:textSize="16sp" />
+
+ <TextView
+ android:id="@android:id/text1"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:ellipsize="middle"
+ android:singleLine="true"
+ android:textAlignment="viewStart"
+ android:textColor="@drawable/chips_dropdown_text_color"
+ android:textSize="14sp"/>
+
+ </LinearLayout>
+
+ <ImageView
+ android:id="@android:id/icon1"
+ style="@style/ChipDeleteIconStyle"
+ android:layout_width="36dp"
+ android:layout_height="48dp"
+ android:layout_gravity="center_vertical"
+ android:paddingTop="10dp"
+ android:paddingBottom="10dp"
+ android:contentDescription="@string/chips_delete_content_description" />
+
+</LinearLayout> \ No newline at end of file
diff --git a/res/layout/compose_message_view.xml b/res/layout/compose_message_view.xml
new file mode 100644
index 0000000..fd60e2a
--- /dev/null
+++ b/res/layout/compose_message_view.xml
@@ -0,0 +1,187 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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.messaging.ui.conversation.ComposeMessageView
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ android:id="@+id/message_compose_view_container"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical" >
+
+ <!-- Note it may seem off to have the layout_weight="1" on the compose bar and attachment view
+ when it's the media picker that expands, but this is correct because weight also works when
+ there's not enough space. Any views with positive weights will be shrunk to make space.
+ When the media picker goes full screen, it fills the parent, leaving no room for the compose
+ bar -->
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:clipChildren="false"
+ android:clipToPadding="false"
+ android:orientation="vertical">
+
+ <View
+ android:id="@+id/top_margin"
+ android:layout_width="match_parent"
+ android:layout_height="16dp" />
+
+ <include layout="@layout/attachment_preview"
+ android:id="@+id/attachment_draft_view"
+ style="@style/ComposeMessageViewDraftViewStyle"
+ android:layout_width="match_parent"
+ android:layout_height="0dp"
+ android:layout_marginBottom="4dp"
+ android:layout_weight="1"
+ android:visibility="gone" />
+
+ <RelativeLayout
+ android:id="@+id/subject_view"
+ style="@style/SubjectViewStyle"
+ android:paddingTop="@dimen/compose_message_subject_top_padding"
+ android:paddingBottom="@dimen/compose_message_subject_bottom_padding"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:visibility="gone"
+ android:clipChildren="false"
+ android:clipToPadding="false"
+ android:orientation="horizontal">
+
+ <com.android.messaging.ui.PlainTextEditText
+ android:background="@drawable/subject_editor_bubble"
+ android:id="@+id/compose_subject_text"
+ style="@style/ConversationComposeSubjectText"
+ android:hint="@string/compose_message_view_subject_hint_text"
+ android:layout_height="wrap_content"
+ android:layout_width="match_parent"
+ android:imeOptions="flagNoExtractUi" />
+
+ <ImageButton
+ android:id="@+id/delete_subject_button"
+ style="@style/AttachmentPreviewCloseButtonStyle"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:background="@null"
+ android:src="@drawable/ic_remove_light"
+ android:translationY="@dimen/compose_message_subject_cancel_top_offset"
+ android:contentDescription="@string/delete_subject_content_description" />
+
+ </RelativeLayout>
+
+ <!-- Holds all views that create the actual compose box -->
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal">
+
+ <!-- Contains compose message bubble and character counter for SMS which should be left
+ aligned -->
+ <LinearLayout
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:orientation="vertical">
+
+ <!-- Contains media button and compose message bubble whose centers should be
+ vertically aligned -->
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal">
+
+ <ImageButton
+ android:id="@+id/attach_media_button"
+ style="@style/ComposeMessageViewAttachMediaButtonStyle"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_vertical"
+ android:src="@drawable/ic_attachment_dark"
+ android:paddingTop="@dimen/compose_message_attachment_padding_topBottom"
+ android:paddingBottom="@dimen/compose_message_attachment_padding_topBottom"
+ android:contentDescription="@string/attachMediaButtonContentDescription" />
+
+ <com.android.messaging.ui.PlainTextEditText
+ android:id="@+id/compose_message_text"
+ style="@style/ConversationComposeSendText"
+ android:layout_height="wrap_content"
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_gravity="center"
+ android:background="@drawable/msg_bubble_input"
+ android:hint="@string/compose_message_view_hint_text"
+ android:imeOptions="actionSend|flagNoEnterAction|flagNoExtractUi" />
+
+ </LinearLayout>
+
+ <TextView
+ android:id="@+id/char_counter"
+ style="@style/ComposeMessageViewTextCounterStyle"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:singleLine="true"
+ android:maxLines="1"
+ android:visibility="invisible" />
+ </LinearLayout>
+
+ <LinearLayout
+ android:orientation="vertical"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content">
+
+ <FrameLayout
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ style="@style/ComposeMessageViewFrameLayoutStyle"
+ android:layout_gravity="top" >
+ <com.android.messaging.ui.conversation.SimIconView
+ android:id="@+id/self_send_icon"
+ android:layout_width="@dimen/conversation_message_contact_icon_size"
+ android:layout_height="@dimen/conversation_message_contact_icon_size"
+ android:importantForAccessibility="no"
+ app:iconSize="normal"
+ app:reveal="true"
+ android:clickable="true" />
+ <ImageButton
+ android:id="@+id/send_message_button"
+ android:layout_width="@dimen/conversation_message_contact_icon_size"
+ android:layout_height="@dimen/conversation_message_contact_icon_size"
+ android:src="@drawable/ic_send_light"
+ android:background="@drawable/send_arrow_background"
+ android:contentDescription="@string/sendButtonContentDescription"
+ android:visibility="gone" />
+ </FrameLayout>
+
+ <TextView
+ android:id="@+id/mms_indicator"
+ style="@style/MmsIndicatorStyle"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:singleLine="true"
+ android:maxLines="1"
+ android:visibility="invisible"
+ android:text="@string/mms_text" />
+ </LinearLayout>
+ </LinearLayout>
+ </LinearLayout>
+
+ <FrameLayout
+ android:id="@+id/mediapicker_container"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_weight="0" />
+
+</com.android.messaging.ui.conversation.ComposeMessageView>
diff --git a/res/layout/contact_list_item_view.xml b/res/layout/contact_list_item_view.xml
new file mode 100644
index 0000000..3015ae3
--- /dev/null
+++ b/res/layout/contact_list_item_view.xml
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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.messaging.ui.contact.ContactListItemView
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ style="@style/ContactListItemViewStyle"
+ android:orientation="horizontal"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:paddingTop="8dp"
+ android:paddingBottom="8dp"
+ android:background="?android:attr/selectableItemBackground">
+
+ <TextView
+ style="@style/ContactListAlphabetHeader"
+ android:id="@+id/alphabet_header"
+ android:layout_height="wrap_content"
+ android:layout_width="56dp"
+ android:layout_gravity="center_vertical"
+ android:visibility="gone" />
+
+ <FrameLayout
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_vertical">
+
+ <com.android.messaging.ui.ContactIconView
+ android:id="@+id/contact_icon"
+ android:layout_width="@dimen/contact_list_icon_size"
+ android:layout_height="@dimen/contact_list_icon_size"
+ android:importantForAccessibility="no"
+ app:iconSize="normal"
+ android:clickable="true" />
+
+ <ImageView
+ android:id="@+id/contact_checkmark"
+ android:layout_width="@dimen/contact_list_icon_size"
+ android:layout_height="@dimen/contact_list_icon_size"
+ android:src="@drawable/ic_checkmark_circle_blue"
+ android:visibility="gone"
+ android:importantForAccessibility="no"
+ android:contentDescription="@null"/>
+
+ </FrameLayout>
+
+ <LinearLayout
+ android:orientation="vertical"
+ style="@style/ContactListItemLinearLayoutStyle"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_vertical" >
+ <TextView
+ android:id="@+id/contact_name"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:paddingBottom="4dp"
+ android:singleLine="true"
+ android:maxLines="1"
+ android:ellipsize="end"
+ style="@style/ContactListItem" />
+
+ <LinearLayout
+ android:orientation="horizontal"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content">
+ <TextView
+ android:id="@+id/contact_details"
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:singleLine="true"
+ android:maxLines="1"
+ android:ellipsize="end"
+ style="@style/ContactListItemDetail" />
+
+ <TextView
+ android:id="@+id/contact_detail_type"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ style="@style/ContactListItemDetailType" />
+ </LinearLayout>
+ </LinearLayout>
+</com.android.messaging.ui.contact.ContactListItemView>
diff --git a/res/layout/contact_picker_fragment.xml b/res/layout/contact_picker_fragment.xml
new file mode 100644
index 0000000..c65f140
--- /dev/null
+++ b/res/layout/contact_picker_fragment.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:orientation="vertical">
+
+ <android.support.v7.widget.Toolbar
+ android:id="@+id/toolbar"
+ android:layout_height="wrap_content"
+ android:layout_width="match_parent"
+ android:minHeight="?attr/actionBarSize"
+ android:background="@color/action_bar_background_color"
+ app:theme="@style/ThemeOverlay.AppCompat.ActionBar">
+
+ <com.android.messaging.ui.MaxHeightScrollView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_horizontal"
+ android:maxHeight="@dimen/compose_message_chips_view_max_height">
+
+ <com.android.messaging.ui.contact.ContactRecipientAutoCompleteView
+ android:id="@+id/recipient_text_view"
+ style="@style/RecipientEditTextView"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_vertical"
+ android:minHeight="@dimen/compose_message_contacts_height"
+ android:popupBackground="@drawable/contact_popup_background"
+ android:dropDownWidth="match_parent"
+ android:hint="@string/recipient_hint"
+ app:avatarPosition="start"
+ app:chipHeight="@dimen/compose_message_chip_height"
+ app:chipPadding="@dimen/compose_message_chip_padding"
+ app:imageSpanAlignment="baseline"
+ app:unselectedChipTextColor="@color/chips_text_color"
+ app:unselectedChipBackgroundColor="@color/chips_background_color">
+
+ <!-- Put focus on the chips view by default so soft keyboard can be shown -->
+ <requestFocus />
+ </com.android.messaging.ui.contact.ContactRecipientAutoCompleteView>
+
+ </com.android.messaging.ui.MaxHeightScrollView>
+
+ </android.support.v7.widget.Toolbar>
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="0dp"
+ android:layout_weight="1">
+ <com.android.messaging.ui.CustomHeaderViewPager
+ android:id="@+id/contact_pager"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"/>
+
+ <View
+ android:id="@+id/compose_contact_divider"
+ android:layout_width="match_parent"
+ android:layout_height="4dp"
+ android:layout_gravity="top"
+ android:background="@drawable/compose_chips_divider_gradient"/>
+ </FrameLayout>
+</LinearLayout>
diff --git a/res/layout/conversation_activity.xml b/res/layout/conversation_activity.xml
new file mode 100644
index 0000000..8879704
--- /dev/null
+++ b/res/layout/conversation_activity.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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.messaging.ui.ImeDetectFrameLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:tools="http://schemas.android.com/tools"
+ android:id="@+id/conversation_and_compose_container"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent">
+
+ <FrameLayout
+ android:id="@+id/conversation_fragment_container"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent" />
+
+ <FrameLayout
+ android:id="@+id/contact_picker_fragment_container"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent" />
+</com.android.messaging.ui.ImeDetectFrameLayout> \ No newline at end of file
diff --git a/res/layout/conversation_fragment.xml b/res/layout/conversation_fragment.xml
new file mode 100644
index 0000000..028e66b
--- /dev/null
+++ b/res/layout/conversation_fragment.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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="match_parent"
+ android:layout_height="match_parent"
+ android:orientation="vertical"
+ android:weightSum="1.0">
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:layout_weight="1"
+ android:orientation="vertical">
+ <!-- This FrameLayout will take all available height (excluding media picker)
+ but setting height to 0dp causes it not to shrink properly in KK, so a height of match_parent
+ works equally well -->
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:layout_weight="1" >
+ <!-- Message list -->
+ <android.support.v7.widget.RecyclerView
+ android:id="@android:id/list"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:listSelector="@android:color/transparent"
+ android:paddingTop="@dimen/action_bar_height"
+ android:clipToPadding="false" />
+
+ <View
+ android:id="@+id/conversation_compose_divider"
+ android:layout_width="match_parent"
+ android:layout_height="4dp"
+ android:layout_gravity="bottom"
+ android:background="@drawable/conversation_compose_divider_gradient"
+ android:alpha="0"
+ android:importantForAccessibility="no" />
+
+ <include layout="@layout/sim_selector_view"
+ android:id="@+id/sim_selector"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:visibility="gone" />
+ </FrameLayout>
+
+ <!-- Attachments to send, compose message view, media picker. -->
+ <include layout="@layout/compose_message_view"
+ android:id="@+id/message_compose_view_container"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"/>
+ </LinearLayout>
+
+</LinearLayout>
diff --git a/res/layout/conversation_list_activity.xml b/res/layout/conversation_list_activity.xml
new file mode 100644
index 0000000..48f3b15
--- /dev/null
+++ b/res/layout/conversation_list_activity.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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.
+-->
+<fragment
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ class="com.android.messaging.ui.conversationlist.ConversationListFragment"
+ android:id="@+id/conversation_list_fragment"
+ android:theme="@style/Theme.AppCompat.Light.DarkActionBar"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent" /> \ No newline at end of file
diff --git a/res/layout/conversation_list_fragment.xml b/res/layout/conversation_list_fragment.xml
new file mode 100644
index 0000000..bf5d401
--- /dev/null
+++ b/res/layout/conversation_list_fragment.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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.
+-->
+<FrameLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:tools="http://schemas.android.com/tools"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent" >
+
+ <android.support.v7.widget.RecyclerView
+ android:id="@android:id/list"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:paddingTop="@dimen/conversation_list_first_item_extra_padding"
+ android:clipToPadding="false"
+ android:listSelector="?android:attr/listSelector"
+ android:dividerHeight="0px" />
+
+ <include
+ layout="@layout/list_empty_view"
+ android:id="@+id/no_conversations_view"
+ android:visibility="gone"
+ android:layout_marginBottom="@dimen/conversation_list_empty_text_bottom_margin" />
+
+ <ImageView
+ style="@style/ConversationListFragmentStartNewButtonStyle"
+ android:id="@+id/start_new_conversation_button"
+ android:layout_width="@dimen/fab_size"
+ android:layout_height="@dimen/fab_size"
+ android:layout_gravity="bottom|end"
+ android:layout_marginBottom="@dimen/fab_bottom_margin"
+ android:paddingBottom="@dimen/fab_padding_bottom"
+ android:background="@drawable/fab_new_message_bg"
+ android:elevation="@dimen/fab_elevation"
+ android:scaleType="center"
+ android:src="@drawable/ic_add_white"
+ android:stateListAnimator="@animator/fab_anim"
+ android:contentDescription="@string/start_new_conversation"/>
+
+</FrameLayout>
diff --git a/res/layout/conversation_list_item_view.xml b/res/layout/conversation_list_item_view.xml
new file mode 100644
index 0000000..da1ca4e
--- /dev/null
+++ b/res/layout/conversation_list_item_view.xml
@@ -0,0 +1,190 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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.messaging.ui.conversationlist.ConversationListItemView
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content">
+
+ <!-- The background displayed when the conversation is swiped sideways -->
+ <LinearLayout
+ android:id="@+id/crossSwipeBackground"
+ android:orientation="horizontal"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:gravity="center_vertical|start"
+ android:baselineAligned="false"
+ android:background="@drawable/swipe_shadow"
+ android:visibility="gone"
+ android:padding="@dimen/conversation_list_item_view_padding">
+ <ImageView
+ android:id="@+id/crossSwipeArchiveIconLeft"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:gravity="center_vertical|left"
+ android:visibility="gone"
+ android:src="@drawable/ic_archive_small_dark"
+ android:importantForAccessibility="no"
+ android:contentDescription="@null"/>
+ <FrameLayout
+ android:layout_width="0dp"
+ android:layout_height="match_parent"
+ android:layout_weight="1" />
+ <ImageView
+ android:id="@+id/crossSwipeArchiveIconRight"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_vertical|right"
+ android:visibility="gone"
+ android:src="@drawable/ic_archive_small_dark"
+ android:importantForAccessibility="no"
+ android:contentDescription="@null"/>
+ </LinearLayout>
+
+ <FrameLayout
+ android:id="@+id/swipeableContainer"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:importantForAccessibility="no" >
+ <LinearLayout
+ android:id="@+id/swipeableContent"
+ android:orientation="horizontal"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:background="?android:attr/selectableItemBackground"
+ android:clipToPadding="false"
+ android:duplicateParentState="true"
+ android:padding="@dimen/conversation_list_item_view_padding">
+
+ <!-- Contact avatar on the left side of the view -->
+ <FrameLayout
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:background="@android:color/transparent">
+ <com.android.messaging.ui.ContactIconView
+ android:id="@+id/conversation_icon"
+ android:layout_width="@dimen/conversation_list_contact_icon_size"
+ android:layout_height="@dimen/conversation_list_contact_icon_size"
+ android:importantForAccessibility="no"
+ android:contentDescription="@null"
+ app:iconSize="large"
+ android:clickable="true"
+ android:background="@android:color/transparent" />
+ <ImageView
+ android:id="@+id/conversation_checkmark"
+ android:layout_width="@dimen/conversation_list_contact_icon_size"
+ android:layout_height="@dimen/conversation_list_contact_icon_size"
+ android:src="@drawable/ic_checkmark_circle_blue"
+ android:visibility="gone"
+ android:importantForAccessibility="no"
+ android:background="@android:color/transparent" />
+ <ImageView
+ android:id="@+id/conversation_failed_status_icon"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="bottom|end"
+ android:src="@drawable/ic_failed_status_red"
+ android:visibility="gone"
+ android:importantForAccessibility="no"
+ android:contentDescription="@null"
+ android:background="@android:color/transparent" />
+ </FrameLayout>
+
+ <!-- The conversation name, message preview, etc -->
+ <LinearLayout
+ style="@style/ConversationListItemViewPaddingStyle"
+ android:orientation="vertical"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:layout_gravity="top"
+ android:background="@android:color/transparent">
+ <LinearLayout
+ android:orientation="horizontal"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:background="@android:color/transparent">
+ <ImageView
+ android:id="@+id/conversation_notification_bell"
+ style="@style/ConversationListNotificationBellPaddingStyle"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:src="@drawable/ic_notifications_off_small_light"
+ android:visibility="gone"
+ android:importantForAccessibility="no"
+ android:contentDescription="@null"
+ android:layout_gravity="center_vertical"
+ android:background="@android:color/transparent" />
+ <TextView
+ android:id="@+id/conversation_name"
+ style="@style/ConversationListItemViewConversationNameStyle"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:singleLine="true"
+ android:layout_gravity="center_vertical"
+ android:paddingBottom="2dp" />
+ </LinearLayout>
+ <TextView
+ android:id="@+id/conversation_subject"
+ style="@style/ConversationListItemViewTextStyle"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:singleLine="true"
+ android:paddingBottom="3dp"
+ android:ellipsize="end"
+ android:visibility="gone" />
+ <TextView
+ android:id="@+id/conversation_snippet"
+ style="@style/ConversationListItemViewTextStyle"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:paddingBottom="3dp"
+ android:ellipsize="end" />
+ <TextView
+ android:id="@+id/conversation_timestamp"
+ style="@style/ConversationListItemViewTextStyle"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content" />
+ </LinearLayout>
+
+ <!-- The attachment preview on the right side of the view -->
+ <FrameLayout
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="top|end"
+ android:background="@android:color/transparent">
+ <com.android.messaging.ui.AsyncImageView
+ android:id="@+id/conversation_image_preview"
+ style="@style/ConversationListItemViewPaddingStyle"
+ app:cornerRadius="@dimen/conversation_list_image_preview_corner_radius"
+ android:layout_width="@dimen/conversation_list_image_preview_size"
+ android:layout_height="@dimen/conversation_list_image_preview_size"
+ android:visibility="gone"
+ android:scaleType="centerCrop"
+ android:contentDescription="@string/message_image_content_description"
+ android:background="@android:color/transparent" />
+ <com.android.messaging.ui.AudioAttachmentView
+ android:id="@+id/audio_attachment_view"
+ android:layout_width="@dimen/conversation_list_image_preview_size"
+ android:layout_height="@dimen/conversation_list_image_preview_size"
+ app:layoutMode="subcompact"
+ android:visibility="gone"
+ android:background="@android:color/transparent" />
+ </FrameLayout>
+ </LinearLayout>
+ </FrameLayout>
+</com.android.messaging.ui.conversationlist.ConversationListItemView>
diff --git a/res/layout/conversation_message_view.xml b/res/layout/conversation_message_view.xml
new file mode 100644
index 0000000..daad600
--- /dev/null
+++ b/res/layout/conversation_message_view.xml
@@ -0,0 +1,171 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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.messaging.ui.conversation.ConversationMessageView
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ style="@style/ConversationMessageViewStyle"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content" >
+
+ <com.android.messaging.ui.ContactIconView
+ android:id="@+id/conversation_icon"
+ android:layout_width="@dimen/conversation_message_contact_icon_size"
+ android:layout_height="@dimen/conversation_message_contact_icon_size"
+ app:iconSize="normal"
+ android:clickable="true"
+ android:layout_gravity="center_vertical"
+ android:importantForAccessibility="no" />
+
+ <com.android.messaging.ui.conversation.ConversationMessageBubbleView
+ android:id="@+id/message_content"
+ android:orientation="vertical"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_vertical">
+
+ <LinearLayout
+ android:id="@+id/message_attachments"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ android:visibility="gone" >
+
+ <!-- Video, audio and vcard attachments (if present) will be added here -->
+
+ <com.android.messaging.ui.MultiAttachmentLayout
+ android:id="@+id/multiple_attachments"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:visibility="gone" />
+
+ <com.android.messaging.ui.AsyncImageView
+ android:id="@+id/message_image"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:minWidth="@dimen/conversation_message_photo_min_size"
+ android:minHeight="@dimen/conversation_message_photo_min_size"
+ android:adjustViewBounds="true"
+ android:scaleType="fitCenter"
+ android:layout_gravity="center_vertical"
+ android:visibility="gone"
+ app:placeholderDrawable="@drawable/attachment_image_placeholder_background"
+ app:cornerRadius="@dimen/attachment_rounded_corner_radius"
+ android:contentDescription="@string/message_image_content_description" />
+
+ </LinearLayout>
+
+ <com.android.messaging.ui.conversation.MessageBubbleBackground
+ android:id="@+id/message_text_and_info"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:orientation="vertical">
+
+ <LinearLayout
+ android:id="@+id/message_title_layout"
+ android:orientation="vertical"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:visibility="gone"
+ android:importantForAccessibility="noHideDescendants" >
+
+ <TextView
+ android:id="@+id/message_title"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ style="@style/ConversationMessageTitle" />
+
+ <TextView
+ android:id="@+id/mms_info"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ style="@style/ConversationMessageInfo" />
+
+ </LinearLayout>
+
+ <LinearLayout
+ android:id="@+id/subject_container"
+ android:orientation="horizontal"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:importantForAccessibility="noHideDescendants" >
+
+ <TextView
+ android:id="@+id/subject_label"
+ android:text="@string/conversation_message_view_subject_text"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ style="@style/ConversationMessage" />
+
+ <TextView
+ android:id="@+id/subject_text"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ style="@style/ConversationMessage" />
+
+ </LinearLayout>
+
+ <TextView
+ android:id="@+id/message_text"
+ style="@style/ConversationMessage"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:visibility="gone"
+ android:importantForAccessibility="no" />
+
+ <com.android.messaging.ui.LineWrapLayout
+ android:id="@+id/message_metadata"
+ android:orientation="horizontal"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:gravity="center_vertical"
+ android:importantForAccessibility="noHideDescendants" >
+
+ <TextView
+ android:id="@+id/message_sender_name"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginRight="4dp"
+ style="@style/ConversationMessageStatus"
+ android:visibility="gone" />
+ <TextView
+ android:id="@+id/message_status"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ style="@style/ConversationMessageStatus"
+ android:visibility="gone" />
+ <TextView
+ android:id="@+id/sim_name"
+ style="@style/MessageSimIndicator"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:visibility="gone" />
+ <ImageView
+ android:id="@+id/smsDeliveredBadge"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center"
+ style="@style/SmsDeliverdBadge"
+ android:src="@drawable/ic_sms_delivery_ok"
+ android:visibility="gone" />
+ </com.android.messaging.ui.LineWrapLayout>
+
+ </com.android.messaging.ui.conversation.MessageBubbleBackground>
+
+ </com.android.messaging.ui.conversation.ConversationMessageBubbleView>
+
+</com.android.messaging.ui.conversation.ConversationMessageView>
diff --git a/res/layout/copy_contact_dialog_view.xml b/res/layout/copy_contact_dialog_view.xml
new file mode 100644
index 0000000..15e07f7
--- /dev/null
+++ b/res/layout/copy_contact_dialog_view.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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.
+-->
+<TextView
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ style="@style/CopyContactDialogTextStyle"
+ android:ellipsize="end"
+ android:paddingTop="@dimen/copy_contact_dialog_top_padding"/> \ No newline at end of file
diff --git a/res/layout/custom_header_view_pager.xml b/res/layout/custom_header_view_pager.xml
new file mode 100644
index 0000000..9552cd6
--- /dev/null
+++ b/res/layout/custom_header_view_pager.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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.
+-->
+<merge xmlns:android="http://schemas.android.com/apk/res/android">
+
+ <com.android.messaging.ui.ViewPagerTabs
+ android:id="@+id/tab_strip"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center"
+ android:textAllCaps="true"
+ android:orientation="horizontal"
+ style="@style/PagerTabHeader" />
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="0dp"
+ android:layout_weight="1">
+
+ <android.support.v4.view.ViewPager
+ android:id="@+id/pager"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent" />
+
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="2dp"
+ android:layout_gravity="top"
+ android:background="@drawable/compose_chips_divider_gradient"/>
+
+ </FrameLayout>
+</merge> \ No newline at end of file
diff --git a/res/layout/debug_mmsconfig_activity.xml b/res/layout/debug_mmsconfig_activity.xml
new file mode 100644
index 0000000..4056317
--- /dev/null
+++ b/res/layout/debug_mmsconfig_activity.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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.
+-->
+<fragment
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ class="com.android.messaging.ui.debug.DebugMmsConfigFragment"
+ android:id="@+id/debug_mmsconfig_fragment"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent" /> \ No newline at end of file
diff --git a/res/layout/debug_mmsconfig_fragment.xml b/res/layout/debug_mmsconfig_fragment.xml
new file mode 100644
index 0000000..be61710
--- /dev/null
+++ b/res/layout/debug_mmsconfig_fragment.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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.
+-->
+<ListView
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@android:id/list"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:divider="@null"
+ android:dividerHeight="0px" /> \ No newline at end of file
diff --git a/res/layout/debug_mmsconfig_item_view.xml b/res/layout/debug_mmsconfig_item_view.xml
new file mode 100644
index 0000000..a825ee5
--- /dev/null
+++ b/res/layout/debug_mmsconfig_item_view.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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.messaging.ui.debug.DebugMmsConfigItemView
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:orientation="horizontal"
+ android:layout_width="match_parent"
+ android:layout_height="56dp"
+ android:background="@android:color/background_light"
+ android:gravity="center_vertical"
+ android:clickable="true"
+ style="@style/DebugMmsConfigItemStyle" >
+ <TextView
+ android:id="@+id/title"
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="match_parent"
+ android:singleLine="true"
+ android:maxLines="1"
+ android:gravity="center_vertical"/>
+ <Switch
+ android:id="@+id/switch_button"
+ android:layout_width="wrap_content"
+ android:layout_height="match_parent"
+ android:visibility="gone" />
+ <TextView
+ android:id="@+id/text_value"
+ android:layout_width="wrap_content"
+ android:layout_height="match_parent"
+ android:singleLine="true"
+ android:gravity="center_vertical"
+ android:visibility="gone"/>
+</com.android.messaging.ui.debug.DebugMmsConfigItemView>
diff --git a/res/layout/debug_sms_mms_from_dump_file_dialog.xml b/res/layout/debug_sms_mms_from_dump_file_dialog.xml
new file mode 100644
index 0000000..342f489
--- /dev/null
+++ b/res/layout/debug_sms_mms_from_dump_file_dialog.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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.
+-->
+<FrameLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:padding="6dp"
+ android:background="@color/conversation_background"
+ >
+
+ <ListView android:id="@+id/dump_file_list"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:layout_weight="1"
+ android:drawSelectorOnTop="false"
+ android:longClickable="false"/>
+
+</FrameLayout>
diff --git a/res/layout/enter_phone_number_view.xml b/res/layout/enter_phone_number_view.xml
new file mode 100644
index 0000000..825ac51
--- /dev/null
+++ b/res/layout/enter_phone_number_view.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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.
+-->
+<EditText
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:orientation="vertical"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:paddingTop="16dp"
+ android:paddingLeft="24dp"
+ android:paddingRight="24dp"
+ android:singleLine="true"
+ android:maxLines="1"
+ android:hint="@string/enter_phone_number_hint"
+ android:inputType="number|phone"
+ />
diff --git a/res/layout/fastscroll_preview.xml b/res/layout/fastscroll_preview.xml
new file mode 100644
index 0000000..ab72744
--- /dev/null
+++ b/res/layout/fastscroll_preview.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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.
+-->
+<TextView
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:gravity="center"
+ android:paddingLeft="@dimen/fastscroll_preview_padding"
+ android:paddingRight="@dimen/fastscroll_preview_padding"
+ android:textColor="@color/fastscroll_preview_text_color"
+ android:textSize="@dimen/fastscroll_preview_text_size" />
diff --git a/res/layout/fastscroll_thumb.xml b/res/layout/fastscroll_thumb.xml
new file mode 100644
index 0000000..6f57056
--- /dev/null
+++ b/res/layout/fastscroll_thumb.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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.
+-->
+<ImageView
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:scaleType="fitXY" /> \ No newline at end of file
diff --git a/res/layout/fastscroll_track.xml b/res/layout/fastscroll_track.xml
new file mode 100644
index 0000000..6a35e94
--- /dev/null
+++ b/res/layout/fastscroll_track.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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.
+-->
+<ImageView
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:scaleType="fitXY"
+ android:src="@drawable/fastscroll_track" />
diff --git a/res/layout/frequent_contacts_list_view.xml b/res/layout/frequent_contacts_list_view.xml
new file mode 100644
index 0000000..9cb0c3a
--- /dev/null
+++ b/res/layout/frequent_contacts_list_view.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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.
+-->
+<FrameLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent">
+
+ <ListView
+ android:id="@+id/frequent_contacts_list"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:paddingTop="8dp"
+ android:paddingBottom="8dp"
+ android:clipToPadding="false"
+ android:divider="@null"
+ android:dividerHeight="0px"
+ android:fastScrollEnabled="true" />
+
+ <include
+ layout="@layout/list_empty_view"
+ android:id="@+id/empty_view"
+ android:visibility="gone" />
+
+</FrameLayout> \ No newline at end of file
diff --git a/res/layout/gallery_grid_item_view.xml b/res/layout/gallery_grid_item_view.xml
new file mode 100644
index 0000000..8b7ee58
--- /dev/null
+++ b/res/layout/gallery_grid_item_view.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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.messaging.ui.mediapicker.GalleryGridItemView
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="@dimen/gallery_image_cell_size"
+ android:background="@color/gallery_image_default_background"
+ android:clickable="true">
+
+ <com.android.messaging.ui.AsyncImageView
+ android:id="@+id/image"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:scaleType="centerCrop" />
+
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:background="@drawable/gallery_image_background_selector" />
+
+ <CheckBox
+ android:id="@+id/checkbox"
+ style="@style/GalleryGridItemViewCheckBoxStyle"
+ android:button="@drawable/gallery_checkbox_selector"
+ android:background="@null"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="top|end"
+ android:paddingTop="4dp"
+ android:visibility="gone"
+ android:contentDescription="@string/gallery_checkbox_content_description" />
+</com.android.messaging.ui.mediapicker.GalleryGridItemView>
diff --git a/res/layout/group_mms_setting_dialog.xml b/res/layout/group_mms_setting_dialog.xml
new file mode 100644
index 0000000..efc3b00
--- /dev/null
+++ b/res/layout/group_mms_setting_dialog.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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.
+-->
+<RadioGroup
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical">
+
+ <RadioButton
+ android:id="@+id/disable_group_mms_button"
+ style="@style/GroupMmsSettingItem"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="@string/disable_group_mms"/>
+
+ <RadioButton
+ android:id="@+id/enable_group_mms_button"
+ style="@style/GroupMmsSettingItem"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="@string/enable_group_mms"/>
+
+</RadioGroup>
diff --git a/res/layout/license_activity.xml b/res/layout/license_activity.xml
new file mode 100644
index 0000000..1475ac2
--- /dev/null
+++ b/res/layout/license_activity.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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.
+-->
+<WebView
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/content"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content">
+</WebView> \ No newline at end of file
diff --git a/res/layout/list_empty_view.xml b/res/layout/list_empty_view.xml
new file mode 100644
index 0000000..aa4b4fb
--- /dev/null
+++ b/res/layout/list_empty_view.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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.messaging.ui.ListEmptyView
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:orientation="vertical"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_vertical">
+
+ <ImageView
+ android:id="@+id/empty_image_hint"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center"
+ android:importantForAccessibility="no"
+ android:contentDescription="@null"/>
+
+ <TextView
+ android:id="@+id/empty_text_hint"
+ android:gravity="center_horizontal"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center"
+ android:layout_marginLeft="@dimen/list_empty_text_left_right_margin"
+ android:layout_marginRight="@dimen/list_empty_text_left_right_margin"
+ android:layout_marginTop="@dimen/list_empty_text_top_margin"
+ style="@style/ListEmptyText"/>
+</com.android.messaging.ui.ListEmptyView>
diff --git a/res/layout/mediapicker_audio_chooser.xml b/res/layout/mediapicker_audio_chooser.xml
new file mode 100644
index 0000000..795d2f8
--- /dev/null
+++ b/res/layout/mediapicker_audio_chooser.xml
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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.messaging.ui.mediapicker.AudioRecordView
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:background="@android:color/white"
+ android:importantForAccessibility="no" >
+
+ <FrameLayout
+ android:id="@+id/mediapicker_enabled"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent" >
+
+ <TextView
+ android:id="@+id/hint_text"
+ style="@style/AudioPickerHintText"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="top|center"
+ android:layout_marginTop="16dp"
+ android:text="@string/audio_picker_hint_text"
+ android:importantForAccessibility="no" />
+
+ <com.android.messaging.ui.mediapicker.PausableChronometer
+ android:id="@+id/timer_text"
+ style="@style/AudioPickerTimerText"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="top|center"
+ android:layout_marginTop="16dp"
+ android:visibility="gone" />
+
+ <com.android.messaging.ui.mediapicker.SoundLevels
+ android:id="@+id/sound_levels"
+ android:layout_width="260dp"
+ android:layout_height="260dp"
+ android:layout_gravity="center"
+ android:focusableInTouchMode="false"
+ app:minLevelRadius="55dp"
+ app:maxLevelRadius="130dp"
+ app:primaryColor="@color/audio_picker_level_primary_color" />
+
+ <!-- View to make the touachable area larger for accessibility's two-finger touch -->
+ <FrameLayout
+ android:id="@+id/record_button"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center"
+ android:padding="30dp"
+ android:focusable="true"
+ android:focusableInTouchMode="true"
+ android:contentDescription="@string/audio_record_view_content_description" >
+
+ <ImageView
+ android:id="@+id/record_button_visual"
+ android:layout_width="70dp"
+ android:layout_height="70dp"
+ android:layout_margin="30dp"
+ android:layout_gravity="center"
+ android:scaleType="center"
+ android:src="@drawable/ic_mp_audio_mic"
+ android:background="@drawable/audio_record_control_button_background"
+ android:importantForAccessibility="no"
+ android:contentDescription="@null" />
+ </FrameLayout>
+
+ </FrameLayout>
+
+ <!-- This view will hide all other views if the required permission is not granted -->
+ <TextView
+ android:id="@+id/missing_permission_view"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:text="@string/enable_permission_procedure"
+ android:contentDescription="@string/enable_permission_procedure_description"
+ android:background="@android:color/white"
+ android:gravity="center"
+ android:visibility="gone" />
+
+</com.android.messaging.ui.mediapicker.AudioRecordView>
diff --git a/res/layout/mediapicker_camera_chooser.xml b/res/layout/mediapicker_camera_chooser.xml
new file mode 100644
index 0000000..27d26bd
--- /dev/null
+++ b/res/layout/mediapicker_camera_chooser.xml
@@ -0,0 +1,150 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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.messaging.ui.mediapicker.CameraMediaChooserView
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:background="@android:color/black">
+
+ <FrameLayout
+ android:id="@+id/mediapicker_enabled"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content" >
+
+ <!-- Default to using the hardware rendered camera preview, we will fall back to
+ SoftwareCameraPreview in CameraMediaChooserView if needed -->
+ <com.android.messaging.ui.mediapicker.HardwareCameraPreview
+ android:id="@+id/camera_preview"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:layout_gravity="center" />
+
+ <com.android.messaging.ui.mediapicker.camerafocus.RenderOverlay
+ android:id="@+id/focus_visual"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent" />
+
+ <View
+ android:id="@+id/camera_shutter_visual"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:background="@android:color/white"
+ android:visibility="gone" />
+
+ <!-- Need a background on this view in order for the ripple effect to have a place to draw -->
+ <FrameLayout
+ android:id="@+id/camera_button_container"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:background="@android:color/transparent"
+ android:paddingTop="20dp"
+ android:layout_gravity="bottom">
+
+ <FrameLayout
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="start|center_vertical"
+ style="@style/CameraChooserFrameStyle">
+
+ <ImageButton
+ android:id="@+id/camera_swap_mode_button"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:minWidth="48dp"
+ android:minHeight="48dp"
+ android:background="@drawable/transparent_button_background"
+ android:src="@drawable/ic_mp_video_small_light"
+ android:contentDescription="@string/camera_switch_to_video_mode"/>
+
+ <Chronometer
+ android:id="@+id/camera_video_counter"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textColor="@android:color/white"
+ android:textSize="18sp"
+ android:padding="16dp"
+ android:visibility="gone" />
+
+ </FrameLayout>
+
+ <ImageButton
+ android:id="@+id/camera_capture_button"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center"
+ android:minWidth="96dp"
+ android:minHeight="96dp"
+ android:background="@drawable/transparent_button_background"
+ android:src="@drawable/ic_checkmark_large_light"
+ android:contentDescription="@string/camera_take_picture"/>
+
+ <FrameLayout
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="end|center_vertical"
+ android:paddingEnd="16dp">
+
+ <ImageButton
+ android:id="@+id/camera_fullScreen_button"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:minWidth="48dp"
+ android:minHeight="48dp"
+ android:background="@drawable/transparent_button_background"
+ android:src="@drawable/ic_mp_full_screen_light"
+ android:contentDescription="@string/camera_switch_full_screen" />
+
+ <ImageButton
+ android:id="@+id/camera_swapCamera_button"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:minWidth="48dp"
+ android:minHeight="48dp"
+ android:background="@drawable/transparent_button_background"
+ android:visibility="gone"
+ android:contentDescription="@string/camera_switch_camera_facing"/>
+
+ <ImageButton
+ android:id="@+id/camera_cancel_button"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:minWidth="48dp"
+ android:minHeight="48dp"
+ android:background="@drawable/transparent_button_background"
+ android:src="@drawable/ic_remove_small_light"
+ android:visibility="gone"
+ android:contentDescription="@string/camera_cancel_recording" />
+
+ </FrameLayout>
+
+ </FrameLayout>
+
+ </FrameLayout>
+
+ <!-- This view will hide all other views if the required permission is not granted -->
+ <TextView
+ android:id="@+id/missing_permission_view"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:text="@string/enable_permission_procedure"
+ android:contentDescription="@string/enable_permission_procedure_description"
+ android:background="@android:color/white"
+ android:gravity="center"
+ android:visibility="gone" />
+
+</com.android.messaging.ui.mediapicker.CameraMediaChooserView>
diff --git a/res/layout/mediapicker_fragment.xml b/res/layout/mediapicker_fragment.xml
new file mode 100644
index 0000000..2e414bd
--- /dev/null
+++ b/res/layout/mediapicker_fragment.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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.messaging.ui.mediapicker.MediaPickerPanel
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content">
+
+ <com.android.messaging.ui.PagingAwareViewPager
+ android:id="@+id/mediapicker_view_pager"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:minHeight="@dimen/mediapicker_default_chooser_height" />
+ <LinearLayout
+ android:id="@+id/mediapicker_tabstrip"
+ android:layout_width="match_parent"
+ android:layout_height="48dp"
+ android:orientation="horizontal"
+ android:gravity="center" />
+</com.android.messaging.ui.mediapicker.MediaPickerPanel>
diff --git a/res/layout/mediapicker_image_chooser.xml b/res/layout/mediapicker_image_chooser.xml
new file mode 100644
index 0000000..b4f3c01
--- /dev/null
+++ b/res/layout/mediapicker_image_chooser.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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.
+-->
+<FrameLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent">
+ <com.android.messaging.ui.mediapicker.GalleryGridView
+ android:id="@+id/gallery_grid_view"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:padding="6dp"
+ android:columnWidth="@dimen/gallery_image_cell_size"
+ android:numColumns="auto_fit"
+ android:verticalSpacing="6dp"
+ android:horizontalSpacing="6dp"
+ android:stretchMode="columnWidth"
+ android:gravity="center"
+ android:clipToPadding="false"
+ android:background="@android:color/white" />
+ <!-- This view will hide all other views if the required permission is not granted -->
+ <TextView
+ android:id="@+id/missing_permission_view"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:text="@string/enable_permission_procedure"
+ android:contentDescription="@string/enable_permission_procedure_description"
+ android:background="@android:color/white"
+ android:gravity="center"
+ android:visibility="gone" />
+</FrameLayout> \ No newline at end of file
diff --git a/res/layout/mediapicker_location_chooser.xml b/res/layout/mediapicker_location_chooser.xml
new file mode 100644
index 0000000..9135299
--- /dev/null
+++ b/res/layout/mediapicker_location_chooser.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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.
+-->
+<fragment
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/place_picker_fragment"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:name="com.google.android.location.places.ui.placepicker.PlacePickerFragment" />
diff --git a/res/layout/mediapicker_location_container.xml b/res/layout/mediapicker_location_container.xml
new file mode 100644
index 0000000..6f476d3
--- /dev/null
+++ b/res/layout/mediapicker_location_container.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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.
+-->
+<FrameLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/place_picker_container"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ >
+ <!-- This view will be hidden by the PlacePickerFragment if the required permission is granted -->
+ <TextView
+ android:id="@+id/missing_permission_view"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:gravity="center"
+ android:text="@string/enable_permission_procedure"
+ android:contentDescription="@string/enable_permission_procedure_description" />
+ </FrameLayout>
diff --git a/res/layout/mediapicker_tab_button.xml b/res/layout/mediapicker_tab_button.xml
new file mode 100644
index 0000000..353c871
--- /dev/null
+++ b/res/layout/mediapicker_tab_button.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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.
+-->
+
+<!-- android:contentDescription is set in code -->
+<ImageButton xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="48dp"
+ android:layout_height="48dp"
+ android:background="@drawable/mediapicker_tab_button_background"
+ android:contentDescription="@null">
+</ImageButton> \ No newline at end of file
diff --git a/res/layout/message_audio_attachment.xml b/res/layout/message_audio_attachment.xml
new file mode 100644
index 0000000..0854269
--- /dev/null
+++ b/res/layout/message_audio_attachment.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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.messaging.ui.AudioAttachmentView
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="wrap_content"
+ android:layout_height="70dp"
+ android:importantForAccessibility="no"
+ style="@style/AudioAttachmentViewStyle" />
diff --git a/res/layout/message_vcard_attachment.xml b/res/layout/message_vcard_attachment.xml
new file mode 100644
index 0000000..0da6e2d
--- /dev/null
+++ b/res/layout/message_vcard_attachment.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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.messaging.ui.PersonItemView
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:paddingTop="@dimen/message_text_top_padding"
+ android:paddingBottom="@dimen/message_text_bottom_padding"
+ style="@style/MessageVcardAttachmentStyle" />
diff --git a/res/layout/message_video_attachment.xml b/res/layout/message_video_attachment.xml
new file mode 100644
index 0000000..8aa2061
--- /dev/null
+++ b/res/layout/message_video_attachment.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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.messaging.ui.VideoThumbnailView
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_vertical"
+ android:minWidth="@dimen/video_message_min_size"
+ android:minHeight="@dimen/video_message_min_size"
+ app:mode="imageThumbnail" />
diff --git a/res/layout/mms_config_debug_fragment.xml b/res/layout/mms_config_debug_fragment.xml
new file mode 100644
index 0000000..27528f9
--- /dev/null
+++ b/res/layout/mms_config_debug_fragment.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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="match_parent"
+ android:layout_height="match_parent"
+ android:orientation="vertical">
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal"
+ android:layout_margin="16dp">
+ <TextView
+ android:id="@+id/sim_title"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="@string/debug_sub_id_spinner_text" />
+ <Spinner
+ android:id="@+id/sim_selector"
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content" />
+ </LinearLayout>
+
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="1dp"
+ android:background="#555555" />
+
+ <ListView
+ android:id="@android:id/list"
+ android:layout_width="match_parent"
+ android:layout_height="0dp"
+ android:layout_weight="1"
+ android:divider="@null"
+ android:dividerHeight="0px" />
+
+</LinearLayout> \ No newline at end of file
diff --git a/res/layout/open_source_licenses.xml b/res/layout/open_source_licenses.xml
new file mode 100644
index 0000000..89995eb
--- /dev/null
+++ b/res/layout/open_source_licenses.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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.
+-->
+
+<WebView xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/osl_web_view"
+ android:layout_height="wrap_content"
+ android:layout_width="match_parent"
+ />
diff --git a/res/layout/people_and_options_activity.xml b/res/layout/people_and_options_activity.xml
new file mode 100644
index 0000000..af879a0
--- /dev/null
+++ b/res/layout/people_and_options_activity.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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.
+-->
+<fragment
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ class="com.android.messaging.ui.conversationsettings.PeopleAndOptionsFragment"
+ android:id="@+id/people_and_options_fragment"
+ android:theme="@style/Theme.AppCompat.Light.DarkActionBar"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent" /> \ No newline at end of file
diff --git a/res/layout/people_and_options_fragment.xml b/res/layout/people_and_options_fragment.xml
new file mode 100644
index 0000000..be61710
--- /dev/null
+++ b/res/layout/people_and_options_fragment.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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.
+-->
+<ListView
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@android:id/list"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:divider="@null"
+ android:dividerHeight="0px" /> \ No newline at end of file
diff --git a/res/layout/people_and_options_section_header.xml b/res/layout/people_and_options_section_header.xml
new file mode 100644
index 0000000..44b10c1
--- /dev/null
+++ b/res/layout/people_and_options_section_header.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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:id="@+id/people_and_options_header"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical">
+
+ <View
+ android:id="@+id/divider"
+ android:layout_width="match_parent"
+ android:layout_height="1dp"
+ android:background="@color/people_and_options_list_divider"/>
+
+ <TextView
+ android:id="@+id/header_text"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:padding="16dp"
+ android:text="@string/participant_list_title"
+ style="@style/PeopleAndOptionsSectionHeader" />
+
+</LinearLayout> \ No newline at end of file
diff --git a/res/layout/people_list_item_view.xml b/res/layout/people_list_item_view.xml
new file mode 100644
index 0000000..e4c07e4
--- /dev/null
+++ b/res/layout/people_list_item_view.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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.messaging.ui.PersonItemView
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ android:orientation="horizontal"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:paddingTop="8dp"
+ android:paddingBottom="8dp"
+ android:background="?android:attr/selectableItemBackground"
+ style="@style/PeopleListItemViewStyle" />
diff --git a/res/layout/people_options_item_view.xml b/res/layout/people_options_item_view.xml
new file mode 100644
index 0000000..fbb9592
--- /dev/null
+++ b/res/layout/people_options_item_view.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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.messaging.ui.conversationsettings.PeopleOptionsItemView
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:orientation="horizontal"
+ android:layout_width="match_parent"
+ android:layout_height="56dp"
+ android:gravity="center_vertical"
+ android:background="?android:attr/selectableItemBackground"
+ android:clickable="true"
+ style="@style/PeopleAndOptionsItemStyle">
+
+ <LinearLayout
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="match_parent"
+ android:orientation="vertical"
+ android:gravity="center_vertical">
+
+ <TextView
+ android:id="@+id/title"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:singleLine="true"
+ android:maxLines="1"
+ android:ellipsize="end"
+ style="@style/ParticipantListItem"
+ android:layout_gravity="center_vertical" />
+
+ <TextView
+ android:id="@+id/subtitle"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:singleLine="true"
+ android:maxLines="1"
+ android:ellipsize="end"
+ style="@style/ParticipantListItemDetail"
+ android:layout_gravity="center_vertical" />
+
+ </LinearLayout>
+
+ <android.support.v7.widget.SwitchCompat
+ android:id="@+id/switch_button"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:focusable="false"
+ android:clickable="false"
+ android:visibility="gone" />
+
+</com.android.messaging.ui.conversationsettings.PeopleOptionsItemView>
diff --git a/res/layout/permission_check_activity.xml b/res/layout/permission_check_activity.xml
new file mode 100644
index 0000000..57f665c
--- /dev/null
+++ b/res/layout/permission_check_activity.xml
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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="match_parent"
+ android:layout_height="match_parent"
+ android:background="@color/permission_check_activity_background"
+ android:orientation="vertical" >
+ <TextView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="@string/required_permissions_promo"
+ android:paddingTop="96dp"
+ style="@style/PromoScreenTextStyle.CenterAligned" />
+ <TextView
+ android:id="@+id/enable_permission_procedure"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:paddingTop="16dp"
+ android:text="@string/enable_permission_procedure"
+ android:contentDescription="@string/enable_permission_procedure_description"
+ style="@style/PromoScreenTextStyle.CenterAligned"
+ android:visibility="invisible"/>
+ <ImageView
+ android:layout_width="match_parent"
+ android:layout_height="0dp"
+ android:layout_weight="1"
+ android:paddingTop="40dp"
+ android:src="@drawable/permissions"
+ android:scaleType="centerInside"
+ android:importantForAccessibility="no" />
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="1dp"
+ android:background="@android:color/white" />
+ <!-- Buttons -->
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="48dp"
+ android:orientation="horizontal" >
+ <TextView
+ android:id="@+id/exit"
+ android:layout_width="0dp"
+ android:layout_height="match_parent"
+ android:layout_weight="1"
+ android:text="@string/exit"
+ style="@style/PromoScreenButtonStyle" />
+ <TextView
+ android:id="@+id/next"
+ android:layout_width="0dp"
+ android:layout_height="match_parent"
+ android:layout_weight="1"
+ android:text="@string/next_with_arrow"
+ android:contentDescription="@string/next"
+ style="@style/PromoScreenButtonStyle" />
+ <TextView
+ android:id="@+id/settings"
+ android:layout_width="0dp"
+ android:layout_height="match_parent"
+ android:layout_weight="1"
+ android:text="@string/settings_with_arrow"
+ android:contentDescription="@string/settings"
+ style="@style/PromoScreenButtonStyle"
+ android:visibility="gone"/>
+ </LinearLayout>
+</LinearLayout>
diff --git a/res/layout/person_item_view.xml b/res/layout/person_item_view.xml
new file mode 100644
index 0000000..9645024
--- /dev/null
+++ b/res/layout/person_item_view.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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.
+-->
+<merge
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal">
+
+ <com.android.messaging.ui.ContactIconView
+ android:id="@+id/contact_icon"
+ android:layout_width="@dimen/contact_list_icon_size"
+ android:layout_height="@dimen/contact_list_icon_size"
+ android:importantForAccessibility="no"
+ app:iconSize="normal"
+ android:layout_gravity="center_vertical" />
+
+ <LinearLayout
+ android:id="@+id/details_container"
+ android:orientation="vertical"
+ style="@style/ContactListItemLinearLayoutStyle"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:layout_gravity="center_vertical"
+ android:background="@android:color/transparent">
+
+ <TextView
+ android:id="@+id/name"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:singleLine="true"
+ android:maxLines="1"
+ android:ellipsize="end"
+ style="@style/ParticipantListItem" />
+
+ <TextView
+ android:id="@+id/details"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:maxLines="2"
+ android:ellipsize="end"
+ style="@style/ContactListItemDetail" />
+
+ </LinearLayout>
+</merge>
diff --git a/res/layout/place_card.xml b/res/layout/place_card.xml
new file mode 100644
index 0000000..93b9e8c
--- /dev/null
+++ b/res/layout/place_card.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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.
+-->
+
+<merge xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content">
+
+ <com.android.messaging.ui.AsyncImageView
+ android:id="@+id/map_image"
+ android:layout_gravity="center_horizontal"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:scaleType="fitCenter"
+ android:adjustViewBounds="true" />
+
+ <TextView
+ android:id="@+id/place_title"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:maxLines="1"
+ android:ellipsize="end"
+ android:textSize="16sp"
+ android:textStyle="bold" />
+
+ <TextView
+ android:id="@+id/place_subtitle"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:maxLines="2"
+ android:ellipsize="end"
+ android:textSize="14sp" />
+
+ <TextView
+ android:id="@+id/place_notes"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textSize="14sp" />
+
+</merge> \ No newline at end of file
diff --git a/res/layout/settings_fragment.xml b/res/layout/settings_fragment.xml
new file mode 100644
index 0000000..b62b245
--- /dev/null
+++ b/res/layout/settings_fragment.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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.
+-->
+<ListView
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@android:id/list"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent" /> \ No newline at end of file
diff --git a/res/layout/settings_item_view.xml b/res/layout/settings_item_view.xml
new file mode 100644
index 0000000..a434c11
--- /dev/null
+++ b/res/layout/settings_item_view.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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:orientation="vertical"
+ android:layout_width="match_parent"
+ android:layout_height="@dimen/settings_list_item_height"
+ android:gravity="center_vertical"
+ android:paddingLeft="16dp"
+ android:paddingRight="16dp"
+ android:background="?android:attr/selectableItemBackground" >
+
+ <TextView
+ android:id="@+id/title"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:singleLine="true"
+ android:maxLines="1"
+ android:ellipsize="end"
+ style="@style/SettingsListItem" />
+
+ <TextView
+ android:id="@+id/subtitle"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:maxLines="2"
+ android:ellipsize="end"
+ style="@style/SettingsListItemDetail" />
+
+</LinearLayout>
diff --git a/res/layout/share_intent_activity.xml b/res/layout/share_intent_activity.xml
new file mode 100644
index 0000000..d1e59ff
--- /dev/null
+++ b/res/layout/share_intent_activity.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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.
+-->
+<fragment xmlns:android="http://schemas.android.com/apk/res/android"
+ class="com.android.messaging.ui.conversationlist.ShareIntentFragment"
+ android:id="@+id/share_intent_fragment"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent" />
diff --git a/res/layout/share_intent_conversation_list_view.xml b/res/layout/share_intent_conversation_list_view.xml
new file mode 100644
index 0000000..3da3c6b
--- /dev/null
+++ b/res/layout/share_intent_conversation_list_view.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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:paddingTop="8dp"
+ android:orientation="vertical">
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="0dp"
+ android:layout_weight="1">
+ <android.support.v7.widget.RecyclerView
+ android:id="@android:id/list"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:paddingTop="@dimen/conversation_list_first_item_extra_padding"
+ android:clipToPadding="false"
+ android:listSelector="?android:attr/listSelector"
+ android:dividerHeight="0px" />
+ <include
+ layout="@layout/list_empty_view"
+ android:id="@+id/no_conversations_view"
+ android:visibility="gone"/>
+ </FrameLayout>
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="1dp"
+ android:background="#d2d2d2"/>
+</LinearLayout>
diff --git a/res/layout/sim_selector_item_view.xml b/res/layout/sim_selector_item_view.xml
new file mode 100644
index 0000000..a20c4a9
--- /dev/null
+++ b/res/layout/sim_selector_item_view.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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.messaging.ui.conversation.SimSelectorItemView
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal"
+ android:background="?android:attr/selectableItemBackground"
+ android:padding="12dp"
+ android:clipToPadding="false">
+
+ <LinearLayout
+ android:id="@+id/details_container"
+ android:orientation="vertical"
+ style="@style/SimSelectorItemLinearLayoutStyle"
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_vertical" >
+
+ <TextView
+ android:id="@+id/name"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:singleLine="true"
+ android:maxLines="1"
+ android:ellipsize="end"
+ style="@style/SimSelectorItem" />
+
+ <TextView
+ android:id="@+id/details"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:singleLine="true"
+ android:maxLines="1"
+ android:ellipsize="end"
+ style="@style/SimSelectorItemDetail" />
+
+ </LinearLayout>
+
+ <com.android.messaging.ui.conversation.SimIconView
+ android:id="@+id/sim_icon"
+ android:layout_width="@dimen/sim_selector_icon_size"
+ android:layout_height="@dimen/sim_selector_icon_size"
+ android:importantForAccessibility="no"
+ android:layout_gravity="center_vertical"
+ android:elevation="3dp"
+ app:iconSize="normal" />
+
+</com.android.messaging.ui.conversation.SimSelectorItemView>
diff --git a/res/layout/sim_selector_view.xml b/res/layout/sim_selector_view.xml
new file mode 100644
index 0000000..816a2cc
--- /dev/null
+++ b/res/layout/sim_selector_view.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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.messaging.ui.conversation.SimSelectorView
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:background="@drawable/sim_selector_background_gradient">
+
+ <ListView
+ android:id="@+id/sim_list"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_gravity="bottom"
+ android:divider="@null"
+ android:dividerHeight="0px"
+ android:visibility="gone" />
+
+</com.android.messaging.ui.conversation.SimSelectorView>
diff --git a/res/layout/sms_free_storage_action_item_view.xml b/res/layout/sms_free_storage_action_item_view.xml
new file mode 100644
index 0000000..fd71904
--- /dev/null
+++ b/res/layout/sms_free_storage_action_item_view.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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.
+-->
+<TextView
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/action"
+ android:padding="8dp"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ style="@style/LowStorageActionItemStyle" />
diff --git a/res/layout/sms_mms_dump_file_list_item.xml b/res/layout/sms_mms_dump_file_list_item.xml
new file mode 100644
index 0000000..a939db2
--- /dev/null
+++ b/res/layout/sms_mms_dump_file_list_item.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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.
+-->
+<TextView
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/file"
+ android:paddingLeft="8dip"
+ android:paddingRight="8dip"
+ android:paddingTop="10dip"
+ android:paddingBottom="10dip"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:layout_alignParentLeft="true"
+ android:textSize="16sp"
+ android:textColor="@color/compose_send_text_color"
+ android:singleLine="false"
+ style="@style/ConversationComposeSendText" />
diff --git a/res/layout/sms_storage_low_warning_dialog.xml b/res/layout/sms_storage_low_warning_dialog.xml
new file mode 100644
index 0000000..965cab6
--- /dev/null
+++ b/res/layout/sms_storage_low_warning_dialog.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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.
+-->
+<FrameLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:padding="6dp"
+ android:background="@android:color/background_light">
+
+ <ListView android:id="@+id/free_storage_action_list"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:layout_weight="1"
+ android:drawSelectorOnTop="false"
+ android:listSelector="?android:attr/selectableItemBackground"
+ android:longClickable="false"/>
+
+</FrameLayout>
diff --git a/res/layout/snack_bar.xml b/res/layout/snack_bar.xml
new file mode 100644
index 0000000..1cdabc3
--- /dev/null
+++ b/res/layout/snack_bar.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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:id="@+id/snackbarContainer"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal">
+
+ <!--
+ First child is also a LinearLayout to preserve it's styles from getting
+ overridden by the LayoutParams set by the WindowManager.
+ Also, it is the view being animated within the root view.
+ -->
+
+ <LinearLayout
+ android:id="@+id/snack_bar"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal"
+ android:background="#323232" >
+
+ <FrameLayout
+ android:id="@+id/snack_bar_message_wrapper"
+ style="@style/SnackBarMessageWrapper"
+ android:layout_marginTop="@dimen/snack_bar_top_bottom_margin"
+ android:layout_marginBottom="@dimen/snack_bar_top_bottom_margin"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1" >
+ <TextView
+ android:id="@+id/snack_bar_message"
+ style="@style/SnackBarText"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content" />
+ </FrameLayout>
+
+ <TextView
+ android:id="@+id/snack_bar_action"
+ style="@style/SnackBarText"
+ android:paddingLeft="@dimen/snack_bar_left_right_margin"
+ android:paddingRight="@dimen/snack_bar_left_right_margin"
+ android:layout_width="wrap_content"
+ android:layout_height="match_parent"
+ android:gravity="center_vertical"
+ android:textColor="#EEFF41"
+ android:textAllCaps="true" />
+ </LinearLayout>
+
+</LinearLayout> \ No newline at end of file
diff --git a/res/layout/test_activity.xml b/res/layout/test_activity.xml
new file mode 100644
index 0000000..a34b17a
--- /dev/null
+++ b/res/layout/test_activity.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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.
+-->
+<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/test_container"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ >
+
+ <FrameLayout
+ android:id="@+id/test_content"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"/>
+
+</FrameLayout>
diff --git a/res/layout/vcard_detail_activity.xml b/res/layout/vcard_detail_activity.xml
new file mode 100644
index 0000000..aa4c3b9
--- /dev/null
+++ b/res/layout/vcard_detail_activity.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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.
+-->
+<fragment
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ class="com.android.messaging.ui.VCardDetailFragment"
+ android:id="@+id/vcard_detail_fragment"
+ android:theme="@style/Theme.AppCompat.Light.DarkActionBar"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent" /> \ No newline at end of file
diff --git a/res/layout/vcard_detail_fragment.xml b/res/layout/vcard_detail_fragment.xml
new file mode 100644
index 0000000..8689df0
--- /dev/null
+++ b/res/layout/vcard_detail_fragment.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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.
+-->
+<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/list_layout_parent"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent">
+
+ <ExpandableListView
+ android:id="@+id/list"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:drawSelectorOnTop="false" />
+
+</FrameLayout> \ No newline at end of file
diff --git a/res/layout/video_thumbnail_view.xml b/res/layout/video_thumbnail_view.xml
new file mode 100644
index 0000000..7c009cb
--- /dev/null
+++ b/res/layout/video_thumbnail_view.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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.
+-->
+
+<merge xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent">
+
+ <com.android.messaging.ui.AsyncImageView
+ android:id="@+id/video_thumbnail_image"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ app:cornerRadius="@dimen/attachment_rounded_corner_radius" />
+
+ <ImageButton
+ android:id="@+id/video_thumbnail_play_button"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center"
+ android:background="@drawable/transparent_button_background"
+ android:src="@drawable/ic_video_play_light"
+ android:contentDescription="@string/video_thumbnail_view_play_button_content_description" />
+
+</merge> \ No newline at end of file
diff --git a/res/layout/viewgroup_vertical_explode_animation_popup.xml b/res/layout/viewgroup_vertical_explode_animation_popup.xml
new file mode 100644
index 0000000..8a8aa60
--- /dev/null
+++ b/res/layout/viewgroup_vertical_explode_animation_popup.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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"
+ class="com.android.messaging.ui.animation.ViewGroupItemVerticalExplodeAnimation$VerticalExplodePopupRootView"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:background="#55000000">
+
+ <ImageView
+ android:id="@+id/explode_view"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:importantForAccessibility="no" />
+
+</view>
diff --git a/res/layout/widget_conversation.xml b/res/layout/widget_conversation.xml
new file mode 100644
index 0000000..a9cda98
--- /dev/null
+++ b/res/layout/widget_conversation.xml
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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="match_parent"
+ android:padding="@dimen/widget_margin"
+ android:background="@android:color/transparent" >
+ <LinearLayout
+ android:id="@+id/widget_header"
+ android:layout_width="match_parent"
+ android:layout_height="48dp"
+ android:orientation="horizontal"
+ android:paddingLeft="10dip"
+ android:paddingRight="10dip"
+ android:layout_alignParentTop="true">
+ <TextView
+ android:id="@+id/widget_label"
+ style="@style/WidgetConversationTitle"
+ android:layout_height="wrap_content"
+ android:layout_width="0dip"
+ android:layout_weight = "1"
+ android:layout_gravity="center_vertical"
+ android:freezesText="true" />
+ <ImageView
+ android:id="@+id/launcher_icon"
+ android:src="@drawable/ic_launcher"
+ android:layout_height="wrap_content"
+ android:layout_width="0dip"
+ android:layout_weight = "1"
+ android:scaleType="fitStart"
+ android:paddingTop="12dip"
+ android:paddingBottom="12dip"
+ android:visibility="gone"
+ android:importantForAccessibility="no" />
+ <ImageButton
+ android:id="@+id/widget_goto_conversation_list"
+ style="@style/WidgetHeaderImage"
+ android:layout_width="@dimen/widget_header_new_conv_button_width"
+ android:layout_height="match_parent"
+ android:src="@drawable/ic_widget_list"
+ android:background="?android:attr/selectableItemBackground"
+ android:contentDescription="@string/widget_conversation_list_content_description"
+ android:layout_gravity="center_vertical" />
+ </LinearLayout>
+ <ListView
+ android:id="@+id/message_list"
+ android:layout_below="@+id/top_line"
+ android:layout_above="@+id/bottom_line"
+ android:layout_marginTop="-2dp"
+ android:layout_width="match_parent"
+ android:layout_height="0dip"
+ android:layout_weight="1"
+ android:drawSelectorOnTop="true"
+ android:transcriptMode="alwaysScroll"
+ android:stackFromBottom="true"
+ android:overScrollMode="never"
+ android:divider="@null" />
+ <TextView
+ android:id="@+id/widget_configuration"
+ style="@style/WidgetConversationTitle"
+ android:layout_below="@+id/top_line"
+ android:layout_above="@+id/bottom_line"
+ android:layout_width="match_parent"
+ android:layout_height="0dip"
+ android:layout_weight="1"
+ android:orientation="horizontal"
+ android:gravity="center_vertical"
+ android:visibility="gone"
+ android:singleLine="false"
+ android:paddingRight="20dp"
+ android:paddingLeft="20dp"
+ android:paddingBottom="20dp"
+ android:text="@string/tap_to_configure" />
+ <ImageView
+ android:id="@id/top_line"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:background="@drawable/widget_hr"
+ android:importantForAccessibility="no"
+ android:contentDescription="@null"
+ android:layout_marginTop="-2dp"
+ android:layout_below="@id/widget_header"
+ />
+ <ImageView
+ android:id="@id/bottom_line"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:background="@drawable/widget_hr"
+ android:importantForAccessibility="no"
+ android:contentDescription="@null"
+ android:layout_marginTop="-24dp"
+ android:layout_alignParentBottom="true"
+ />
+</RelativeLayout>
diff --git a/res/layout/widget_conversation_list.xml b/res/layout/widget_conversation_list.xml
new file mode 100644
index 0000000..822fe55
--- /dev/null
+++ b/res/layout/widget_conversation_list.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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="match_parent"
+ android:layout_height="match_parent"
+ android:padding="@dimen/widget_margin"
+ android:orientation="vertical">
+ <LinearLayout
+ android:id="@+id/widget_header"
+ android:layout_width="match_parent"
+ android:layout_height="@dimen/widget_header_height"
+ android:orientation="horizontal"
+ android:paddingLeft="8dip"
+ android:background="@drawable/widget_top_background"
+ android:gravity="center_vertical">
+ <TextView
+ android:id="@+id/widget_label"
+ style="@style/WidgetTitle"
+ android:layout_height="wrap_content"
+ android:layout_width="0dip"
+ android:layout_weight = "1"
+ android:contentDescription="@string/widget_title_content_description"
+ android:freezesText="true" />
+ <ImageButton
+ android:id="@+id/widget_compose"
+ style="@style/WidgetHeaderImage"
+ android:layout_width="@dimen/widget_header_new_conv_button_width"
+ android:layout_height="match_parent"
+ android:src="@drawable/ic_add_white"
+ android:background="?android:attr/selectableItemBackground"
+ android:contentDescription="@string/widget_new_conversation_content_description"
+ android:paddingRight="8dip"
+ android:paddingBottom="4dip" />
+ </LinearLayout>
+ <ImageView
+ android:layout_width="match_parent"
+ android:layout_height="1dp"
+ android:background="#aaaaaa"
+ android:importantForAccessibility="no"
+ android:contentDescription="@null" />
+ <ListView
+ android:id="@+id/conversation_list"
+ android:layout_width="match_parent"
+ android:layout_height="0dip"
+ android:layout_weight="1"
+ android:cacheColorHint="#00000000"
+ android:divider="@android:drawable/divider_horizontal_bright"
+ android:background="@drawable/widget_bottom_background" />
+</LinearLayout>
diff --git a/res/layout/widget_conversation_list_item.xml b/res/layout/widget_conversation_list_item.xml
new file mode 100644
index 0000000..e0115a2
--- /dev/null
+++ b/res/layout/widget_conversation_list_item.xml
@@ -0,0 +1,144 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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:id="@+id/widget_conversation_list_item"
+ android:layout_width="match_parent"
+ style="@style/WidgetConversationListItemStyle"
+ android:paddingLeft="8dip"
+ android:paddingRight="8dip" >
+
+ <FrameLayout
+ android:id="@+id/avatarFrame"
+ android:layout_centerVertical="true"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content">
+ <ImageView
+ android:id="@+id/avatarView"
+ style="@style/WidgetConversationListItemAvatar"
+ android:layout_width="@dimen/contact_icon_view_normal_size"
+ android:layout_height="@dimen/contact_icon_view_normal_size"
+ android:layout_centerVertical="true"
+ android:scaleType="fitXY"
+ android:importantForAccessibility="no"
+ android:contentDescription="@null" />
+ <ImageView
+ android:id="@+id/conversation_failed_status_icon"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ style="@style/WidgetConversationItemFailed"
+ android:src="@drawable/ic_failed_status_red"
+ android:visibility="gone"
+ android:importantForAccessibility="no"
+ android:contentDescription="@null"/>
+ </FrameLayout>
+
+ <LinearLayout
+ android:layout_centerVertical="true"
+ android:orientation="vertical"
+ style="@style/WidgetConversationListItemBody"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content" >
+
+ <RelativeLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content" >
+
+ <LinearLayout
+ android:orientation="horizontal"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="6dip"
+ android:layout_alignParentTop="true"
+ android:gravity="center_vertical"
+ android:background="@android:color/transparent">
+ <ImageView
+ android:id="@+id/conversation_notification_bell"
+ style="@style/ConversationListNotificationBellPaddingStyle"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:src="@drawable/ic_notifications_off_small_light"
+ android:visibility="gone"
+ android:importantForAccessibility="no"
+ android:contentDescription="@null"
+ android:layout_gravity="center_vertical"
+ android:background="@android:color/transparent" />
+
+ <TextView android:id="@+id/from"
+ style="@style/WidgetConversationListItemFrom"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:textAppearance="?android:attr/textAppearanceMediumInverse"
+ android:singleLine="true"
+ android:textSize="18sp"
+ android:textColor="@color/widget_text_color"
+ android:ellipsize="marquee" />
+
+ <TextView android:id="@+id/date"
+ style="@style/WidgetConversationListItemDate"
+ android:paddingTop="4dp"
+ android:textSize="12sp"
+ android:layout_height="wrap_content"
+ android:layout_width="wrap_content"
+ android:textAppearance="?android:attr/textAppearanceSmallInverse"
+ android:singleLine="true"
+ android:textColor="@color/widget_text_color" />
+ </LinearLayout>
+ </RelativeLayout>
+
+ <TextView android:id="@+id/snippet"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textAppearance="?android:attr/textAppearanceSmallInverse"
+ android:maxLines="2"
+ android:textSize="13sp"
+ android:layout_marginBottom="5dip"
+ android:layout_alignParentBottom="true"
+ android:textColor="@color/widget_text_color"
+ android:ellipsize="end" />
+
+ <LinearLayout android:id="@+id/errorBlock"
+ android:orientation="vertical"
+ android:layout_alignParentBottom="true"
+ android:visibility="gone"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content" >
+
+ <TextView android:id="@+id/errorSnippet"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textAppearance="?android:attr/textAppearanceSmallInverse"
+ android:maxLines="1"
+ android:textSize="13sp"
+ android:textColor="@color/widget_text_color"
+ android:ellipsize="end" />
+
+ <TextView android:id="@+id/errorText"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textAppearance="?android:attr/textAppearanceSmallInverse"
+ android:maxLines="2"
+ android:textSize="13sp"
+ android:layout_marginBottom="5dip"
+ android:textColor="@color/conversation_list_error"
+ android:ellipsize="end" />
+
+ </LinearLayout>
+ </LinearLayout>
+</RelativeLayout>
diff --git a/res/layout/widget_loading.xml b/res/layout/widget_loading.xml
new file mode 100644
index 0000000..8282b5d
--- /dev/null
+++ b/res/layout/widget_loading.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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.
+-->
+
+<FrameLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/widget_loading"
+ android:layout_width="match_parent"
+ android:layout_height="64sp" >
+ <TextView
+ android:id="@+id/loading_text"
+ style="@style/WidgetLoading"
+ android:layout_height="match_parent"
+ android:layout_width="match_parent"
+ android:gravity="center"
+ android:textColor="@android:color/black"
+ android:textSize="12sp" />
+</FrameLayout> \ No newline at end of file
diff --git a/res/layout/widget_message_item_incoming.xml b/res/layout/widget_message_item_incoming.xml
new file mode 100644
index 0000000..3a1bc00
--- /dev/null
+++ b/res/layout/widget_message_item_incoming.xml
@@ -0,0 +1,119 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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:id="@+id/widget_message_item_incoming"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:paddingBottom="8dp"
+ android:paddingLeft="8dip"
+ android:paddingRight="8dip" >
+
+ <FrameLayout
+ android:id="@+id/avatarFrame"
+ android:layout_gravity="top"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content">
+ <ImageView
+ android:id="@+id/avatarShadow"
+ style="@style/WidgetConversationItemIncomingAvatarShadow"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_centerVertical="true"
+ android:src="@drawable/ic_widget_avatar_shadow"
+ android:layout_marginTop="-4dp"
+ android:importantForAccessibility="no"
+ android:contentDescription="@null" />
+ <ImageView
+ android:id="@+id/avatarView"
+ style="@style/WidgetConversationItemAvatarIncoming"
+ android:layout_width="@dimen/contact_icon_view_normal_size"
+ android:layout_height="@dimen/contact_icon_view_normal_size"
+ android:layout_centerVertical="true"
+ android:scaleType="fitXY"
+ android:importantForAccessibility="no"
+ android:contentDescription="@null" />
+ <ImageView
+ android:id="@+id/conversation_failed_status_icon"
+ style="@style/WidgetConversationItemFailed"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:src="@drawable/ic_failed_status_red"
+ android:visibility="gone"
+ android:importantForAccessibility="no"
+ android:contentDescription="@null"/>
+ </FrameLayout>
+
+ <LinearLayout
+ android:layout_gravity="top"
+ android:orientation="vertical"
+ style="@style/WidgetConversationItemBodyIncoming"
+ android:background="@drawable/widget_msg_bubble_incoming"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content" >
+
+ <TextView android:id="@+id/message"
+ style="@style/WidgetConversationItemWidget"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textAppearance="?android:attr/textAppearanceSmallInverse"
+ android:textSize="16sp"
+ android:paddingTop="6dp"
+ android:paddingLeft="6dp"
+ android:paddingRight="6dp"
+ android:layout_marginBottom="3dip"
+ android:layout_alignParentBottom="true"
+ android:textColor="@color/widget_incoming_text_color"
+ android:ellipsize="end" />
+
+ <TextView android:id="@+id/date"
+ style="@style/WidgetConversationItemDate"
+ android:paddingLeft="6dp"
+ android:paddingRight="6dp"
+ android:layout_marginBottom="9dip"
+ android:textSize="12sp"
+ android:layout_height="wrap_content"
+ android:layout_width="wrap_content"
+ android:textAppearance="?android:attr/textAppearanceSmallInverse"
+ android:singleLine="true"
+ android:textColor="@color/timestamp_text_incoming" />
+
+ <FrameLayout
+ android:id="@+id/attachmentFrame"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content">
+ <ImageView
+ android:id="@+id/attachment"
+ style="@style/WidgetConversationItemAttachment"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:importantForAccessibility="no"
+ android:adjustViewBounds="true"
+ android:contentDescription="@null"/>
+ <ImageView
+ android:id="@+id/playButton"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center"
+ android:visibility="gone"
+ android:src="@drawable/ic_preview_play"
+ android:importantForAccessibility="no"
+ android:contentDescription="@null"/>
+ </FrameLayout>
+ </LinearLayout>
+</RelativeLayout>
diff --git a/res/layout/widget_message_item_outgoing.xml b/res/layout/widget_message_item_outgoing.xml
new file mode 100644
index 0000000..472b5a2
--- /dev/null
+++ b/res/layout/widget_message_item_outgoing.xml
@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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:id="@+id/widget_message_item_outgoing"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:paddingBottom="8dp"
+ android:paddingLeft="8dip"
+ android:paddingRight="8dip" >
+
+ <FrameLayout
+ android:id="@+id/avatarFrame"
+ android:layout_gravity="top"
+ style="@style/WidgetConversationItemAvatarOutgoing"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content">
+ <ImageView
+ android:id="@+id/avatarShadow"
+ style="@style/WidgetConversationItemOutgoingAvatarShadow"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_centerVertical="true"
+ android:src="@drawable/ic_widget_avatar_shadow"
+ android:layout_marginTop="-4dp"
+ android:importantForAccessibility="no"
+ android:contentDescription="@null" />
+ <ImageView
+ android:id="@+id/avatarView"
+ android:layout_width="@dimen/contact_icon_view_normal_size"
+ android:layout_height="@dimen/contact_icon_view_normal_size"
+ android:layout_centerVertical="true"
+ android:scaleType="fitXY"
+ android:importantForAccessibility="no"
+ android:contentDescription="@null" />
+ <ImageView
+ android:id="@+id/conversation_failed_status_icon"
+ style="@style/WidgetConversationItemFailed"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:src="@drawable/ic_failed_status_red"
+ android:visibility="gone"
+ android:importantForAccessibility="no"
+ android:contentDescription="@null"/>
+ </FrameLayout>
+
+ <LinearLayout
+ android:layout_gravity="top"
+ android:orientation="vertical"
+ style="@style/WidgetConversationItemBodyOutgoing"
+ android:background="@drawable/widget_msg_bubble_outgoing"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content" >
+
+ <TextView android:id="@+id/message"
+ style="@style/WidgetConversationItemWidget"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textAppearance="?android:attr/textAppearanceSmallInverse"
+ android:textSize="16sp"
+ android:paddingTop="6dp"
+ android:paddingLeft="6dp"
+ android:paddingRight="6dp"
+ android:layout_marginBottom="3dip"
+ android:layout_alignParentBottom="true"
+ android:textColor="@color/widget_outgoing_text_color"
+ android:ellipsize="end" />
+
+ <TextView android:id="@+id/date"
+ style="@style/WidgetConversationItemDate"
+ android:paddingLeft="6dp"
+ android:paddingRight="6dp"
+ android:layout_marginBottom="9dip"
+ android:textSize="12sp"
+ android:layout_height="wrap_content"
+ android:layout_width="wrap_content"
+ android:textAppearance="?android:attr/textAppearanceSmallInverse"
+ android:singleLine="true"
+ android:textColor="@color/timestamp_text_outgoing" />
+
+ <FrameLayout
+ android:id="@+id/attachmentFrame"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content">
+ <ImageView
+ android:id="@+id/attachment"
+ style="@style/WidgetConversationItemAttachment"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:importantForAccessibility="no"
+ android:adjustViewBounds="true"
+ android:contentDescription="@null"/>
+ <ImageView
+ android:id="@+id/playButton"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center"
+ android:visibility="gone"
+ android:src="@drawable/ic_preview_play"
+ android:importantForAccessibility="no"
+ android:contentDescription="@null"/>
+ </FrameLayout>
+
+ </LinearLayout>
+</RelativeLayout>
diff --git a/res/layout/widget_missing_permission.xml b/res/layout/widget_missing_permission.xml
new file mode 100644
index 0000000..712ad02
--- /dev/null
+++ b/res/layout/widget_missing_permission.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 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.
+-->
+
+<TextView
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_height="match_parent"
+ android:layout_width="match_parent"
+ android:text="@string/required_permissions_promo"
+ android:gravity="center"
+ style="@android:style/TextAppearance.Medium"
+ android:background="@color/action_bar_background_color"
+ android:freezesText="true" />