| <?xml version="1.0" encoding="utf-8"?> |
| <!-- Copyright (C) 2020 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. |
| --> |
| <androidx.constraintlayout.widget.ConstraintLayout |
| xmlns:android="http://schemas.android.com/apk/res/android" |
| xmlns:app="http://schemas.android.com/apk/res-auto" |
| xmlns:tools="http://schemas.android.com/tools" |
| android:layout_width="match_parent" |
| android:layout_height="@dimen/message_history_item_height" |
| tools:background="@color/background_image_30p_black"> |
| |
| <ImageView |
| android:id="@+id/unread_indicator" |
| android:layout_width="@dimen/unread_icon_size" |
| android:layout_height="@dimen/unread_icon_size" |
| android:layout_marginEnd="@dimen/unread_icon_marginEnd" |
| android:contentDescription="@string/cd_unread" |
| android:scaleType="centerCrop" |
| android:src="@color/unread_color" |
| app:layout_constraintBottom_toBottomOf="@id/icon" |
| app:layout_constraintEnd_toStartOf="@id/icon" |
| app:layout_constraintTop_toTopOf="@id/icon" /> |
| |
| <ImageView |
| android:id="@+id/icon" |
| android:layout_width="@dimen/avatar_icon_size" |
| android:layout_height="@dimen/avatar_icon_size" |
| android:layout_marginStart="@dimen/message_history_item_padding" |
| android:contentDescription="@string/cd_conversation_icon" |
| android:scaleType="centerCrop" |
| app:layout_constraintBottom_toBottomOf="parent" |
| app:layout_constraintStart_toStartOf="parent" |
| app:layout_constraintTop_toTopOf="parent" |
| tools:src="@color/car_red_500a" /> |
| |
| <ImageView |
| android:id="@+id/reply_action_button" |
| android:layout_width="0dp" |
| android:layout_height="match_parent" |
| android:background="?android:attr/selectableItemBackground" |
| android:contentDescription="@string/cd_reply_action_button" |
| android:scaleType="center" |
| android:src="@drawable/ic_reply" |
| app:layout_constraintBottom_toBottomOf="parent" |
| app:layout_constraintEnd_toEndOf="parent" |
| android:visibility="visible" |
| app:layout_constraintTop_toTopOf="parent" /> |
| |
| <ImageView |
| android:id="@+id/play_action_button" |
| android:layout_width="100dp" |
| android:layout_height="match_parent" |
| android:background="?android:attr/selectableItemBackground" |
| android:contentDescription="@string/cd_play_action_button" |
| android:scaleX=".4" |
| android:scaleY=".4" |
| android:src="@drawable/ic_play" |
| app:layout_constraintBottom_toBottomOf="parent" |
| app:layout_constraintEnd_toEndOf="parent" |
| tools:visibility="gone" |
| app:layout_constraintTop_toTopOf="parent" /> |
| |
| <ImageView |
| android:id="@+id/mute_action_button" |
| android:layout_width="0dp" |
| android:layout_height="match_parent" |
| android:visibility="gone" |
| android:background="?android:attr/selectableItemBackground" |
| android:contentDescription="@string/cd_mute_button" |
| android:scaleType="center" |
| android:src="@drawable/car_ui_icon_toggle_mute" |
| app:layout_constraintBottom_toBottomOf="parent" |
| app:layout_constraintEnd_toEndOf="parent" |
| app:layout_constraintStart_toEndOf="@id/guideline_end" |
| app:layout_constraintTop_toTopOf="parent" /> |
| |
| <TextView |
| android:id="@+id/title" |
| android:layout_width="0dp" |
| android:layout_height="wrap_content" |
| android:layout_marginEnd="@dimen/message_history_text_margin_end" |
| android:singleLine="true" |
| tools:text="Ashley Bae" |
| app:layout_constraintVertical_chainStyle="packed" |
| android:theme="@style/Theme.Messaging.BidiText" |
| android:ellipsize="end" |
| app:layout_constraintBottom_toTopOf="@+id/preview" |
| app:layout_constraintEnd_toEndOf="@id/guideline_end" |
| app:layout_constraintStart_toStartOf="@id/guideline_begin" |
| app:layout_constraintTop_toTopOf="parent" |
| app:layout_constraintBottom_toBottomOf="parent" /> |
| |
| <ImageView |
| android:id="@+id/last_action_icon_view" |
| android:layout_width="@dimen/subtitle_icon_width" |
| android:layout_height="0dp" |
| android:contentDescription="@string/cd_icon_indicating_the_last_action" |
| android:scaleType="centerInside" |
| android:src="@drawable/car_ui_icon_reply" |
| android:visibility="gone" |
| app:layout_constraintHorizontal_chainStyle="packed" |
| android:layout_marginEnd="@dimen/message_history_icons_margin" |
| app:layout_constraintBottom_toBottomOf="@id/preview" |
| app:layout_constraintStart_toStartOf="@id/title" |
| app:layout_constraintTop_toBottomOf="@id/title" |
| app:layout_constraintEnd_toStartOf="@id/preview" |
| app:layout_constraintTop_toTopOf="@id/preview" /> |
| |
| <TextView |
| android:id="@+id/preview" |
| android:layout_width="wrap_content" |
| android:layout_height="wrap_content" |
| android:singleLine="true" |
| app:layout_constraintVertical_bias="0.0" |
| app:layout_constraintBottom_toBottomOf="parent" |
| app:layout_constraintStart_toEndOf="@id/last_action_icon_view" |
| app:layout_constraintTop_toBottomOf="@id/title" |
| app:layout_constraintEnd_toStartOf="@id/preview_dot" |
| tools:visibility="visible" |
| android:ellipsize="end" |
| android:maxEms="19" |
| tools:text="Let this be the preview. Lots of preview with |
| a whole lot of various texts, one that is quite long in every way. |
| To verify that it still fits in the end" /> |
| |
| <TextView |
| android:id="@+id/preview_dot" |
| android:layout_width="wrap_content" |
| android:layout_height="wrap_content" |
| android:layout_marginStart="@dimen/message_history_icons_margin" |
| android:layout_marginEnd="@dimen/message_history_icons_margin" |
| app:layout_goneMarginStart="0dp" |
| app:layout_goneMarginEnd="0dp" |
| android:singleLine="true" |
| android:text="@string/dot" |
| app:layout_constraintEnd_toStartOf="@id/text_metadata" |
| app:layout_constraintBottom_toBottomOf="@id/preview" |
| app:layout_constraintStart_toEndOf="@id/preview" |
| app:layout_constraintTop_toTopOf="@id/preview" |
| tools:visibility="gone" /> |
| |
| <TextView |
| android:id="@+id/text_metadata" |
| android:layout_width="wrap_content" |
| android:layout_height="wrap_content" |
| android:singleLine="true" |
| android:maxLength="20" |
| app:layout_constraintStart_toEndOf="@id/preview_dot" |
| app:layout_constraintTop_toBottomOf="@id/title" |
| app:layout_constraintEnd_toStartOf="@id/text_metadata_dot" |
| tools:visibility="visible" |
| tools:text="2 more messages" /> |
| |
| <TextView |
| android:id="@+id/text_metadata_dot" |
| android:layout_width="wrap_content" |
| android:layout_height="wrap_content" |
| android:singleLine="true" |
| android:text="@string/dot" |
| android:visibility="visible" |
| android:layout_marginStart="6dp" |
| tools:visibility="visible" |
| app:layout_constraintBottom_toBottomOf="@id/text_metadata" |
| app:layout_constraintStart_toEndOf="@id/text_metadata" |
| app:layout_constraintTop_toTopOf="@id/text_metadata" |
| app:layout_constraintEnd_toStartOf="@id/date_time_view" /> |
| |
| <com.android.car.messenger.core.ui.shared.DateTimeView |
| android:id="@+id/date_time_view" |
| android:layout_width="0dp" |
| android:layout_height="wrap_content" |
| android:layout_marginStart="6dp" |
| android:singleLine="true" |
| app:layout_constraintBottom_toBottomOf="@id/text_metadata" |
| app:layout_constraintEnd_toEndOf="@id/guideline_end" |
| app:layout_constraintStart_toEndOf="@id/text_metadata_dot" |
| app:layout_constraintTop_toBottomOf="@id/title" |
| tools:text="6 min" /> |
| |
| <View |
| android:id="@+id/play_action_touch_view" |
| android:layout_width="0dp" |
| android:layout_height="match_parent" |
| android:background="?android:attr/selectableItemBackground" |
| app:layout_constraintBottom_toBottomOf="parent" |
| app:layout_constraintEnd_toStartOf="@id/guideline_end" |
| app:layout_constraintHorizontal_bias="0.0" |
| app:layout_constraintStart_toStartOf="parent" |
| app:layout_constraintTop_toTopOf="parent" |
| app:layout_constraintVertical_bias="0.0" /> |
| |
| <View |
| android:id="@+id/divider" |
| android:layout_width="@dimen/vertical_divider_width" |
| android:layout_height="match_parent" |
| android:layout_marginBottom="@dimen/vertical_divider_inset" |
| android:layout_marginTop="@dimen/vertical_divider_inset" |
| android:background="@color/divider_color" |
| app:layout_constraintStart_toStartOf="@id/guideline_end" /> |
| |
| <androidx.constraintlayout.widget.Guideline |
| android:id="@+id/guideline_begin" |
| android:layout_width="wrap_content" |
| android:layout_height="wrap_content" |
| android:orientation="vertical" |
| app:layout_constraintGuide_begin="@dimen/message_history_guideline_begin" /> |
| |
| <androidx.constraintlayout.widget.Guideline |
| android:id="@+id/guideline_end" |
| android:layout_width="wrap_content" |
| android:layout_height="wrap_content" |
| android:orientation="vertical" |
| app:layout_constraintGuide_end="100dp" /> |
| </androidx.constraintlayout.widget.ConstraintLayout> |