1
0
mirror of https://github.com/moparisthebest/k-9 synced 2025-03-04 02:19:47 -05:00

Move the "update the title" code from almost every single

ActivityListener callback to the superclass, removing the need for many
sublcass methods
This commit is contained in:
Jesse Vincent 2011-02-13 19:53:50 -05:00
parent 7cbbd72fac
commit 260b933a3b
4 changed files with 144 additions and 319 deletions

@ -131,6 +131,11 @@ public class Accounts extends K9ListActivity implements OnItemClickListener, OnC
} }
ActivityListener mListener = new ActivityListener() { ActivityListener mListener = new ActivityListener() {
@Override
public void informUserOfStatus() {
mHandler.refreshTitle();
}
@Override @Override
public void folderStatusChanged(Account account, String folderName, int unreadMessageCount) { public void folderStatusChanged(Account account, String folderName, int unreadMessageCount) {
try { try {
@ -181,25 +186,17 @@ public class Accounts extends K9ListActivity implements OnItemClickListener, OnC
String folder, String folder,
int totalMessagesInMailbox, int totalMessagesInMailbox,
int numNewMessages) { int numNewMessages) {
super.synchronizeMailboxFinished(account, folder, totalMessagesInMailbox, numNewMessages);
MessagingController.getInstance(getApplication()).getAccountStats(Accounts.this, account, mListener); MessagingController.getInstance(getApplication()).getAccountStats(Accounts.this, account, mListener);
super.synchronizeMailboxFinished(account, folder, totalMessagesInMailbox, numNewMessages);
mHandler.progress(false); mHandler.progress(false);
mHandler.refreshTitle();
} }
@Override @Override
public void synchronizeMailboxStarted(Account account, String folder) { public void synchronizeMailboxStarted(Account account, String folder) {
super.synchronizeMailboxStarted(account, folder); super.synchronizeMailboxStarted(account, folder);
mHandler.progress(true); mHandler.progress(true);
mHandler.refreshTitle();
}
@Override
public void synchronizeMailboxProgress(Account account, String folder, int completed, int total) {
super.synchronizeMailboxProgress(account, folder, completed, total);
mHandler.refreshTitle();
} }
@Override @Override
@ -207,57 +204,9 @@ public class Accounts extends K9ListActivity implements OnItemClickListener, OnC
String message) { String message) {
super.synchronizeMailboxFailed(account, folder, message); super.synchronizeMailboxFailed(account, folder, message);
mHandler.progress(false); mHandler.progress(false);
mHandler.refreshTitle();
} }
@Override
public void sendPendingMessagesStarted(Account account) {
super.sendPendingMessagesStarted(account);
mHandler.refreshTitle();
}
@Override
public void sendPendingMessagesCompleted(Account account) {
super.sendPendingMessagesCompleted(account);
mHandler.refreshTitle();
}
@Override
public void sendPendingMessagesFailed(Account account) {
super.sendPendingMessagesFailed(account);
mHandler.refreshTitle();
}
@Override
public void pendingCommandsProcessing(Account account) {
super.pendingCommandsProcessing(account);
mHandler.refreshTitle();
}
@Override
public void pendingCommandsFinished(Account account) {
super.pendingCommandsFinished(account);
mHandler.refreshTitle();
}
@Override
public void pendingCommandStarted(Account account, String commandTitle) {
super.pendingCommandStarted(account, commandTitle);
mHandler.refreshTitle();
}
@Override
public void pendingCommandCompleted(Account account, String commandTitle) {
super.pendingCommandCompleted(account, commandTitle);
mHandler.refreshTitle();
}
@Override
public void systemStatusChanged() {
mHandler.refreshTitle();
}
}; };
private static String ACCOUNT_STATS = "accountStats"; private static String ACCOUNT_STATS = "accountStats";

