From 108908cf49fe0b30470bba1cd8dd8552d28e5b81 Mon Sep 17 00:00:00 2001 From: str4d Date: Thu, 27 Feb 2014 04:11:28 +0000 Subject: [PATCH] Speed fix: only show new count when there is data to show --- src/i2p/bote/BoteHelper.java | 21 ++++++++++++--------- src/i2p/bote/FolderAdapter.java | 3 ++- src/i2p/bote/FolderFragment.java | 7 ++++++- 3 files changed, 20 insertions(+), 11 deletions(-) diff --git a/src/i2p/bote/BoteHelper.java b/src/i2p/bote/BoteHelper.java index a79b30c..80838bd 100644 --- a/src/i2p/bote/BoteHelper.java +++ b/src/i2p/bote/BoteHelper.java @@ -14,9 +14,10 @@ public class BoteHelper extends GeneralHelper { * user, so their name is already "translated". * @param ctx Android Context to get strings from. * @param folder The folder. + * @param showNew Should the name contain the number of new messages? * @return The name of the folder. */ - public static String getFolderDisplayName(Context ctx, EmailFolder folder) { + public static String getFolderDisplayName(Context ctx, EmailFolder folder, boolean showNew) { String displayName = ""; String name = folder.getName(); @@ -31,14 +32,16 @@ public class BoteHelper extends GeneralHelper { else 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 + if (showNew) { + try { + int numNew = folder.getNumNewEmails(); + if (numNew > 0) + displayName = displayName + " (" + numNew + ")"; + } catch (GeneralSecurityException e) { + // TODO Auto-generated catch block + } catch (PasswordException e) { + // TODO Auto-generated catch block + } } return displayName; diff --git a/src/i2p/bote/FolderAdapter.java b/src/i2p/bote/FolderAdapter.java index 0f130f4..2174e12 100644 --- a/src/i2p/bote/FolderAdapter.java +++ b/src/i2p/bote/FolderAdapter.java @@ -33,7 +33,8 @@ public class FolderAdapter extends ArrayAdapter { EmailFolder folder = getItem(position); TextView name = (TextView) v.findViewById(R.id.folder_name); - name.setText(BoteHelper.getFolderDisplayName(getContext(), folder)); + // TODO: This needs to be updated when emails change. + name.setText(BoteHelper.getFolderDisplayName(getContext(), folder, true)); return v; } diff --git a/src/i2p/bote/FolderFragment.java b/src/i2p/bote/FolderFragment.java index fbf916a..54fcb90 100644 --- a/src/i2p/bote/FolderFragment.java +++ b/src/i2p/bote/FolderFragment.java @@ -43,7 +43,8 @@ public class FolderFragment extends ListFragment implements setListShown(false); setEmptyText(getResources().getString( R.string.folder_empty)); - getActivity().setTitle(BoteHelper.getFolderDisplayName(getActivity(), mFolder)); + getActivity().setTitle( + BoteHelper.getFolderDisplayName(getActivity(), mFolder, false)); getLoaderManager().initLoader(EMAIL_LIST_LOADER, null, this); } } @@ -57,6 +58,8 @@ public class FolderFragment extends ListFragment implements public void onLoadFinished(Loader> loader, List data) { mAdapter.setData(data); + getActivity().setTitle( + BoteHelper.getFolderDisplayName(getActivity(), mFolder, true)); if (isResumed()) { setListShown(true); @@ -67,5 +70,7 @@ public class FolderFragment extends ListFragment implements public void onLoaderReset(Loader> loader) { mAdapter.setData(null); + getActivity().setTitle( + BoteHelper.getFolderDisplayName(getActivity(), mFolder, false)); } }