Speed fix: only show new count when there is data to show
This commit is contained in:
@@ -14,9 +14,10 @@ public class BoteHelper extends GeneralHelper {
|
|||||||
* user, so their name is already "translated".
|
* user, so their name is already "translated".
|
||||||
* @param ctx Android Context to get strings from.
|
* @param ctx Android Context to get strings from.
|
||||||
* @param folder The folder.
|
* @param folder The folder.
|
||||||
|
* @param showNew Should the name contain the number of new messages?
|
||||||
* @return The name of the folder.
|
* @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 displayName = "";
|
||||||
|
|
||||||
String name = folder.getName();
|
String name = folder.getName();
|
||||||
@@ -31,14 +32,16 @@ public class BoteHelper extends GeneralHelper {
|
|||||||
else
|
else
|
||||||
displayName = name;
|
displayName = name;
|
||||||
|
|
||||||
try {
|
if (showNew) {
|
||||||
int numUnread = folder.getNumNewEmails();
|
try {
|
||||||
if (numUnread > 0)
|
int numNew = folder.getNumNewEmails();
|
||||||
displayName = displayName + " (" + numUnread + ")";
|
if (numNew > 0)
|
||||||
} catch (GeneralSecurityException e) {
|
displayName = displayName + " (" + numNew + ")";
|
||||||
// TODO Auto-generated catch block
|
} catch (GeneralSecurityException e) {
|
||||||
} catch (PasswordException e) {
|
// TODO Auto-generated catch block
|
||||||
// TODO Auto-generated catch block
|
} catch (PasswordException e) {
|
||||||
|
// TODO Auto-generated catch block
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return displayName;
|
return displayName;
|
||||||
|
|||||||
@@ -33,7 +33,8 @@ public class FolderAdapter extends ArrayAdapter<EmailFolder> {
|
|||||||
EmailFolder folder = getItem(position);
|
EmailFolder folder = getItem(position);
|
||||||
|
|
||||||
TextView name = (TextView) v.findViewById(R.id.folder_name);
|
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;
|
return v;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -43,7 +43,8 @@ public class FolderFragment extends ListFragment implements
|
|||||||
setListShown(false);
|
setListShown(false);
|
||||||
setEmptyText(getResources().getString(
|
setEmptyText(getResources().getString(
|
||||||
R.string.folder_empty));
|
R.string.folder_empty));
|
||||||
getActivity().setTitle(BoteHelper.getFolderDisplayName(getActivity(), mFolder));
|
getActivity().setTitle(
|
||||||
|
BoteHelper.getFolderDisplayName(getActivity(), mFolder, false));
|
||||||
getLoaderManager().initLoader(EMAIL_LIST_LOADER, null, this);
|
getLoaderManager().initLoader(EMAIL_LIST_LOADER, null, this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -57,6 +58,8 @@ public class FolderFragment extends ListFragment implements
|
|||||||
public void onLoadFinished(Loader<List<Email>> loader,
|
public void onLoadFinished(Loader<List<Email>> loader,
|
||||||
List<Email> data) {
|
List<Email> data) {
|
||||||
mAdapter.setData(data);
|
mAdapter.setData(data);
|
||||||
|
getActivity().setTitle(
|
||||||
|
BoteHelper.getFolderDisplayName(getActivity(), mFolder, true));
|
||||||
|
|
||||||
if (isResumed()) {
|
if (isResumed()) {
|
||||||
setListShown(true);
|
setListShown(true);
|
||||||
@@ -67,5 +70,7 @@ public class FolderFragment extends ListFragment implements
|
|||||||
|
|
||||||
public void onLoaderReset(Loader<List<Email>> loader) {
|
public void onLoaderReset(Loader<List<Email>> loader) {
|
||||||
mAdapter.setData(null);
|
mAdapter.setData(null);
|
||||||
|
getActivity().setTitle(
|
||||||
|
BoteHelper.getFolderDisplayName(getActivity(), mFolder, false));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user