diff --git a/res/values/strings.xml b/res/values/strings.xml
index 783b4ac..eeb0fd8 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -3,7 +3,6 @@
I2P-Bote
Settings
- Hello world!
Open nav
Close nav
@@ -12,4 +11,6 @@
Outbox
Sent
Trash
+
+ Folder is empty
diff --git a/src/i2p/bote/BoteHelper.java b/src/i2p/bote/BoteHelper.java
index d461581..018cbbf 100644
--- a/src/i2p/bote/BoteHelper.java
+++ b/src/i2p/bote/BoteHelper.java
@@ -1,5 +1,6 @@
package i2p.bote;
+import java.security.GeneralSecurityException;
import java.util.List;
import android.content.Context;
@@ -22,7 +23,7 @@ public class BoteHelper {
public static EmailFolder getMailFolder(String folderName) {
List folders = I2PBote.getInstance().getEmailFolders();
for (EmailFolder folder : folders) {
- if (folder.getName() == folderName)
+ if (folder.getName().equals(folderName))
return folder;
}
return null;
@@ -37,17 +38,31 @@ public class BoteHelper {
* @return The name of the folder.
*/
public static String getFolderDisplayName(Context ctx, EmailFolder folder) {
+ String displayName = "";
+
String name = folder.getName();
if ("inbox".equals(name))
- return ctx.getResources().getString(R.string.folder_inbox);
+ displayName = ctx.getResources().getString(R.string.folder_inbox);
else if ("outbox".equals(name))
- return ctx.getResources().getString(R.string.folder_outbox);
+ displayName = ctx.getResources().getString(R.string.folder_outbox);
else if ("sent".equals(name))
- return ctx.getResources().getString(R.string.folder_sent);
+ displayName = ctx.getResources().getString(R.string.folder_sent);
else if ("trash".equals(name))
- return ctx.getResources().getString(R.string.folder_trash);
+ displayName = ctx.getResources().getString(R.string.folder_trash);
else
- return name;
+ displayName = name;
+
+ try {
+ int numUnread = folder.getNumNewEmails();
+ if (numUnread > 0)
+ displayName = displayName + " (" + numUnread + ")";
+ } catch (GeneralSecurityException e) {
+ // TODO Auto-generated catch block
+ } catch (PasswordException e) {
+ // TODO Auto-generated catch block
+ }
+
+ return displayName;
}
public static List getEmails(EmailFolder folder, EmailAttribute sortColumn, boolean descending) throws PasswordException {
diff --git a/src/i2p/bote/EmailListLoader.java b/src/i2p/bote/EmailListLoader.java
index 43f43a5..3c0deb5 100644
--- a/src/i2p/bote/EmailListLoader.java
+++ b/src/i2p/bote/EmailListLoader.java
@@ -22,12 +22,13 @@ public class EmailListLoader extends AsyncTaskLoader> implements
@Override
public List loadInBackground() {
+ List emails = null;
try {
- return BoteHelper.getEmails(mFolder, null, false);
+ emails = BoteHelper.getEmails(mFolder, null, false);
} catch (PasswordException pe) {
// TODO: Handle this error properly (get user to log in)
- return null;
}
+ return emails;
}
/**
diff --git a/src/i2p/bote/FolderFragment.java b/src/i2p/bote/FolderFragment.java
index 3f16a91..27508e8 100644
--- a/src/i2p/bote/FolderFragment.java
+++ b/src/i2p/bote/FolderFragment.java
@@ -33,7 +33,11 @@ public class FolderFragment extends ListFragment implements
String folderName = getArguments().getString(FOLDER_NAME);
mFolder = BoteHelper.getMailFolder(folderName);
+ getActivity().setTitle(BoteHelper.getFolderDisplayName(getActivity(), mFolder));
+
setListAdapter(mAdapter);
+ setEmptyText(getResources().getString(
+ R.string.folder_empty));
setListShown(false);
if (mFolder != null)