16a60dca84
This version is hybrid of the old design and what Andy's suggested. - MessageViewFragment is responsible to show a single message at a time. - Call MVF.openMessage() to tell it to open another message. No need to re-create a new MVF to do this. - MessageView manages the message list, and handles "move-to-newer/older" buttons. Reason for not re-creating a fragment when opening another message is: - Re-using the same fragment doesn't make it as complecated/ugly as I was initially afraid. It's basically cancelling all running tasks, re-initializee some views, and load a message. - We don't have to run MVF.onCreate() over and over again when moving through messages. We may change the strategy later, but I think it's suffice for now. (Changing this might affect how the back key works, so let's revisit it when the fragment manager supports back.) Basically this CL is all about internal changes. No UI should have changed except for: - Moved "Move to newer/older" buttons to the bottom. Also fixes: Bug: 2849129 Change-Id: I00c05069231afded9d98d3d52dd9a7925ebdee9d
205 lines
9.2 KiB
XML
205 lines
9.2 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!-- Copyright (C) 2008 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.
|
|
-->
|
|
|
|
<!--
|
|
TODO Rename to message_view_fragment.xml
|
|
Can't do it now because git wouldn't detect renaming.
|
|
-->
|
|
|
|
<ScrollView
|
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
|
android:id="@+id/scrollview"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="0dip"
|
|
android:scrollbarStyle="outsideOverlay"
|
|
android:fadingEdge="none"
|
|
android:fillViewport="true"
|
|
>
|
|
<LinearLayout
|
|
android:orientation="vertical"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="match_parent"
|
|
>
|
|
<!-- header area -->
|
|
<LinearLayout
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:orientation="vertical"
|
|
android:background="@drawable/header_card"
|
|
android:paddingTop="3dip"
|
|
android:paddingBottom="3dip"
|
|
android:paddingLeft="3dip"
|
|
android:paddingRight="6dip">
|
|
<LinearLayout
|
|
android:id="@+id/from_container"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:baselineAligned="true" >
|
|
<ImageView
|
|
android:id="@+id/presence"
|
|
android:src="@drawable/presence_inactive"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:layout_marginRight="5dip"
|
|
android:layout_gravity="center_vertical"
|
|
android:background="@drawable/quickcontact_presence_bg" />
|
|
<TextView
|
|
android:id="@+id/from"
|
|
android:textAppearance="?android:attr/textAppearanceMedium"
|
|
android:textStyle="bold"
|
|
android:textColor="?android:attr/textColorPrimaryInverse"
|
|
android:layout_width="0dip"
|
|
android:layout_weight="1.0"
|
|
android:layout_height="wrap_content"
|
|
android:layout_alignParentLeft="true"
|
|
android:singleLine="true"
|
|
android:ellipsize="end"
|
|
android:paddingRight="6dip" />
|
|
<ImageView
|
|
android:id="@+id/attachment"
|
|
android:src="@drawable/ic_email_attachment_small"
|
|
android:layout_width="22dip"
|
|
android:layout_height="22dip"
|
|
android:baselineAlignBottom="true" />
|
|
<TextView
|
|
android:id="@+id/date"
|
|
android:textAppearance="?android:attr/textAppearanceSmall"
|
|
android:textColor="?android:attr/textColorPrimaryInverse"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:layout_marginLeft="4dip"
|
|
android:singleLine="true" />
|
|
</LinearLayout>
|
|
<LinearLayout
|
|
android:id="@+id/to_container"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content" >
|
|
<TextView
|
|
android:textAppearance="?android:attr/textAppearanceSmall"
|
|
android:textColor="?android:attr/textColorSecondaryInverse"
|
|
android:textStyle="bold"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:text="@string/message_view_to_label" />
|
|
<TextView
|
|
android:id="@+id/to"
|
|
android:textAppearance="?android:attr/textAppearanceSmall"
|
|
android:textColor="?android:attr/textColorSecondaryInverse"
|
|
android:layout_width="0dip"
|
|
android:layout_weight="1.0"
|
|
android:layout_height="wrap_content"
|
|
android:layout_marginLeft="4dip"
|
|
android:singleLine="false"
|
|
android:ellipsize="none" />
|
|
<TextView
|
|
android:id="@+id/time"
|
|
android:textAppearance="?android:attr/textAppearanceSmall"
|
|
android:textColor="?android:attr/textColorPrimaryInverse"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:layout_marginLeft="4dip"
|
|
android:singleLine="true" />
|
|
</LinearLayout>
|
|
<LinearLayout
|
|
android:id="@+id/cc_container"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content" >
|
|
<TextView
|
|
android:textAppearance="?android:attr/textAppearanceSmall"
|
|
android:textColor="?android:attr/textColorSecondaryInverse"
|
|
android:textStyle="bold"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:text="@string/message_view_cc_label" />
|
|
<TextView
|
|
android:id="@+id/cc"
|
|
android:textAppearance="?android:attr/textAppearanceSmall"
|
|
android:textColor="?android:attr/textColorSecondaryInverse"
|
|
android:layout_width="0dip"
|
|
android:layout_weight="1.0"
|
|
android:layout_height="wrap_content"
|
|
android:layout_marginLeft="4dip"
|
|
android:singleLine="false"
|
|
android:ellipsize="none" />
|
|
</LinearLayout>
|
|
<LinearLayout
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content" >
|
|
<TextView
|
|
android:id="@+id/subject"
|
|
android:textAppearance="?android:attr/textAppearanceSmall"
|
|
android:textColor="?android:attr/textColorSecondaryInverse"
|
|
android:textStyle="bold"
|
|
android:layout_width="0dip"
|
|
android:layout_weight="1.0"
|
|
android:layout_height="wrap_content"
|
|
android:singleLine="false"
|
|
android:ellipsize="none" />
|
|
<!-- TODO: Move this to wherever it really belongs -->
|
|
<ImageView
|
|
android:id="@+id/favorite"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:layout_alignParentRight="true"
|
|
android:src="@drawable/btn_star_big_buttonless_off" />
|
|
</LinearLayout>
|
|
</LinearLayout>
|
|
<LinearLayout
|
|
android:id="@+id/show_pictures_section"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:background="#ffefefef"
|
|
android:layout_marginTop="6dip"
|
|
android:paddingLeft="6dip"
|
|
android:paddingRight="3dip"
|
|
android:paddingTop="4dip"
|
|
android:paddingBottom="4dip"
|
|
android:baselineAligned="false"
|
|
android:visibility="gone">
|
|
<TextView
|
|
android:textAppearance="?android:attr/textAppearanceSmall"
|
|
android:textColor="?android:attr/textColorSecondaryInverse"
|
|
android:text="@string/message_view_show_pictures_instructions"
|
|
android:layout_gravity="center"
|
|
android:layout_width="0dip"
|
|
android:layout_height="wrap_content"
|
|
android:layout_weight="1.0" />
|
|
<Button
|
|
android:id="@+id/show_pictures"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:text="@string/message_view_show_pictures_action" />
|
|
</LinearLayout>
|
|
<!-- content area -->
|
|
<include layout="@layout/message_view_invitation" />
|
|
<WebView
|
|
android:id="@+id/message_content"
|
|
android:layout_height="wrap_content"
|
|
android:layout_width="match_parent"
|
|
android:background="#ffffff" />
|
|
<!-- attachments area -->
|
|
<LinearLayout
|
|
android:id="@+id/attachments"
|
|
android:orientation="vertical"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:padding="4dip"
|
|
android:background="#ffffff">
|
|
</LinearLayout>
|
|
</LinearLayout>
|
|
</ScrollView>
|
|
|