Show number of incomplete emails at top of Inbox

This commit is contained in:
str4d
2014-07-02 06:55:59 +00:00
parent 085778c98f
commit ac679d2e52
2 changed files with 27 additions and 2 deletions

View File

@@ -59,6 +59,7 @@ public class EmailListFragment extends ListFragment implements
OnEmailSelectedListener mCallback;
private PullToRefreshLayout mPullToRefreshLayout;
private TextView mNumIncompleteEmails;
private EmailListAdapter mAdapter;
private EmailFolder mFolder;
@@ -131,6 +132,14 @@ public class EmailListFragment extends ListFragment implements
.setup(mPullToRefreshLayout);
mPullToRefreshLayout.setRefreshing(I2PBote.getInstance().isCheckingForMail());
int numIncompleteEmails = I2PBote.getInstance().getNumIncompleteEmails();
if (numIncompleteEmails > 0) {
mNumIncompleteEmails = new TextView(getActivity());
mNumIncompleteEmails.setText(getResources().getString(R.string.incomplete_emails,
numIncompleteEmails));
getListView().addHeaderView(mNumIncompleteEmails);
}
}
}
@@ -279,11 +288,13 @@ public class EmailListFragment extends ListFragment implements
@Override
public void onListItemClick(ListView parent, View view, int pos, long id) {
super.onListItemClick(parent, view, pos, id);
int position = mNumIncompleteEmails == null ? pos : pos - 1;
if (position < 0) return;
if (mMode == null) {
mCallback.onEmailSelected(
mFolder.getName(), mAdapter.getItem(pos).getMessageID());
mFolder.getName(), mAdapter.getItem(position).getMessageID());
} else
onListItemSelect(pos);
onListItemSelect(position);
}
private void onListItemSelect(int position) {
@@ -525,6 +536,19 @@ public class EmailListFragment extends ListFragment implements
protected void onPostExecute(Void result) {
super.onPostExecute(result);
int numIncomingEmails = I2PBote.getInstance().getNumIncompleteEmails();
if (numIncomingEmails > 0) {
if (mNumIncompleteEmails == null) {
mNumIncompleteEmails = new TextView(getActivity());
getListView().addHeaderView(mNumIncompleteEmails);
}
mNumIncompleteEmails.setText(getResources().getString(R.string.incomplete_emails,
numIncomingEmails));
} else if (mNumIncompleteEmails != null) {
getListView().removeHeaderView(mNumIncompleteEmails);
mNumIncompleteEmails = null;
}
// Notify PullToRefreshLayout that the refresh has finished
mPullToRefreshLayout.setRefreshComplete();
}

View File

@@ -40,6 +40,7 @@
<string name="pull_text">Pull to check email</string>
<string name="refreshing_text">Checking email...</string>
<string name="release_text">Let go to check email</string>
<string name="incomplete_emails">%s incomplete emails</string>
<string name="items_selected">%s selected</string>
<string name="action_delete">Delete</string>
<string name="action_mark_read">Mark read</string>