1bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook/* 2bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * Copyright (C) 2008 The Android Open Source Project 3bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * 4bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * Licensed under the Apache License, Version 2.0 (the "License"); 5bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * you may not use this file except in compliance with the License. 6bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * You may obtain a copy of the License at 7bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * 8bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * http://www.apache.org/licenses/LICENSE-2.0 9bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * 10bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * Unless required by applicable law or agreed to in writing, software 11bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * distributed under the License is distributed on an "AS IS" BASIS, 12bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * See the License for the specific language governing permissions and 14bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * limitations under the License. 15bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook */ 16bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook 17bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrookpackage com.android.email; 18bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook 19bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrookimport com.android.emailcommon.mail.MessagingException; 20bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook 21bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrookimport android.content.Context; 22bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook 23bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrookimport java.util.ArrayList; 24bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook 25bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook/** 26bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * Defines the interface that MessagingController will use to callback to requesters. This class 27bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * is defined as non-abstract so that someone who wants to receive only a few messages can 28bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * do so without implementing the entire interface. It is highly recommended that users of 29bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * this interface use the @Override annotation in their implementations to avoid being caught by 30bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * changes in this class. 31bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook */ 32bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrookpublic class MessagingListener { 33bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook public MessagingListener() { 34bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook } 35bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook 36bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook public void listFoldersStarted(long accountId) { 37bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook } 38bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook 39bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook public void listFoldersFailed(long accountId, String message) { 40bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook } 41bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook 42bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook public void listFoldersFinished(long accountId) { 43bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook } 44bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook 45bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook public void synchronizeMailboxStarted(long accountId, long mailboxId) { 46bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook } 47bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook 48bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook /** 49bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * Synchronization of the mailbox finished. The mailbox and/or message databases have been 50bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * updated accordingly. 51bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * 52bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * @param accountId The account that was synchronized 53bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * @param mailboxId The mailbox that was synchronized 54bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * @param totalMessagesInMailbox The total number of messages in the mailbox 55bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * @param numNewMessages The number of new messages 56bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * @param addedMessages Message IDs of messages that were added during the synchronization. 57bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * These are new, unread messages. Messages that were previously read are not in this list. 58bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook */ 59bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook public void synchronizeMailboxFinished(long accountId, long mailboxId, 60bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook int totalMessagesInMailbox, int numNewMessages, ArrayList<Long> addedMessages) { 61bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook } 62bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook 63bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook public void synchronizeMailboxFailed(long accountId, long mailboxId, Exception e) { 64bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook } 65bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook 66bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook public void loadMessageForViewStarted(long messageId) { 67bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook } 68bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook 69bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook public void loadMessageForViewFinished(long messageId) { 70bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook } 71bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook 72bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook public void loadMessageForViewFailed(long messageId, String message) { 73bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook } 74bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook 75bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook public void checkMailStarted(Context context, long accountId, long tag) { 76bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook } 77bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook 78bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook public void checkMailFinished(Context context, long accountId, long mailboxId, long tag) { 79bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook } 80bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook 81bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook public void sendPendingMessagesStarted(long accountId, long messageId) { 82bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook } 83bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook 84bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook public void sendPendingMessagesCompleted(long accountId) { 85bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook } 86bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook 87bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook public void sendPendingMessagesFailed(long accountId, long messageId, Exception reason) { 88bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook } 89bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook 90bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook public void messageUidChanged(long accountId, long mailboxId, String oldUid, String newUid) { 91bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook } 92bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook 93bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook public void loadAttachmentStarted( 94bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook long accountId, 95bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook long messageId, 96bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook long attachmentId, 97bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook boolean requiresDownload) { 98bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook } 99bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook 100bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook public void loadAttachmentFinished( 101bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook long accountId, 102bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook long messageId, 103bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook long attachmentId) { 104bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook } 105bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook 106bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook public void loadAttachmentFailed( 107bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook long accountId, 108bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook long messageId, 109bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook long attachmentId, 110bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook MessagingException me, 111bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook boolean background) { 112bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook } 113bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook 114bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook /** 115bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * General notification messages subclasses can override to be notified that the controller 116bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * has completed a command. This is useful for turning off progress indicators that may have 117bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * been left over from previous commands. 118bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * @param moreCommandsToRun True if the controller will continue on to another command 119bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * immediately. 120bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook */ 121bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook public void controllerCommandCompleted(boolean moreCommandsToRun) { 122bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook 123bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook } 124bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook} 125