diff --git a/app/src/main/java/eu/faircode/email/ActivityView.java b/app/src/main/java/eu/faircode/email/ActivityView.java index f8ba787a5e..6ece4fe04f 100644 --- a/app/src/main/java/eu/faircode/email/ActivityView.java +++ b/app/src/main/java/eu/faircode/email/ActivityView.java @@ -73,6 +73,7 @@ import java.io.OutputStream; import java.io.UnsupportedEncodingException; import java.net.URL; import java.text.Collator; +import java.text.NumberFormat; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; @@ -112,6 +113,8 @@ public class ActivityView extends ActivityBilling implements FragmentManager.OnB private OpenPgpServiceConnection pgpService; + private static NumberFormat nf = NumberFormat.getNumberInstance(); + static final int REQUEST_UNIFIED = 1; static final int REQUEST_THREAD = 2; @@ -311,13 +314,15 @@ public class ActivityView extends ActivityBilling implements FragmentManager.OnB List items = new ArrayList<>(); - for (TupleAccountEx account : accounts) - items.add(new DrawerItem( - account.id, + for (TupleAccountEx account : accounts) { + StringBuilder sb = new StringBuilder(); + sb.append(account); + if (account.unseen > 0) + sb.append(" (").append(nf.format(account.unseen)).append(")"); + items.add(new DrawerItem(account.id, "connected".equals(account.state) ? R.drawable.baseline_folder_24 : R.drawable.baseline_folder_open_24, - account.color, - account.unseen > 0 ? getString(R.string.title_unseen_count, account.name, account.unseen) : account.toString(), - account.unseen > 0)); + account.color, sb.toString(), account.unseen > 0)); + } items.add(new DrawerItem(-1)); items.add(new DrawerItem(-2, R.string.menu_answers, R.drawable.baseline_reply_24)); diff --git a/app/src/main/java/eu/faircode/email/AdapterFolder.java b/app/src/main/java/eu/faircode/email/AdapterFolder.java index 95d1b4034c..dad6a54c7d 100644 --- a/app/src/main/java/eu/faircode/email/AdapterFolder.java +++ b/app/src/main/java/eu/faircode/email/AdapterFolder.java @@ -67,7 +67,7 @@ public class AdapterFolder extends RecyclerView.Adapter all = new ArrayList<>(); private List filtered = new ArrayList<>(); - private NumberFormat nf = NumberFormat.getInstance(); + private static NumberFormat nf = NumberFormat.getNumberInstance(); public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener, View.OnLongClickListener { private View itemView; @@ -164,11 +164,11 @@ public class AdapterFolder extends RecyclerView.Adapter 0) - tvName.setText(context.getString(R.string.title_unseen_count, name, folder.unseen)); - else - tvName.setText(name); + n.append(" (").append(nf.format(folder.unseen)).append(")"); + tvName.setText(n.toString()); tvName.setTypeface(null, folder.unseen > 0 ? Typeface.BOLD : Typeface.NORMAL); tvName.setTextColor(folder.unseen > 0 ? colorUnread : textColorSecondary); @@ -206,10 +206,14 @@ public class AdapterFolder extends RecyclerView.Adapter 0) - setSubtitle(getString(R.string.title_unseen_count, name, unseen)); - else - setSubtitle(name); + sb.append(" (").append(nf.format(unseen)).append(")"); + setSubtitle(sb.toString()); boolean refreshing = false; for (TupleFolderEx folder : folders) @@ -1580,11 +1583,11 @@ public class FragmentMessages extends FragmentBase { if (folder == null) setSubtitle(null); else { - String name = folder.getDisplayName(getContext()); + StringBuilder sb = new StringBuilder(); + sb.append(folder.getDisplayName(getContext())); if (folder.unseen > 0) - setSubtitle(getString(R.string.title_unseen_count, name, folder.unseen)); - else - setSubtitle(name); + sb.append(" (").append(nf.format(folder.unseen)).append(")"); + setSubtitle(sb.toString()); boolean outbox = EntityFolder.OUTBOX.equals(folder.type); if (FragmentMessages.this.outbox != outbox) { diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index f081d824e9..35eff2bbb5 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -268,8 +268,6 @@ POP3 has significant limitations, so use IMAP whenever possible POP3 is not supported, see also the FAQ - %1$s (%2$d) - Synchronize now Delete local messages Delete browsed/searched messages