diff --git a/res/drawable/separator_area_background.xml b/res/drawable/message_view_header_background.xml
similarity index 100%
rename from res/drawable/separator_area_background.xml
rename to res/drawable/message_view_header_background.xml
diff --git a/res/layout/message_view_header.xml b/res/layout/message_view_header.xml
index fe5c486a0..19bd2a52d 100644
--- a/res/layout/message_view_header.xml
+++ b/res/layout/message_view_header.xml
@@ -17,7 +17,7 @@
android:layout_height="wrap_content"
android:stretchColumns="1"
android:shrinkColumns="1"
- android:background="@color/message_view_header_background">
+ android:background="@drawable/message_view_header_background">
@@ -30,6 +30,7 @@
@@ -134,14 +135,56 @@
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -188,57 +231,32 @@
android:textColor="?android:attr/textColorPrimary"
android:textAppearance="?android:attr/textAppearanceSmall"/>
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ android:layout_height="1.5dp"
+ android:background="#59000000"/>
getAdditionalHeaders(final Message message)
@@ -378,4 +403,18 @@ public class MessageHeader extends ScrollView implements OnClickListener {
out.writeInt((this.additionalHeadersVisible) ? 1 : 0);
}
}
+
+ public interface OnLayoutChangedListener {
+ void onLayoutChanged();
+ }
+
+ public void setOnLayoutChangedListener(OnLayoutChangedListener listener) {
+ mOnLayoutChangedListener = listener;
+ }
+
+ private void layoutChanged() {
+ if (mOnLayoutChangedListener != null) {
+ mOnLayoutChangedListener.onLayoutChanged();
+ }
+ }
}
diff --git a/src/com/fsck/k9/view/SingleMessageView.java b/src/com/fsck/k9/view/SingleMessageView.java
index b1e0980e9..a19796d8c 100644
--- a/src/com/fsck/k9/view/SingleMessageView.java
+++ b/src/com/fsck/k9/view/SingleMessageView.java
@@ -33,7 +33,8 @@ import com.fsck.k9.mail.store.LocalStore.LocalMessage;
import java.util.List;
-public class SingleMessageView extends LinearLayout implements OnClickListener {
+public class SingleMessageView extends LinearLayout implements OnClickListener,
+ MessageHeader.OnLayoutChangedListener {
private boolean mScreenReaderEnabled;
private MessageCryptoView mCryptoView;
private MessageWebView mMessageContentView;
@@ -65,6 +66,7 @@ public class SingleMessageView extends LinearLayout implements OnClickListener {
mHeaderPlaceHolder = (LinearLayout) findViewById(R.id.message_view_header_container);
mHeaderContainer = (MessageHeader) findViewById(R.id.header_container);
+ mHeaderContainer.setOnLayoutChangedListener(this);
mAttachmentsContainer = findViewById(R.id.attachments_container);
mInsideAttachmentsContainer = (LinearLayout) findViewById(R.id.inside_attachments_container);
@@ -508,6 +510,12 @@ public class SingleMessageView extends LinearLayout implements OnClickListener {
mSavedState = savedState;
}
+ public void onLayoutChanged() {
+ if (mMessageContentView != null) {
+ mMessageContentView.invalidate();
+ }
+ }
+
static class SavedState extends BaseSavedState {
boolean attachmentViewVisible;
boolean hiddenAttachmentsVisible;