MessagingListener.java revision a290f503f14432163f74548a5e5d1dc5003ad049
1/*
2 * Copyright (C) 2008 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 *      http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17package com.android.email;
18
19import com.android.email.mail.Folder;
20import com.android.email.mail.Message;
21import com.android.email.mail.Part;
22import com.android.email.provider.EmailContent;
23
24import android.content.Context;
25
26/**
27 * Defines the interface that MessagingController will use to callback to requesters. This class
28 * is defined as non-abstract so that someone who wants to receive only a few messages can
29 * do so without implementing the entire interface. It is highly recommended that users of
30 * this interface use the @Override annotation in their implementations to avoid being caught by
31 * changes in this class.
32 */
33public class MessagingListener {
34    public void listFoldersStarted(EmailContent.Account account) {
35    }
36
37    public void listFolders(EmailContent.Account account, Folder[] folders) {
38    }
39
40    public void listFoldersFailed(EmailContent.Account account, String message) {
41    }
42
43    public void listFoldersFinished(EmailContent.Account account) {
44    }
45
46    public void listLocalMessagesStarted(EmailContent.Account account, String folder) {
47    }
48
49    public void listLocalMessages(EmailContent.Account account, String folder, Message[] messages) {
50    }
51
52    public void listLocalMessagesFailed(EmailContent.Account account, String folder, String message) {
53    }
54
55    public void listLocalMessagesFinished(EmailContent.Account account, String folder) {
56    }
57
58    public void synchronizeMailboxStarted(EmailContent.Account account, String folder) {
59    }
60
61    public void synchronizeMailboxNewMessage(EmailContent.Account account, String folder,
62            Message message) {
63    }
64
65    public void synchronizeMailboxRemovedMessage(EmailContent.Account account, String folder,
66            Message message) {
67    }
68
69    public void synchronizeMailboxFinished(EmailContent.Account account, String folder,
70            int totalMessagesInMailbox, int numNewMessages) {
71    }
72
73    public void synchronizeMailboxFailed(EmailContent.Account account, String folder, Exception e) {
74    }
75
76    public void loadMessageForViewStarted(EmailContent.Account account, String folder, String uid) {
77    }
78
79    public void loadMessageForViewHeadersAvailable(EmailContent.Account account, String folder,
80            String uid, Message message) {
81    }
82
83    public void loadMessageForViewBodyAvailable(EmailContent.Account account, String folder,
84            String uid, Message message) {
85    }
86
87    public void loadMessageForViewFinished(EmailContent.Account account, String folder, String uid,
88            Message message) {
89    }
90
91    public void loadMessageForViewFailed(EmailContent.Account account, String folder, String uid,
92            String message) {
93    }
94
95    public void checkMailStarted(Context context, EmailContent.Account account) {
96    }
97
98    public void checkMailFinished(Context context, EmailContent.Account account) {
99    }
100
101    public void checkMailFailed(Context context, EmailContent.Account account, String reason) {
102    }
103
104    public void sendPendingMessagesCompleted(EmailContent.Account account) {
105    }
106
107    public void sendPendingMessagesFailed(EmailContent.Account account, Exception reason) {
108    }
109
110    public void sendPendingMessageFailed(EmailContent.Account account, Message message,
111            Exception reason) {
112    }
113
114    public void emptyTrashCompleted(EmailContent.Account account) {
115    }
116
117    public void messageUidChanged(EmailContent.Account account, String folder,
118            String oldUid, String newUid) {
119    }
120
121    public void loadAttachmentStarted(
122            EmailContent.Account account,
123            Message message,
124            Part part,
125            Object tag,
126            boolean requiresDownload)
127    {
128    }
129
130    public void loadAttachmentFinished(
131            EmailContent.Account account,
132            Message message,
133            Part part,
134            Object tag)
135    {
136    }
137
138    public void loadAttachmentFailed(
139            EmailContent.Account account,
140            Message message,
141            Part part,
142            Object tag,
143            String reason)
144    {
145    }
146
147    /**
148     * General notification messages subclasses can override to be notified that the controller
149     * has completed a command. This is useful for turning off progress indicators that may have
150     * been left over from previous commands.
151     * @param moreCommandsToRun True if the controller will continue on to another command
152     * immediately.
153     */
154    public void controllerCommandCompleted(boolean moreCommandsToRun) {
155
156    }
157}
158