@ -5,6 +5,7 @@ import java.text.DateFormat;
import android.content.Context; import android.content.Context;
import com.fsck.k9.Account; import com.fsck.k9.Account;
import com.fsck.k9.AccountStats;
import com.fsck.k9.K9; import com.fsck.k9.K9;
import com.fsck.k9.R; import com.fsck.k9.R;
import com.fsck.k9.controller.MessagingListener; import com.fsck.k9.controller.MessagingListener;
@ -70,6 +71,9 @@ public class ActivityListener extends MessagingListener {
} }
public void informUserOfStatus() {
}
@Override @Override
public void synchronizeMailboxFinished( public void synchronizeMailboxFinished(
Account account, Account account,
@ -78,6 +82,7 @@ public class ActivityListener extends MessagingListener {
int numNewMessages) { int numNewMessages) {
mLoadingAccountDescription = null; mLoadingAccountDescription = null;
mLoadingFolderName = null; mLoadingFolderName = null;
informUserOfStatus();
} }
@Override @Override
@ -86,12 +91,14 @@ public class ActivityListener extends MessagingListener {
mLoadingFolderName = folder; mLoadingFolderName = folder;
mFolderCompleted = 0; mFolderCompleted = 0;
mFolderTotal = 0; mFolderTotal = 0;
informUserOfStatus();
} }
@Override @Override
public void synchronizeMailboxHeadersStarted(Account account, String folder) { public void synchronizeMailboxHeadersStarted(Account account, String folder) {
mLoadingHeaderFolderName = folder; mLoadingHeaderFolderName = folder;
informUserOfStatus();
} }
@ -99,6 +106,7 @@ public class ActivityListener extends MessagingListener {
public void synchronizeMailboxHeadersProgress(Account account, String folder, int completed, int total) { public void synchronizeMailboxHeadersProgress(Account account, String folder, int completed, int total) {
mFolderCompleted = completed; mFolderCompleted = completed;
mFolderTotal = total; mFolderTotal = total;
informUserOfStatus();
} }
@Override @Override
@ -107,6 +115,7 @@ public class ActivityListener extends MessagingListener {
mLoadingHeaderFolderName = null; mLoadingHeaderFolderName = null;
mFolderCompleted = 0; mFolderCompleted = 0;
mFolderTotal = 0; mFolderTotal = 0;
informUserOfStatus();
} }
@ -114,6 +123,7 @@ public class ActivityListener extends MessagingListener {
public void synchronizeMailboxProgress(Account account, String folder, int completed, int total) { public void synchronizeMailboxProgress(Account account, String folder, int completed, int total) {
mFolderCompleted = completed; mFolderCompleted = completed;
mFolderTotal = total; mFolderTotal = total;
informUserOfStatus();
} }
@Override @Override
@ -121,22 +131,26 @@ public class ActivityListener extends MessagingListener {
String message) { String message) {
mLoadingAccountDescription = null; mLoadingAccountDescription = null;
mLoadingFolderName = null; mLoadingFolderName = null;
informUserOfStatus();
} }
@Override @Override
public void sendPendingMessagesStarted(Account account) { public void sendPendingMessagesStarted(Account account) {
mSendingAccountDescription = account.getDescription(); mSendingAccountDescription = account.getDescription();
informUserOfStatus();
} }
@Override @Override
public void sendPendingMessagesCompleted(Account account) { public void sendPendingMessagesCompleted(Account account) {
mSendingAccountDescription = null; mSendingAccountDescription = null;
informUserOfStatus();
} }
@Override @Override
public void sendPendingMessagesFailed(Account account) { public void sendPendingMessagesFailed(Account account) {
mSendingAccountDescription = null; mSendingAccountDescription = null;
informUserOfStatus();
} }
@Override @Override
@ -144,27 +158,46 @@ public class ActivityListener extends MessagingListener {
mProcessingAccountDescription = account.getDescription(); mProcessingAccountDescription = account.getDescription();
mFolderCompleted = 0; mFolderCompleted = 0;
mFolderTotal = 0; mFolderTotal = 0;
informUserOfStatus();
} }
@Override @Override
public void pendingCommandsFinished(Account account) { public void pendingCommandsFinished(Account account) {
mProcessingAccountDescription = null; mProcessingAccountDescription = null;
informUserOfStatus();
} }
@Override @Override
public void pendingCommandStarted(Account account, String commandTitle) { public void pendingCommandStarted(Account account, String commandTitle) {
mProcessingCommandTitle = commandTitle; mProcessingCommandTitle = commandTitle;
informUserOfStatus();
} }
@Override @Override
public void pendingCommandCompleted(Account account, String commandTitle) { public void pendingCommandCompleted(Account account, String commandTitle) {
mProcessingCommandTitle = null; mProcessingCommandTitle = null;
informUserOfStatus();
}
@Override
public void searchStats(AccountStats stats) {
informUserOfStatus();
}
@Override
public void systemStatusChanged() {
informUserOfStatus();
}
@Override
public void folderStatusChanged(Account account, String folder, int unreadMessageCount) {
informUserOfStatus();
} }
public int getFolderCompleted() { public int getFolderCompleted() {
return mFolderCompleted; return mFolderCompleted;
} }
public int getFolderTotal() { public int getFolderTotal() {
return mFolderTotal; return mFolderTotal;
} }

