Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 260b933a authored by Jesse Vincent's avatar Jesse Vincent
Browse files

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

ActivityListener callback to the superclass, removing the need for many
sublcass methods
parent 7cbbd72f
Loading
Loading
Loading
Loading
+7 −58
Original line number Diff line number Diff line
@@ -131,6 +131,11 @@ public class Accounts extends K9ListActivity implements OnItemClickListener, OnC
    }

    ActivityListener mListener = new ActivityListener() {
        @Override
        public void informUserOfStatus() {
            mHandler.refreshTitle();
        }

        @Override
        public void folderStatusChanged(Account account, String folderName, int unreadMessageCount) {
            try {
@@ -181,25 +186,17 @@ public class Accounts extends K9ListActivity implements OnItemClickListener, OnC
            String folder,
            int totalMessagesInMailbox,
        int numNewMessages) {
            super.synchronizeMailboxFinished(account, folder, totalMessagesInMailbox, numNewMessages);
            MessagingController.getInstance(getApplication()).getAccountStats(Accounts.this, account, mListener);
            super.synchronizeMailboxFinished(account, folder, totalMessagesInMailbox, numNewMessages);

            mHandler.progress(false);

            mHandler.refreshTitle();
        }

        @Override
        public void synchronizeMailboxStarted(Account account, String folder) {
            super.synchronizeMailboxStarted(account, folder);
            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
@@ -207,57 +204,9 @@ public class Accounts extends K9ListActivity implements OnItemClickListener, OnC
        String message) {
            super.synchronizeMailboxFailed(account, folder, message);
            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";
+33 −0
Original line number Diff line number Diff line
@@ -5,6 +5,7 @@ import java.text.DateFormat;
import android.content.Context;

import com.fsck.k9.Account;
import com.fsck.k9.AccountStats;
import com.fsck.k9.K9;
import com.fsck.k9.R;
import com.fsck.k9.controller.MessagingListener;
@@ -70,6 +71,9 @@ public class ActivityListener extends MessagingListener {

    }

    public void informUserOfStatus() {
    }

    @Override
    public void synchronizeMailboxFinished(
        Account account,
@@ -78,6 +82,7 @@ public class ActivityListener extends MessagingListener {
        int numNewMessages) {
        mLoadingAccountDescription = null;
        mLoadingFolderName = null;
        informUserOfStatus();
    }

    @Override
@@ -86,12 +91,14 @@ public class ActivityListener extends MessagingListener {
        mLoadingFolderName = folder;
        mFolderCompleted = 0;
        mFolderTotal = 0;
        informUserOfStatus();
    }


    @Override
    public void synchronizeMailboxHeadersStarted(Account account, String folder) {
        mLoadingHeaderFolderName = folder;
        informUserOfStatus();
    }


@@ -99,6 +106,7 @@ public class ActivityListener extends MessagingListener {
    public void synchronizeMailboxHeadersProgress(Account account, String folder, int completed, int total) {
        mFolderCompleted = completed;
        mFolderTotal = total;
        informUserOfStatus();
    }

    @Override
@@ -107,6 +115,7 @@ public class ActivityListener extends MessagingListener {
        mLoadingHeaderFolderName = null;
        mFolderCompleted = 0;
        mFolderTotal = 0;
        informUserOfStatus();
    }


@@ -114,6 +123,7 @@ public class ActivityListener extends MessagingListener {
    public void synchronizeMailboxProgress(Account account, String folder, int completed, int total) {
        mFolderCompleted = completed;
        mFolderTotal = total;
        informUserOfStatus();
    }

    @Override
@@ -121,22 +131,26 @@ public class ActivityListener extends MessagingListener {
                                         String message) {
        mLoadingAccountDescription = null;
        mLoadingFolderName = null;
        informUserOfStatus();

    }

    @Override
    public void sendPendingMessagesStarted(Account account) {
        mSendingAccountDescription = account.getDescription();
        informUserOfStatus();
    }

    @Override
    public void sendPendingMessagesCompleted(Account account) {
        mSendingAccountDescription = null;
        informUserOfStatus();
    }

    @Override
    public void sendPendingMessagesFailed(Account account) {
        mSendingAccountDescription = null;
        informUserOfStatus();
    }

    @Override
@@ -144,27 +158,46 @@ public class ActivityListener extends MessagingListener {
        mProcessingAccountDescription = account.getDescription();
        mFolderCompleted = 0;
        mFolderTotal = 0;
        informUserOfStatus();
    }

    @Override
    public void pendingCommandsFinished(Account account) {
        mProcessingAccountDescription = null;
        informUserOfStatus();
    }

    @Override
    public void pendingCommandStarted(Account account, String commandTitle) {
        mProcessingCommandTitle = commandTitle;
        informUserOfStatus();
    }

    @Override
    public void pendingCommandCompleted(Account account, String commandTitle) {
        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() {
        return mFolderCompleted;
    }


    public int getFolderTotal() {
        return mFolderTotal;
    }
+94 −180
Original line number Diff line number Diff line
@@ -745,6 +745,10 @@ public class FolderList extends K9ListActivity {
        }

        private ActivityListener mListener = new ActivityListener() {
            @Override
            public void informUserOfStatus() {
                mHandler.refreshTitle();
            }
            @Override
            public void accountStatusChanged(BaseAccount account, AccountStats stats) {
                if (!account.equals(mAccount)) {
@@ -754,23 +758,21 @@ public class FolderList extends K9ListActivity {
                    return;
                }
                mUnreadMessageCount = stats.unreadMessageCount;
                mHandler.refreshTitle();
                super.accountStatusChanged(account, stats);
            }

            @Override
            public void listFoldersStarted(Account account) {
                if (!account.equals(mAccount)) {
                    return;
                if (account.equals(mAccount)) {
                    mHandler.progress(true);
                }
                super.listFoldersStarted(account);

                mHandler.progress(true);
            }

            @Override
            public void listFoldersFailed(Account account, String message) {
                if (!account.equals(mAccount)) {
                    return;
                }
                if (account.equals(mAccount)) {

                    mHandler.progress(false);

@@ -778,24 +780,24 @@ public class FolderList extends K9ListActivity {
                        Log.v(K9.LOG_TAG, "listFoldersFailed " + message);
                    }
                }
                super.listFoldersFailed(account, message);
            }

            @Override
            public void listFoldersFinished(Account account) {
                if (!account.equals(mAccount)) {
                    return;
                }
                if (account.equals(mAccount)) {

                    mHandler.progress(false);
                    MessagingController.getInstance(getApplication()).refreshListener(mAdapter.mListener);
                    mHandler.dataChanged();
                }
                super.listFoldersFinished(account);

            }

            @Override
            public void listFolders(Account account, Folder[] folders) {
                if (!account.equals(mAccount)) {
                    return;
                }
                if (account.equals(mAccount)) {

                    List<FolderInfoHolder> newFolders = new LinkedList<FolderInfoHolder>();
                    List<FolderInfoHolder> topFolders = new LinkedList<FolderInfoHolder>();
@@ -849,67 +851,31 @@ public class FolderList extends K9ListActivity {
                    Collections.sort(topFolders);
                    topFolders.addAll(newFolders);
                    mHandler.newFolders(topFolders);
                mHandler.refreshTitle();

                }
                super.listFolders(account, folders);
            }

            @Override
            public void synchronizeMailboxStarted(Account account, String folder) {
                super.synchronizeMailboxStarted(account, folder);
                mHandler.refreshTitle();
                if (!account.equals(mAccount)) {
                    return;
                }
                if (account.equals(mAccount)) {

                    mHandler.progress(true);
                    mHandler.folderLoading(folder, true);
                    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
            public void synchronizeMailboxFinished(Account account, String folder, int totalMessagesInMailbox, int numNewMessages) {
                super.synchronizeMailboxFinished(account, folder, totalMessagesInMailbox, numNewMessages);
                mHandler.refreshTitle();
                if (!account.equals(mAccount)) {
                    return;
                }
                if (account.equals(mAccount)) {
                    mHandler.progress(false);
                    mHandler.folderLoading(folder, false);

                    refreshFolder(account, folder);

                }

            }

@@ -941,10 +907,8 @@ public class FolderList extends K9ListActivity {
            }

            @Override
            public void synchronizeMailboxFailed(Account account, String folder,
            String message) {
            public void synchronizeMailboxFailed(Account account, String folder, String message) {
                super.synchronizeMailboxFailed(account, folder, message);
                mHandler.refreshTitle();
                if (!account.equals(mAccount)) {
                    return;
                }
@@ -983,105 +947,55 @@ public class FolderList extends K9ListActivity {


            @Override
            public void messageDeleted(Account account,
            String folder, Message message) {
                synchronizeMailboxRemovedMessage(account,
                                                 folder, message);
            public void messageDeleted(Account account, String folder, Message message) {
                synchronizeMailboxRemovedMessage(account, folder, message);
            }

            @Override
            public void emptyTrashCompleted(Account account) {
                if (!account.equals(mAccount)) {
                    return;
                }
                if (account.equals(mAccount)) {
                    refreshFolder(account, mAccount.getTrashFolderName());
                }
            }

            @Override
            public void folderStatusChanged(Account account, String folderName, int unreadMessageCount) {
                if (!account.equals(mAccount)) {
                    return;
                }
                if (account.equals(mAccount)) {
                    refreshFolder(account, folderName);
                }
            }

            @Override
            public void sendPendingMessagesCompleted(Account account) {
                super.sendPendingMessagesCompleted(account);
                mHandler.refreshTitle();
                if (!account.equals(mAccount)) {
                    return;
                }

                if (account.equals(mAccount)) {
                    refreshFolder(account, mAccount.getOutboxFolderName());


                }
            }

            @Override
            public void sendPendingMessagesStarted(Account account) {
                super.sendPendingMessagesStarted(account);
                mHandler.refreshTitle();

                if (!account.equals(mAccount)) {
                    return;
                }

                if (account.equals(mAccount)) {
                    mHandler.dataChanged();

                }
            }

            @Override
            public void sendPendingMessagesFailed(Account account) {
                super.sendPendingMessagesFailed(account);
                mHandler.refreshTitle();
                if (!account.equals(mAccount)) {
                    return;
                }

                if (account.equals(mAccount)) {
                    refreshFolder(account, mAccount.getOutboxFolderName());

                }
            }

            @Override
            public void accountSizeChanged(Account account, long oldSize, long newSize) {
                if (!account.equals(mAccount)) {
                    return;
                }

                if (account.equals(mAccount)) {
                    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();
            }

        };


+14 −85
Original line number Diff line number Diff line
@@ -1716,79 +1716,42 @@ public class MessageList
        private final List<MessageInfoHolder> messages = java.util.Collections.synchronizedList(new ArrayList<MessageInfoHolder>());

        private final ActivityListener mListener = new ActivityListener() {
            @Override
            public void synchronizeMailboxStarted(Account account, String folder) {
                super.synchronizeMailboxStarted(account, folder);

                if (updateForMe(account, folder)) {
                    mHandler.progress(true);
                    mHandler.folderLoading(folder, true);
                }
                mHandler.refreshTitle();
            }
            @Override
            public void synchronizeMailboxHeadersProgress(Account account, String folder, int completed, int total) {
                super.synchronizeMailboxHeadersProgress(account, folder, completed, total);
            public void informUserOfStatus() {
                mHandler.refreshTitle();
            }

            @Override
            public void synchronizeMailboxHeadersFinished(Account account, String folder,
            int total, int completed) {
                super.synchronizeMailboxHeadersFinished(account, folder, total, completed);
                mHandler.refreshTitle();
            public void synchronizeMailboxStarted(Account account, String folder) {
                if (updateForMe(account, folder)) {
                    mHandler.progress(true);
                    mHandler.folderLoading(folder, true);
                }
                super.synchronizeMailboxStarted(account, folder);
            }




            @Override
            public void synchronizeMailboxFinished(Account account, String folder,
            int totalMessagesInMailbox, int numNewMessages) {
                super.synchronizeMailboxFinished(account, folder, totalMessagesInMailbox, numNewMessages);

                if (updateForMe(account, folder)) {
                    mHandler.progress(false);
                    mHandler.folderLoading(folder, false);
                    mHandler.sortMessages();
                }
                mHandler.refreshTitle();
                super.synchronizeMailboxFinished(account, folder, totalMessagesInMailbox, numNewMessages);
            }

            @Override
            public void synchronizeMailboxFailed(Account account, String folder, String message) {
                super.synchronizeMailboxFailed(account, folder, message);

                if (updateForMe(account, folder)) {
                    mHandler.progress(false);
                    mHandler.folderLoading(folder, false);
                    mHandler.sortMessages();
                }
                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 synchronizeMailboxProgress(Account account, String folder, int completed, int total) {
                super.synchronizeMailboxProgress(account, folder, completed, total);
                mHandler.refreshTitle();
                super.synchronizeMailboxFailed(account, folder, message);
            }

            @Override
@@ -1808,9 +1771,7 @@ public class MessageList

            @Override
            public void listLocalMessagesStarted(Account account, String folder) {
                if ((mQueryString != null && folder == null) ||
                        (account != null && account.equals(mAccount))
                ) {
                if ((mQueryString != null && folder == null) || (account != null && account.equals(mAccount))) {
                    mHandler.progress(true);
                    if (folder != null) {
                        mHandler.folderLoading(folder, true);
@@ -1820,8 +1781,7 @@ public class MessageList

            @Override
            public void listLocalMessagesFailed(Account account, String folder, String message) {
                if ((mQueryString != null && folder == null) ||
                (account != null && account.equals(mAccount))) {
                if ((mQueryString != null && folder == null) || (account != null && account.equals(mAccount))) {
                    mHandler.sortMessages();
                    mHandler.progress(false);
                    if (folder != null) {
@@ -1832,8 +1792,7 @@ public class MessageList

            @Override
            public void listLocalMessagesFinished(Account account, String folder) {
                if ((mQueryString != null && folder == null) ||
                (account != null && account.equals(mAccount))) {
                if ((mQueryString != null && folder == null) || (account != null && account.equals(mAccount))) {
                    mHandler.sortMessages();
                    mHandler.progress(false);
                    if (folder != null) {
@@ -1863,40 +1822,15 @@ public class MessageList
            @Override
            public void searchStats(AccountStats stats) {
                mUnreadMessageCount = stats.unreadMessageCount;
                mHandler.refreshTitle();
                super.searchStats(stats);
            }

            @Override
            public void folderStatusChanged(Account account, String folder, int unreadMessageCount) {
                super.folderStatusChanged(account, folder, unreadMessageCount);
                if (updateForMe(account, folder)) {
                    mUnreadMessageCount = unreadMessageCount;
                    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();
                super.folderStatusChanged(account, folder, unreadMessageCount);
            }

            @Override
@@ -1912,11 +1846,6 @@ public class MessageList
                    holder.message.setUid(newUid);
                }
            }

            @Override
            public void systemStatusChanged() {
                mHandler.refreshTitle();
            }
        };

        private boolean updateForMe(Account account, String folder) {