diff --git a/app/src/main/java/i2p/bote/android/ViewEmailFragment.java b/app/src/main/java/i2p/bote/android/ViewEmailFragment.java
index 093405f..99536f6 100644
--- a/app/src/main/java/i2p/bote/android/ViewEmailFragment.java
+++ b/app/src/main/java/i2p/bote/android/ViewEmailFragment.java
@@ -2,6 +2,7 @@ package i2p.bote.android;
import android.content.Intent;
import android.graphics.Bitmap;
+import android.graphics.Typeface;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
@@ -14,6 +15,7 @@ import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TableRow;
import android.widget.TextView;
+import android.widget.Toast;
import java.io.IOException;
import java.security.GeneralSecurityException;
@@ -74,6 +76,7 @@ public class ViewEmailFragment extends Fragment {
}
private void displayEmail(Email email, View v) {
+ View sigInvalid = v.findViewById(R.id.signature_invalid);
TextView subject = (TextView) v.findViewById(R.id.email_subject);
ImageView picture = (ImageView) v.findViewById(R.id.picture);
TextView sender = (TextView) v.findViewById(R.id.email_sender);
@@ -95,13 +98,28 @@ public class ViewEmailFragment extends Fragment {
picture.setImageBitmap(BoteHelper.getIdenticonForAddress(fromAddress, lp.width, lp.height));
}
- sender.setText(BoteHelper.getDisplayAddress(fromAddress));
+ final String senderDisplay = BoteHelper.getDisplayAddress(fromAddress);
+
+ if (!email.isSignatureValid() && !email.isAnonymous()) {
+ sigInvalid.setVisibility(View.VISIBLE);
+ sigInvalid.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ Toast.makeText(getActivity(), getString(R.string.signature_invalid, senderDisplay), Toast.LENGTH_LONG).show();
+ }
+ });
+ }
+
+ sender.setText(senderDisplay);
+ if (email.isAnonymous() && !BoteHelper.isSentEmail(email))
+ sender.setTypeface(Typeface.DEFAULT, Typeface.ITALIC);
Address[] emailRecipients = email.getToAddresses();
if (emailRecipients != null) {
for (Address recipient : emailRecipients) {
TextView tv = new TextView(getActivity());
tv.setText(BoteHelper.getDisplayAddress(recipient.toString()));
+ tv.setTextAppearance(getActivity(), R.style.TextAppearance_AppCompat_Secondary);
recipients.addView(tv);
}
}
diff --git a/app/src/main/res/layout/fragment_view_email.xml b/app/src/main/res/layout/fragment_view_email.xml
index f239e72..2dca38d 100644
--- a/app/src/main/res/layout/fragment_view_email.xml
+++ b/app/src/main/res/layout/fragment_view_email.xml
@@ -1,126 +1,162 @@
-
+ android:layout_height="match_parent">
+ android:orientation="vertical">
+ android:orientation="vertical"
+ android:paddingBottom="@dimen/activity_vertical_margin">
-
+ android:orientation="horizontal"
+ android:padding="@dimen/listitem_horizontal_margin">
+
+
+
+
+
+ android:src="@drawable/ic_contact_picture"/>
+
+
+ android:layout_alignParentLeft="true"
+ android:layout_alignParentStart="true"
+ android:layout_below="@+id/email_sender"
+ android:layout_marginEnd="@dimen/listitem_horizontal_margin"
+ android:layout_marginLeft="@dimen/listitem_text_left_margin"
+ android:layout_marginRight="@dimen/listitem_horizontal_margin"
+ android:layout_marginStart="@dimen/listitem_text_left_margin">
+ android:layout_height="wrap_content">
-
-
-
-
-
-
-
+ android:layout_marginEnd="4dp"
+ android:layout_marginRight="4dp"
+ android:text="@string/email_to"
+ android:textAppearance="@style/TextAppearance.AppCompat.Secondary"/>
+ android:orientation="vertical">
+ android:layout_height="wrap_content">
+ android:layout_marginEnd="4dp"
+ android:layout_marginRight="4dp"
+ android:text="@string/label_sent"
+ android:textAppearance="@style/TextAppearance.AppCompat.Secondary"/>
+ android:layout_height="wrap_content"
+ android:textAppearance="@style/TextAppearance.AppCompat.Secondary"/>
+ android:layout_height="wrap_content">
+ android:layout_marginEnd="4dp"
+ android:layout_marginRight="4dp"
+ android:text="@string/email_received"
+ android:textAppearance="@style/TextAppearance.AppCompat.Secondary"/>
+ android:layout_height="wrap_content"
+ android:textAppearance="@style/TextAppearance.AppCompat.Secondary"/>
+ android:visibility="gone">
+ android:layout_marginEnd="4dp"
+ android:layout_marginRight="4dp"
+ android:text="@string/email_status"
+ android:textAppearance="@style/TextAppearance.AppCompat.Secondary"/>
+ android:layout_height="wrap_content"
+ android:textAppearance="@style/TextAppearance.AppCompat.Secondary"/>
@@ -129,10 +165,10 @@
android:id="@+id/email_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
+ android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
- android:paddingTop="@dimen/activity_vertical_margin"
- android:paddingBottom="@dimen/activity_vertical_margin" />
+ android:paddingTop="@dimen/activity_vertical_margin"/>
diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml
index 0bc3e5f..1d7ba81 100644
--- a/app/src/main/res/values/dimens.xml
+++ b/app/src/main/res/values/dimens.xml
@@ -6,6 +6,7 @@
16dp
48dp
+ 18sp
16sp
14sp
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 4515b0a..1167cf8 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -98,6 +98,7 @@
Error while sending email: %s
Error saving email metadata: %s
Email not found
+ This email does not have a valid signature. It was probably not sent by %s.
From:
To:
Sent:
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index 10f305a..acca1b9 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -25,6 +25,10 @@
- @dimen/text_size_primary
+
+