@ -745,6 +745,10 @@ public class FolderList extends K9ListActivity {
} }
private ActivityListener mListener = new ActivityListener() { private ActivityListener mListener = new ActivityListener() {
@Override
public void informUserOfStatus() {
mHandler.refreshTitle();
}
@Override @Override
public void accountStatusChanged(BaseAccount account, AccountStats stats) { public void accountStatusChanged(BaseAccount account, AccountStats stats) {
if (!account.equals(mAccount)) { if (!account.equals(mAccount)) {
@ -754,23 +758,21 @@ public class FolderList extends K9ListActivity {
return; return;
} }
mUnreadMessageCount = stats.unreadMessageCount; mUnreadMessageCount = stats.unreadMessageCount;
mHandler.refreshTitle(); super.accountStatusChanged(account, stats);
} }
@Override @Override
public void listFoldersStarted(Account account) { public void listFoldersStarted(Account account) {
if (!account.equals(mAccount)) { if (account.equals(mAccount)) {
return;
}
mHandler.progress(true); mHandler.progress(true);
} }
super.listFoldersStarted(account);
}
@Override @Override
public void listFoldersFailed(Account account, String message) { public void listFoldersFailed(Account account, String message) {
if (!account.equals(mAccount)) { if (account.equals(mAccount)) {
return;
}
mHandler.progress(false); mHandler.progress(false);
@ -778,24 +780,24 @@ public class FolderList extends K9ListActivity {
Log.v(K9.LOG_TAG, "listFoldersFailed " + message); Log.v(K9.LOG_TAG, "listFoldersFailed " + message);
} }
} }
super.listFoldersFailed(account, message);
}
@Override @Override
public void listFoldersFinished(Account account) { public void listFoldersFinished(Account account) {
if (!account.equals(mAccount)) { if (account.equals(mAccount)) {
return;
}
mHandler.progress(false); mHandler.progress(false);
MessagingController.getInstance(getApplication()).refreshListener(mAdapter.mListener); MessagingController.getInstance(getApplication()).refreshListener(mAdapter.mListener);
mHandler.dataChanged(); mHandler.dataChanged();
}
super.listFoldersFinished(account);
} }
@Override @Override
public void listFolders(Account account, Folder[] folders) { public void listFolders(Account account, Folder[] folders) {
if (!account.equals(mAccount)) { if (account.equals(mAccount)) {
return;
}
List<FolderInfoHolder> newFolders = new LinkedList<FolderInfoHolder>(); List<FolderInfoHolder> newFolders = new LinkedList<FolderInfoHolder>();
List<FolderInfoHolder> topFolders = new LinkedList<FolderInfoHolder>(); List<FolderInfoHolder> topFolders = new LinkedList<FolderInfoHolder>();
@ -849,67 +851,31 @@ public class FolderList extends K9ListActivity {
Collections.sort(topFolders); Collections.sort(topFolders);
topFolders.addAll(newFolders); topFolders.addAll(newFolders);
mHandler.newFolders(topFolders); mHandler.newFolders(topFolders);
mHandler.refreshTitle(); }
super.listFolders(account, folders);
} }
@Override @Override
public void synchronizeMailboxStarted(Account account, String folder) { public void synchronizeMailboxStarted(Account account, String folder) {
super.synchronizeMailboxStarted(account, folder); super.synchronizeMailboxStarted(account, folder);
mHandler.refreshTitle(); if (account.equals(mAccount)) {
if (!account.equals(mAccount)) {
return;
}
mHandler.progress(true); mHandler.progress(true);
mHandler.folderLoading(folder, true); mHandler.folderLoading(folder, true);
mHandler.dataChanged(); mHandler.dataChanged();
} }
@Override
public void synchronizeMailboxHeadersStarted(Account account, String folder) {
super.synchronizeMailboxHeadersStarted(account, folder);
mHandler.refreshTitle();
}
@Override
public void synchronizeMailboxHeadersProgress(Account account, String folder, int completed, int total) {
super.synchronizeMailboxHeadersProgress(account, folder, completed, total);
mHandler.refreshTitle();
}
@Override
public void synchronizeMailboxHeadersFinished(Account account, String folder,
int total, int completed) {
super.synchronizeMailboxHeadersFinished(account, folder, total, completed);
mHandler.refreshTitle();
}
@Override
public void synchronizeMailboxProgress(Account account, String folder, int completed, int total) {
super.synchronizeMailboxProgress(account, folder, completed, total);
mHandler.refreshTitle();
} }
@Override @Override
public void synchronizeMailboxFinished(Account account, String folder, int totalMessagesInMailbox, int numNewMessages) { public void synchronizeMailboxFinished(Account account, String folder, int totalMessagesInMailbox, int numNewMessages) {
super.synchronizeMailboxFinished(account, folder, totalMessagesInMailbox, numNewMessages); super.synchronizeMailboxFinished(account, folder, totalMessagesInMailbox, numNewMessages);
mHandler.refreshTitle(); if (account.equals(mAccount)) {
if (!account.equals(mAccount)) {
return;
}
mHandler.progress(false); mHandler.progress(false);
mHandler.folderLoading(folder, false); mHandler.folderLoading(folder, false);
refreshFolder(account, folder); refreshFolder(account, folder);
}
} }
@ -941,10 +907,8 @@ public class FolderList extends K9ListActivity {
} }
@Override @Override
public void synchronizeMailboxFailed(Account account, String folder, public void synchronizeMailboxFailed(Account account, String folder, String message) {
String message) {
super.synchronizeMailboxFailed(account, folder, message); super.synchronizeMailboxFailed(account, folder, message);
mHandler.refreshTitle();
if (!account.equals(mAccount)) { if (!account.equals(mAccount)) {
return; return;
} }
@ -983,105 +947,55 @@ public class FolderList extends K9ListActivity {
@Override @Override
public void messageDeleted(Account account, public void messageDeleted(Account account, String folder, Message message) {
String folder, Message message) { synchronizeMailboxRemovedMessage(account, folder, message);
synchronizeMailboxRemovedMessage(account,
folder, message);
} }
@Override @Override
public void emptyTrashCompleted(Account account) { public void emptyTrashCompleted(Account account) {
if (!account.equals(mAccount)) { if (account.equals(mAccount)) {
return;
}
refreshFolder(account, mAccount.getTrashFolderName()); refreshFolder(account, mAccount.getTrashFolderName());
} }
}
@Override @Override
public void folderStatusChanged(Account account, String folderName, int unreadMessageCount) { public void folderStatusChanged(Account account, String folderName, int unreadMessageCount) {
if (!account.equals(mAccount)) { if (account.equals(mAccount)) {
return;
}
refreshFolder(account, folderName); refreshFolder(account, folderName);
} }
}
@Override @Override
public void sendPendingMessagesCompleted(Account account) { public void sendPendingMessagesCompleted(Account account) {
super.sendPendingMessagesCompleted(account); super.sendPendingMessagesCompleted(account);
mHandler.refreshTitle(); if (account.equals(mAccount)) {
if (!account.equals(mAccount)) {
return;
}
refreshFolder(account, mAccount.getOutboxFolderName()); refreshFolder(account, mAccount.getOutboxFolderName());
}
} }
@Override @Override
public void sendPendingMessagesStarted(Account account) { public void sendPendingMessagesStarted(Account account) {
super.sendPendingMessagesStarted(account); super.sendPendingMessagesStarted(account);
mHandler.refreshTitle();
if (!account.equals(mAccount)) {
return;
}
if (account.equals(mAccount)) {
mHandler.dataChanged(); mHandler.dataChanged();
}
} }
@Override @Override
public void sendPendingMessagesFailed(Account account) { public void sendPendingMessagesFailed(Account account) {
super.sendPendingMessagesFailed(account); super.sendPendingMessagesFailed(account);
mHandler.refreshTitle(); if (account.equals(mAccount)) {
if (!account.equals(mAccount)) {
return;
}
refreshFolder(account, mAccount.getOutboxFolderName()); refreshFolder(account, mAccount.getOutboxFolderName());
}
} }
@Override @Override
public void accountSizeChanged(Account account, long oldSize, long newSize) { public void accountSizeChanged(Account account, long oldSize, long newSize) {
if (!account.equals(mAccount)) { if (account.equals(mAccount)) {
return;
}
mHandler.accountSizeChanged(oldSize, newSize); mHandler.accountSizeChanged(oldSize, newSize);
} }
@Override
public void pendingCommandsProcessing(Account account) {
super.pendingCommandsProcessing(account);
mHandler.refreshTitle();
} }
@Override
public void pendingCommandsFinished(Account account) {
super.pendingCommandsFinished(account);
mHandler.refreshTitle();
}
@Override
public void pendingCommandStarted(Account account, String commandTitle) {
super.pendingCommandStarted(account, commandTitle);
mHandler.refreshTitle();
}
@Override
public void pendingCommandCompleted(Account account, String commandTitle) {
super.pendingCommandCompleted(account, commandTitle);
mHandler.refreshTitle();
}
@Override
public void systemStatusChanged() {
mHandler.refreshTitle();
}
}; };

@ -1716,79 +1716,42 @@ public class MessageList
private final List<MessageInfoHolder> messages = java.util.Collections.synchronizedList(new ArrayList<MessageInfoHolder>()); private final List<MessageInfoHolder> messages = java.util.Collections.synchronizedList(new ArrayList<MessageInfoHolder>());
private final ActivityListener mListener = new ActivityListener() { private final ActivityListener mListener = new ActivityListener() {
@Override
public void informUserOfStatus() {
mHandler.refreshTitle();
}
@Override @Override
public void synchronizeMailboxStarted(Account account, String folder) { public void synchronizeMailboxStarted(Account account, String folder) {
super.synchronizeMailboxStarted(account, folder);
if (updateForMe(account, folder)) { if (updateForMe(account, folder)) {
mHandler.progress(true); mHandler.progress(true);
mHandler.folderLoading(folder, true); mHandler.folderLoading(folder, true);
} }
mHandler.refreshTitle(); super.synchronizeMailboxStarted(account, folder);
} }
@Override
public void synchronizeMailboxHeadersProgress(Account account, String folder, int completed, int total) {
super.synchronizeMailboxHeadersProgress(account, folder, completed, total);
mHandler.refreshTitle();
}
@Override
public void synchronizeMailboxHeadersFinished(Account account, String folder,
int total, int completed) {
super.synchronizeMailboxHeadersFinished(account, folder, total, completed);
mHandler.refreshTitle();
}
@Override @Override
public void synchronizeMailboxFinished(Account account, String folder, public void synchronizeMailboxFinished(Account account, String folder,
int totalMessagesInMailbox, int numNewMessages) { int totalMessagesInMailbox, int numNewMessages) {
super.synchronizeMailboxFinished(account, folder, totalMessagesInMailbox, numNewMessages);
if (updateForMe(account, folder)) { if (updateForMe(account, folder)) {
mHandler.progress(false); mHandler.progress(false);
mHandler.folderLoading(folder, false); mHandler.folderLoading(folder, false);
mHandler.sortMessages(); mHandler.sortMessages();
} }
mHandler.refreshTitle(); super.synchronizeMailboxFinished(account, folder, totalMessagesInMailbox, numNewMessages);
} }
@Override @Override
public void synchronizeMailboxFailed(Account account, String folder, String message) { public void synchronizeMailboxFailed(Account account, String folder, String message) {
super.synchronizeMailboxFailed(account, folder, message);
if (updateForMe(account, folder)) { if (updateForMe(account, folder)) {
mHandler.progress(false); mHandler.progress(false);
mHandler.folderLoading(folder, false); mHandler.folderLoading(folder, false);
mHandler.sortMessages(); mHandler.sortMessages();
} }
mHandler.refreshTitle(); super.synchronizeMailboxFailed(account, folder, message);
}
@Override
public void sendPendingMessagesStarted(Account account) {
super.sendPendingMessagesStarted(account);
mHandler.refreshTitle();
}
@Override
public void sendPendingMessagesCompleted(Account account) {
super.sendPendingMessagesCompleted(account);
mHandler.refreshTitle();
}
@Override
public void sendPendingMessagesFailed(Account account) {
super.sendPendingMessagesFailed(account);
mHandler.refreshTitle();
}
@Override
public void synchronizeMailboxProgress(Account account, String folder, int completed, int total) {
super.synchronizeMailboxProgress(account, folder, completed, total);
mHandler.refreshTitle();
} }
@Override @Override
@ -1808,9 +1771,7 @@ public class MessageList
@Override @Override
public void listLocalMessagesStarted(Account account, String folder) { public void listLocalMessagesStarted(Account account, String folder) {
if ((mQueryString != null && folder == null) || if ((mQueryString != null && folder == null) || (account != null && account.equals(mAccount))) {
(account != null && account.equals(mAccount))
) {
mHandler.progress(true); mHandler.progress(true);
if (folder != null) { if (folder != null) {
mHandler.folderLoading(folder, true); mHandler.folderLoading(folder, true);
@ -1820,8 +1781,7 @@ public class MessageList
@Override @Override
public void listLocalMessagesFailed(Account account, String folder, String message) { public void listLocalMessagesFailed(Account account, String folder, String message) {
if ((mQueryString != null && folder == null) || if ((mQueryString != null && folder == null) || (account != null && account.equals(mAccount))) {
(account != null && account.equals(mAccount))) {
mHandler.sortMessages(); mHandler.sortMessages();
mHandler.progress(false); mHandler.progress(false);
if (folder != null) { if (folder != null) {
@ -1832,8 +1792,7 @@ public class MessageList
@Override @Override
public void listLocalMessagesFinished(Account account, String folder) { public void listLocalMessagesFinished(Account account, String folder) {
if ((mQueryString != null && folder == null) || if ((mQueryString != null && folder == null) || (account != null && account.equals(mAccount))) {
(account != null && account.equals(mAccount))) {
mHandler.sortMessages(); mHandler.sortMessages();
mHandler.progress(false); mHandler.progress(false);
if (folder != null) { if (folder != null) {
@ -1863,40 +1822,15 @@ public class MessageList
@Override @Override
public void searchStats(AccountStats stats) { public void searchStats(AccountStats stats) {
mUnreadMessageCount = stats.unreadMessageCount; mUnreadMessageCount = stats.unreadMessageCount;
mHandler.refreshTitle(); super.searchStats(stats);
} }
@Override @Override
public void folderStatusChanged(Account account, String folder, int unreadMessageCount) { public void folderStatusChanged(Account account, String folder, int unreadMessageCount) {
super.folderStatusChanged(account, folder, unreadMessageCount);
if (updateForMe(account, folder)) { if (updateForMe(account, folder)) {
mUnreadMessageCount = unreadMessageCount; mUnreadMessageCount = unreadMessageCount;
mHandler.refreshTitle();
} }
} super.folderStatusChanged(account, folder, unreadMessageCount);
@Override
public void pendingCommandsProcessing(Account account) {
super.pendingCommandsProcessing(account);
mHandler.refreshTitle();
}
@Override
public void pendingCommandsFinished(Account account) {
super.pendingCommandsFinished(account);
mHandler.refreshTitle();
}
@Override
public void pendingCommandStarted(Account account, String commandTitle) {
super.pendingCommandStarted(account, commandTitle);
mHandler.refreshTitle();
}
@Override
public void pendingCommandCompleted(Account account, String commandTitle) {
super.pendingCommandCompleted(account, commandTitle);
mHandler.refreshTitle();
} }
@Override @Override
@ -1912,11 +1846,6 @@ public class MessageList
holder.message.setUid(newUid); holder.message.setUid(newUid);
} }
} }
@Override
public void systemStatusChanged() {
mHandler.refreshTitle();
}
}; };
private boolean updateForMe(Account account, String folder) { private boolean updateForMe(Account account, String folder) {