From b40c8c8c53ceb47617b9760f6c2b55abf4431142 Mon Sep 17 00:00:00 2001 From: str4d Date: Fri, 23 May 2014 01:19:01 +0000 Subject: [PATCH] Use the new flexible email status system --- res/values/strings.xml | 12 ++++++ src/i2p/bote/android/EmailListAdapter.java | 4 +- src/i2p/bote/android/util/BoteHelper.java | 47 ++++++++++++++++++++++ 3 files changed, 61 insertions(+), 2 deletions(-) diff --git a/res/values/strings.xml b/res/values/strings.xml index d7c1581..0a5040c 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -39,6 +39,18 @@ Folder is empty Folder does not exist + Queued + Sending + Sent {0} of {1} + Sent to {0} out of {1} recipients + Email sent + Gateway disabled + No identity matches the sender/from field: {0} + Invalid recipient address: {0} + Error creating email packets: {0} + Error while sending email: {0} + Error saving email metadata: {0} + From: To: Sent: diff --git a/src/i2p/bote/android/EmailListAdapter.java b/src/i2p/bote/android/EmailListAdapter.java index 2022a64..4aa43fd 100644 --- a/src/i2p/bote/android/EmailListAdapter.java +++ b/src/i2p/bote/android/EmailListAdapter.java @@ -8,7 +8,6 @@ import java.util.List; import javax.mail.MessagingException; import javax.mail.Part; -import i2p.bote.Util; import i2p.bote.android.util.BoteHelper; import i2p.bote.email.Email; import i2p.bote.fileencryption.PasswordException; @@ -107,7 +106,8 @@ public class EmailListAdapter extends ArrayAdapter { else if (email.getDeliveryPercentage() > 0) emailStatus.setText(email.getDeliveryPercentage() + "%"); else - emailStatus.setText(BoteHelper.getEmailStatus(email)); + emailStatus.setText(BoteHelper.getEmailStatusText( + getContext(), email, false)); emailStatus.setVisibility(View.VISIBLE); } } catch (MessagingException e) { diff --git a/src/i2p/bote/android/util/BoteHelper.java b/src/i2p/bote/android/util/BoteHelper.java index 3dd44e1..6e9435e 100644 --- a/src/i2p/bote/android/util/BoteHelper.java +++ b/src/i2p/bote/android/util/BoteHelper.java @@ -8,6 +8,7 @@ import javax.mail.Address; import javax.mail.MessagingException; import android.content.Context; +import android.content.res.Resources; import android.graphics.Bitmap; import android.graphics.Bitmap.CompressFormat; import android.graphics.BitmapFactory; @@ -18,6 +19,7 @@ import i2p.bote.email.EmailDestination; import i2p.bote.email.EmailIdentity; import i2p.bote.fileencryption.PasswordException; import i2p.bote.folder.EmailFolder; +import i2p.bote.folder.Outbox.EmailStatus; import i2p.bote.packet.dht.Contact; import i2p.bote.util.GeneralHelper; @@ -151,4 +153,49 @@ public class BoteHelper extends GeneralHelper { // We are not the sender return false; } + + public static String getEmailStatusText(Context ctx, Email email, boolean full) { + Resources res = ctx.getResources(); + EmailStatus emailStatus = getEmailStatus(email); + switch (emailStatus.getStatus()) { + case QUEUED: + return res.getString(R.string.queued); + case SENDING: + return res.getString(R.string.sending); + case SENT_TO: + if (full) + return res.getString(R.string.sent_to, + emailStatus.getParam1(), emailStatus.getParam2()); + else + return res.getString(R.string.sent_to_short, + emailStatus.getParam1(), emailStatus.getParam2()); + case EMAIL_SENT: + return res.getString(R.string.email_sent); + case GATEWAY_DISABLED: + return res.getString(R.string.gateway_disabled); + case NO_IDENTITY_MATCHES: + if (full) + return res.getString(R.string.no_identity_matches, + emailStatus.getParam1()); + case INVALID_RECIPIENT: + if (full) + return res.getString(R.string.invalid_recipient, + emailStatus.getParam1()); + case ERROR_CREATING_PACKETS: + if (full) + return res.getString(R.string.error_creating_packets, + emailStatus.getParam1()); + case ERROR_SENDING: + if (full) + return res.getString(R.string.error_sending, + emailStatus.getParam1()); + case ERROR_SAVING_METADATA: + if (full) + return res.getString(R.string.error_saving_metadata, + emailStatus.getParam1()); + default: + // Short string for errors and unknown status + return res.getString(R.string.error); + } + } }